lsi_reg function

Regularized Linear Least Squares

Regularized Linear Least Squares

solve linear least square problem (min_x ||a*x-b||)

with inequality constraints ux>=co If a is rank deficient, regularization term lambda^2*||mnorm*(x-x0)||^2

is added to ||a*x-b||^2.

lsi_reg(a, b, u = NULL, co = NULL, rcond = 1e+10, mnorm = NULL, x0 = NULL)

Arguments

  • a: dense matrix A or its QR decomposition
  • b: right hand side vector
  • u: dense matrix of inequality constraints
  • co: right hand side vector of inequality constraints
  • rcond: used for calculating lambda=d[1]/sqrt(rcond) where d[1] is maximal singular value of a
  • mnorm: norm matrix (can be dense or sparse) for which %*% operation with a dense vector is defined
  • x0: optional vector from which a least norm distance is searched for

Returns

solution vector whose attribute 'mes' may contain a message about possible numerical problems and 'lambda' is regularization parameter used in solution.

Details

The rank of a is estimated as number of singular values above d[1]*1.e-10 where d[1] is the highest singular value. The scalar lambda is an positive number and is calculated as d[1]/sqrt(rcond) ('rcond' parameter is preserved for compatibility with others lsi_...() functions). At return, lambda can be found in attributes of the returned vector x. NB. lambda is set to NA

  • if rank(a)==0 or a is of full rank
  • or if there is no inequality. If the matrix mnorm is NULL, it is supposed to be an identity matrix. If the vector x0 is NULL, it is treated as 0 vector.

See Also

lsi_ln

  • Maintainer: Serguei Sokol
  • License: GPL-2
  • Last published: 2023-06-26

Downloads (last 30 days):