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)#
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
inuploSpecifies 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).
innThe order of the matrix A. n >= 0.
inADouble 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.
inldaThe leading dimension of the array A. lda >= max(1, n).
inEDouble precision array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D.
inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm).
outworkDouble precision array, dimension (2*n).
outiworkInteger array, dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
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
);
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)#
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
inuploSpecifies 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).
innThe order of the matrix A. n >= 0.
inADouble 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.
inldaThe leading dimension of the array A. lda >= max(1, n).
inEDouble precision array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D.
inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm).
outworkDouble precision array, dimension (2*n).
outiworkInteger array, dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
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
);
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)#
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
inuploSpecifies 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).
innThe order of the matrix A. n >= 0.
inASingle 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.
inldaThe leading dimension of the array A. lda >= max(1, n).
inESingle complex array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D.
inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm).
outworkSingle complex array, dimension (2*n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
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
);
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)#
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
inuploSpecifies 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).
innThe order of the matrix A. n >= 0.
inADouble 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.
inldaThe leading dimension of the array A. lda >= max(1, n).
inEDouble complex array, dimension (n). Contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D.
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D.
inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm).
outworkDouble complex array, dimension (2*n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
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
);