hptri(3)

πŸ¦‹ hptri(3) β€” {hp,sp}tri: triangular inverse πŸ’…

okay so bestie, welcome to the hptri(3) page ✨ this is the whole family β€” {hp,sp}tri β€” and yes she's giving "triangular inverse", no cap. Six routines, one job, absolute main character energy πŸ‘‘


🌸 NAME

hptri β€” {hp,sp}tri: triangular inverse πŸŽ€


✨ SYNOPSIS

🫢 Functions

  • chptri β€” subroutine chptri (uplo, n, ap, ipiv, work, info) β€” CHPTRI
  • csptri β€” subroutine csptri (uplo, n, ap, ipiv, work, info) β€” CSPTRI
  • dsptri β€” subroutine dsptri (uplo, n, ap, ipiv, work, info) β€” DSPTRI
  • ssptri β€” subroutine ssptri (uplo, n, ap, ipiv, work, info) β€” SSPTRI
  • zhptri β€” subroutine zhptri (uplo, n, ap, ipiv, work, info) β€” ZHPTRI
  • zsptri β€” subroutine zsptri (uplo, n, ap, ipiv, work, info) β€” ZSPTRI

πŸ’€ Detailed Description

so the vibe of this section in the source is basically "see below" β€” the real tea is all in Function Documentation, where each of the six icons gets her own little spotlight. keep scrolling, bestie πŸ’–


πŸ‘‘ Function Documentation

πŸ’œ chptri β€” the complex Hermitian one, single precision

subroutine chptri (character uplo, integer n, complex, dimension( * ) ap,
    integer, dimension( * ) ipiv, complex, dimension( * ) work, integer
    info)

CHPTRI πŸ¦‹

Purpose β€” CHPTRI computes the inverse of a complex Hermitian indefinite matrix A in packed storage, using the factorization A = U*D*U**H or A = L*D*L**H computed by CHPTRF. like, she takes the factorization CHPTRF already did and flips it into a full inverse. periodt.

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. πŸ’…
  • AP β€” AP is COMPLEX array, dimension (N*(N+1)/2).
    • On entry: the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHPTRF, stored as a packed triangular matrix.
    • On exit, if INFO = 0: the (Hermitian) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in the array AP as follows:
      • if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
      • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by CHPTRF. πŸŽ€
  • WORK β€” WORK is COMPLEX array, dimension (N).
  • INFO β€” INFO is INTEGER
    • = 0: successful exit 🌈
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed. 😭

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 108 of file chptri.f.


πŸ“ csptri β€” the complex symmetric one, single precision

subroutine csptri (character uplo, integer n, complex, dimension( * ) ap,
    integer, dimension( * ) ipiv, complex, dimension( * ) work, integer
    info)

CSPTRI 🌸

Purpose β€” CSPTRI computes the inverse of a complex symmetric indefinite matrix A in packed storage, using the factorization A = U*D*U**T or A = L*D*L**T computed by CSPTRF. note the **T bestie, not **H β€” symmetric, not Hermitian, iykyk πŸ’…

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.
  • AP β€” AP is COMPLEX array, dimension (N*(N+1)/2).
    • On entry: the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSPTRF, stored as a packed triangular matrix.
    • On exit, if INFO = 0: the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in the array AP as follows:
      • if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
      • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by CSPTRF.
  • WORK β€” WORK is COMPLEX array, dimension (N).
  • INFO β€” INFO is INTEGER
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed. πŸ’€

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 108 of file csptri.f.


🧚 dsptri β€” the real symmetric one, double precision

subroutine dsptri (character uplo, integer n, double precision, dimension( *
    ) ap, integer, dimension( * ) ipiv, double precision, dimension( * )
    work, integer info)

DSPTRI πŸ”₯

Purpose β€” DSPTRI computes the inverse of a real symmetric indefinite matrix A in packed storage, using the factorization A = U*D*U**T or A = L*D*L**T computed by DSPTRF. double the precision, double the slay πŸŽ€

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.
  • AP β€” AP is DOUBLE PRECISION array, dimension (N*(N+1)/2).
    • On entry: the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSPTRF, stored as a packed triangular matrix.
    • On exit, if INFO = 0: the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in the array AP as follows:
      • if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
      • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by DSPTRF.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (N).
  • INFO β€” INFO is INTEGER
    • = 0: successful exit 🌟
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed. 😭

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 108 of file dsptri.f.


🌈 ssptri β€” the real symmetric one, single precision

subroutine ssptri (character uplo, integer n, real, dimension( * ) ap,
    integer, dimension( * ) ipiv, real, dimension( * ) work, integer info)

SSPTRI ⭐

Purpose β€” SSPTRI computes the inverse of a real symmetric indefinite matrix A in packed storage, using the factorization A = U*D*U**T or A = L*D*L**T computed by SSPTRF. lowkey the workhorse of the whole friend group ngl 🫢

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.
  • AP β€” AP is REAL array, dimension (N*(N+1)/2).
    • On entry: the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSPTRF, stored as a packed triangular matrix.
    • On exit, if INFO = 0: the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in the array AP as follows:
      • if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
      • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by SSPTRF.
  • WORK β€” WORK is REAL array, dimension (N).
  • INFO β€” INFO is INTEGER
    • = 0: successful exit πŸ’–
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed. πŸ™ˆ

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 108 of file ssptri.f.


πŸ¦‹ zhptri β€” the complex Hermitian one, double precision

subroutine zhptri (character uplo, integer n, complex*16, dimension( * ) ap,
    integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer
    info)

ZHPTRI 🧚

Purpose β€” ZHPTRI computes the inverse of a complex Hermitian indefinite matrix A in packed storage, using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHPTRF. big complex*16 energy, the way she ate πŸ’…

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.
  • AP β€” okay bestie the source page literally cuts off right here mid-parameter 😭 hold that thought β€” the rest of ZHPTRI lives in the next part 🫢

AP β€” okay so this one is a COMPLEX*16 array, dimension (N*(N+1)/2). On entry, it's holding the block diagonal matrix D plus the multipliers that were used to get the factor U or L as computed by ZHPTRF, all stored as a packed triangular matrix. πŸ’…

On exit, if INFO = 0, you get the (Hermitian) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) lives in AP like this:

if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
if UPLO = 'L',
   AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.

IPIV β€” a INTEGER array, dimension (N), carrying the details of the interchanges and the block structure of D exactly as determined by ZHPTRF. 🫢

WORK β€” a COMPLEX*16 array, dimension (N). That's it, that's the whole vibe.

INFO β€” an INTEGER, and it's giving status report:

  • = 0: successful exit, we love a clean run ✨
  • < 0: if INFO = -i, the i-th argument had an illegal value (rude)
  • > 0: if INFO = i, then D(i,i) = 0; the matrix is singular and its inverse could not be computed. πŸ’€ no inverse for you.

πŸ‘‘ Author

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

πŸ“ Definition

Definition at line 108 of file zhptri.f.


πŸŒ€ subroutine zsptri (character uplo, integer n, complex*16, dimension( * ) ap, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)

ZSPTRI

🎯 Purpose

ZSPTRI computes the inverse of a complex symmetric indefinite matrix A in packed storage using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSPTRF. 🧚✨

🌸 Parameters

UPLO β€” a CHARACTER*1. It 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 β€” an INTEGER. The order of the matrix A. N >= 0. periodt.

AP β€” a COMPLEX*16 array, dimension (N*(N+1)/2). On entry, it's the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZSPTRF, stored as a packed triangular matrix. πŸ‘‘

On exit, if INFO = 0, you get the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in AP like this:

if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
if UPLO = 'L',
   AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.

IPIV β€” an INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by ZSPTRF. πŸ”₯

WORK β€” a COMPLEX*16 array, dimension (N). Same energy as before.

INFO β€” an INTEGER:

  • = 0: successful exit, we slay ✨
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, then D(i,i) = 0; the matrix is singular and its inverse could not be computed. 😭 singular behaviour, literally cannot.

πŸ‘‘ Author

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

πŸ“ Definition

Definition at line 108 of file zsptri.f.


πŸ“œ Author

Generated automatically by Doxygen for LAPACK from the source code.


And that's the whole page, bestie β€” this glow-up is officially from LAPACK Version 3.12.0, page hptri(3), and it ate, no crumbs. πŸ’…πŸŽ€βœ¨

πŸ“¦ where this page comes from