linalg
1.4.3
A linear algebra library that provides a user-friendly interface to several BLAS and LAPACK routines.
|
Solves the overdetermined or underdetermined system (A*X = B) of M equations of N unknowns, but uses a full orthogonal factorization of the system. More...
Private Member Functions | |
subroutine | solve_least_squares_mtx_pvt (a, b, ipvt, arnk, work, olwork, err) |
Solves the overdetermined or underdetermined system (A*X = B) of M equations of N unknowns using a complete orthogonal factorization of matrix A. More... | |
subroutine | solve_least_squares_vec_pvt (a, b, ipvt, arnk, work, olwork, err) |
Solves the overdetermined or underdetermined system (A*X = B) of M equations of N unknowns using a complete orthogonal factorization of matrix A. More... | |
Solves the overdetermined or underdetermined system (A*X = B) of M equations of N unknowns, but uses a full orthogonal factorization of the system.
Definition at line 404 of file linalg_solve.f90.
|
private |
Solves the overdetermined or underdetermined system (A*X = B) of M equations of N unknowns using a complete orthogonal factorization of matrix A.
[in,out] | a | On input, the M-by-N matrix A. On output, the matrix is overwritten by the details of its complete orthogonal factorization. |
[in,out] | b | If M >= N, the M-by-NRHS matrix B. On output, the first N rows contain the N-by-NRHS solution matrix X. If M < N, an N-by-NRHS matrix with the first M rows containing the matrix B. On output, the N-by-NRHS solution matrix X. |
[out] | ipvt | An optional input that on input, an N-element array that if IPVT(I) .ne. 0, the I-th column of A is permuted to the front of A * P; if IPVT(I) = 0, the I-th column of A is a free column. On output, if IPVT(I) = K, then the I-th column of A * P was the K-th column of A. If not supplied, memory is allocated internally, and IPVT is set to all zeros such that all columns are treated as free. |
[out] | arnk | An optional output, that if provided, will return the rank of a . |
[out] | work | An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork . |
[out] | olwork | An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work , and returns without performing any actual calculations. |
[out] | err | An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
|
Definition at line 2184 of file linalg_solve.f90.
|
private |
Solves the overdetermined or underdetermined system (A*X = B) of M equations of N unknowns using a complete orthogonal factorization of matrix A.
[in,out] | a | On input, the M-by-N matrix A. On output, the matrix is overwritten by the details of its complete orthogonal factorization. |
[in,out] | b | If M >= N, the M-element array B. On output, the first N elements contain the N-element solution array X. If M < N, an N-element array with the first M elements containing the array B. On output, the N-element solution array X. |
[out] | ipvt | An optional input that on input, an N-element array that if IPVT(I) .ne. 0, the I-th column of A is permuted to the front of A * P; if IPVT(I) = 0, the I-th column of A is a free column. On output, if IPVT(I) = K, then the I-th column of A * P was the K-th column of A. If not supplied, memory is allocated internally, and IPVT is set to all zeros such that all columns are treated as free. |
[out] | arnk | An optional output, that if provided, will return the rank of a . |
[out] | work | An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork . |
[out] | olwork | An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work , and returns without performing any actual calculations. |
[out] | err | An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
|
Definition at line 2328 of file linalg_solve.f90.