grid_tools
1.13.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 |