hecon(3)

πŸ’… hecon(3) β€” {he,sy}con: condition number estimate

okay so bestie, this is hecon(3), aka the {he,sy}con condition-number-estimate situation, and it's lowkey serving serious linear-algebra main character energy. We're keeping every deet, every flag, every formula, no cap. ✨


✨ NAME ✨

hecon β€” {he,sy}con: condition number estimate

πŸŽ€ SYNOPSIS πŸŽ€

✨ Functions ✨

  • subroutine checon (uplo, n, a, lda, ipiv, anorm, rcond, work, info) β€” CHECON
  • subroutine csycon (uplo, n, a, lda, ipiv, anorm, rcond, work, info) β€” CSYCON
  • subroutine dsycon (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info) β€” DSYCON
  • subroutine ssycon (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info) β€” SSYCON
  • subroutine zhecon (uplo, n, a, lda, ipiv, anorm, rcond, work, info) β€” ZHECON
  • subroutine zsycon (uplo, n, a, lda, ipiv, anorm, rcond, work, info) β€” ZSYCON

πŸ¦‹ Detailed Description πŸ¦‹

This is the detailed-description zone, and then the function docs take over. Keep scrolling, bestie πŸ’….

πŸ”₯ Function Documentation πŸ”₯

πŸ’– subroutine checon β€” CHECON

subroutine checon (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, complex, dimension( * ) work, integer info)

🎯 Purpose

CHECON estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF.

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

🧾 Parameters

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**H; = 'L': Lower triangular, form is A = L*D*L**H.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHETRF.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by CHETRF.
  • ANORM β€” ANORM is REAL. The 1-norm of the original matrix A.
  • RCOND β€” RCOND is REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.
  • WORK β€” WORK is COMPLEX array, dimension (2*N).
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Definition at line 123 of file checon.f.


🩷 subroutine csycon β€” CSYCON

subroutine csycon (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, complex, dimension( * ) work, integer info)

🎯 Purpose

CSYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF.

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

🧾 Parameters

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by CSYTRF.
  • ANORM β€” ANORM is REAL. The 1-norm of the original matrix A.
  • RCOND β€” RCOND is REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.
  • WORK β€” WORK is COMPLEX array, dimension (2*N).
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Definition at line 123 of file csycon.f.


πŸ’œ subroutine dsycon β€” DSYCON

subroutine dsycon (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm, double precision rcond, double precision, dimension( * ) work, integer, dimension( * ) iwork, integer info)

🎯 Purpose

DSYCON estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF.

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

🧾 Parameters

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by DSYTRF.
  • ANORM β€” ANORM is DOUBLE PRECISION. The 1-norm of the original matrix A.
  • RCOND β€” RCOND is DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (2*N).
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Definition at line 128 of file dsycon.f.


🌸 subroutine ssycon β€” SSYCON

subroutine ssycon (character uplo, integer n, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, real, dimension( * ) work, integer, dimension( * ) iwork, integer info)

🎯 Purpose

SSYCON estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF.

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

🧾 Parameters

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • A β€” A is REAL array, dimension (LDA,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSYTRF.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by SSYTRF.
  • ANORM β€” ANORM is REAL. The 1-norm of the original matrix A.
  • RCOND β€” RCOND is REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.
  • WORK β€” WORK is REAL array, dimension (2*N).
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Definition at line 128 of file ssycon.f.

ZHECON πŸ¦‹

subroutine zhecon (character uplo, integer n, complex*16, dimension( lda, *
    ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm,
    double precision rcond, complex*16, dimension( * ) work, integer info)

πŸ’– Purpose

okay so bestie, ZHECON estimates the reciprocal of the condition number of a complex Hermitian matrix A β€” and it does it using the factorization A = U*D*U**H or A = L*D*L**H that ZHETRF already computed for you. no re-doing the whole factorization, we're just reusing the vibes ✨

An estimate is obtained for norm(inv(A)), and then the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). literally that's it. that's the whole formula. slay.


🌸 Parameters

  • UPLO β€” UPLO is CHARACTER*1. says whether the details of the factorization are stored as an upper or lower triangular matrix:
    • = 'U': upper triangular, form is A = U*D*U**H;
    • = 'L': lower triangular, form is A = L*D*L**H.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0. (yes, zero is allowed, we don't judge πŸ’…)
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). this is the block diagonal matrix D plus the multipliers used to obtain the factor U or L, exactly as computed by ZHETRF.
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N). respect the leading dimension or perish πŸ™ˆ
  • IPIV β€” IPIV is INTEGER array, dimension (N). the details of the interchanges and the block structure of D, as determined by ZHETRF.
  • ANORM β€” ANORM is DOUBLE PRECISION. the 1-norm of the original matrix A. you gotta hand it in yourself, it's not computed here, so no cap.
  • RCOND β€” RCOND is DOUBLE PRECISION. the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine. this is the output you actually came for, bestie πŸ‘‘
  • WORK β€” WORK is COMPLEX*16 array, dimension (2*N). scratch space, it does stuff, you just supply it πŸŽ€
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value πŸ’€

🌈 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 123 of file zhecon.f. noted. filed. archived. πŸ“Œ

ZSYCON 🧚

subroutine zsycon (character uplo, integer n, complex*16, dimension( lda, *
    ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm,
    double precision rcond, complex*16, dimension( * ) work, integer info)

πŸ’œ Purpose

ZSYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). same formula, different factorization energy β€” note the **T not **H, and that's not a typo, that's the whole point of the symmetric version πŸ”₯


πŸ“ Parameters

  • UPLO β€” UPLO is CHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix:
    • = 'U': upper triangular, form is A = U*D*U**T;
    • = 'L': lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0.
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZSYTRF.
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). details of the interchanges and the block structure of D as determined by ZSYTRF.
  • ANORM β€” ANORM is DOUBLE PRECISION. the 1-norm of the original matrix A.
  • RCOND β€” RCOND is DOUBLE PRECISION. the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.
  • WORK β€” WORK is COMPLEX*16 array, dimension (2*N).
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

⭐ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 123 of file zsycon.f. yes, both of them are line 123, no I'm not messing with you, that's just how the source code wanted it 🫢

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this footer, a robot did it, and honestly? iconic. πŸ€–πŸ’–

and the last line said LAPACK, Version 3.12.0, hecon(3) β€” so this whole masterpiece is LAPACK 3.12.0, served fresh in section 3 of the manual. that's a wrap, bestie, go condition some numbers πŸ’…βœ¨

πŸ“¦ where this page comes from