(git:71c3ab0)
Loading...
Searching...
No Matches
cp_fm_cholesky Module Reference

various cholesky decomposition related routines More...

Functions/Subroutines

subroutine, public cp_fm_cholesky_decompose (matrix, n, info_out)
 used to replace a symmetric positive def. matrix M with its cholesky decomposition U: M = U^T * U, with U upper triangular
 
subroutine, public cp_fm_cholesky_solve (matrix, matrixb, n, info_out)
 solves A*X = B for X, given the Cholesky decomposition U of the symmetric positive def. matrix A (A = U^T*U, U upper triangular), as produced by cp_fm_cholesky_decompose
 
subroutine, public cp_fm_cholesky_invert (matrix, n, info_out)
 used to replace the cholesky decomposition by the inverse
 
subroutine, public cp_fm_cholesky_reduce (matrix, matrixb, itype)
 reduce a matrix pencil A,B to normal form B has to be cholesky decomposed with cp_fm_cholesky_decompose before calling this routine A,B -> inv(U^T)*A*inv(U),1 (AX=BX -> inv(U^T)*A*inv(U)*U*X=U*X hence evecs U*X)
 
subroutine, public cp_fm_cholesky_restore (fm_matrix, neig, fm_matrixb, fm_matrixout, op, pos, transa)
 apply Cholesky decomposition op can be "SOLVE" (out = U^-1 * in) or "MULTIPLY" (out = U * in) pos can be "LEFT" or "RIGHT" (U at the left or at the right)
 

Variables

integer, save, public cholesky_type = 0
 
integer, save, public dlaf_cholesky_n_min = 0
 
integer, parameter, public fm_cholesky_type_scalapack = 101
 
integer, parameter, public fm_cholesky_type_dlaf = 104
 
integer, parameter, public fm_cholesky_type_default = FM_CHOLESKY_TYPE_SCALAPACK
 

Detailed Description

various cholesky decomposition related routines

History
09.2002 created [fawzi]
Author
Fawzi Mohamed

Function/Subroutine Documentation

◆ cp_fm_cholesky_decompose()

subroutine, public cp_fm_cholesky::cp_fm_cholesky_decompose ( type(cp_fm_type), intent(in)  matrix,
integer, intent(in), optional  n,
integer, intent(out), optional  info_out 
)

used to replace a symmetric positive def. matrix M with its cholesky decomposition U: M = U^T * U, with U upper triangular

Parameters
matrixthe matrix to replace with its cholesky decomposition
nthe number of row (and columns) of the matrix & (defaults to the min(size(matrix)))
info_out...
History
05.2002 created [JVdV] 12.2002 updated, added n optional parm [fawzi]
Author
Joost

Definition at line 60 of file cp_fm_cholesky.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_fm_cholesky_solve()

subroutine, public cp_fm_cholesky::cp_fm_cholesky_solve ( type(cp_fm_type), intent(in)  matrix,
type(cp_fm_type), intent(inout)  matrixb,
integer, intent(in), optional  n,
integer, intent(out), optional  info_out 
)

solves A*X = B for X, given the Cholesky decomposition U of the symmetric positive def. matrix A (A = U^T*U, U upper triangular), as produced by cp_fm_cholesky_decompose

Parameters
matrixthe Cholesky factor U of A, as produced by cp_fm_cholesky_decompose
matrixbon input the right-hand side(s) B, on output the solution(s) X
nthe number of rows (and columns) of matrix (defaults to the min(size(matrix)))
info_out...

Definition at line 125 of file cp_fm_cholesky.F.

Here is the caller graph for this function:

◆ cp_fm_cholesky_invert()

subroutine, public cp_fm_cholesky::cp_fm_cholesky_invert ( type(cp_fm_type), intent(in)  matrix,
integer, intent(in), optional  n,
integer, intent(out), optional  info_out 
)

used to replace the cholesky decomposition by the inverse

Parameters
matrixthe matrix to invert (must be an upper triangular matrix)
nsize of the matrix to invert (defaults to the min(size(matrix)))
info_out...
History
05.2002 created [JVdV]
Author
Joost VandeVondele

Definition at line 181 of file cp_fm_cholesky.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_fm_cholesky_reduce()

subroutine, public cp_fm_cholesky::cp_fm_cholesky_reduce ( type(cp_fm_type), intent(in)  matrix,
type(cp_fm_type), intent(in)  matrixb,
integer, optional  itype 
)

reduce a matrix pencil A,B to normal form B has to be cholesky decomposed with cp_fm_cholesky_decompose before calling this routine A,B -> inv(U^T)*A*inv(U),1 (AX=BX -> inv(U^T)*A*inv(U)*U*X=U*X hence evecs U*X)

Parameters
matrixthe symmetric matrix A
matrixbthe cholesky decomposition of matrix B
itype...
History
05.2002 created [JVdV]
Author
Joost VandeVondele

Definition at line 254 of file cp_fm_cholesky.F.

Here is the caller graph for this function:

◆ cp_fm_cholesky_restore()

subroutine, public cp_fm_cholesky::cp_fm_cholesky_restore ( type(cp_fm_type), intent(in)  fm_matrix,
integer, intent(in)  neig,
type(cp_fm_type), intent(in)  fm_matrixb,
type(cp_fm_type), intent(in)  fm_matrixout,
character(len=*), intent(in)  op,
character(len=*), intent(in), optional  pos,
character(len=*), intent(in), optional  transa 
)

apply Cholesky decomposition op can be "SOLVE" (out = U^-1 * in) or "MULTIPLY" (out = U * in) pos can be "LEFT" or "RIGHT" (U at the left or at the right)

Parameters
fm_matrix...
neig...
fm_matrixb...
fm_matrixout...
op...
pos...
transa...

Definition at line 312 of file cp_fm_cholesky.F.

Here is the caller graph for this function:

Variable Documentation

◆ cholesky_type

integer, save, public cp_fm_cholesky::cholesky_type = 0

Definition at line 36 of file cp_fm_cholesky.F.

◆ dlaf_cholesky_n_min

integer, save, public cp_fm_cholesky::dlaf_cholesky_n_min = 0

Definition at line 39 of file cp_fm_cholesky.F.

◆ fm_cholesky_type_scalapack

integer, parameter, public cp_fm_cholesky::fm_cholesky_type_scalapack = 101

Definition at line 41 of file cp_fm_cholesky.F.

◆ fm_cholesky_type_dlaf

integer, parameter, public cp_fm_cholesky::fm_cholesky_type_dlaf = 104

Definition at line 41 of file cp_fm_cholesky.F.

◆ fm_cholesky_type_default

integer, parameter, public cp_fm_cholesky::fm_cholesky_type_default = FM_CHOLESKY_TYPE_SCALAPACK

Definition at line 43 of file cp_fm_cholesky.F.