|
grid_tools
1.12.0
|
Data Types | |
| interface | inv |
| interface | invl |
| interface | invu |
| interface | l1lm |
| interface | ldlm |
| interface | ldum |
| interface | swpvv |
| interface | udlmm |
Public Member Functions | |
| subroutine | cldumf (a, ipiv, d, ff) |
| Perform l-d-u decomposition of square matrix a in place with pivoting. More... | |
| subroutine | cudlmm (a, b, ipiv) |
| Use l-u factors in A to back-substitute for several rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition. More... | |
| subroutine | cudlmv (a, b, ipiv) |
| Use l-u factors in A to back-substitute for 1 rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition. More... | |
| subroutine | dinvl (a) |
| Invert lower triangular matrix in place. More... | |
| subroutine | dinvmtf (a, ff) |
| Invert a double precision matrix in place, or flag if process fails. More... | |
| subroutine | dl1lmf (a, b, ff) |
| Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
| subroutine | dldlmf (a, b, d, ff) |
| Modified Cholesky Q –> L*D*U, U(i,j)=L(j,i) More... | |
| subroutine | dldumf (a, ipiv, d, ff) |
| Perform l-d-u decomposition of square matrix a in place with pivoting. More... | |
| subroutine | dudlmm (a, b, ipiv) |
| Use l-u factors in A to back-substitute for several rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition. More... | |
| subroutine | dudlmv (a, b, ipiv) |
| Use l-u factors in A to back-substitute for 1 rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition. More... | |
| subroutine | sinvu (a) |
| Invert the upper triangular matrix in place by transposing, calling invl, and transposing again. More... | |
| subroutine | sl1lm (a, b) |
| Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
| subroutine | sldlm (a, b, d) |
| Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i) More... | |
| subroutine | slinlv (a, u) |
| Solve linear system involving lower triangular system matrix. More... | |
| subroutine | slinmmt (a, b) |
| Invert linear system with multiple right-hand side vectors. More... | |
| subroutine | sudlmm (a, b, ipiv) |
| Use l-u factors in A to back-substitute for several rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition. More... | |
| subroutine | sudlmv (a, b, ipiv) |
| Use l-u factors in A to back-substitute for 1 rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition. More... | |
Private Member Functions | |
| subroutine | cinvmt (a) |
| Invert complex matrix in place. More... | |
| subroutine | cinvmtf (a, ff) |
| Invert a complex matrix in place, or flag if process fails. More... | |
| subroutine | cldum (a, ipiv, d) |
| Perform L*D*U decomposition, with pivoting, of square matrix. More... | |
| subroutine | clinmmt (a, b) |
| Invert complex linear system with multiple right-hand side vectors. More... | |
| subroutine | clinmmtf (a, b, ff) |
| Invert linear system with multiple right-hand side vectors, or flag failure. More... | |
| subroutine | clinmvt (a, b) |
| Invert linear system with single right-hand side vector. More... | |
| subroutine | clinmvtf (a, b, ff) |
| Invert complex linear system with single right-hand side vector. More... | |
| subroutine | cswpvv (d, e) |
| Swap a pair of complex vectors. More... | |
| subroutine | dinvmt (a) |
| Invert double precision matrix in place. More... | |
| subroutine | dinvu (a) |
| Invert the upper triangular matrix in place by transposing, calling invl, and transposing again. More... | |
| subroutine | dl1lm (a, b) |
| Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
| subroutine | dldlm (a, b, d) |
| Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i) More... | |
| subroutine | dldum (a, ipiv, d) |
| Perform L*D*U decomposition, with pivoting, of square matrix. More... | |
| subroutine | dlinlv (a, u) |
| Solve linear system involving lower triangular system matrix. More... | |
| subroutine | dlinmmt (a, b) |
| Invert linear system with multiple right-hand side vectors. More... | |
| subroutine | dlinmmtf (a, b, ff) |
| Invert linear system with multiple right-hand side vectors, or flag failure. More... | |
| subroutine | dlinmvt (a, b) |
| Invert linear system with single right-hand side vector. More... | |
| subroutine | dlinmvtf (a, b, ff) |
| Invert linear system with single right-hand side vector. More... | |
| subroutine | dlinuv (a, u) |
| Solve linear system involving upper triangular system matrix. More... | |
| subroutine | dswpvv (d, e) |
| Swap a pair of double precision vectors. More... | |
| subroutine | iinvf (imat, ff) |
| Invert integer square matrix, imat, if possible, but flag ff=.true. More... | |
| subroutine | sinvl (a) |
| Invert lower triangular matrix in place. More... | |
| subroutine | sinvmt (a) |
| Invert single precision matrix in place. More... | |
| subroutine | sinvmtf (a, ff) |
| Invert a single precision matrix in place, or flag if process fails. More... | |
| subroutine | sl1lmf (a, b, ff) |
| Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
| subroutine | sldlmf (a, b, d, ff) |
| Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i) More... | |
| subroutine | sldum (a, ipiv, d) |
| Perform L*D*U decomposition, with pivoting, of square matrix. More... | |
| subroutine | sldumf (a, ipiv, d, ff) |
| Perform l-d-u decomposition of square matrix a in place with pivoting. More... | |
| subroutine | slinmmtf (a, b, ff) |
| Invert linear system with multiple right-hand side vectors, or flag failure. More... | |
| subroutine | slinmvt (a, b) |
| Invert linear system with single right-hand side vector. More... | |
| subroutine | slinmvtf (a, b, ff) |
| Invert linear system with single right-hand side vector. More... | |
| subroutine | slinuv (a, u) |
| Solve linear system involving upper triangular system matrix. More... | |
| subroutine | sswpvv (d, e) |
| Swap a pair of single precision vectors. More... | |
|
private |
Invert complex matrix in place.
| [in,out] | a | matrix |
Definition at line 103 of file pmat.f90.
References pmat::inv::cinvmtf().
|
private |
Invert a complex matrix in place, or flag if process fails.
| [in,out] | a | matrix |
| [out] | ff | flag for error condition |
Definition at line 190 of file pmat.f90.
References pmat::ldum::cldumf(), and pmat::swpvv::cswpvv().
|
private |
Perform L*D*U decomposition, with pivoting, of square matrix.
Complex double precision version.
| [in,out] | a | input square matrix, output L,D,U factors |
| [out] | d | determinant sign change indicator (+1 or -1) |
| [out] | ipiv | vector of pivots |
Definition at line 508 of file pmat.f90.
References pmat::ldum::cldumf().
| subroutine pmat::cldumf | ( | complex(dpc), dimension(:,:), intent(inout) | a, |
| integer(spi), dimension(:), intent(out) | ipiv, | ||
| complex(dpc), intent(out) | d, | ||
| logical, intent(out) | ff | ||
| ) |
Perform l-d-u decomposition of square matrix a in place with pivoting.
Complex double precision version.
| [in,out] | a | square matrix to be factorized |
| [out] | ipiv | vector encoding the pivoting sequence |
| [out] | d | indicator for possible sign change of determinant |
| [out] | ff,: | failure flag, set to .true. when determinant of a vanishes. |
Definition at line 659 of file pmat.f90.
References pmat::swpvv::cswpvv().
|
private |
Invert complex linear system with multiple right-hand side vectors.
Complex double precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vectors, output solution vectors |
Definition at line 255 of file pmat.f90.
References pmat::inv::clinmmtf().
|
private |
Invert linear system with multiple right-hand side vectors, or flag failure.
Complex double precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vectors, output solution vectors |
| [out] | ff | failure flag |
Definition at line 319 of file pmat.f90.
References pmat::ldum::cldumf(), and pmat::udlmm::cudlmm().
|
private |
Invert linear system with single right-hand side vector.
Complex double precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vector, output solution vector |
Definition at line 371 of file pmat.f90.
References pmat::inv::clinmvtf().
|
private |
Invert complex linear system with single right-hand side vector.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vector, output solution vector |
| [out] | ff | failure flag |
Definition at line 429 of file pmat.f90.
References pmat::ldum::cldumf(), and pmat::udlmm::cudlmv().
|
private |
| subroutine pmat::cudlmm | ( | complex(dpc), dimension(:,:), intent(in) | a, |
| complex(dpc), dimension(:,:), intent(inout) | b, | ||
| integer(spi), dimension(:), intent(in) | ipiv | ||
| ) |
Use l-u factors in A to back-substitute for several rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition.
| [in] | a | square matrix to be factorized |
| [in,out] | b | rt-hand-sides vectors on input, corresponding solutions on return |
| [in] | ipiv | vector encoding the pivoting sequence |
| subroutine pmat::cudlmv | ( | complex(dpc), dimension(:,:), intent(in) | a, |
| complex(dpc), dimension(:), intent(inout) | b, | ||
| integer(spi), dimension(:), intent(in) | ipiv | ||
| ) |
Use l-u factors in A to back-substitute for 1 rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition.
| [in] | a | square matrix to be factorized |
| [in,out] | b | right-hand side vector on input, corresponding solution on return |
| [in] | ipiv | array encoding the pivoting sequence |
| subroutine pmat::dinvl | ( | real(dp), dimension(:,:), intent(inout) | a | ) |
|
private |
Invert double precision matrix in place.
| [in,out] | a | matrix |
Definition at line 92 of file pmat.f90.
References pmat::inv::dinvmtf().
| subroutine pmat::dinvmtf | ( | real(dp), dimension(:,:), intent(inout) | a, |
| logical, intent(out) | ff | ||
| ) |
Invert a double precision matrix in place, or flag if process fails.
| [in,out] | a | matrix |
| [out] | ff | flag for error condition |
Definition at line 153 of file pmat.f90.
References pmat::ldum::dldumf(), and pmat::swpvv::dswpvv().
|
private |
Invert the upper triangular matrix in place by transposing, calling invl, and transposing again.
Double precision version.
| [in,out] | a | upper triangular matrix. |
Definition at line 1126 of file pmat.f90.
References pmat::invl::dinvl().
|
private |
Cholesky, M -> L*U, U(i,j)=L(j,i)
| [in] | a | symmetric matrix. |
| [in,out] | b | Cholesky factor matrix. |
Definition at line 933 of file pmat.f90.
References pmat::l1lm::dl1lmf().
| subroutine pmat::dl1lmf | ( | real(dp), dimension(:,:), intent(in) | a, |
| real(dp), dimension(:,:), intent(inout) | b, | ||
| logical, intent(out) | ff | ||
| ) |
|
private |
Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i)
| [in] | a | symmetric matrix. |
| [in,out] | b | output modified cholesky factor, L. |
| [out] | d | diagonal matrix, D. |
Definition at line 1030 of file pmat.f90.
References pmat::ldlm::dldlmf().
| subroutine pmat::dldlmf | ( | real(dp), dimension(:,:), intent(in) | a, |
| real(dp), dimension(:,:), intent(inout) | b, | ||
| real(dp), dimension(:), intent(out) | d, | ||
| logical, intent(out) | ff | ||
| ) |
|
private |
Perform L*D*U decomposition, with pivoting, of square matrix.
Double precision version.
| [in,out] | a | input square matrix, output L,D,U factors |
| [out] | d | determinant sign change indicator (+1 or -1) |
| [out] | ipiv | vector of pivots |
Definition at line 492 of file pmat.f90.
References pmat::ldum::dldumf().
| subroutine pmat::dldumf | ( | real(dp), dimension(:,:), intent(inout) | a, |
| integer, dimension(:), intent(out) | ipiv, | ||
| real(dp), intent(out) | d, | ||
| logical(spi), intent(out) | ff | ||
| ) |
Perform l-d-u decomposition of square matrix a in place with pivoting.
Double precision version.
| [in,out] | a | square matrix to be factorized |
| [out] | ipiv | vector encoding the pivoting sequence |
| [out] | d | indicator for possible sign change of determinant |
| [out] | ff,: | failure flag, set to .true. when determinant of a vanishes. |
Definition at line 592 of file pmat.f90.
References pmat::swpvv::dswpvv().
|
private |
|
private |
Invert linear system with multiple right-hand side vectors.
Double precision version
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vectors, output solution vectors |
Definition at line 242 of file pmat.f90.
References pmat::inv::dlinmmtf().
|
private |
Invert linear system with multiple right-hand side vectors, or flag failure.
Double precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vectors, output solution vectors |
| [out] | ff | failure flag |
Definition at line 294 of file pmat.f90.
References pmat::ldum::dldumf(), and pmat::udlmm::dudlmm().
|
private |
Invert linear system with single right-hand side vector.
Double precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vector, output solution vector |
Definition at line 357 of file pmat.f90.
References pmat::inv::dlinmvtf().
|
private |
Invert linear system with single right-hand side vector.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vector, output solution vector |
| [out] | ff | failure flag |
Definition at line 407 of file pmat.f90.
References pmat::ldum::dldumf(), and pmat::udlmm::dudlmv().
|
private |
|
private |
| subroutine pmat::dudlmm | ( | real(dp), dimension(:,:), intent(in) | a, |
| real(dp), dimension(:,:), intent(inout) | b, | ||
| integer(spi), dimension(:), intent(in) | ipiv | ||
| ) |
Use l-u factors in A to back-substitute for several rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition.
| [in] | a | square matrix to be factorized |
| [in,out] | b | rt-hand-sides vectors on input, corresponding solutions on return |
| [in] | ipiv | vector encoding the pivoting sequence |
| subroutine pmat::dudlmv | ( | real(dp), dimension(:,:), intent(in) | a, |
| real(dp), dimension(:), intent(inout) | b, | ||
| integer(spi), dimension(:), intent(in) | ipiv | ||
| ) |
Use l-u factors in A to back-substitute for 1 rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition.
| [in] | a | square matrix to be factorized |
| [in,out] | b | right-hand side vector on input, corresponding solution on return |
| [in] | ipiv | array encoding the pivoting sequence |
|
private |
|
private |
|
private |
Invert single precision matrix in place.
| [in,out] | a | matrix |
Definition at line 81 of file pmat.f90.
References pmat::inv::sinvmtf().
|
private |
Invert a single precision matrix in place, or flag if process fails.
| [in,out] | a | matrix |
| [out] | ff | flag for error condition |
Definition at line 115 of file pmat.f90.
References pmat::ldum::sldumf(), and pmat::swpvv::sswpvv().
| subroutine pmat::sinvu | ( | real(sp), dimension(:,:), intent(inout) | a | ) |
Invert the upper triangular matrix in place by transposing, calling invl, and transposing again.
Single precision version.
| [in,out] | a | upper triangular matrix. |
Definition at line 1116 of file pmat.f90.
References pmat::invl::sinvl().
| subroutine pmat::sl1lm | ( | real(sp), dimension(:,:), intent(in) | a, |
| real(sp), dimension(:,:), intent(inout) | b | ||
| ) |
Cholesky, M -> L*U, U(i,j)=L(j,i)
| [in] | a | symmetric matrix. |
| [in,out] | b | Cholesky factor matrix. |
Definition at line 920 of file pmat.f90.
References pmat::l1lm::sl1lmf().
|
private |
| subroutine pmat::sldlm | ( | real(sp), dimension(:,:), intent(in) | a, |
| real(sp), dimension(:,:), intent(inout) | b, | ||
| real(sp), dimension(:), intent(out) | d | ||
| ) |
Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i)
| [in] | a | symmetric matrix. |
| [in,out] | b | output modified cholesky factor, L. |
| [out] | d | diagonal matrix, D. |
Definition at line 1015 of file pmat.f90.
References pmat::ldlm::sldlmf().
|
private |
|
private |
Perform L*D*U decomposition, with pivoting, of square matrix.
Single precision version.
| [in,out] | a | input square matrix, output L,D,U factors |
| [out] | d | determinant sign change indicator (+1 or -1) |
| [out] | ipiv | vector of pivots |
Definition at line 476 of file pmat.f90.
References pmat::ldum::sldumf().
|
private |
Perform l-d-u decomposition of square matrix a in place with pivoting.
Single precision version.
| [in,out] | a | square matrix to be factorized |
| [out] | ipiv | vector encoding the pivoting sequence |
| [out] | d | indicator for possible sign change of determinant |
| [out] | ff,: | failure flag, set to .true. when determinant of a vanishes. |
Definition at line 525 of file pmat.f90.
References pmat::swpvv::sswpvv().
| subroutine pmat::slinlv | ( | real(sp), dimension(:,:), intent(in) | a, |
| real(sp), dimension(:), intent(inout) | u | ||
| ) |
| subroutine pmat::slinmmt | ( | real(sp), dimension(:,:), intent(inout) | a, |
| real(sp), dimension(:,:), intent(inout) | b | ||
| ) |
Invert linear system with multiple right-hand side vectors.
Single precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vectors, output solution vectors |
Definition at line 229 of file pmat.f90.
References pmat::inv::slinmmtf().
|
private |
Invert linear system with multiple right-hand side vectors, or flag failure.
Single precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vectors, output solution vectors |
| [out] | ff | failure flag |
Definition at line 269 of file pmat.f90.
References pmat::ldum::sldumf(), and pmat::udlmm::sudlmm().
|
private |
Invert linear system with single right-hand side vector.
Single precision version.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vector, output solution vector |
Definition at line 343 of file pmat.f90.
References pmat::inv::slinmvtf().
|
private |
Invert linear system with single right-hand side vector.
| [in,out] | a | Invertible system matrix, destroyed on output |
| [in,out] | b | input RHS vector, output solution vector |
| [out] | ff | failure flag |
Definition at line 385 of file pmat.f90.
References pmat::ldum::sldumf(), and pmat::udlmm::sudlmv().
|
private |
|
private |
| subroutine pmat::sudlmm | ( | real(sp), dimension(:,:), intent(in) | a, |
| real(sp), dimension(:,:), intent(inout) | b, | ||
| integer(spi), dimension(:), intent(in) | ipiv | ||
| ) |
Use l-u factors in A to back-substitute for several rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition.
| [in] | a | L-D-U factorization of linear system matrux |
| [in,out] | b | rt-hand-sides vectors on input, corresponding solutions on return |
| [in] | ipiv | vector encoding the pivoting sequence |
| subroutine pmat::sudlmv | ( | real(sp), dimension(:,:), intent(in) | a, |
| real(sp), dimension(:), intent(inout) | b, | ||
| integer(spi), dimension(:), intent(in) | ipiv | ||
| ) |
Use l-u factors in A to back-substitute for 1 rhs in B, using ipiv to define the pivoting permutation used in the l-u decomposition.
| [in] | a | L-D-U factorization of linear system matrix |
| [in,out] | b | right-hand-side vector on input, corresponding solution on return |
| [in] | ipiv | vector encoding the pivoting sequence |