linalg 1.8.2
A linear algebra library that provides a user-friendly interface to several BLAS and LAPACK routines.
|
Provides a set of common linear algebra routines. More...
Data Types | |
interface | band_diag_mtx_mult |
Multiplies a banded matrix, A, with a diagonal matrix, B, such that A = alpha * A * B, or A = alpha * B * A. More... | |
interface | band_mtx_mult |
Multiplies a banded matrix, A, by a vector x such that alpha * op(A) * x + beta * y = y. More... | |
interface | band_mtx_to_full_mtx |
Converts a banded matrix stored in dense form to a full matrix. More... | |
interface | banded_to_dense |
Converts a banded matrix to a dense matrix. More... | |
interface | cholesky_factor |
Computes the Cholesky factorization of a symmetric, positive definite matrix. More... | |
interface | cholesky_rank1_downdate |
Computes the rank 1 downdate to a Cholesky factored matrix (upper triangular). More... | |
interface | cholesky_rank1_update |
Computes the rank 1 update to a Cholesky factored matrix (upper triangular). More... | |
type | csr_matrix |
A sparse matrix stored in compressed sparse row (CSR) format. More... | |
interface | dense_to_banded |
Converts a dense matrix to a banded matrix. More... | |
interface | det |
Computes the determinant of a square matrix. More... | |
interface | diag_mtx_mult |
Multiplies a diagonal matrix with another matrix or array. More... | |
interface | eigen |
Computes the eigenvalues, and optionally the eigenvectors, of a matrix. More... | |
interface | extract_diagonal |
Extracts the diagonal of a matrix. More... | |
interface | form_lq |
Forms the orthogonal matrix Q from the elementary reflectors returned by the LQ factorization algorithm. More... | |
interface | form_lu |
Extracts the L and U matrices from the condensed [L\U] storage format used by the lu_factor. More... | |
interface | form_qr |
Forms the full M-by-M orthogonal matrix Q from the elementary reflectors returned by the base QR factorization algorithm. More... | |
interface | lq_factor |
Computes the LQ factorization of an M-by-N matrix. More... | |
interface | lu_factor |
Computes the LU factorization of an M-by-N matrix. More... | |
interface | matmul |
Performs sparse matrix multiplication C = A * B. More... | |
type | msr_matrix |
A sparse matrix stored in modified sparse row format. This format is convenient for situations where the diagonal is fully populated. More... | |
interface | mtx_inverse |
Computes the inverse of a square matrix. More... | |
interface | mtx_mult |
Performs the matrix operation: \( C = \alpha op(A) op(B) + \beta C \). More... | |
interface | mtx_pinverse |
Computes the Moore-Penrose pseudo-inverse of a M-by-N matrix using the singular value decomposition of the matrix. More... | |
interface | mtx_rank |
Computes the rank of a matrix. More... | |
interface | mult_lq |
Multiplies a general matrix by the orthogonal matrix Q from a LQ factorization. More... | |
interface | mult_qr |
Multiplies a general matrix by the orthogonal matrix Q from a QR factorization. More... | |
interface | mult_rz |
Multiplies a general matrix by the orthogonal matrix Z from an RZ factorization. More... | |
interface | nonzero_count |
Determines the number of nonzero entries in a sparse matrix. More... | |
interface | operator(*) |
Multiplies a sparse matrix and a scalar. More... | |
interface | operator(+) |
Adds two sparse matrices. More... | |
interface | operator(-) |
Subtracts two sparse matrices. More... | |
interface | operator(/) |
Multiplies a sparse matrix by a scalar. More... | |
interface | pgmres_solver |
A preconditioned GMRES solver. More... | |
interface | qr_factor |
Computes the QR factorization of an M-by-N matrix. More... | |
interface | qr_rank1_update |
Computes the rank 1 update to an M-by-N QR factored matrix A (M >= N) where \( A = Q R \), and \( A1 = A + U V^T \) such that \( A1 = Q1 R1 \). In the event \( V \) is complex-valued, \( V^H \) is computed instead of \( V^T \). More... | |
interface | rank1_update |
Performs the rank-1 update to matrix A such that: \( A = \alpha X Y^T + A \), where \( A \) is an M-by-N matrix, \( \alpha \)is a scalar, \( X \) is an M-element array, and \( Y \) is an N-element array. In the event that \( Y \) is complex, \( Y^H \) is used instead of \( Y^T \). More... | |
interface | recip_mult_array |
Multiplies a vector by the reciprocal of a real scalar. More... | |
interface | rz_factor |
Factors an upper trapezoidal matrix by means of orthogonal transformations such that \( A = R Z = (R 0) Z \). Z is an orthogonal matrix of dimension N-by-N, and R is an M-by-M upper triangular matrix. More... | |
interface | size |
Determines the size of the requested dimension of the supplied sparse matrix. More... | |
interface | solve_cholesky |
Solves a system of Cholesky factored equations. More... | |
interface | solve_least_squares |
Solves the overdetermined or underdetermined system \( A X = B \) of M equations of N unknowns. Notice, it is assumed that matrix A has full rank. More... | |
interface | solve_least_squares_full |
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... | |
interface | solve_least_squares_svd |
Solves the overdetermined or underdetermined system \( A X = B \) of M equations of N unknowns using a singular value decomposition of matrix A. More... | |
interface | solve_lq |
Solves a system of M LQ-factored equations of N unknowns. N must be greater than or equal to M. More... | |
interface | solve_lu |
Solves a system of LU-factored equations. More... | |
interface | solve_qr |
Solves a system of M QR-factored equations of N unknowns. More... | |
interface | solve_triangular_system |
Solves a triangular system of equations. More... | |
interface | sort |
Sorts an array. More... | |
interface | sparse_direct_solve |
Provides a direct solution to a square, sparse system. More... | |
interface | svd |
Computes the singular value decomposition of a matrix A. The SVD is defined as: \( A = U S V^T \), where \( U \) is an M-by-M orthogonal matrix, \( S \) is an M-by-N diagonal matrix, and \( V \) is an N-by-N orthogonal matrix. In the event that \( V \) is complex valued, \( V^H \) is computed instead of \( V^T \). More... | |
interface | swap |
Swaps the contents of two arrays. More... | |
interface | trace |
Computes the trace of a matrix (the sum of the main diagonal elements). More... | |
interface | transpose |
Provides the transpose of a sparse matrix. More... | |
interface | tri_mtx_mult |
Computes the triangular matrix operation: \( B = \alpha A^T A + \beta B \), or \( B = \alpha A A^T + \beta B \), where A is a triangular matrix. More... | |
Variables | |
integer(int32), parameter, public | la_no_operation = 0 |
Defines no operation should be performed on the matrix. | |
integer(int32), parameter, public | la_transpose = 1 |
Defines a transpose operation. | |
integer(int32), parameter, public | la_hermitian_transpose = 2 |
Defines a Hermitian transpose operation for a complex-valued matrix. | |
integer(int32), parameter, public | la_no_error = 0 |
A flag denoting no error condition. | |
integer(int32), parameter, public | la_invalid_input_error = 101 |
An error flag denoting an invalid input. | |
integer(int32), parameter, public | la_array_size_error = 102 |
An error flag denoting an improperly sized array. | |
integer(int32), parameter, public | la_singular_matrix_error = 103 |
An error flag denoting a singular matrix. | |
integer(int32), parameter, public | la_matrix_format_error = 104 |
An error flag denoting an issue with the matrix format. | |
integer(int32), parameter, public | la_out_of_memory_error = 105 |
An error flag denoting that there is insufficient memory available. | |
integer(int32), parameter, public | la_convergence_error = 106 |
An error flag denoting a convergence failure. | |
integer(int32), parameter, public | la_invalid_operation_error = 107 |
An error resulting from an invalid operation. | |
Provides a set of common linear algebra routines.
integer(int32), parameter, public linalg::la_array_size_error = 102 |
An error flag denoting an improperly sized array.
Definition at line 285 of file linalg.f90.
integer(int32), parameter, public linalg::la_convergence_error = 106 |
An error flag denoting a convergence failure.
Definition at line 293 of file linalg.f90.
integer(int32), parameter, public linalg::la_hermitian_transpose = 2 |
Defines a Hermitian transpose operation for a complex-valued matrix.
Definition at line 275 of file linalg.f90.
integer(int32), parameter, public linalg::la_invalid_input_error = 101 |
An error flag denoting an invalid input.
Definition at line 283 of file linalg.f90.
integer(int32), parameter, public linalg::la_invalid_operation_error = 107 |
An error resulting from an invalid operation.
Definition at line 295 of file linalg.f90.
integer(int32), parameter, public linalg::la_matrix_format_error = 104 |
An error flag denoting an issue with the matrix format.
Definition at line 289 of file linalg.f90.
integer(int32), parameter, public linalg::la_no_error = 0 |
A flag denoting no error condition.
Definition at line 281 of file linalg.f90.
integer(int32), parameter, public linalg::la_no_operation = 0 |
Defines no operation should be performed on the matrix.
Definition at line 271 of file linalg.f90.
integer(int32), parameter, public linalg::la_out_of_memory_error = 105 |
An error flag denoting that there is insufficient memory available.
Definition at line 291 of file linalg.f90.
integer(int32), parameter, public linalg::la_singular_matrix_error = 103 |
An error flag denoting a singular matrix.
Definition at line 287 of file linalg.f90.
integer(int32), parameter, public linalg::la_transpose = 1 |
Defines a transpose operation.
Definition at line 273 of file linalg.f90.