grid_tools  1.12.0
 All Data Structures Files Functions Variables Pages
pmat Module Reference

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

Detailed Description

Definition at line 20 of file pmat.f90.

Member Function/Subroutine Documentation

subroutine pmat::cinvmt ( complex(dpc), dimension(:,:), intent(inout)  a)
private

Invert complex matrix in place.

Parameters
[in,out]amatrix
Author
R. J. Purser

Definition at line 103 of file pmat.f90.

References pmat::inv::cinvmtf().

subroutine pmat::cinvmtf ( complex(dpc), dimension(:,:), intent(inout)  a,
logical, intent(out)  ff 
)
private

Invert a complex matrix in place, or flag if process fails.

Parameters
[in,out]amatrix
[out]ffflag for error condition
Author
R. J. Purser

Definition at line 190 of file pmat.f90.

References pmat::ldum::cldumf(), and pmat::swpvv::cswpvv().

subroutine pmat::cldum ( complex(dpc), dimension(:,:), intent(inout)  a,
integer(spi), dimension(:), intent(out)  ipiv,
complex(dpc), intent(out)  d 
)
private

Perform L*D*U decomposition, with pivoting, of square matrix.

Complex double precision version.

Parameters
[in,out]ainput square matrix, output L,D,U factors
[out]ddeterminant sign change indicator (+1 or -1)
[out]ipivvector of pivots
Author
R. J. Purser

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.

Parameters
[in,out]asquare matrix to be factorized
[out]ipivvector encoding the pivoting sequence
[out]dindicator for possible sign change of determinant
[out]ff,:failure flag, set to .true. when determinant of a vanishes.
Author
R. J. Purser

Definition at line 659 of file pmat.f90.

References pmat::swpvv::cswpvv().

subroutine pmat::clinmmt ( complex(dpc), dimension(:,:), intent(inout)  a,
complex(dpc), dimension(:,:), intent(inout)  b 
)
private

Invert complex linear system with multiple right-hand side vectors.

Complex double precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vectors, output solution vectors
Author
R. J. Purser

Definition at line 255 of file pmat.f90.

References pmat::inv::clinmmtf().

subroutine pmat::clinmmtf ( complex(dpc), dimension(:,:), intent(inout)  a,
complex(dpc), dimension(:,:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Invert linear system with multiple right-hand side vectors, or flag failure.

Complex double precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vectors, output solution vectors
[out]fffailure flag
Author
R. J. Purser

Definition at line 319 of file pmat.f90.

References pmat::ldum::cldumf(), and pmat::udlmm::cudlmm().

subroutine pmat::clinmvt ( complex(dpc), dimension(:,:), intent(inout)  a,
complex(dpc), dimension(:), intent(inout)  b 
)
private

Invert linear system with single right-hand side vector.

Complex double precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vector, output solution vector
Author
R. J. Purser

Definition at line 371 of file pmat.f90.

References pmat::inv::clinmvtf().

subroutine pmat::clinmvtf ( complex(dpc), dimension(:,:), intent(inout)  a,
complex(dpc), dimension(:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Invert complex linear system with single right-hand side vector.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vector, output solution vector
[out]fffailure flag
Author
R. J. Purser

Definition at line 429 of file pmat.f90.

References pmat::ldum::cldumf(), and pmat::udlmm::cudlmv().

subroutine pmat::cswpvv ( complex(dpc), dimension(:), intent(inout)  d,
complex(dpc), dimension(:), intent(inout)  e 
)
private

Swap a pair of complex vectors.

Parameters
[in,out]dvector
[in,out]evector
Author
R. J. Purser

Definition at line 71 of file pmat.f90.

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.

Parameters
[in]asquare matrix to be factorized
[in,out]brt-hand-sides vectors on input, corresponding solutions on return
[in]ipivvector encoding the pivoting sequence
Author
R. J. Purser

Definition at line 797 of file pmat.f90.

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.

Parameters
[in]asquare matrix to be factorized
[in,out]bright-hand side vector on input, corresponding solution on return
[in]ipivarray encoding the pivoting sequence
Author
R. J. Purser

Definition at line 892 of file pmat.f90.

subroutine pmat::dinvl ( real(dp), dimension(:,:), intent(inout)  a)

Invert lower triangular matrix in place.

Double precision.

Parameters
[in,out]alower triangular matrix.
Author
R. J. Purser

Definition at line 1153 of file pmat.f90.

subroutine pmat::dinvmt ( real(dp), dimension(:,:), intent(inout)  a)
private

Invert double precision matrix in place.

Parameters
[in,out]amatrix
Author
R. J. Purser

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.

Parameters
[in,out]amatrix
[out]ffflag for error condition
Author
R. J. Purser

Definition at line 153 of file pmat.f90.

References pmat::ldum::dldumf(), and pmat::swpvv::dswpvv().

subroutine pmat::dinvu ( real(dp), dimension(:,:), intent(inout)  a)
private

Invert the upper triangular matrix in place by transposing, calling invl, and transposing again.

Double precision version.

Parameters
[in,out]aupper triangular matrix.
Author
R. J. Purser

Definition at line 1126 of file pmat.f90.

References pmat::invl::dinvl().

subroutine pmat::dl1lm ( real(dp), dimension(:,:), intent(in)  a,
real(dp), dimension(:,:), intent(inout)  b 
)
private

Cholesky, M -> L*U, U(i,j)=L(j,i)

Parameters
[in]asymmetric matrix.
[in,out]bCholesky factor matrix.
Author
R. J. Purser

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 
)

Cholesky, M -> L*U, U(i,j)=L(j,i)

Parameters
[in]asymmetric matrix.
[in,out]bCholesky factor matrix.
[out]fffailure flag
Author
R. J. Purser

Definition at line 981 of file pmat.f90.

subroutine pmat::dldlm ( real(dp), dimension(:,:), intent(in)  a,
real(dp), dimension(:,:), intent(inout)  b,
real(dp), dimension(:), intent(out)  d 
)
private

Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i)

Parameters
[in]asymmetric matrix.
[in,out]boutput modified cholesky factor, L.
[out]ddiagonal matrix, D.
Author
R. J. Purser

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 
)

Modified Cholesky Q –> L*D*U, U(i,j)=L(j,i)

Parameters
[in]asymmetric matrix.
[in,out]bmodified Cholesky factor, L.
[out]ddiagonal matrix, D.
[out]fferror flag
Author
R. J. Purser

Definition at line 1083 of file pmat.f90.

subroutine pmat::dldum ( real(dp), dimension(:,:), intent(inout)  a,
integer(spi), dimension(:), intent(out)  ipiv,
real(dp), intent(out)  d 
)
private

Perform L*D*U decomposition, with pivoting, of square matrix.

Double precision version.

Parameters
[in,out]ainput square matrix, output L,D,U factors
[out]ddeterminant sign change indicator (+1 or -1)
[out]ipivvector of pivots
Author
R. J. Purser

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.

Parameters
[in,out]asquare matrix to be factorized
[out]ipivvector encoding the pivoting sequence
[out]dindicator for possible sign change of determinant
[out]ff,:failure flag, set to .true. when determinant of a vanishes.
Author
R. J. Purser

Definition at line 592 of file pmat.f90.

References pmat::swpvv::dswpvv().

subroutine pmat::dlinlv ( real(dp), dimension(:,:), intent(in)  a,
real(dp), dimension(:), intent(inout)  u 
)
private

Solve linear system involving lower triangular system matrix.

Double precision version.

Parameters
[in]alower triangular matrix.
[in,out]uinput RHS vector, output solution vector.
Author
R. J. Purser

Definition at line 1188 of file pmat.f90.

subroutine pmat::dlinmmt ( real(dp), dimension(:,:), intent(inout)  a,
real(dp), dimension(:,:), intent(inout)  b 
)
private

Invert linear system with multiple right-hand side vectors.

Double precision version

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vectors, output solution vectors
Author
R. J. Purser

Definition at line 242 of file pmat.f90.

References pmat::inv::dlinmmtf().

subroutine pmat::dlinmmtf ( real(dp), dimension(:,:), intent(inout)  a,
real(dp), dimension(:,:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Invert linear system with multiple right-hand side vectors, or flag failure.

Double precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vectors, output solution vectors
[out]fffailure flag
Author
R. J. Purser

Definition at line 294 of file pmat.f90.

References pmat::ldum::dldumf(), and pmat::udlmm::dudlmm().

subroutine pmat::dlinmvt ( real(dp), dimension(:,:), intent(inout)  a,
real(dp), dimension(:), intent(inout)  b 
)
private

Invert linear system with single right-hand side vector.

Double precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vector, output solution vector
Author
R. J. Purser

Definition at line 357 of file pmat.f90.

References pmat::inv::dlinmvtf().

subroutine pmat::dlinmvtf ( real(dp), dimension(:,:), intent(inout)  a,
real(dp), dimension(:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Invert linear system with single right-hand side vector.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vector, output solution vector
[out]fffailure flag
Author
R. J. Purser

Definition at line 407 of file pmat.f90.

References pmat::ldum::dldumf(), and pmat::udlmm::dudlmv().

subroutine pmat::dlinuv ( real(dp), dimension(:,:), intent(in)  a,
real(dp), dimension(:), intent(inout)  u 
)
private

Solve linear system involving upper triangular system matrix.

Double precision version.

Parameters
[in]aupper triangular matrix.
[in,out]uinput RHS vector, output solution vector.
Author
R. J. Purser

Definition at line 1218 of file pmat.f90.

subroutine pmat::dswpvv ( real(dp), dimension(:), intent(inout)  d,
real(dp), dimension(:), intent(inout)  e 
)
private

Swap a pair of double precision vectors.

Parameters
[in,out]dvector
[in,out]evector
Author
R. J. Purser

Definition at line 60 of file pmat.f90.

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.

Parameters
[in]asquare matrix to be factorized
[in,out]brt-hand-sides vectors on input, corresponding solutions on return
[in]ipivvector encoding the pivoting sequence
Author
R. J. Purser

Definition at line 763 of file pmat.f90.

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.

Parameters
[in]asquare matrix to be factorized
[in,out]bright-hand side vector on input, corresponding solution on return
[in]ipivarray encoding the pivoting sequence
Author
R. J. Purser

Definition at line 861 of file pmat.f90.

subroutine pmat::iinvf ( integer(spi), dimension(:,:), intent(inout)  imat,
logical, intent(out)  ff 
)
private

Invert integer square matrix, imat, if possible, but flag ff=.true.

if not possible. (Determinant of imat must be +1 or -1)

Parameters
[in,out]imatinteger square matrix
[out]fferror flag
Author
R. J. Purser

Definition at line 451 of file pmat.f90.

subroutine pmat::sinvl ( real(sp), dimension(:,:), intent(inout)  a)
private

Invert lower triangular matrix in place.

Single precision.

Parameters
[in,out]alower triangular matrix.
Author
R. J. Purser

Definition at line 1135 of file pmat.f90.

subroutine pmat::sinvmt ( real(sp), dimension(:,:), intent(inout)  a)
private

Invert single precision matrix in place.

Parameters
[in,out]amatrix
Author
R. J. Purser

Definition at line 81 of file pmat.f90.

References pmat::inv::sinvmtf().

subroutine pmat::sinvmtf ( real(sp), dimension(:,:), intent(inout)  a,
logical, intent(out)  ff 
)
private

Invert a single precision matrix in place, or flag if process fails.

Parameters
[in,out]amatrix
[out]ffflag for error condition
Author
R. J. Purser

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.

Parameters
[in,out]aupper triangular matrix.
Author
R. J. Purser

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)

Parameters
[in]asymmetric matrix.
[in,out]bCholesky factor matrix.
Author
R. J. Purser

Definition at line 920 of file pmat.f90.

References pmat::l1lm::sl1lmf().

subroutine pmat::sl1lmf ( real(sp), dimension(:,:), intent(in)  a,
real(sp), dimension(:,:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Cholesky, M -> L*U, U(i,j)=L(j,i)

Parameters
[in]asymmetric matrix.
[in,out]bCholesky factor matrix.
[out]fffailure flag
Author
R. J. Purser

Definition at line 947 of file pmat.f90.

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)

Parameters
[in]asymmetric matrix.
[in,out]boutput modified cholesky factor, L.
[out]ddiagonal matrix, D.
Author
R. J. Purser

Definition at line 1015 of file pmat.f90.

References pmat::ldlm::sldlmf().

subroutine pmat::sldlmf ( real(sp), dimension(:,:), intent(in)  a,
real(sp), dimension(:,:), intent(inout)  b,
real(sp), dimension(:), intent(out)  d,
logical, intent(out)  ff 
)
private

Modified Cholesky decompose Q –> L*D*U, U(i,j)=L(j,i)

Parameters
[in]asymmetric matrix
[in,out]bmodified cholesky factor, L.
[out]ddiagonal matrix, D.
[out]fferror flag
Author
R. J. Purser

Definition at line 1046 of file pmat.f90.

subroutine pmat::sldum ( real(sp), dimension(:,:), intent(inout)  a,
integer(spi), dimension(:), intent(out)  ipiv,
real(sp), intent(out)  d 
)
private

Perform L*D*U decomposition, with pivoting, of square matrix.

Single precision version.

Parameters
[in,out]ainput square matrix, output L,D,U factors
[out]ddeterminant sign change indicator (+1 or -1)
[out]ipivvector of pivots
Author
R. J. Purser

Definition at line 476 of file pmat.f90.

References pmat::ldum::sldumf().

subroutine pmat::sldumf ( real(sp), dimension(:,:), intent(inout)  a,
integer(spi), dimension(:), intent(out)  ipiv,
real(sp), intent(out)  d,
logical, intent(out)  ff 
)
private

Perform l-d-u decomposition of square matrix a in place with pivoting.

Single precision version.

Parameters
[in,out]asquare matrix to be factorized
[out]ipivvector encoding the pivoting sequence
[out]dindicator for possible sign change of determinant
[out]ff,:failure flag, set to .true. when determinant of a vanishes.
Author
R. J. Purser

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 
)

Solve linear system involving lower triangular system matrix.

Single precision version.

Parameters
[in]alower triangular matrix.
[in,out]uinput RHS vector, output solution vector.
Author
R. J. Purser

Definition at line 1173 of file pmat.f90.

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.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vectors, output solution vectors
Author
R. J. Purser

Definition at line 229 of file pmat.f90.

References pmat::inv::slinmmtf().

subroutine pmat::slinmmtf ( real(sp), dimension(:,:), intent(inout)  a,
real(sp), dimension(:,:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Invert linear system with multiple right-hand side vectors, or flag failure.

Single precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vectors, output solution vectors
[out]fffailure flag
Author
R. J. Purser

Definition at line 269 of file pmat.f90.

References pmat::ldum::sldumf(), and pmat::udlmm::sudlmm().

subroutine pmat::slinmvt ( real(sp), dimension(:,:), intent(inout)  a,
real(sp), dimension(:), intent(inout)  b 
)
private

Invert linear system with single right-hand side vector.

Single precision version.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vector, output solution vector
Author
R. J. Purser

Definition at line 343 of file pmat.f90.

References pmat::inv::slinmvtf().

subroutine pmat::slinmvtf ( real(sp), dimension(:,:), intent(inout)  a,
real(sp), dimension(:), intent(inout)  b,
logical, intent(out)  ff 
)
private

Invert linear system with single right-hand side vector.

Parameters
[in,out]aInvertible system matrix, destroyed on output
[in,out]binput RHS vector, output solution vector
[out]fffailure flag
Author
R. J. Purser

Definition at line 385 of file pmat.f90.

References pmat::ldum::sldumf(), and pmat::udlmm::sudlmv().

subroutine pmat::slinuv ( real(sp), dimension(:,:), intent(in)  a,
real(sp), dimension(:), intent(inout)  u 
)
private

Solve linear system involving upper triangular system matrix.

Single precision version.

Parameters
[in]aupper triangular matrix.
[in,out]uinput RHS vector, output solution vector.
Author
R. J. Purser

Definition at line 1203 of file pmat.f90.

subroutine pmat::sswpvv ( real(sp), dimension(:), intent(inout)  d,
real(sp), dimension(:), intent(inout)  e 
)
private

Swap a pair of single precision vectors.

Parameters
[in,out]dvector
[in,out]evector
Author
R. J. Purser

Definition at line 49 of file pmat.f90.

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.

Parameters
[in]aL-D-U factorization of linear system matrux
[in,out]brt-hand-sides vectors on input, corresponding solutions on return
[in]ipivvector encoding the pivoting sequence
Author
R. J. Purser

Definition at line 729 of file pmat.f90.

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.

Parameters
[in]aL-D-U factorization of linear system matrix
[in,out]bright-hand-side vector on input, corresponding solution on return
[in]ipivvector encoding the pivoting sequence
Author
R. J. Purser

Definition at line 830 of file pmat.f90.


The documentation for this module was generated from the following file: