single_blas_level3(3)
π single_blas_level3 β real π
okay bestie, pull up a chair because this is the single_blas_level3(3) page from LAPACK and it's a WHOLE vibe. it's giving "level 3 BLAS but make it single precision" and honestly? iconic. β¨
β¨ NAME β¨
single_blas_level3 β real π
like. that's it. that's the name. it's the real (single-precision, REAL-typed) family of LEVEL 3 BLAS routines. slay.
πΈ SYNOPSIS πΈ
π¦ Functions π¦
subroutine sgemm (TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)β SGEMM πsubroutine ssymm (SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC)β SSYMM πsubroutine ssyr2k (UPLO, TRANS, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)β SSYR2K πsubroutine ssyrk (UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)β SSYRK πsubroutine strmm (SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)β STRMM πsubroutine strsm (SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)β STRSM π
π Detailed Description π
this is the group of real LEVEL 3 BLAS routines. that's the whole lore. periodt. π
π§ Function Documentation π§
β subroutine sgemm β
subroutine sgemm (character TRANSA, character TRANSB, integer M, integer N,
integer K, real ALPHA, real, dimension(lda,*) A, integer LDA, real,
dimension(ldb,*) B, integer LDB, real BETA, real, dimension(ldc,*) C,
integer LDC)
SGEMM β¨
π Purpose: π
SGEMM performs one of the matrix-matrix operations
C := alpha*op( A )*op( B ) + beta*C,
where op( X ) is one of
op( X ) = X or op( X ) = X**T,
alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix. literally the classic. no cap. π₯
π Parameters π
TRANSAβTRANSAisCHARACTER*1. on entry,TRANSAspecifies the form ofop( A )to be used in the matrix multiplication, like this:TRANSA = 'N' or 'n',op( A ) = A.TRANSA = 'T' or 't',op( A ) = A**T.TRANSA = 'C' or 'c',op( A ) = A**T.
TRANSBβTRANSBisCHARACTER*1. on entry,TRANSBspecifies the form ofop( B )to be used in the matrix multiplication, as follows:TRANSB = 'N' or 'n',op( B ) = B.TRANSB = 'T' or 't',op( B ) = B**T.TRANSB = 'C' or 'c',op( B ) = B**T.
MβMisINTEGER. on entry,Mspecifies the number of rows of the matrixop( A )and of the matrixC.Mmust be at least zero.NβNisINTEGER. on entry,Nspecifies the number of columns of the matrixop( B )and the number of columns of the matrixC.Nmust be at least zero.KβKisINTEGER. on entry,Kspecifies the number of columns of the matrixop( A )and the number of rows of the matrixop( B ).Kmust be at least zero.ALPHAβALPHAisREAL. on entry,ALPHAspecifies the scalaralpha.AβAisREALarray, dimension( LDA, ka ), wherekaiskwhenTRANSA = 'N' or 'n', and ismotherwise. before entry withTRANSA = 'N' or 'n', the leading m by k part of the arrayAmust contain the matrixA, otherwise the leading k by m part of the arrayAmust contain the matrixA.LDAβLDAisINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. whenTRANSA = 'N' or 'n'thenLDAmust be at leastmax( 1, m ), otherwiseLDAmust be at leastmax( 1, k ).BβBisREALarray, dimension( LDB, kb ), wherekbisnwhenTRANSB = 'N' or 'n', and iskotherwise. before entry withTRANSB = 'N' or 'n', the leading k by n part of the arrayBmust contain the matrixB, otherwise the leading n by k part of the arrayBmust contain the matrixB.LDBβLDBisINTEGER. on entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program. whenTRANSB = 'N' or 'n'thenLDBmust be at leastmax( 1, k ), otherwiseLDBmust be at leastmax( 1, n ).BETAβBETAisREAL. on entry,BETAspecifies the scalarbeta. whenBETAis supplied as zero thenCneed not be set on input. π«ΆCβCisREALarray, dimension( LDC, N ). before entry, the leading m by n part of the arrayCmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. on exit, the arrayCis overwritten by the m by n matrix( alpha*op( A )*op( B ) + beta*C ).LDCβLDCisINTEGER. on entry,LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details: π₯
Level 3 Blas routine.
-- Written on 8-February-1989.
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
β subroutine ssymm β
subroutine ssymm (character SIDE, character UPLO, integer M, integer N, real
ALPHA, real, dimension(lda,*) A, integer LDA, real, dimension(ldb,*) B,
integer LDB, real BETA, real, dimension(ldc,*) C, integer LDC)
SSYMM β¨
π Purpose: π
SSYMM performs one of the matrix-matrix operations
C := alpha*A*B + beta*C,
or
C := alpha*B*A + beta*C,
where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices. symmetric queen behavior honestly. π
π Parameters π
SIDEβSIDEisCHARACTER*1. on entry,SIDEspecifies whether the symmetric matrixAappears on the left or right in the operation, as follows:SIDE = 'L' or 'l'βC := alpha*A*B + beta*C,SIDE = 'R' or 'r'βC := alpha*B*A + beta*C,
UPLOβUPLOisCHARACTER*1. on entry,UPLOspecifies whether the upper or lower triangular part of the symmetric matrixAis to be referenced, as follows:UPLO = 'U' or 'u'β Only the upper triangular part of the symmetric matrix is to be referenced.UPLO = 'L' or 'l'β Only the lower triangular part of the symmetric matrix is to be referenced.
MβMisINTEGER. on entry,Mspecifies the number of rows of the matrixC.Mmust be at least zero.NβNisINTEGER. on entry,Nspecifies the number of columns of the matrixC.Nmust be at least zero.ALPHAβALPHAisREAL. on entry,ALPHAspecifies the scalaralpha.AβAisREALarray, dimension( LDA, ka ), wherekaismwhenSIDE = 'L' or 'l'and isnotherwise. before entry withSIDE = 'L' or 'l', the m by m part of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leading m by m upper triangular part of the arrayAmust contain the upper triangular part of the symmetric matrix and the strictly lower triangular part ofAis not referenced, and whenUPLO = 'L' or 'l', the leading m by m lower triangular part of the arrayAmust contain the lower triangular part of the symmetric matrix and the strictly upper triangular part ofAis not referenced. before entry withSIDE = 'R' or 'r', the n by n part of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leading n by n upper triangular part of the arrayAmust contain the upper triangular part of the symmetric matrix and the strictly lower triangular part ofAis not referenced, and whenUPLO = 'L' or 'l', the leading n by n lower triangular part of the arrayAmust contain the lower triangular part of the symmetric matrix and the strictly upper triangular part ofAis not referenced.LDAβLDAisINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. whenSIDE = 'L' or 'l'thenLDAmust be at leastmax( 1, m ), otherwiseLDAmust be at leastmax( 1, n ).BβBisREALarray, dimension( LDB, N ). before entry, the leading m by n part of the arrayBmust contain the matrixB.LDBβLDBisINTEGER. on entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).BETAβBETAisREAL. on entry,BETAspecifies the scalarbeta. whenBETAis supplied as zero thenCneed not be set on input. π«ΆCβCisREALarray, dimension( LDC, N ). before entry, the leading m by n part of the arrayCmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. on exit, the arrayCis overwritten by the m by n updated matrix.LDCβLDCisINTEGER. on entry,LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details: π₯
Level 3 Blas routine.
-- Written on 8-February-1989.
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
ssyr2k</p> π¦
subroutine ssyr2k (character UPLO, character TRANS, integer N, integer K,
real ALPHA, real, dimension(lda,*) A, integer LDA, real,
dimension(ldb,*) B, integer LDB, real BETA, real, dimension(ldc,*) C,
integer LDC)
Purpose π
SSYR2K does one of the symmetric rank 2k operations, and bestie, there's two of them so pay attention:
C := alpha*A*B**T + alpha*B*A**T + beta*C,
or
C := alpha*A**T*B + alpha*B**T*A + beta*C,
where alpha and beta are scalars, C is an n by n symmetric matrix, and A and B are n by k matrices in the first case and k by n matrices in the second case. Two matrices, one symmetric glow-up, that's the whole vibe. β¨
Parameters π
UPLO
UPLO is CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the array C is to be referenced, like so:
UPLO = 'U'or'u'β Only the upper triangular part ofCis to be referenced.UPLO = 'L'or'l'β Only the lower triangular part ofCis to be referenced.
TRANS
TRANS is CHARACTER*1. On entry, TRANS specifies the operation to be performed, and here are your options, no cap:
TRANS = 'N'or'n'βC := alpha*A*B**T + alpha*B*A**T + beta*C.TRANS = 'T'or't'βC := alpha*A**T*B + alpha*B**T*A + beta*C.TRANS = 'C'or'c'βC := alpha*A**T*B + alpha*B**T*A + beta*C.
N
N is INTEGER. On entry, N specifies the order of the matrix C. N must be at least zero. (Zero is allowed, bestie, it's not a crime.)
K
K is INTEGER. On entry with TRANS = 'N' or 'n', K specifies the number of columns of the matrices A and B. On entry with TRANS = 'T' or 't' or 'C' or 'c', K specifies the number of rows of the matrices A and B. Either way, K must be at least zero.
ALPHA
ALPHA is REAL. On entry, ALPHA specifies the scalar alpha. The main character of the scaling world. π
A
A is REAL array, dimension ( LDA, ka ), where ka is k when TRANS = 'N' or 'n', and is n otherwise. Before entry with TRANS = 'N' or 'n', the leading n by k part of the array A must contain the matrix A. Otherwise the leading k by n part of the array A must contain the matrix A.
LDA
LDA is INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDA must be at least max( 1, n ), otherwise LDA must be at least max( 1, k ).
B
B is REAL array, dimension ( LDB, kb ), where kb is k when TRANS = 'N' or 'n', and is n otherwise. Before entry with TRANS = 'N' or 'n', the leading n by k part of the array B must contain the matrix B. Otherwise the leading k by n part of the array B must contain the matrix B.
LDB
LDB is INTEGER. On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDB must be at least max( 1, n ), otherwise LDB must be at least max( 1, k ).
BETA
BETA is REAL. On entry, BETA specifies the scalar beta. The other scalars could never. π
C
C is REAL array, dimension ( LDC, N ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array C must contain the upper triangular part of the symmetric matrix, and the strictly lower triangular part of C is not referenced. On exit, the upper triangular part of the array C is overwritten by the upper triangular part of the updated matrix.
Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array C must contain the lower triangular part of the symmetric matrix, and the strictly upper triangular part of C is not referenced. On exit, the lower triangular part of the array C is overwritten by the lower triangular part of the updated matrix.
LDC
LDC is INTEGER. On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 1, n ).
Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details: πΈ
- Level 3 Blas routine.
-- Written on 8-February-1989.- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
ssyrk π
subroutine ssyrk (character UPLO, character TRANS, integer N, integer K,
real ALPHA, real, dimension(lda,*) A, integer LDA, real BETA, real,
dimension(ldc,*) C, integer LDC)
Purpose β
SSYRK does one of the symmetric rank k operations, and it's giving "one matrix, two moods":
C := alpha*A*A**T + beta*C,
or
C := alpha*A**T*A + beta*C,
where alpha and beta are scalars, C is an n by n symmetric matrix, and A is an n by k matrix in the first case and a k by n matrix in the second case.
Parameters π§
UPLO
UPLO is CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the array C is to be referenced, as follows:
UPLO = 'U'or'u'β Only the upper triangular part ofCis to be referenced.UPLO = 'L'or'l'β Only the lower triangular part ofCis to be referenced.
TRANS
TRANS is CHARACTER*1. On entry, TRANS specifies the operation to be performed, and the menu is short but iconic:
TRANS = 'N'or'n'βC := alpha*A*A**T + beta*C.TRANS = 'T'or't'βC := alpha*A**T*A + beta*C.TRANS = 'C'or'c'βC := alpha*A**T*A + beta*C.
N
N is INTEGER. On entry, N specifies the order of the matrix C. N must be at least zero.
K
K is INTEGER. On entry with TRANS = 'N' or 'n', K specifies the number of columns of the matrix A, and on entry with TRANS = 'T' or 't' or 'C' or 'c', K specifies the number of rows of the matrix A. K must be at least zero.
ALPHA
ALPHA is REAL. On entry, ALPHA specifies the scalar alpha.
A
A is REAL array, dimension ( LDA, ka ), where ka is k when TRANS = 'N' or 'n', and is n otherwise. Before entry with TRANS = 'N' or 'n', the leading n by k part of the array A must contain the matrix A. Otherwise the leading k by n part of the array A must contain the matrix A.
LDA
LDA is INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDA must be at least max( 1, n ), otherwise LDA must be at least max( 1, k ).
BETA
BETA is REAL. On entry, BETA specifies the scalar beta.
C
C is REAL array, dimension ( LDC, N ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array C must contain the upper triangular part of the symmetric matrix, and the strictly lower triangular part of C is not referenced. On exit, the upper triangular part of the array C is overwritten by the upper triangular part of the updated matrix.
Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array C must contain the lower triangular part of the symmetric matrix, and the strictly upper triangular part of C is not referenced. On exit, the lower triangular part of the array C is overwritten by the lower triangular part of the updated matrix.
LDC
LDC is INTEGER. On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 1, n ).
Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details: π
- Level 3 Blas routine.
-- Written on 8-February-1989.- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
strmm π₯
subroutine strmm (character SIDE, character UPLO, character TRANSA,
character DIAG, integer M, integer N, real ALPHA, real, dimension(lda,*)
A, integer LDA, real, dimension(ldb,*) B, integer LDB)
Purpose π
STRMM performs one of the matrix-matrix operations
B := alpha*op( A )*B, or B := alpha*B*op( A ),
where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix, and op( A ) is one of
op( A ) = A or op( A ) = A**T.
So basically A can slide in on the left or the right, and it can be transposed or not β main character energy, truly. β¨
Parameters π
SIDE
SIDE is CHARACTER*1. On entry, SIDE specifies whether op( A ) multiplies B from the left or right, like this:
SIDE = 'L'or'l'βB := alpha*op( A )*B.SIDE = 'R'or'r'βB := alpha*B*op( A ).
UPLO
UPLO is CHARACTER*1
β¦and that's exactly where this chunk runs out, bestie β UPLO's whole situation keeps going, so hold that thought π«Ά
UPLOis aCHARACTER*1β okay so on entry, it's the vibe check for whetherAis upper or lower triangular, and it goes like this:UPLO = 'U'or'u'βAis an upper triangular matrix. πUPLO = 'L'or'l'βAis a lower triangular matrix. π¦
TRANSAis aCHARACTER*1β on entry, it tells you what form ofop( A )is being used in the matrix multiplication, bestie:TRANSA = 'N'or'n'βop( A ) = A.TRANSA = 'T'or't'βop( A ) = A**T.TRANSA = 'C'or'c'βop( A ) = A**T.
DIAGis aCHARACTER*1β on entry, it spills whetherAis unit triangular or not:DIAG = 'U'or'u'βAis assumed to be unit triangular.DIAG = 'N'or'n'βAis not assumed to be unit triangular.
Mis anINTEGERβ on entry,Mis the number of rows ofB. It must be at least zero. No negative vibes allowed. πNis anINTEGERβ on entry,Nis the number of columns ofB. It must be at least zero. Periodt. β¨ALPHAis aREALβ on entry,ALPHAis the scalar alpha. When alpha is zero,Ais not referenced andBdoesn't need to be set before entry. It's giving "we don't need that". πAis aREALarray, dimension( LDA, k ), wherekismwhenSIDE = 'L'or'l'and isnwhenSIDE = 'R'or'r'.- Before entry with
UPLO = 'U'or'u', the leadingkbykupper triangular part ofAmust contain the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. - Before entry with
UPLO = 'L'or'l', the leadingkbyklower triangular part ofAmust contain the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. - Note that when
DIAG = 'U'or'u', the diagonal elements ofAare not referenced either, but are assumed to be unity. So don't even worry about them, bestie. π
- Before entry with
LDAis anINTEGERβ on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenSIDE = 'L'or'l',LDAmust be at leastmax( 1, m ); whenSIDE = 'R'or'r',LDAmust be at leastmax( 1, n ).Bis aREALarray, dimension( LDB, N )β before entry, the leadingmbynpart ofBmust contain the matrixB, and on exit it's overwritten by the transformed matrix. So it's a glow-up, basically. β¨LDBis anINTEGERβ on entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details
- Level 3 Blas routine.
- Written on 8-February-1989.
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
subroutine strsm (character SIDE, character UPLO, character TRANSA,
character DIAG, integer M, integer N, real ALPHA, real, dimension(lda,*)
A, integer LDA, real, dimension(ldb,*) B, integer LDB)
STRSM
Purpose:
STRSM solves one of the matrix equations
op( A )*X = alpha*B, or X*op( A ) = alpha*B,
where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix, and op( A ) is one of
op( A ) = A or op( A ) = A**T.
The matrix X is overwritten on B. So B comes in as B and leaves as X. It's a transformation, no cap. π«
Parameters
SIDEis aCHARACTER*1β on entry,SIDEspecifies whetherop( A )appears on the left or right ofX:SIDE = 'L'or'l'βop( A )*X = alpha*B.SIDE = 'R'or'r'βX*op( A ) = alpha*B.
UPLOis aCHARACTER*1β on entry,UPLOspecifies whetherAis an upper or lower triangular matrix:UPLO = 'U'or'u'βAis an upper triangular matrix.UPLO = 'L'or'l'βAis a lower triangular matrix.
TRANSAis aCHARACTER*1β on entry,TRANSAspecifies the form ofop( A ):TRANSA = 'N'or'n'βop( A ) = A.TRANSA = 'T'or't'βop( A ) = A**T.TRANSA = 'C'or'c'βop( A ) = A**T.
DIAGis aCHARACTER*1β on entry,DIAGspecifies whetherAis unit triangular:DIAG = 'U'or'u'βAis assumed to be unit triangular.DIAG = 'N'or'n'βAis not assumed to be unit triangular.
Mis anINTEGERβ on entry,Mspecifies the number of rows ofB.Mmust be at least zero.Nis anINTEGERβ on entry,Nspecifies the number of columns ofB.Nmust be at least zero.ALPHAis aREALβ on entry,ALPHAspecifies the scalar alpha. When alpha is zero,Ais not referenced andBneed not be set before entry.Ais aREALarray, dimension( LDA, k ), wherekismwhenSIDE = 'L'or'l'andkisnwhenSIDE = 'R'or'r'.- Before entry with
UPLO = 'U'or'u', the leadingkbykupper triangular part ofAmust contain the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. - Before entry with
UPLO = 'L'or'l', the leadingkbyklower triangular part ofAmust contain the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. - Note that when
DIAG = 'U'or'u', the diagonal elements ofAare not referenced either, but are assumed to be unity.
- Before entry with
LDAis anINTEGERβ on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenSIDE = 'L'or'l',LDAmust be at leastmax( 1, m ); whenSIDE = 'R'or'r',LDAmust be at leastmax( 1, n ).Bis aREALarray, dimension( LDB, N )β before entry, the leadingmbynpart ofBmust contain the right-hand side matrixB, and on exit is overwritten by the solution matrixX.LDBis anINTEGERβ on entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details
- Level 3 Blas routine.
- Written on 8-February-1989.
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
Author
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole tea, bestie! This is single_blas_level3(3) from LAPACK version 3.11.0, dated Sun Nov 27 2022. Go forth and solve those triangular systems β you absolutely ate. πβ¨π¦
π¦ where this page comes from
- debian bookworm: liblapack-doc 3.11.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms