/home/abui.../cgetsls.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgetsls.f β€” bestie, this is the manual page for that exact file, straight outta LAPACK 3.12.0, sitting pretty in section 3 (Library Functions Manual). Yes the path is a whole mouthful, no we are not shortening it, it's iconic as-is. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

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

CGETSLS


🌸 Function/Subroutine Documentation 🌸

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

CGETSLS

πŸŽ€ Purpose πŸŽ€

okay so, real talk: CGETSLS 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. And it just assumes A has full rank. Like, that's the vibe it's going with. ✨

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 ||.
  1. If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system A * X = B.
  2. If TRANS = 'C' and m >= n: find the minimum norm solution of an undetermined system A**T * X = B.
  3. 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're stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. Multi-tasking queen behavior, honestly. πŸ‘‘

πŸ’– Parameters πŸ’–

  • TRANS β€” TRANS is CHARACTER*1, and it's literally just picking which system you're solving:
    • = '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 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 CGEQR or CGELQ. She gets a whole glow-up on the way out, bestie. πŸ”₯
  • LDA β€” LDA is INTEGER, the leading dimension of the array A. LDA >= max(1,M).
  • B β€” B is COMPLEX 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 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. 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). So like, negative LWORK = asking a question, not making a demand. πŸ™ˆ
  • 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 zero, so that A does not have full rank; the least squares solution could not be computed. 😭 no full rank, no solution, that's just how it is.

πŸ‘‘ Author πŸ‘‘

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

Definition at line 160 of file cgetsls.f.


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. (Not a human, just a very diligent little documentation goblin. 🧚)


slay, that's the whole page. LAPACK, Version 3.12.0, page /home/abui.../cgetsls.f(3) β€” mwah, bye bestie, go solve something complex. πŸ’œπŸŒΈ

πŸ“¦ where this page comes from