Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
f46d51b
Add algorithms of skew-symmetric matrix
sh-zheng Aug 20, 2024
39d70a4
Add testcases for skew-symmetric algorithm
sh-zheng Aug 20, 2024
c17ac0a
Add cblas and lapacke interfaces for skew-symmetric subroutines
sh-zheng Aug 21, 2024
f9096df
Add cblas testcases for skew-symmetric subroutines
sh-zheng Aug 22, 2024
08a4705
Use blas subroutines to perform transformation in *kyeqr
sh-zheng Sep 3, 2024
63b8293
Update CMakelists
sh-zheng Sep 3, 2024
3275c32
Fix fortran text overflow in *kteqr
sh-zheng Sep 4, 2024
ace1953
Add missing subroutine parameter checks for linear solver
sh-zheng Sep 5, 2024
58ce56e
Fix a typo and resolve a conflict in BLAS/TESTING
sh-zheng Feb 8, 2025
ae2ea5d
Merge branch 'master' into skew-symmetric-new
sh-zheng Feb 9, 2025
b9b2875
Keep consistency with pr 1101
sh-zheng Feb 10, 2025
6731c0f
Delete unnecessary work buffer usage of *ktev and *kteqr in lapacke
sh-zheng Apr 10, 2025
b15a164
Remove redundant *lagky in TESTING/
sh-zheng May 7, 2025
2bb3d99
Merge branch 'master' into skew-symmetric-new
sh-zheng Jun 15, 2025
020cd26
Call *lasr to update eigenvector instead of *rot
sh-zheng Jul 3, 2025
fcbee19
Fix compiler error of column limit
sh-zheng Jul 4, 2025
eb160c9
Fix compiler error of column limit, supplementary submission
sh-zheng Jul 6, 2025
38f90b3
Update contributors information, and doxygen doc
sh-zheng Jul 6, 2025
30042e4
Merge branch 'Reference-LAPACK:master' into skew-symmetric-new
sh-zheng Aug 1, 2025
98d9c6a
implicit none of skew-symmetric subroutines, keep consistency with pr…
sh-zheng Sep 1, 2025
eec055e
Merge branch 'Reference-LAPACK:master' into skew-symmetric-new
sh-zheng Sep 1, 2025
ec0c276
End with newline in BLAS/TESTING
sh-zheng Sep 4, 2025
c9a448b
Add expert driver subroutines *kysvx, *kycon and *kyrfs
sh-zheng Oct 11, 2025
ff8bcde
Update doc and comment
sh-zheng Oct 12, 2025
9261f0f
Fix potential distrub of diagonal elements
sh-zheng Oct 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update contributors information, and doxygen doc
  • Loading branch information
sh-zheng committed Jul 6, 2025
commit 38f90b30092df5ffca5571c012dc7fb47006d5d0
8 changes: 3 additions & 5 deletions BLAS/SRC/dkymm.f
Original file line number Diff line number Diff line change
Expand Up @@ -176,12 +176,10 @@
*> \verbatim
*>
*> Level 3 Blas routine.
*> Derived from subroutine dsymm.
*>
*> -- 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.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
8 changes: 3 additions & 5 deletions BLAS/SRC/dkymv.f
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,10 @@
*>
*> Level 2 Blas routine.
*> The vector and matrix arguments are not referenced when N = 0, or M = 0
*> Derived from subroutine dsymv.
*>
*> -- Written on 22-October-1986.
*> Jack Dongarra, Argonne National Lab.
*> Jeremy Du Croz, Nag Central Office.
*> Sven Hammarling, Nag Central Office.
*> Richard Hanson, Sandia National Labs.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
8 changes: 3 additions & 5 deletions BLAS/SRC/dkyr2.f
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,10 @@
*> \verbatim
*>
*> Level 2 Blas routine.
*> Derived from subroutine dsyr2.
*>
*> -- Written on 22-October-1986.
*> Jack Dongarra, Argonne National Lab.
*> Jeremy Du Croz, Nag Central Office.
*> Sven Hammarling, Nag Central Office.
*> Richard Hanson, Sandia National Labs.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
9 changes: 3 additions & 6 deletions BLAS/SRC/dkyr2k.f
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,10 @@
*> \verbatim
*>
*> Level 3 Blas routine.
*> Derived from subroutine dsyr2k.
*>
*>
*> -- 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.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
8 changes: 3 additions & 5 deletions BLAS/SRC/skymm.f
Original file line number Diff line number Diff line change
Expand Up @@ -176,12 +176,10 @@
*> \verbatim
*>
*> Level 3 Blas routine.
*> Derived from subroutine ssymm.
*>
*> -- 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.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
8 changes: 3 additions & 5 deletions BLAS/SRC/skymv.f
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,10 @@
*>
*> Level 2 Blas routine.
*> The vector and matrix arguments are not referenced when N = 0, or M = 0
*> Derived from subroutine ssymv.
*>
*> -- Written on 22-October-1986.
*> Jack Dongarra, Argonne National Lab.
*> Jeremy Du Croz, Nag Central Office.
*> Sven Hammarling, Nag Central Office.
*> Richard Hanson, Sandia National Labs.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
8 changes: 3 additions & 5 deletions BLAS/SRC/skyr2.f
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,10 @@
*> \verbatim
*>
*> Level 2 Blas routine.
*> Derived from subroutine ssyr2.
*>
*> -- Written on 22-October-1986.
*> Jack Dongarra, Argonne National Lab.
*> Jeremy Du Croz, Nag Central Office.
*> Sven Hammarling, Nag Central Office.
*> Richard Hanson, Sandia National Labs.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
9 changes: 3 additions & 6 deletions BLAS/SRC/skyr2k.f
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,10 @@
*> \verbatim
*>
*> Level 3 Blas routine.
*> Derived from subroutine ssyr2k.
*>
*>
*> -- 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.
*> -- Written on 6-Jul-2025.
*> Shuo Zheng, China.
*> \endverbatim
*>
* =====================================================================
Expand Down
14 changes: 8 additions & 6 deletions DOCS/CBLAS.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,14 @@ This section contains the list of the currently available CBLAS interfaces.
* Single Precision Real:
```
SGEMV SGBMV SGER SSBMV SSPMV SSPR
SSPR2 SSYMV SSYR SSYR2 STBMV STBSV
STPMV STPSV STRMV STRSV
SSPR2 SSYMV SKYMV SSYR SSYR2 SKYR2
STBMV STBSV STPMV STPSV STRMV STRSV
```
* Double Precision Real:
```
DGEMV DGBMV DGER DSBMV DSPMV DSPR
DSPR2 DSYMV DSYR DSYR2 DTBMV DTBSV
DTPMV DTPSV DTRMV DTRSV
DSPR2 DSYMV DKYMV DSYR DSYR2 DKYR2
DTBMV DTBSV DTPMV DTPSV DTRMV DTRSV
```
* Single Precision Complex:
```
Expand All @@ -96,11 +96,13 @@ This section contains the list of the currently available CBLAS interfaces.
### 2.3 BLAS Level 3
* Single Precision Real:
```
SGEMM SSYMM SSYRK SSERK2K STRMM STRSM
SGEMM SSYMM SKYMM SSYRK SSYR2K SKYR2K
STRMM STRSM
```
* Double Precision Real:
```
DGEMM DSYMM DSYRK DSERK2K DTRMM DTRSM
DGEMM DSYMM DKYMM DSYRK DSYR2K DKYR2K
DTRMM DTRSM
```
* Single Precision Complex:
```
Expand Down
56 changes: 28 additions & 28 deletions DOCS/groups-usr.dox
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,10 @@
@defgroup ptrfs ptrfs: iterative refinement
@}

@defgroup hesv_driver_grp LDL: Hermitian/symmetric indefinite matrix, driver
@defgroup hesv_driver_grp LDL: Hermitian/symmetric indefinite/skew-symmetric matrix, driver
@{
@defgroup hesv_driver --- full, rook pivoting ---
@defgroup hesv {he,sy}sv: rook (v1)
@defgroup hesv {he,sy,ky}sv: rook (v1)
@defgroup hesv_rook {he,sy}sv_rook: rook (v2)
@defgroup hesv_rk {he,sy}sv_rk: rook (v3)
@defgroup hesvx {he,sy}svx: rook (v1, expert)
Expand All @@ -165,25 +165,25 @@
@{
@defgroup hesv_comp_v1 --- full, rook v1 ---
@defgroup hecon {he,sy}con: condition number estimate
@defgroup hetrf {he,sy}trf: triangular factor
@defgroup lahef la{he,sy}f: step in hetrf
@defgroup hetf2 {he,sy}tf2: triangular factor, level 2
@defgroup hetrs {he,sy}trs: triangular solve using factor
@defgroup hetri {he,sy}tri: triangular inverse
@defgroup hetrf {he,sy,ky}trf: triangular factor
@defgroup lahef la{he,sy,ky}f: step in hetrf
@defgroup hetf2 {he,sy,ky}tf2: triangular factor, level 2
@defgroup hetrs {he,sy,ky}trs: triangular solve using factor
@defgroup hetri {he,sy,ky}tri: triangular inverse
@defgroup herfs {he,sy}rfs: iterative refinement
@defgroup herfsx {he,sy}rfsx: iterative refinement, expert
@defgroup heequb {he,sy}equb: equilibration, power of 2
@defgroup syconv syconv: convert to/from L and D from hetrf
@defgroup syconv {sy,ky}conv: convert to/from L and D from hetrf

@defgroup hecon_3 {he,sy}con_3: condition number estimate
@defgroup hetri2 {he,sy}tri2: inverse
@defgroup hetri2x {he,sy}tri2x: inverse
@defgroup hetri2 {he,sy,ky}tri2: inverse
@defgroup hetri2x {he,sy,ky}tri2x:inverse
@defgroup hetri_3 {he,sy}tri_3: inverse
@defgroup hetri_3x {he,sy}tri_3x: inverse
@defgroup hetrs2 {he,sy}trs2: solve using factor
@defgroup hetrs2 {he,sy,ky}trs2: solve using factor
@defgroup hetrs_3 {he,sy}trs_3: solve using factor

@defgroup heswapr {he,sy}swapr: apply 2-sided permutation
@defgroup heswapr {he,sy,ky}swapr: apply 2-sided permutation
@defgroup la_hercond la_hercond: Skeel condition number estimate
@defgroup la_herfsx_extended la_herfsx_extended: step in herfsx
@defgroup la_herpvgrw la_herpvgrw: reciprocal pivot growth
Expand Down Expand Up @@ -545,12 +545,12 @@
@}
@}

@defgroup heev_top Hermitian/symmetric eigenvalues
@defgroup heev_top Hermitian/symmetric/skew-symmetric eigenvalues
@{
@defgroup heev_driver_grp Standard eig driver, AV = VΛ
@{
@defgroup heev_driver --- full ---
@defgroup heev {he,sy}ev: eig, QR iteration
@defgroup heev {he,sy,ky}ev: eig, QR iteration
@defgroup heevd {he,sy}evd: eig, divide and conquer
@defgroup heevr {he,sy}evr: eig, MRRR
@defgroup heevx {he,sy}evx: eig, bisection
Expand All @@ -577,7 +577,7 @@
@defgroup hbevx_2stage {hb,sb}evx_2stage: eig, bisection

@defgroup stev_driver --- tridiagonal ---
@defgroup stev stev: eig, QR iteration
@defgroup stev {st,kt}ev: eig, QR iteration
@defgroup stevd stevd: eig, divide and conquer
@defgroup stevr stevr: eig, MRRR
@defgroup stevx stevx: eig, bisection
Expand All @@ -589,13 +589,13 @@
@defgroup stegr stegr: eig, bisection, see stemr
@defgroup stein stein: eig, inverse iteration
@defgroup stemr stemr: eig, relatively robust representation (RRR)
@defgroup steqr steqr: eig, QR iteration
@defgroup steqr {st,kt}eqr: eig, QR iteration
@}

@defgroup hegv_driver_grp Generalized eig driver, AV = BVΛ, etc.
@{
@defgroup hegv_driver --- full ---
@defgroup hegv {he,sy}gv: eig, QR iteration
@defgroup hegv {he,sy,ky}gv: eig, QR iteration
@defgroup hegv_2stage {he,sy}gv_2stage: eig, QR iteration, 2-stage
@defgroup hegvd {he,sy}gvd: eig, divide and conquer
@defgroup hegvx {he,sy}gvx: eig, bisection
Expand All @@ -615,9 +615,9 @@
@{
@defgroup heev_comp --- full ---
@defgroup disna disna: eig condition numbers
@defgroup hetrd {he,sy}trd: reduction to tridiagonal
@defgroup hetd2 {he,sy}td2: reduction to tridiagonal, level 2
@defgroup latrd latrd: step in hetrd
@defgroup hetrd {he,sy,ky}trd: reduction to tridiagonal
@defgroup hetd2 {he,sy,ky}td2: reduction to tridiagonal, level 2
@defgroup latrd latrd{,k}: step in hetrd
@defgroup ungtr {un,or}gtr: generate Q from hetrd
@defgroup unmtr {un,or}mtr: multiply by Q from hetrd

Expand All @@ -643,8 +643,8 @@

@defgroup hegv_comp_grp Generalized eig computational routines
@{
@defgroup hegst {he,sy}gst: reduction to standard form
@defgroup hegs2 {he,sy}gs2: reduction to standard form, level 2
@defgroup hegst {he,sy,ky}gst: reduction to standard form
@defgroup hegs2 {he,sy,ky}gs2: reduction to standard form, level 2
@defgroup hpgst {hp,sp}gst: reduction to standard form, packed
@defgroup hbgst {hb,sb}gst: reduction to standard form, banded
@defgroup pbstf pbstf: split Cholesky factor, use with hbgst
Expand Down Expand Up @@ -798,11 +798,11 @@

@defgroup lanhs lanhs: Hessenberg

@defgroup lanhe lan{he,sy}: Hermitian/symmetric matrix
@defgroup lanhe lan{he,sy,ky}: Hermitian/symmetric/skew-symmetric matrix
@defgroup lanhf lan{hf,sf}: Hermitian/symmetric matrix, RFP
@defgroup lanhp lan{hp,sp}: Hermitian/symmetric matrix, packed
@defgroup lanhb lan{hb,sb}: Hermitian/symmetric matrix, banded
@defgroup lanht lan{ht,st}: Hermitian/symmetric matrix, tridiagonal
@defgroup lanht lan{ht,st,kt}: Hermitian/symmetric/skew-symmetric matrix, tridiagonal

@defgroup lantr lantr: triangular matrix
@defgroup lantp lantp: triangular matrix, packed
Expand Down Expand Up @@ -934,9 +934,9 @@ https://www.netlib.org/xblas/
@defgroup gemv gemv: general matrix-vector multiply
@defgroup ger ger: general matrix rank-1 update

@defgroup hemv {he,sy}mv: Hermitian/symmetric matrix-vector multiply ([cz]symv in LAPACK)
@defgroup hemv {he,sy,ky}mv: Hermitian/symmetric/skew-symmetric matrix-vector multiply ([cz]symv in LAPACK)
@defgroup her {he,sy}r: Hermitian/symmetric rank-1 update
@defgroup her2 {he,sy}r2: Hermitian/symmetric rank-2 update
@defgroup her2 {he,sy,ky}r2: Hermitian/symmetric/skew-symmetric rank-2 update

@defgroup trmv trmv: triangular matrix-vector multiply
@defgroup trsv trsv: triangular matrix-vector solve
Expand All @@ -963,9 +963,9 @@ https://www.netlib.org/xblas/
@defgroup gemm gemm: general matrix-matrix multiply
@defgroup gemmtr gemmtr: general matrix-matrix multiply with triangular output

@defgroup hemm {he,sy}mm: Hermitian/symmetric matrix-matrix multiply
@defgroup hemm {he,sy,ky}mm: Hermitian/symmetric/skew-symmetric matrix-matrix multiply
@defgroup herk {he,sy}rk: Hermitian/symmetric rank-k update
@defgroup her2k {he,sy}r2k: Hermitian/symmetric rank-2k update
@defgroup her2k {he,sy,ky}r2k: Hermitian/symmetric/skew-symmetric rank-2k update

@defgroup trmm trmm: triangular matrix-matrix multiply
@defgroup trsm trsm: triangular matrix-matrix solve
Expand Down
16 changes: 15 additions & 1 deletion SRC/dkteqr.f
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,22 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup kteqr
*> \ingroup steqr
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> Derived from subroutine dsteqr.
*>
*> \endverbatim
*
*> \par Contributors:
* ==================
*>
*> Shuo Zheng, China, Jul 2025 \n
*>
* =====================================================================
SUBROUTINE DKTEQR( COMPZ, N, E, Z, LDZ, WORK, INFO )
*
Expand Down
16 changes: 15 additions & 1 deletion SRC/dktev.f
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,22 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup ktev
*> \ingroup stev
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> Derived from subroutine dstev.
*>
*> \endverbatim
*
*> \par Contributors:
* ==================
*>
*> Shuo Zheng, China, Jul 2025 \n
*>
* =====================================================================
SUBROUTINE DKTEV( JOBZ, N, D, E, Z, LDZ, WORK, INFO )
*
Expand Down
16 changes: 15 additions & 1 deletion SRC/dkyconv.f
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,22 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup kyconv
*> \ingroup syconv
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> Derived from subroutine dsyconv.
*>
*> \endverbatim
*
*> \par Contributors:
* ==================
*>
*> Shuo Zheng, China, Jul 2025 \n
*>
* =====================================================================
SUBROUTINE DKYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO )
*
Expand Down
Loading