potrf#

Functions

void spotrf(
    const char*          uplo,
    const INT            n,
          f32*  restrict A,
    const INT            lda,
          INT*           info
);
void spotrf(const char *uplo, const INT n, f32 *restrict A, const INT lda, INT *info)#

SPOTRF computes the Cholesky factorization of a real symmetric positive definite matrix A.

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 block version of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies 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

in
n

The order of the matrix A. n >= 0.

inout
A

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

in
lda

The leading dimension of the array A. lda >= max(1, n).

out
info

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

Functions

void dpotrf(
    const char*          uplo,
    const INT            n,
          f64*  restrict A,
    const INT            lda,
          INT*           info
);
void dpotrf(const char *uplo, const INT n, f64 *restrict A, const INT lda, INT *info)#

DPOTRF computes the Cholesky factorization of a real symmetric positive definite matrix A.

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 block version of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies 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

in
n

The order of the matrix A. n >= 0.

inout
A

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

in
lda

The leading dimension of the array A. lda >= max(1, n).

out
info

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

Functions

void cpotrf(
    const char*          uplo,
    const INT            n,
          c64*  restrict A,
    const INT            lda,
          INT*           info
);
void cpotrf(const char *uplo, const INT n, c64 *restrict A, const INT lda, INT *info)#

CPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A.

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 block version of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies 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

in
n

The order of the matrix A. n >= 0.

inout
A

Complex*16 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.

in
lda

The leading dimension of the array A. lda >= max(1, n).

out
info

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

Functions

void zpotrf(
    const char*          uplo,
    const INT            n,
          c128* restrict A,
    const INT            lda,
          INT*           info
);
void zpotrf(const char *uplo, const INT n, c128 *restrict A, const INT lda, INT *info)#

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A.

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 block version of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies 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

in
n

The order of the matrix A. n >= 0.

inout
A

Complex*16 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.

in
lda

The leading dimension of the array A. lda >= max(1, n).

out
info

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