ptcon#

Functions

void sptcon(
    const INT           n,
    const f32* restrict D,
    const f32* restrict E,
    const f32           anorm,
          f32*          rcond,
          f32* restrict work,
          INT*          info
);
void sptcon(const INT n, const f32 *restrict D, const f32 *restrict E, const f32 anorm, f32 *rcond, f32 *restrict work, INT *info)#

SPTCON computes the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite tridiagonal matrix using the factorization A = L*D*L**T or A = U**T*D*U computed by SPTTRF.

Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

Parameters

in
n

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

in
D

Double precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by SPTTRF.

in
E

Double precision array, dimension (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization of A, as computed by SPTTRF.

in
anorm

The 1-norm of the original matrix A.

out
rcond

The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the 1-norm of inv(A) computed in this routine.

out
work

Double precision array, dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

Functions

void dptcon(
    const INT           n,
    const f64* restrict D,
    const f64* restrict E,
    const f64           anorm,
          f64*          rcond,
          f64* restrict work,
          INT*          info
);
void dptcon(const INT n, const f64 *restrict D, const f64 *restrict E, const f64 anorm, f64 *rcond, f64 *restrict work, INT *info)#

DPTCON computes the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite tridiagonal matrix using the factorization A = L*D*L**T or A = U**T*D*U computed by DPTTRF.

Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

Parameters

in
n

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

in
D

Double precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by DPTTRF.

in
E

Double precision array, dimension (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization of A, as computed by DPTTRF.

in
anorm

The 1-norm of the original matrix A.

out
rcond

The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the 1-norm of inv(A) computed in this routine.

out
work

Double precision array, dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

Functions

void cptcon(
    const INT           n,
    const f32* restrict D,
    const c64* restrict E,
    const f32           anorm,
          f32*          rcond,
          f32* restrict rwork,
          INT*          info
);
void cptcon(const INT n, const f32 *restrict D, const c64 *restrict E, const f32 anorm, f32 *rcond, f32 *restrict rwork, INT *info)#

CPTCON computes the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite tridiagonal matrix using the factorization A = L*D*L**H or A = U**H*D*U computed by CPTTRF.

Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

Parameters

in
n

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

in
D

Single precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by CPTTRF.

in
E

Complex*16 array, dimension (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization of A, as computed by CPTTRF.

in
anorm

The 1-norm of the original matrix A.

out
rcond

The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the 1-norm of inv(A) computed in this routine.

out
rwork

Single precision array, dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

Functions

void zptcon(
    const INT            n,
    const f64*  restrict D,
    const c128* restrict E,
    const f64            anorm,
          f64*           rcond,
          f64*  restrict rwork,
          INT*           info
);
void zptcon(const INT n, const f64 *restrict D, const c128 *restrict E, const f64 anorm, f64 *rcond, f64 *restrict rwork, INT *info)#

ZPTCON computes the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite tridiagonal matrix using the factorization A = L*D*L**H or A = U**H*D*U computed by ZPTTRF.

Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

Parameters

in
n

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

in
D

Double precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by ZPTTRF.

in
E

Complex*16 array, dimension (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization of A, as computed by ZPTTRF.

in
anorm

The 1-norm of the original matrix A.

out
rcond

The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the 1-norm of inv(A) computed in this routine.

out
rwork

Double precision array, dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value