Implicit matrix input


I have a large-scale constrained(x >= 0) linear least square problem to solve. Since the scale is large, also the matrix A (as in Ax = b) is arranged in a very complicated way, instead of explicit input of A, I wish to provide a function that takes a vector X and returns A*X, which can save me a lot of memory and trouble for trying to fill in the huge matrix. I know this feature is available in LSMR, but they don’t offer constraints on X… Any suggestion what I should do? Thank you!

Unfortunately the solvers that connect to CVX require the explicit matrix. Not surprisingly, this is one reason why CVX is often not suitable for very large problems! However, a simple projected gradient algorithm is likely to work well for you, and perhaps the TFOCS library will be useful to you (