hetrf_aa(3)

πŸ’– hetrf_aa(3) πŸ’–

okay so this is the Library Functions Manual page for hetrf_aa(3) β€” yes, the {he,sy}trf_aa girlies are all here in the synopsis, and this part has the full detailed tea for chetrf_aa, csytrf_aa, and dsytrf_aa. bestie, grab a lil snack, we’re going in πŸ“βœ¨


✨ NAME ✨

hetrf_aa β€” {he,sy}trf_aa: triangular factor


🌸 SYNOPSIS 🌸

Functions

  • subroutine chetrf_aa (uplo, n, a, lda, ipiv, work, lwork, info) β€” CHETRF_AA
  • subroutine csytrf_aa (uplo, n, a, lda, ipiv, work, lwork, info) β€” CSYTRF_AA
  • subroutine dsytrf_aa (uplo, n, a, lda, ipiv, work, lwork, info) β€” DSYTRF_AA
  • subroutine ssytrf_aa (uplo, n, a, lda, ipiv, work, lwork, info) β€” SSYTRF_AA
  • subroutine zhetrf_aa (uplo, n, a, lda, ipiv, work, lwork, info) β€” ZHETRF_AA
  • subroutine zsytrf_aa (uplo, n, a, lda, ipiv, work, lwork, info) β€” ZSYTRF_AA

πŸ¦‹ Detailed Description πŸ¦‹

This section is just the heading in the source, bestie β€” the real function-by-function action is right below πŸ’…


πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– chetrf_aa β€” CHETRF_AA πŸ’–

Signature

subroutine chetrf_aa (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * ) work, integer lwork, integer info)

Purpose

CHETRF_AA computes the factorization of a complex hermitian matrix A using Aasen's algorithm. The form of the factorization is:

A = U**H*T*U  or  A = L*T*L**H

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a hermitian tridiagonal matrix.

This is the blocked version of the algorithm, calling Level 3 BLAS. 🫢

Parameters

UPLO β€” UPLO is CHARACTER*1

  • = 'U': Upper triangle of A is stored;
  • = 'L': Lower triangle of A is stored.

N β€” N is INTEGER

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

A β€” A is COMPLEX array, dimension (LDA,N)

On entry, the hermitian matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.

On exit, the tridiagonal matrix is stored in the diagonals and the subdiagonals of A just below (or above) the diagonals, and L is stored below (or above) the subdiagonals, when UPLO is 'L' (or 'U').

LDA β€” LDA is INTEGER

The leading dimension of the array A. LDA >= max(1,N).

IPIV β€” IPIV is INTEGER array, dimension (N)

On exit, it contains the details of the interchanges, i.e., the row and column k of A were interchanged with the row and column IPIV(k).

WORK β€” WORK is COMPLEX array, dimension (MAX(1,LWORK))

On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

LWORK β€” LWORK is INTEGER

The length of WORK. LWORK >= 1, if N <= 1, and LWORK >= 2*N, otherwise. For optimum performance LWORK >= N*(1+NB), where NB is the optimal blocksize, returned by ILAENV.

If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.

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 133 of file chetrf_aa.f.


πŸ’œ csytrf_aa β€” CSYTRF_AA πŸ’œ

Signature

subroutine csytrf_aa (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * ) work, integer lwork, integer info)

Purpose

CSYTRF_AA computes the factorization of a complex symmetric matrix A using Aasen's algorithm. The form of the factorization is:

A = U**T*T*U  or  A = L*T*L**T

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a complex symmetric tridiagonal matrix.

This is the blocked version of the algorithm, calling Level 3 BLAS. ✨

Parameters

UPLO β€” UPLO is CHARACTER*1

  • = 'U': Upper triangle of A is stored;
  • = 'L': Lower triangle of A is stored.

N β€” N is INTEGER

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

A β€” A is COMPLEX array, dimension (LDA,N)

On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.

On exit, the tridiagonal matrix is stored in the diagonals and the subdiagonals of A just below (or above) the diagonals, and L is stored below (or above) the subdiagonals, when UPLO is 'L' (or 'U').

LDA β€” LDA is INTEGER

The leading dimension of the array A. LDA >= max(1,N).

IPIV β€” IPIV is INTEGER array, dimension (N)

On exit, it contains the details of the interchanges, i.e., the row and column k of A were interchanged with the row and column IPIV(k).

WORK β€” WORK is COMPLEX array, dimension (MAX(1,LWORK))

On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

LWORK β€” LWORK is INTEGER

The length of WORK. LWORK >= MAX(1,2*N). For optimum performance LWORK >= N*(1+NB), where NB is the optimal blocksize.

If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.

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 131 of file csytrf_aa.f.


🌈 dsytrf_aa β€” DSYTRF_AA 🌈

Signature

subroutine dsytrf_aa (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( * ) work, integer lwork, integer info)

Purpose

DSYTRF_AA computes the factorization of a real symmetric matrix A using Aasen's algorithm. The form of the factorization is:

A = U**T*T*U  or  A = L*T*L**T

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a symmetric tridiagonal matrix.

This is the blocked version of the algorithm, calling Level 3 BLAS. πŸ”₯

Parameters

UPLO β€” UPLO is CHARACTER*1

  • = 'U': Upper triangle of A is stored;
  • = 'L': Lower triangle of A is stored.

N β€” N is INTEGER

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

A β€” A is DOUBLE PRECISION array, dimension (LDA,N)

On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.

On exit, the tridiagonal matrix is stored in the diagonals and the subdiagonals of A just below (or above) the diagonals, and L is stored below (or above) the subdiagonals, when UPLO is 'L' (or 'U').

LDA β€” LDA is INTEGER

The leading dimension of the array A. LDA >= max(1,N).

IPIV β€” IPIV is INTEGER array, dimension (N)

On exit, it contains the details of the interchanges, i.e., the row and column k of A were interchanged with the row and column IPIV(k).

WORK β€” WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK))

On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

LWORK β€” LWORK is INTEGER

The length of WORK. LWORK >= 1, if N <= 1, and LWORK >= 2*N, otherwise. For optimum performance LWORK >= N*(1+NB), where NB is the optimal blocksize, returned by ILAENV.

If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.

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 133 of file dsytrf_aa.f.

πŸ’… ssytrf_aa β€” the real symmetric one

subroutine ssytrf_aa (character uplo, integer n, real, dimension( lda, * )
    a, integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work,
    integer lwork, integer info)

✨ Purpose

SSYTRF_AA computes the factorization of a real symmetric matrix A using the Aasen's algorithm. The form of the factorization is fortran A = U**T*T*U or A = L*T*L**T

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a symmetric tridiagonal matrix.

This is the blocked version of the algorithm, calling Level 3 BLAS. Yes bestie, blocked β€” it's the glow-up version that goes fast πŸ”₯

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. Which triangle of A we're keeping, and we do NOT keep both (she's efficient πŸ’…).
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • A β€” REAL array, dimension (LDA,N).
    • On entry: the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
    • On exit: the tridiagonal matrix is stored in the diagonals and the subdiagonals of A just below (or above) the diagonals, and L is stored below (or above) the subdiagonals, when UPLO is 'L' (or 'U'). She transforms πŸ¦‹
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” INTEGER array, dimension (N). On exit, it contains the details of the interchanges, i.e., the row and column k of A were interchanged with the row and column IPIV(k). Receipts of every swap, periodt πŸ“‹
  • WORK β€” REAL array, dimension (MAX(1,LWORK)). On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  • LWORK β€” INTEGER. The length of WORK. LWORK >= 1, if N <= 1, and LWORK >= 2*N, otherwise. For optimum performance LWORK >= N*(1+NB), where NB is the optimal blocksize, returned by ILAENV.
    • If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. (Sneaky little peek πŸ‘€)
  • INFO β€” INTEGER.
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value. Not her fault, it's yours πŸ™ˆ

🫢 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 133 of file ssytrf_aa.f.


πŸ¦‹ zhetrf_aa β€” the complex hermitian one

subroutine zhetrf_aa (character uplo, integer n, complex*16, dimension( lda,
    * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension(
    * ) work, integer lwork, integer info)

✨ Purpose

ZHETRF_AA computes the factorization of a complex hermitian matrix A using the Aasen's algorithm. The form of the factorization is fortran A = U**H*T*U or A = L*T*L**H

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a hermitian tridiagonal matrix.

This is the blocked version of the algorithm, calling Level 3 BLAS. Hermitian AND blocked? main character energy πŸ‘‘

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. Same deal as always, pick a triangle.
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • A β€” COMPLEX*16 array, dimension (LDA,N).
    • On entry: the hermitian matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
    • On exit: the tridiagonal matrix is stored in the diagonals and the subdiagonals of A just below (or above) the diagonals, and L is stored below (or above) the subdiagonals, when UPLO is 'L' (or 'U').
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” INTEGER array, dimension (N). On exit, it contains the details of the interchanges, i.e., the row and column k of A were interchanged with the row and column IPIV(k).
  • WORK β€” COMPLEX*16 array, dimension (MAX(1,LWORK)). On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  • LWORK β€” INTEGER. The length of WORK. LWORK >= 1, if N >= 1, and LWORK >= 2*N, otherwise. For optimum performance LWORK >= N*(1+NB), where NB is the optimal blocksize, returned by ILAENV.
    • If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
  • INFO β€” INTEGER.
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value.
Heads up bestie: yes, the LWORK cutoff really does read if N >= 1 in this one β€” that's what the source says, so that's what we're telling you. No cap, don't come for me πŸ’€

🫢 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 133 of file zhetrf_aa.f.


🌸 zsytrf_aa β€” the complex symmetric one

subroutine zsytrf_aa (character uplo, integer n, complex*16, dimension( lda,
    * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension(
    * ) work, integer lwork, integer info)

✨ Purpose

ZSYTRF_AA computes the factorization of a complex symmetric matrix A using the Aasen's algorithm. The form of the factorization is fortran A = U**T*T*U or A = L*T*L**T

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a complex symmetric tridiagonal matrix.

This is the blocked version of the algorithm, calling Level 3 BLAS. Complex and symmetric β€” she contains multitudes 🧚

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. Triangle selection, as per usual.
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • A β€” COMPLEX*16 array, dimension (LDA,N).
    • On entry: the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
    • On exit: the tridiagonal matrix is stored in the diagonals and the subdiagonals of A just below (or above) the diagonals, and L is stored below (or above) the subdiagonals, when UPLO is 'L' (or 'U').
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” INTEGER array, dimension (N). On exit, it contains the details of the interchanges, i.e., the row and column k of A were interchanged with the row and column IPIV(k).
  • WORK β€” COMPLEX*16 array, dimension (MAX(1,LWORK)). On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  • LWORK β€” INTEGER. The length of WORK. LWORK >=MAX(1,2*N). For optimum performance LWORK >= N*(1+NB), where NB is the optimal blocksize.
    • If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
  • INFO β€” 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 131 of file zsytrf_aa.f.


πŸ’œ Author (the meta one)

Generated automatically by Doxygen for LAPACK from the source code. Not a human, just a very diligent little robot πŸ€–βœ¨


That's the whole page, bestie! This lil masterpiece is LAPACK, Version 3.12.0, and it's the hetrf_aa(3) page β€” go forth and factorize responsibly πŸ’–πŸ«ΆπŸŒΈ

πŸ“¦ where this page comes from