sycon_3#

Functions

void ssycon_3(
    const char*          uplo,
    const INT            n,
    const f32*  restrict A,
    const INT            lda,
    const f32*  restrict E,
    const INT*  restrict ipiv,
    const f32            anorm,
          f32*           rcond,
          f32*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void ssycon_3(const char *uplo, const INT n, const f32 *restrict A, const INT lda, const f32 *restrict E, const INT *restrict ipiv, const f32 anorm, f32 *rcond, f32 *restrict work, INT *restrict iwork, INT *info)#

SSYCON_3 estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization computed by SSYTRF_RK or DSYTRF_BK:

A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),

where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). This routine uses BLAS3 solver SSYTRS_3.

Parameters

in
uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix: = ‘U’: Upper triangular, form is A = P*U*D*(U**T)*(P**T); = ‘L’: Lower triangular, form is A = P*L*D*(L**T)*(P**T).

in
n

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

in
A

Double precision array, dimension (lda, n). Diagonal of the block diagonal matrix D and factors U or L as computed by SSYTRF_RK and DSYTRF_BK.

in
lda

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

in
E

Double precision array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.

in
ipiv

Integer array, dimension (n). Details of the interchanges and the block structure of D.

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

out
work

Double precision array, dimension (2*n).

out
iwork

Integer array, dimension (n).

out
info

  • = 0: successful exit

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

Functions

void dsycon_3(
    const char*          uplo,
    const INT            n,
    const f64*  restrict A,
    const INT            lda,
    const f64*  restrict E,
    const INT*  restrict ipiv,
    const f64            anorm,
          f64*           rcond,
          f64*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void dsycon_3(const char *uplo, const INT n, const f64 *restrict A, const INT lda, const f64 *restrict E, const INT *restrict ipiv, const f64 anorm, f64 *rcond, f64 *restrict work, INT *restrict iwork, INT *info)#

DSYCON_3 estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization computed by DSYTRF_RK or DSYTRF_BK:

A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),

where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). This routine uses BLAS3 solver DSYTRS_3.

Parameters

in
uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix: = ‘U’: Upper triangular, form is A = P*U*D*(U**T)*(P**T); = ‘L’: Lower triangular, form is A = P*L*D*(L**T)*(P**T).

in
n

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

in
A

Double precision array, dimension (lda, n). Diagonal of the block diagonal matrix D and factors U or L as computed by DSYTRF_RK and DSYTRF_BK.

in
lda

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

in
E

Double precision array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.

in
ipiv

Integer array, dimension (n). Details of the interchanges and the block structure of D.

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

out
work

Double precision array, dimension (2*n).

out
iwork

Integer array, dimension (n).

out
info

  • = 0: successful exit

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

Functions

void csycon_3(
    const char*          uplo,
    const INT            n,
    const c64*  restrict A,
    const INT            lda,
    const c64*  restrict E,
    const INT*  restrict ipiv,
    const f32            anorm,
          f32*           rcond,
          c64*  restrict work,
          INT*           info
);
void csycon_3(const char *uplo, const INT n, const c64 *restrict A, const INT lda, const c64 *restrict E, const INT *restrict ipiv, const f32 anorm, f32 *rcond, c64 *restrict work, INT *info)#

CSYCON_3 estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization computed by CSYTRF_RK or ZSYTRF_BK:

A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),

where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). This routine uses BLAS3 solver CSYTRS_3.

Parameters

in
uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix: = ‘U’: Upper triangular, form is A = P*U*D*(U**T)*(P**T); = ‘L’: Lower triangular, form is A = P*L*D*(L**T)*(P**T).

in
n

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

in
A

Single complex array, dimension (lda, n). Diagonal of the block diagonal matrix D and factors U or L as computed by CSYTRF_RK and ZSYTRF_BK.

in
lda

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

in
E

Single complex array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.

in
ipiv

Integer array, dimension (n). Details of the interchanges and the block structure of D.

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

out
work

Single complex array, dimension (2*n).

out
info

  • = 0: successful exit

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

Functions

void zsycon_3(
    const char*          uplo,
    const INT            n,
    const c128* restrict A,
    const INT            lda,
    const c128* restrict E,
    const INT*  restrict ipiv,
    const f64            anorm,
          f64*           rcond,
          c128* restrict work,
          INT*           info
);
void zsycon_3(const char *uplo, const INT n, const c128 *restrict A, const INT lda, const c128 *restrict E, const INT *restrict ipiv, const f64 anorm, f64 *rcond, c128 *restrict work, INT *info)#

ZSYCON_3 estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization computed by ZSYTRF_RK or ZSYTRF_BK:

A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),

where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). This routine uses BLAS3 solver ZSYTRS_3.

Parameters

in
uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix: = ‘U’: Upper triangular, form is A = P*U*D*(U**T)*(P**T); = ‘L’: Lower triangular, form is A = P*L*D*(L**T)*(P**T).

in
n

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

in
A

Double complex array, dimension (lda, n). Diagonal of the block diagonal matrix D and factors U or L as computed by ZSYTRF_RK and ZSYTRF_BK.

in
lda

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

in
E

Double complex array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.

in
ipiv

Integer array, dimension (n). Details of the interchanges and the block structure of D.

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

out
work

Double complex array, dimension (2*n).

out
info

  • = 0: successful exit

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