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
where U is an upper triangular matrix and L is lower triangular.A = U**T * U, if uplo = 'U', or A = L * L**T, if uplo = 'L',
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1Parameters
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inoutAArray of dimension (
lda,n). On entry, the symmetric matrix A. Ifuplo='U', the leadingn-by-nupper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. Ifuplo='L', the leadingn-by-nlower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, ifinfo=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).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=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
where U is an upper triangular matrix and L is lower triangular.A = U**T * U, if uplo = 'U', or A = L * L**T, if uplo = 'L',
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1Parameters
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inoutAArray of dimension (
lda,n). On entry, the symmetric matrix A. Ifuplo='U', the leadingn-by-nupper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. Ifuplo='L', the leadingn-by-nlower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, ifinfo=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).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=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
where U is an upper triangular matrix and L is lower triangular.A = U**H * U, if uplo = 'U', or A = L * L**H, if uplo = 'L',
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1Parameters
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inoutAArray of dimension (
lda,n). On entry, the Hermitian matrix A. Ifuplo='U', the leadingn-by-nupper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. Ifuplo='L', the leadingn-by-nlower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, ifinfo=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).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=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
where U is an upper triangular matrix and L is lower triangular.A = U**H * U, if uplo = 'U', or A = L * L**H, if uplo = 'L',
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.[ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1Parameters
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inoutAArray of dimension (
lda,n). On entry, the Hermitian matrix A. Ifuplo='U', the leadingn-by-nupper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. Ifuplo='L', the leadingn-by-nlower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, ifinfo=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).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=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
);