I would like to compute multiple quadratic forms B'*C^(-1)*D, where B, C, and D are sparse, and C is always the same symmetric positive matrix. For fast computation, I would like to do this by computing and re-using the Cholesky factor: C=LL'. However, chol(C) does not work (because C is sparse), and cholfact(C)\D returns C^(-1)*D instead of C^(-1/2)*D.
Minimal working example: C=4*speye(3); # sparse matrix B=sparse(ones(1,3)) # sparse unit vector chol(C) # returns "ERROR: Use cholfact()instead of chol() for sparse matrices..." L=cholfact(C); # works, but returns Cholesky decomposition instead of cholesky factor L\B' # would like this to be vector with elements .5 instead of .25 Thank you!
