hfrk(3)
π NAME π
hfrk β the whole family of Hermitian/symmetric rank-k updates, but the matrix lives in RFP format (that's "Rectangular Full Packed", iykyk) β¨
β¨ SYNOPSIS β¨
π Functions
chfrkβCHFRKdoes a Hermitian rank-k operation on a matrix that's sitting in RFP format πdsfrkβDSFRKdoes a symmetric rank-k operation, matrix in RFP format π¦ssfrkβSSFRKdoes a symmetric rank-k operation, matrix in RFP format πΈzhfrkβZHFRKdoes a Hermitian rank-k operation, matrix in RFP format π
Each one is a subroutine taking (transr, uplo, trans, n, k, alpha, a, lda, beta, c). Same shape every time, only the types change β it's giving "one haircut four ways" π
π¦ DETAILED DESCRIPTION π¦
So here's the whole situation, bestie π«Ά This page is the home of the four rank-k updaters that work on matrices stored in RFP format. Nothing else happens under this name β that's the whole hfrk vibe. Below you get the full documentation for each subroutine, one at a time, with every single parameter spelled out, because past-you and future-you both deserve that π
π₯ FUNCTION DOCUMENTATION π₯
π chfrk β the complex Hermitian one
subroutine chfrk (character transr, character uplo, character trans, integer
n, integer k, real alpha, complex, dimension( lda, * ) a, integer lda,
real beta, complex, dimension( * ) c)
CHFRK performs a Hermitian rank-k operation for matrix in RFP format β¨
Purpose
Okay so this is a Level 3 BLAS like routine for C in RFP Format. π«Ά
CHFRK performs one of the Hermitian rank--k operations:
C := alpha*A*A**H + beta*C,
or
C := alpha*A**H*A + beta*C,
where alpha and beta are real scalars, C is an n--by--n Hermitian matrix, and A is an n--by--k matrix in the first case and a k--by--n matrix in the second case π
Parameters
TRANSRβTRANSRisCHARACTER*1.= 'N': The Normal Form of RFPAis stored π= 'C': The Conjugate-transpose Form of RFPAis stored β¨
UPLOβUPLOisCHARACTER*1. On entry,UPLOspecifies whether the upper or lower triangular part of the arrayCis to be referenced, like: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.- Unchanged on exit π«Ά
TRANSβTRANSisCHARACTER*1. On entry,TRANSspecifies the operation to be performed, as follows:TRANS = 'N' or 'n'βC := alpha*A*A**H + beta*C.TRANS = 'C' or 'c'βC := alpha*A**H*A + beta*C.- Unchanged on exit π
NβNisINTEGER. On entry,Nspecifies the order of the matrix C.Nmust be at least zero. Unchanged on exit πΈKβKisINTEGER. On entry withTRANS = 'N' or 'n',Kspecifies the number of columns of the matrixA; on entry withTRANS = 'C' or 'c',Kspecifies the number of rows of the matrixA.Kmust be at least zero. Unchanged on exit π¦ALPHAβALPHAisREAL. On entry,ALPHAspecifies the scalar alpha. Unchanged on exit β¨AβAisCOMPLEX array, dimension (LDA,ka), whereKAisKwhenTRANS = 'N' or 'n', and isNotherwise. Before entry withTRANS = 'N' or 'n', the leading N--by--K part of the arrayAmust contain the matrixA; otherwise the leading K--by--N part of the arrayAmust contain the matrixA. Unchanged on exit πLDAβLDAisINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenTRANS = 'N' or 'n'thenLDAmust be at leastmax( 1, n ), otherwiseLDAmust be at leastmax( 1, k ). Unchanged on exit πBETAβBETAisREAL. On entry,BETAspecifies the scalar beta. Unchanged on exit πCβCisCOMPLEX array, dimension (N*(N+1)/2). On entry, the matrixAin RFP Format. RFP Format is described byTRANSR,UPLOandN. Note that the imaginary parts of the diagonal elements need not be set, they are assumed to be zero, and on exit they are set to zero π
Like, genuinely, you don't have to clean up the diagonal yourself β but also don't be surprised when it comes back with zero imaginary parts, bestie π
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition
Definition at line 166 of file chfrk.f. π₯
π dsfrk β the double-precision symmetric one
subroutine dsfrk (character transr, character uplo, character trans, integer
n, integer k, double precision alpha, double precision, dimension( lda, *
) a, integer lda, double precision beta, double precision, dimension( * ) c)
DSFRK performs a symmetric rank-k operation for matrix in RFP format β¨
Purpose
Level 3 BLAS like routine for C in RFP Format. π«Ά
DSFRK performs one of the symmetric rank--k operations:
C := alpha*A*A**T + beta*C,
or
C := alpha*A**T*A + beta*C,
where alpha and beta are real 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 π
Note: no **H here β DSFRK is the symmetric twin, so it's plain transpose <italic>T</italic>, not conjugate transpose. Different vibe, same energy π
Parameters
TRANSRβTRANSRisCHARACTER*1.= 'N': The Normal Form of RFPAis stored π= 'T': The Transpose Form of RFPAis stored β¨
UPLOβUPLOisCHARACTER*1. On entry,UPLOspecifies whether the upper or lower triangular part of the arrayCis 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.- Unchanged on exit π«Ά
TRANSβTRANSisCHARACTER*1. On entry,TRANSspecifies the operation to be performed, as follows:TRANS = 'N' or 'n'βC := alpha*A*A**T + beta*C.TRANS = 'T' or 't'βC := alpha*A**T*A + beta*C.- Unchanged on exit π
NβNisINTEGER. On entry,Nspecifies the order of the matrix C.Nmust be at least zero. Unchanged on exit πΈKβKisINTEGER. On entry withTRANS = 'N' or 'n',Kspecifies the number of columns of the matrixA; and on entry withTRANS = 'T' or 't',Kspecifies the number of rows of the matrixA.Kmust be at least zero. Unchanged on exit π¦ALPHAβALPHAisDOUBLE PRECISION. On entry,ALPHAspecifies the scalar alpha. Unchanged on exit β¨AβAisDOUBLE PRECISION array, dimension (LDA,ka), whereKAisKwhenTRANS = 'N' or 'n', and isNotherwise. Before entry withTRANS = 'N' or 'n', the leading N--by--K part of the arrayAmust contain the matrixA; otherwise the leading K--by--N part of the arrayAmust contain the matrixA. Unchanged on exit πLDAβLDAisINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenTRANS = 'N' or 'n'thenLDAmust be at leastmax( 1, n ), otherwiseLDAmust be at leastmax( 1, k ). Unchanged on exit πBETAβBETAisDOUBLE PRECISION. On entry,BETAspecifies the scalar beta. Unchanged on exit πCβCisDOUBLE PRECISION array, dimension (NT), whereNT = N*(N+1)/2. On entry, the symmetric matrixCin RFP Format. RFP Format is described byTRANSR,UPLOandN. π
Little glow-up moment:DSFRK'sCis described in terms ofNT = N*(N+1)/2instead of spelling the expression out β same size, different outfit, no cap π
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition
Definition at line 164 of file dsfrk.f. π₯
π ssfrk β the single-precision symmetric one
subroutine ssfrk (character transr, character uplo, character trans, integer
n, integer k, real alpha, real, dimension( lda, * ) a, integer lda, real
beta, real, dimension( * ) c)
SSFRK performs a symmetric rank-k operation for matrix in RFP format β¨
Purpose
Level 3 BLAS like routine for C in RFP Format. π«Ά
SSFRK performs one of the symmetric rank--k operations:
C := alpha*A*A**T + beta*C,
or
C := alpha*A**T*A + beta*C,
where alpha and beta are real 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 π
Bestie this is literally DSFRK but in single precision REAL instead of DOUBLE PRECISION β same routine, smaller floats, still slaying πΈ
Parameters
TRANSRβTRANSRisCHARACTER*1.= 'N': The Normal Form of RFPAis stored π= 'T': The Transpose Form of RFPAis stored β¨
UPLOβUPLOisCHARACTER*1. On entry,UPLOspecifies whether the upper or lower triangular part of the arrayCis 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.- Unchanged on exit π«Ά
TRANSβ
π«Ά aaaand that's where part 1 runs out, bestie β the rest of TRANS and everything after it is coming in part 2, don't go anywhere π
Okay so picking up right where the parameter list left off β these next ones are giving βdonβt skim me, bestieβ energy π
TRANSβ isCHARACTER*1. On entry,TRANSspecifies the operation to be performed as follows:
TRANS = 'N' or 'n' C := alpha*A*A**T + beta*C.
TRANS = 'T' or 't' C := alpha*A**T*A + beta*C.
Unchanged on exit. periodt.
Nβ isINTEGER. On entry,Nspecifies the order of the matrixC.Nmust be at least zero. Unchanged on exit. β¨Kβ isINTEGER. On entry withTRANS = 'N'or'n',Kspecifies the number of columns of the matrixA, and on entry withTRANS = 'T'or't',Kspecifies the number of rows of the matrixA.Kmust be at least zero. Unchanged on exit. π«ΆALPHAβ isREAL. On entry,ALPHAspecifies the scalar alpha. Unchanged on exit.Aβ isREAL array, dimension (LDA,ka)whereKAisKwhenTRANS = 'N'or'n', and isNotherwise. Before entry withTRANS = 'N'or'n', the leadingN--by--Kpart of the arrayAmust contain the matrixA, otherwise the leadingK--by--Npart of the arrayAmust contain the matrixA. Unchanged on exit. πLDAβ isINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenTRANS = 'N'or'n'thenLDAmust be at leastmax( 1, n ), otherwiseLDAmust be at leastmax( 1, k ). Unchanged on exit. πBETAβ isREAL. On entry,BETAspecifies the scalar beta. Unchanged on exit.Cβ isREAL array, dimension (NT)whereNT = N*(N+1)/2. On entry, the symmetric matrixCin RFP Format. RFP Format is described byTRANSR,UPLOandN. π¦
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 164 of file ssfrk.f.
π¦ subroutine zhfrk
subroutine zhfrk (character transr, character uplo, character trans, integer
n, integer k, double precision alpha, complex*16, dimension( lda, * ) a,
integer lda, double precision beta, complex*16, dimension( * ) c)
ZHFRK performs a Hermitian rank-k operation for matrix in RFP format. main character energy, no cap.
Purpose
Level 3 BLAS like routine for C in RFP Format.ZHFRKperforms one of the Hermitian rank--k operationsC := alpha*A*A**H + beta*C,orC := alpha*A**H*A + beta*C,where alpha and beta are real scalars,Cis ann--by--nHermitian matrix andAis ann--by--kmatrix in the first case and ak--by--nmatrix in the second case. π₯
Parameters
TRANSRβ isCHARACTER*1.= 'N': The Normal Form of RFP A is stored;= 'C': The Conjugate-transpose Form of RFP A is stored.πUPLOβ isCHARACTER*1. On entry,UPLOspecifies whether the upper or lower triangular part of the arrayCis 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.
Unchanged on exit. πΈ
TRANSβ isCHARACTER*1. On entry,TRANSspecifies the operation to be performed as follows:
TRANS = 'N' or 'n' C := alpha*A*A**H + beta*C.
TRANS = 'C' or 'c' C := alpha*A**H*A + beta*C.
Unchanged on exit. π
Nβ isINTEGER. On entry,Nspecifies the order of the matrixC.Nmust be at least zero. Unchanged on exit. βKβ isINTEGER. On entry withTRANS = 'N'or'n',Kspecifies the number of columns of the matrixA, and on entry withTRANS = 'C'or'c',Kspecifies the number of rows of the matrixA.Kmust be at least zero. Unchanged on exit. π«§ALPHAβ isDOUBLE PRECISION. On entry,ALPHAspecifies the scalar alpha. Unchanged on exit.Aβ isCOMPLEX*16 array, dimension (LDA,ka)whereKAisKwhenTRANS = 'N'or'n', and isNotherwise. Before entry withTRANS = 'N'or'n', the leadingN--by--Kpart of the arrayAmust contain the matrixA, otherwise the leadingK--by--Npart of the arrayAmust contain the matrixA. Unchanged on exit. πLDAβ isINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenTRANS = 'N'or'n'thenLDAmust be at leastmax( 1, n ), otherwiseLDAmust be at leastmax( 1, k ). Unchanged on exit. πBETAβ isDOUBLE PRECISION. On entry,BETAspecifies the scalar beta. Unchanged on exit.Cβ isCOMPLEX*16 array, dimension (N*(N+1)/2). On entry, the matrixAin RFP Format. RFP Format is described byTRANSR,UPLOandN. Note that the imaginary parts of the diagonal elements need not be set, they are assumed to be zero, and on exit they are set to zero. π
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 166 of file zhfrk.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
And thatβs the whole page, bestie β footer tea is LAPACK Version 3.12.0, page tag hfrk(3), and thereβs no date line in that footer. πβ¨ slay.
π¦ 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