Missing: a sparse ?ger (rank1 update)?? (Recursive least squares)

Missing: a sparse ?ger (rank1 update)?? (Recursive least squares)

I want to solve a regularized least squares
problem of the form

min ||Ax-b|| + lambda * ||x||^2

using recursive least squares, i.e. upadting
the solution x once new observed
data (a',b*) arrives:

min || [A; a'] x -[b;b*] || + lambda* ||x||^2

The data matrix A is usually a tall (n x m) matrix.

Recursive least squares works by updating
the inverse of the cross-product matrix:

B:=(A'*A + lambda*I)^(-1)

using rank-1 updates of the form

If the data matrix A is a dense matrix I can use the
BLAS function ?ger and everything works fine.

My problem is that A is a sparse matrix, and the newly
arriving data a' is a sparse vector.

Perhaps I miss something very important, but I couldn't
find a sparse rank-1 update. Any suggestions?

Thanks in advance.


1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.