![]() |
(git:936074a)
|
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_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 |
various cholesky decomposition related routines
| 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
| matrix | the matrix to replace with its cholesky decomposition |
| n | the number of row (and columns) of the matrix & (defaults to the min(size(matrix))) |
| info_out | ... |
Definition at line 62 of file cp_fm_cholesky.F.
| 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
| matrix | the matrix to invert (must be an upper triangular matrix) |
| n | size of the matrix to invert (defaults to the min(size(matrix))) |
| info_out | ... |
Definition at line 141 of file cp_fm_cholesky.F.
| 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)
| matrix | the symmetric matrix A |
| matrixb | the cholesky decomposition of matrix B |
| itype | ... |
Definition at line 228 of file cp_fm_cholesky.F.
| 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)
| fm_matrix | ... |
| neig | ... |
| fm_matrixb | ... |
| fm_matrixout | ... |
| op | ... |
| pos | ... |
| transa | ... |
Definition at line 286 of file cp_fm_cholesky.F.
| integer, save, public cp_fm_cholesky::cholesky_type = 0 |
Definition at line 38 of file cp_fm_cholesky.F.
| integer, save, public cp_fm_cholesky::dlaf_cholesky_n_min = 0 |
Definition at line 41 of file cp_fm_cholesky.F.
| integer, parameter, public cp_fm_cholesky::fm_cholesky_type_scalapack = 101 |
Definition at line 43 of file cp_fm_cholesky.F.
| integer, parameter, public cp_fm_cholesky::fm_cholesky_type_dlaf = 104 |
Definition at line 43 of file cp_fm_cholesky.F.
| integer, parameter, public cp_fm_cholesky::fm_cholesky_type_default = FM_CHOLESKY_TYPE_SCALAPACK |
Definition at line 45 of file cp_fm_cholesky.F.