grid_tools
1.13.0
|
Utility routines for various linear inversions and Cholesky. More...
Go to the source code of this file.
Data Types | |
interface | pmat::inv |
interface | pmat::invl |
interface | pmat::invu |
interface | pmat::l1lm |
interface | pmat::ldlm |
interface | pmat::ldum |
interface | pmat::swpvv |
interface | pmat::udlmm |
Functions/Subroutines | |
subroutine | pmat::cinvmt (a) |
Invert complex matrix in place. More... | |
subroutine | pmat::cinvmtf (a, ff) |
Invert a complex matrix in place, or flag if process fails. More... | |
subroutine | pmat::cldum (a, ipiv, d) |
Perform L*D*U decomposition, with pivoting, of square matrix. More... | |
subroutine | pmat::cldumf (a, ipiv, d, ff) |
Perform l-d-u decomposition of square matrix a in place with pivoting. More... | |
subroutine | pmat::clinmmt (a, b) |
Invert complex linear system with multiple right-hand side vectors. More... | |
subroutine | pmat::clinmmtf (a, b, ff) |
Invert linear system with multiple right-hand side vectors, or flag failure. More... | |
subroutine | pmat::clinmvt (a, b) |
Invert linear system with single right-hand side vector. More... | |
subroutine | pmat::clinmvtf (a, b, ff) |
Invert complex linear system with single right-hand side vector. More... | |
subroutine | pmat::cswpvv (d, e) |
Swap a pair of complex vectors. More... | |
subroutine | pmat::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 | pmat::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 | pmat::dinvl (a) |
Invert lower triangular matrix in place. More... | |
subroutine | pmat::dinvmt (a) |
Invert double precision matrix in place. More... | |
subroutine | pmat::dinvmtf (a, ff) |
Invert a double precision matrix in place, or flag if process fails. More... | |
subroutine | pmat::dinvu (a) |
Invert the upper triangular matrix in place by transposing, calling invl, and transposing again. More... | |
subroutine | pmat::dl1lm (a, b) |
Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::dl1lmf (a, b, ff) |
Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::dldlm (a, b, d) |
Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::dldlmf (a, b, d, ff) |
Modified Cholesky Q –> L*D*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::dldum (a, ipiv, d) |
Perform L*D*U decomposition, with pivoting, of square matrix. More... | |
subroutine | pmat::dldumf (a, ipiv, d, ff) |
Perform l-d-u decomposition of square matrix a in place with pivoting. More... | |
subroutine | pmat::dlinlv (a, u) |
Solve linear system involving lower triangular system matrix. More... | |
subroutine | pmat::dlinmmt (a, b) |
Invert linear system with multiple right-hand side vectors. More... | |
subroutine | pmat::dlinmmtf (a, b, ff) |
Invert linear system with multiple right-hand side vectors, or flag failure. More... | |
subroutine | pmat::dlinmvt (a, b) |
Invert linear system with single right-hand side vector. More... | |
subroutine | pmat::dlinmvtf (a, b, ff) |
Invert linear system with single right-hand side vector. More... | |
subroutine | pmat::dlinuv (a, u) |
Solve linear system involving upper triangular system matrix. More... | |
subroutine | pmat::dswpvv (d, e) |
Swap a pair of double precision vectors. More... | |
subroutine | pmat::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 | pmat::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 | pmat::iinvf (imat, ff) |
Invert integer square matrix, imat, if possible, but flag ff=.true. More... | |
subroutine | pmat::sinvl (a) |
Invert lower triangular matrix in place. More... | |
subroutine | pmat::sinvmt (a) |
Invert single precision matrix in place. More... | |
subroutine | pmat::sinvmtf (a, ff) |
Invert a single precision matrix in place, or flag if process fails. More... | |
subroutine | pmat::sinvu (a) |
Invert the upper triangular matrix in place by transposing, calling invl, and transposing again. More... | |
subroutine | pmat::sl1lm (a, b) |
Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::sl1lmf (a, b, ff) |
Cholesky, M -> L*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::sldlm (a, b, d) |
Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::sldlmf (a, b, d, ff) |
Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i) More... | |
subroutine | pmat::sldum (a, ipiv, d) |
Perform L*D*U decomposition, with pivoting, of square matrix. More... | |
subroutine | pmat::sldumf (a, ipiv, d, ff) |
Perform l-d-u decomposition of square matrix a in place with pivoting. More... | |
subroutine | pmat::slinlv (a, u) |
Solve linear system involving lower triangular system matrix. More... | |
subroutine | pmat::slinmmt (a, b) |
Invert linear system with multiple right-hand side vectors. More... | |
subroutine | pmat::slinmmtf (a, b, ff) |
Invert linear system with multiple right-hand side vectors, or flag failure. More... | |
subroutine | pmat::slinmvt (a, b) |
Invert linear system with single right-hand side vector. More... | |
subroutine | pmat::slinmvtf (a, b, ff) |
Invert linear system with single right-hand side vector. More... | |
subroutine | pmat::slinuv (a, u) |
Solve linear system involving upper triangular system matrix. More... | |
subroutine | pmat::sswpvv (d, e) |
Swap a pair of single precision vectors. More... | |
subroutine | pmat::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 | pmat::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... | |
Utility routines for various linear inversions and Cholesky.
Definition in file pmat.f90.
|
private |
|
private |
|
private |
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. |
|
private |
|
private |
|
private |
|
private |
|
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 |
Definition at line 798 of file pmat.f90.
References pietc::c1.
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 |
Definition at line 893 of file pmat.f90.
References pietc::c1.
subroutine pmat::dinvl | ( | real(dp), dimension(:,:), intent(inout) | a | ) |
|
private |
subroutine pmat::dinvmtf | ( | real(dp), dimension(:,:), intent(inout) | a, |
logical, intent(out) | ff | ||
) |
|
private |
|
private |
subroutine pmat::dl1lmf | ( | real(dp), dimension(:,:), intent(in) | a, |
real(dp), dimension(:,:), intent(inout) | b, | ||
logical, intent(out) | ff | ||
) |
|
private |
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 |
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. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
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 |
Definition at line 764 of file pmat.f90.
References pietc::u1.
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 |
Definition at line 862 of file pmat.f90.
References pietc::u1.
|
private |
|
private |
|
private |
|
private |
subroutine pmat::sinvu | ( | real(sp), dimension(:,:), intent(inout) | a | ) |
subroutine pmat::sl1lm | ( | real(sp), dimension(:,:), intent(in) | a, |
real(sp), dimension(:,:), intent(inout) | b | ||
) |
|
private |
subroutine pmat::sldlm | ( | real(sp), dimension(:,:), intent(in) | a, |
real(sp), dimension(:,:), intent(inout) | b, | ||
real(sp), dimension(:), intent(out) | d | ||
) |
|
private |
|
private |
|
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. |
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 | ||
) |
|
private |
|
private |
|
private |
|
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 |