potrf2#
Functions
-
void spotrf2(const char *uplo, const INT n, f32 *restrict A, const INT lda, INT *info)#
SPOTRF2 computes the Cholesky factorization of a real symmetric positive definite matrix A using the recursive algorithm.
The factorization has the form A = U**T * U, if UPLO = ‘U’, or A = L * L**T, if UPLO = ‘L’, where U is an upper triangular matrix and L is lower triangular.
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
A = [ –—|–— ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.
Parameters
inuploSpecifies whether the upper or lower triangular part of the symmetric matrix A is stored. = ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
inoutADouble precision array, dimension (lda, n). On entry, the symmetric matrix A. On exit, if info = 0, the factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T.
inldaThe leading dimension of the array A. lda >= max(1, n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0: if info = k, the leading principal minor of order k is not positive, and the factorization could not be completed.
void spotrf2(
const char* uplo,
const INT n,
f32* restrict A,
const INT lda,
INT* info
);
Functions
-
void dpotrf2(const char *uplo, const INT n, f64 *restrict A, const INT lda, INT *info)#
DPOTRF2 computes the Cholesky factorization of a real symmetric positive definite matrix A using the recursive algorithm.
The factorization has the form A = U**T * U, if UPLO = ‘U’, or A = L * L**T, if UPLO = ‘L’, where U is an upper triangular matrix and L is lower triangular.
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
A = [ –—|–— ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.
Parameters
inuploSpecifies whether the upper or lower triangular part of the symmetric matrix A is stored. = ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
inoutADouble precision array, dimension (lda, n). On entry, the symmetric matrix A. On exit, if info = 0, the factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T.
inldaThe leading dimension of the array A. lda >= max(1, n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0: if info = k, the leading principal minor of order k is not positive, and the factorization could not be completed.
void dpotrf2(
const char* uplo,
const INT n,
f64* restrict A,
const INT lda,
INT* info
);
Functions
-
void cpotrf2(const char *uplo, const INT n, c64 *restrict A, const INT lda, INT *info)#
CPOTRF2 computes the Cholesky factorization of a Hermitian positive definite matrix A using the recursive algorithm.
The factorization has the form A = U**H * U, if UPLO = ‘U’, or A = L * L**H, if UPLO = ‘L’, where U is an upper triangular matrix and L is lower triangular.
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
A = [ –—|–— ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.
Parameters
inuploSpecifies whether the upper or lower triangular part of the Hermitian matrix A is stored. = ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
inoutASingle complex array, dimension (lda, n). On entry, the Hermitian matrix A. On exit, if info = 0, the factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H.
inldaThe leading dimension of the array A. lda >= max(1, n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0: if info = k, the leading principal minor of order k is not positive, and the factorization could not be completed.
void cpotrf2(
const char* uplo,
const INT n,
c64* restrict A,
const INT lda,
INT* info
);
Functions
-
void zpotrf2(const char *uplo, const INT n, c128 *restrict A, const INT lda, INT *info)#
ZPOTRF2 computes the Cholesky factorization of a Hermitian positive definite matrix A using the recursive algorithm.
The factorization has the form A = U**H * U, if UPLO = ‘U’, or A = L * L**H, if UPLO = ‘L’, where U is an upper triangular matrix and L is lower triangular.
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
A = [ –—|–— ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.
Parameters
inuploSpecifies whether the upper or lower triangular part of the Hermitian matrix A is stored. = ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
inoutADouble complex array, dimension (lda, n). On entry, the Hermitian matrix A. On exit, if info = 0, the factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H.
inldaThe leading dimension of the array A. lda >= max(1, n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0: if info = k, the leading principal minor of order k is not positive, and the factorization could not be completed.
void zpotrf2(
const char* uplo,
const INT n,
c128* restrict A,
const INT lda,
INT* info
);