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

Further Details:

The method used is described in Nicholas J. Higham, “Efficient Algorithms for Computing the Condition Number of a Tridiagonal Matrix”, SIAM J. Sci. Stat. Comput., Vol. 7, No. 1, January 1986.

Parameters

in
n

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

in
D

Array of dimension n. The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by spttrf.

in
E

Array of 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

Array of dimension n.

out
info

  • info=0: successful exit

  • info<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))).

Further Details:

The method used is described in Nicholas J. Higham, “Efficient Algorithms for Computing the Condition Number of a Tridiagonal Matrix”, SIAM J. Sci. Stat. Comput., Vol. 7, No. 1, January 1986.

Parameters

in
n

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

in
D

Array of dimension n. The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by dpttrf.

in
E

Array of 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

Array of dimension n.

out
info

  • info=0: successful exit

  • info<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))).

Further Details:

The method used is described in Nicholas J. Higham, “Efficient Algorithms for Computing the Condition Number of a Tridiagonal Matrix”, SIAM J. Sci. Stat. Comput., Vol. 7, No. 1, January 1986.

Parameters

in
n

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

in
D

Array of dimension n. The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by cpttrf.

in
E

Complex array of 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

Array of dimension n.

out
info

  • info=0: successful exit

  • info<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))).

Further Details:

The method used is described in Nicholas J. Higham, “Efficient Algorithms for Computing the Condition Number of a Tridiagonal Matrix”, SIAM J. Sci. Stat. Comput., Vol. 7, No. 1, January 1986.

Parameters

in
n

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

in
D

Array of dimension n. The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by zpttrf.

in
E

Complex array of 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

Array of dimension n.

out
info

  • info=0: successful exit

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