diff --git a/docs/src/solvers/ln.md b/docs/src/solvers/ln.md index c5396ffdd..b638b8247 100644 --- a/docs/src/solvers/ln.md +++ b/docs/src/solvers/ln.md @@ -36,3 +36,10 @@ craig! craigmr craigmr! ``` + +## USYMLQ + +```@docs +usymlq +usymlq! +``` diff --git a/docs/src/solvers/ls.md b/docs/src/solvers/ls.md index f77057d94..fecfbc417 100644 --- a/docs/src/solvers/ls.md +++ b/docs/src/solvers/ls.md @@ -36,3 +36,10 @@ lsqr! lsmr lsmr! ``` + +## USYMQR + +```@docs +usymqr +usymqr! +``` diff --git a/docs/src/solvers/unsymmetric.md b/docs/src/solvers/unsymmetric.md index e559145a2..2c596361a 100644 --- a/docs/src/solvers/unsymmetric.md +++ b/docs/src/solvers/unsymmetric.md @@ -16,20 +16,6 @@ qmr qmr! ``` -## USYMLQ - -```@docs -usymlq -usymlq! -``` - -## USYMQR - -```@docs -usymqr -usymqr! -``` - ## CGS ```@docs diff --git a/src/usymlq.jl b/src/usymlq.jl index 1d6d3e1d8..adb4f52e2 100644 --- a/src/usymlq.jl +++ b/src/usymlq.jl @@ -32,7 +32,7 @@ export usymlq, usymlq! USYMLQ can be warm-started from an initial guess `x0` where `kwargs` are the same keyword arguments as above. -Solve the linear system Ax = b of size m × n using the USYMLQ method. +USYMLQ determines the least-norm solution of the consistent linear system Ax = b of size m × n. USYMLQ is based on the orthogonal tridiagonalization process and requires two initial nonzero vectors `b` and `c`. The vector `c` is only used to initialize the process and a default value can be `b` or `Aᴴb` depending on the shape of `A`. diff --git a/src/usymqr.jl b/src/usymqr.jl index 003a46dc5..5d9caa525 100644 --- a/src/usymqr.jl +++ b/src/usymqr.jl @@ -31,7 +31,8 @@ export usymqr, usymqr! USYMQR can be warm-started from an initial guess `x0` where `kwargs` are the same keyword arguments as above. -Solve the linear system Ax = b of size m × n using USYMQR. +USYMQR solves the linear least-squares problem min ‖b - Ax‖² of size m × n. +USYMQR solves Ax = b if it is consistent. USYMQR is based on the orthogonal tridiagonalization process and requires two initial nonzero vectors `b` and `c`. The vector `c` is only used to initialize the process and a default value can be `b` or `Aᴴb` depending on the shape of `A`.