SRC/stfsm.f(3)
π SRC/stfsm.f(3) π
okay bestie, this page comes from the Library Functions Manual, and it's lowkey giving βtriangular matrix in RFP format has entered the chatβ energy β¨
πΈ NAME πΈ
SRC/stfsm.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines
subroutine stfsm (transr, side, uplo, trans, diag, m, n, alpha, a, b, ldb)β STFSM solves a matrix equation (one operand is a triangular matrix in RFP format).
π«Ά Function/Subroutine Documentation π«Ά
π subroutine stfsm π
subroutine stfsm (character transr, character side, character uplo,
character trans, character diag, integer m, integer n, real alpha, real,
dimension( 0: * ) a, real, dimension( 0: ldb-1, 0: * ) b, integer ldb)
STFSM solves a matrix equation (one operand is a triangular matrix in RFP format).
π― Purpose π―
Level 3 BLAS like routine for A in RFP Format.
STFSM solves the matrix equation
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.
A is in Rectangular Full Packed (RFP) Format.
The matrix X is overwritten on B.
πΈ Parameters πΈ
TRANSRβCHARACTER*1.= 'N': The Normal Form of RFP A is stored;= 'T': The Transpose Form of RFP A is stored.SIDEβCHARACTER*1. On entry,SIDEspecifies whetherop( A )appears on the left or right ofXas follows:SIDE = 'L' or 'l'meansop( A )*X = alpha*B.SIDE = 'R' or 'r'meansX*op( A ) = alpha*B. Unchanged on exit.UPLOβCHARACTER*1. On entry,UPLOspecifies whether the RFP matrixAcame from an upper or lower triangular matrix as follows:UPLO = 'U' or 'u'means RFP A came from an upper triangular matrix;UPLO = 'L' or 'l'means RFP A came from a lower triangular matrix. Unchanged on exit.TRANSβCHARACTER*1. On entry,TRANSspecifies the form ofop( A )to be used in the matrix multiplication as follows:TRANS = 'N' or 'n'meansop( A ) = A.TRANS = 'T' or 't'meansop( A ) = A'. Unchanged on exit.DIAGβCHARACTER*1. On entry,DIAGspecifies whether or not RFPAis unit triangular as follows:DIAG = 'U' or 'u'means A is assumed to be unit triangular.DIAG = 'N' or 'n'means A is not assumed to be unit triangular. Unchanged on exit.MβINTEGER. On entry,Mspecifies the number of rows ofB.Mmust be at least zero. Unchanged on exit.NβINTEGER. On entry,Nspecifies the number of columns ofB.Nmust be at least zero. Unchanged on exit.ALPHAβREAL. On entry,ALPHAspecifies the scalar alpha. When alpha is zero thenAis not referenced andBneed not be set before entry. Unchanged on exit.AβREAL array, dimension (NT).NT = N*(N+1)/2ifSIDE='R'andNT = M*(M+1)/2otherwise. On entry, the matrixAin RFP Format. RFP Format is described byTRANSR,UPLOandNas follows: IfTRANSR='N'then RFP A is(0:N,0:K-1)whenNis even;K=N/2. RFP A is(0:N-1,0:K)whenNis odd;K=N/2. IfTRANSR = 'T'then RFP is the transpose of RFP A as defined whenTRANSR = 'N'. The contents of RFP A are defined byUPLOas follows: IfUPLO = 'U'the RFP A contains theNTelements of upper packed A either in normal or transpose Format. IfUPLO = 'L'the RFP A contains theNTelements of lower packed A either in normal or transpose Format. The LDA of RFP A is(N+1)/2whenTRANSR = 'T'. WhenTRANSRis'N'the LDA isN+1whenNis even and isNwhen is odd. See the Note below for more details. Unchanged on exit.BβREAL array, dimension (LDB,N). Before entry, the leadingmbynpart of the arrayBmust contain the right-hand side matrixB, and on exit is overwritten by the solution matrixX.LDBβINTEGER. On entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ). Unchanged on exit.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details π₯
We first consider Rectangular Full Packed (RFP) Format when N is even. We give an example where N = 6.
AP is Upper AP is Lower
00 01 02 03 04 05 00
11 12 13 14 15 10 11
22 23 24 25 20 21 22
33 34 35 30 31 32 33
44 45 40 41 42 43 44
55 50 51 52 53 54 55
Let TRANSR = 'N'. RFP holds AP as follows: For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last three columns of AP upper. The lower triangle A(4:6,0:2) consists of the transpose of the first three columns of AP upper. For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first three columns of AP lower. The upper triangle A(0:2,0:2) consists of the transpose of the last three columns of AP lower. This covers the case N even and TRANSR = 'N'.
RFP A RFP A
03 04 05 33 43 53
13 14 15 00 44 54
23 24 25 10 11 55
33 34 35 20 21 22
00 44 45 30 31 32
01 11 55 40 41 42
02 12 22 50 51 52
Now let TRANSR = 'T'. RFP A in both UPLO cases is just the transpose of RFP A above. One therefore gets:
RFP A RFP A
03 13 23 33 00 01 02 33 00 10 20 30 40 50
04 14 24 34 44 11 12 43 44 11 21 31 41 51
05 15 25 35 45 55 22 53 54 55 22 32 42 52
We then consider Rectangular Full Packed (RFP) Format when N is odd. We give an example where N = 5.
AP is Upper AP is Lower
00 01 02 03 04 00
11 12 13 14 10 11
22 23 24 20 21 22
33 34 30 31 32 33
44 40 41 42 43 44
Let TRANSR = 'N'. RFP holds AP as follows: For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last three columns of AP upper. The lower triangle A(3:4,0:1) consists of the transpose of the first two columns of AP upper. For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first three columns of AP lower. The upper triangle A(0:1,1:2) consists of the transpose of the last two columns of AP lower. This covers the case N odd and TRANSR = 'N'.
RFP A RFP A
02 03 04 00 33 43
12 13 14 10 11 44
22 23 24 20 21 22
00 33 34 30 31 32
01 11 44 40 41 42
Now let TRANSR = 'T'. RFP A in both UPLO cases is just the transpose of RFP A above. One therefore gets:
RFP A RFP A
02 12 22 00 01 00 10 20 30 40 50
03 13 23 33 11 33 11 21 31 41 51
04 14 24 34 44 43 44 22 32 42 52
Definition at line 276 of file stfsm.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π that's the whole page, bestie β LAPACK, Version 3.12.0, page SRC/stfsm.f(3), periodt π
β¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms