SRC/zgetsls.f(3)

✨ NAME ✨

okay bestie, welcome to the SRC/zgetsls.f(3) page from the Library Functions Manual β€” this is the manual for the zgetsls subroutine, and the file is SRC/zgetsls.f. it’s giving β€œcomplex linear systems? solved.” periodt πŸ’…


πŸ› οΈ SYNOPSIS πŸ› οΈ

πŸ’– Functions/Subroutines πŸ’–

subroutine zgetsls (trans, m, n, nrhs, a, lda, b, ldb, work, lwork,
    info)

ZGETSLS ✨

πŸ“š Function/Subroutine Documentation πŸ“š

here’s the fully typed-out main-character signature, no cap:

subroutine zgetsls (character trans, integer m, integer n, integer nrhs,
    complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension(
    ldb, * ) b, integer ldb, complex*16, dimension( * ) work, integer lwork,
    integer info)

ZGETSLS πŸ’–

🎯 Purpose 🎯

ZGETSLS solves overdetermined or underdetermined complex linear systems involving an M-by-N matrix A, using a tall skinny QR or short wide LQ factorization of A.

⚠️ it is assumed that A has full rank, and only a rudimentary protection against rank-deficient matrices is provided. This subroutine only detects exact rank-deficiency, where a diagonal element of the triangular factor of A is exactly zero. It is conceivable for one (or more) of the diagonal elements of the triangular factor of A to be subnormally tiny numbers without this subroutine signalling an error. The solutions computed for such almost-rank-deficient matrices may be less accurate due to a loss of numerical precision. 😭

the following options are provided:

  1. If TRANS = 'N' and m >= n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || B - A*X ||.
  2. If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system A * X = B.
  3. If TRANS = 'C' and m >= n: find the minimum norm solution of an undetermined system A**T * X = B.
  4. If TRANS = 'C' and m < n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || B - A**T * X ||.

several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. 🫢

🧾 Parameters 🧾

TRANS

TRANS is CHARACTER*1

  • = 'N': the linear system involves A;
  • = 'C': the linear system involves A**H.

M

M is INTEGER The number of rows of the matrix A. M >= 0.

N

N is INTEGER The number of columns of the matrix A. N >= 0.

NRHS

NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >=0.

A

A is COMPLEX*16 array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, A is overwritten by details of its QR or LQ factorization as returned by ZGEQR or ZGELQ.

LDA

LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M).

B

B is COMPLEX*16 array, dimension (LDB,NRHS) On entry, the matrix B of right hand side vectors, stored columnwise; B is M-by-NRHS if TRANS = 'N', or N-by-NRHS if TRANS = 'C'. On exit, if INFO = 0, B is overwritten by the solution vectors, stored columnwise:

  • if TRANS = 'N' and m >= n, rows 1 to n of B contain the least squares solution vectors.
  • if TRANS = 'N' and m < n, rows 1 to N of B contain the minimum norm solution vectors;
  • if TRANS = 'C' and m >= n, rows 1 to M of B contain the minimum norm solution vectors;
  • if TRANS = 'C' and m < n, rows 1 to M of B contain the least squares solution vectors.

LDB

LDB is INTEGER The leading dimension of the array B. LDB >= MAX(1,M,N).

WORK

(workspace) COMPLEX*16 array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) contains optimal (or either minimal or optimal, if query was assumed) LWORK. See LWORK for details.

LWORK

LWORK is INTEGER The dimension of the array WORK. LWORK >= 1. If LWORK = -1 or -2, then a workspace query is assumed. If LWORK = -1, the routine calculates optimal size of WORK for the optimal performance and returns this value in WORK(1). If LWORK = -2, the routine calculates minimal size of WORK and returns this value in WORK(1).

INFO

INFO is INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the i-th diagonal element of the triangular factor of A is exactly zero, so that A does not have full rank; the least squares solution could not be computed.

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 169 of file zgetsls.f.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.

xoxo, your bestie for SRC/zgetsls.f(3) β€” LAPACK Version 3.12.0 πŸ’…βœ¨

πŸ“¦ where this page comes from