functions in matrix.i - Q

 
QRsolve

    QRsolve(a, b)  
 or QRsolve(a, b, which=which)  


returns the solution x (in a least squares or least norm sense  
described below) of the matrix equation:  
   A(,+)*x(+) = B  
If A is an m-by-n matrix (i.e.- m equations in n unknowns), then B  
must have length m, and the returned x will have length n.  
If nm, the system is underdetermined -- many solutions are possible  
        -- the returned x has minimum L2 norm among all solutions  
B may have additional dimensions, in which case the returned x  
will have the same additional dimensions also have those dimensions.  
The WHICH dimension of B and the returned x is the one of length m  
or n which participates in the matrix solve.  By default, WHICH=1,  
so that the equations being solved are:  
   A(,+)*x(+,..) = B  
Non-positive WHICH counts from the final dimension (as for the  
sort and transpose functions), so that WHICH=0 solves:  
   A(,+)*x(..,+) = B  
QRsolve works by QR factorization if nm.  
QRsolve is slower than LUsolve.  Its main attraction is that it can  
handle overdetermined or underdetermined systems of equations  
(nonsquare matrices).  QRsolve may fail for singular systems; try  
SVsolve in this case.  
Interpreted function, defined at i0/matrix.i   line 300  

SEE ALSO: LUsolve,   TDsolve,   SVsolve,   SVdec