[SciPy-User] [SciPy-user] scipy.odr - Correct form of covx, covy matrix
Tue Feb 14 08:29:17 CST 2012
On Tue, Feb 14, 2012 at 02:38, Elfnor <email@example.com> wrote:
> I am trying to solve a generalised least squares problem of the form A*x = b
> where A is the problem design matrix and b is a vector of correlated
> observations with covariance V. V is not diagonal.
> That is find x that minimizes (b - A*x)'*inv(V)*(b - A*x) similar to the
> matlab function lscov.
I think you can distribute the inv(V) by doing a Cholesky
factorization, then doing a Cholesky-solve on both A and b, then doing
a linear solve on the transformed A and b.
from scipy import linalg
cho = linalg.cho_factor(V)
Ac = linalg.cho_solve(cho, A)
bc = linalg.cho_solve(cho, b)
x = linalg.solve(Ac, bc)
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the SciPy-User