Skip to content

Commit dfb97cd

Browse files
committed
docs update
1 parent e19e9de commit dfb97cd

2 files changed

Lines changed: 50 additions & 45 deletions

File tree

docs/src/user_interface/decompositions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ The following algorithms are available for the hermitian eigenvalue decompositio
8181

8282
```@autodocs; canonical=false
8383
Modules = [MatrixAlgebraKit]
84-
Filter = t -> t isa Type && t <: MatrixAlgebraKit.LAPACK_EighAlgorithm
84+
Filter = t -> t isa Type && t <: MatrixAlgebraKit.EighAlgorithms
8585
```
8686

8787
### Eigenvalue Decomposition
@@ -103,7 +103,7 @@ The following algorithms are available for the standard eigenvalue decomposition
103103

104104
```@autodocs; canonical=false
105105
Modules = [MatrixAlgebraKit]
106-
Filter = t -> t isa Type && t <: MatrixAlgebraKit.LAPACK_EigAlgorithm
106+
Filter = t -> t isa Type && t <: MatrixAlgebraKit.EigAlgorithms
107107
```
108108

109109
## Schur Decomposition
@@ -123,7 +123,7 @@ The following algorithms are available for the Schur decomposition:
123123

124124
```@autodocs; canonical=false
125125
Modules = [MatrixAlgebraKit]
126-
Filter = t -> t isa Type && t <: MatrixAlgebraKit.LAPACK_EigAlgorithm
126+
Filter = t -> t isa Type && t <: MatrixAlgebraKit.SchurAlgorithms
127127
```
128128

129129
## Singular Value Decomposition

src/interface/decompositions.jl

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,8 @@ See also [`DivideAndConquer`](@ref) and [`QRIteration`](@ref).
118118
"""
119119
QRIteration(; [driver], fixgauge = default_fixgauge(), balanced = false)
120120
121-
Algorithm type for computing the eigenvalue decomposition of a Hermitian matrix,
122-
the singular value decomposition of a general matrix, the non-Hermitian eigenvalue
123-
decomposition, or the Schur decomposition of a general matrix via QR iteration.
121+
Algorithm type for computing the eigenvalue, Schur or singular value decomposition of a matrix via QR iteration.
122+
124123
125124
For non-Hermitian eigenvalue decomposition and Schur decomposition, the `balanced`
126125
keyword argument can be used to enable balancing of the matrix before the QR iteration,
@@ -129,6 +128,7 @@ which can improve numerical accuracy for badly scaled matrices:
129128
- `balanced = true`: use the expert balanced driver (`geevx!`/`geesx!`)
130129
131130
$_fixgauge_docs
131+
132132
The optional `driver` keyword can be used to choose between different implementations of this algorithm.
133133
"""
134134
@algdef QRIteration
@@ -165,7 +165,6 @@ $_fixgauge_docs
165165
The optional `driver` keyword can be used to choose between different implementations of this algorithm.
166166
"""
167167
@algdef RobustRepresentations
168-
Base.@deprecate_binding MultipleRelativelyRobustRepresentations RobustRepresentations false
169168

170169
"""
171170
SVDViaPolar(; [driver], fixgauge = default_fixgauge(), [tol])
@@ -198,8 +197,6 @@ $_fixgauge_docs
198197
"""
199198
@algdef LAPACK_Expert
200199

201-
const LAPACK_EigAlgorithm = Union{LAPACK_Simple, LAPACK_Expert}
202-
203200
"""
204201
GS_QRIteration()
205202
@@ -246,21 +243,6 @@ $_fixgauge_docs
246243
"""
247244
@algdef LAPACK_MultipleRelativelyRobustRepresentations
248245

249-
const LAPACK_EighAlgorithm = Union{
250-
LAPACK_QRIteration,
251-
LAPACK_Bisection,
252-
LAPACK_DivideAndConquer,
253-
LAPACK_MultipleRelativelyRobustRepresentations,
254-
}
255-
256-
const EighAlgorithms = Union{
257-
RobustRepresentations,
258-
DivideAndConquer,
259-
QRIteration,
260-
Bisection,
261-
Jacobi,
262-
}
263-
264246
"""
265247
GLA_QRIteration(; fixgauge = default_fixgauge())
266248
@@ -297,14 +279,6 @@ $_fixgauge_docs
297279
"""
298280
@algdef LAPACK_Jacobi
299281

300-
const LAPACK_SVDAlgorithm = Union{
301-
LAPACK_QRIteration,
302-
LAPACK_Bisection,
303-
LAPACK_DivideAndConquer,
304-
LAPACK_Jacobi,
305-
LAPACK_SafeDivideAndConquer,
306-
}
307-
308282
# =========================
309283
# Polar decompositions
310284
# =========================
@@ -441,8 +415,6 @@ $_fixgauge_docs
441415
"""
442416
@algdef CUSOLVER_Simple
443417

444-
const CUSOLVER_EigAlgorithm = Union{CUSOLVER_Simple}
445-
446418
"""
447419
CUSOLVER_DivideAndConquer(; fixgauge = default_fixgauge())
448420
@@ -453,9 +425,6 @@ $_fixgauge_docs
453425
"""
454426
@algdef CUSOLVER_DivideAndConquer
455427

456-
const CUSOLVER_SVDAlgorithm = Union{
457-
CUSOLVER_QRIteration, CUSOLVER_SVDPolar, CUSOLVER_Jacobi, CUSOLVER_Randomized,
458-
}
459428

460429
# =========================
461430
# ROCSOLVER ALGORITHMS
@@ -508,28 +477,64 @@ $_fixgauge_docs
508477
"""
509478
@algdef ROCSOLVER_DivideAndConquer
510479

511-
const ROCSOLVER_SVDAlgorithm = Union{ROCSOLVER_QRIteration, ROCSOLVER_Jacobi}
512480

513481
# Various consts and unions
514482
# -------------------------
515-
516-
const GPU_Simple = Union{CUSOLVER_Simple}
517-
const GPU_EigAlgorithm = Union{GPU_Simple}
518483
const GPU_QRIteration = Union{CUSOLVER_QRIteration, ROCSOLVER_QRIteration}
519484
const GPU_Jacobi = Union{CUSOLVER_Jacobi, ROCSOLVER_Jacobi}
520485
const GPU_DivideAndConquer = Union{CUSOLVER_DivideAndConquer, ROCSOLVER_DivideAndConquer}
521486
const GPU_Bisection = Union{ROCSOLVER_Bisection}
487+
const GPU_Simple = Union{CUSOLVER_Simple}
488+
const GPU_SVDPolar = Union{CUSOLVER_SVDPolar}
489+
const GPU_Randomized = Union{CUSOLVER_Randomized}
490+
491+
const LAPACK_SVDAlgorithm = Union{
492+
LAPACK_QRIteration,
493+
LAPACK_Bisection,
494+
LAPACK_DivideAndConquer,
495+
LAPACK_Jacobi,
496+
LAPACK_SafeDivideAndConquer,
497+
}
498+
const ROCSOLVER_SVDAlgorithm = Union{ROCSOLVER_QRIteration, ROCSOLVER_Jacobi}
499+
const CUSOLVER_SVDAlgorithm = Union{
500+
CUSOLVER_QRIteration, CUSOLVER_SVDPolar, CUSOLVER_Jacobi, CUSOLVER_Randomized,
501+
}
502+
const GPU_SVDAlgorithm = Union{CUSOLVER_SVDAlgorithm, ROCSOLVER_SVDAlgorithm}
503+
const SVDAlgorithms = Union{
504+
SafeDivideAndConquer,
505+
DivideAndConquer,
506+
QRIteration,
507+
Bisection,
508+
Jacobi,
509+
SVDViaPolar,
510+
}
511+
512+
const LAPACK_EighAlgorithm = Union{
513+
LAPACK_QRIteration,
514+
LAPACK_Bisection,
515+
LAPACK_DivideAndConquer,
516+
LAPACK_MultipleRelativelyRobustRepresentations,
517+
}
522518
const GPU_EighAlgorithm = Union{
523519
GPU_QRIteration, GPU_Jacobi, GPU_DivideAndConquer, GPU_Bisection,
524520
}
525-
const GPU_SVDAlgorithm = Union{CUSOLVER_SVDAlgorithm, ROCSOLVER_SVDAlgorithm}
521+
const EighAlgorithms = Union{
522+
RobustRepresentations,
523+
DivideAndConquer,
524+
QRIteration,
525+
Bisection,
526+
Jacobi,
527+
}
526528

527-
const GPU_SVDPolar = Union{CUSOLVER_SVDPolar}
528-
const GPU_Randomized = Union{CUSOLVER_Randomized}
529+
const SchurAlgorithms = Union{QRIteration}
530+
531+
const LAPACK_EigAlgorithm = Union{LAPACK_Simple, LAPACK_Expert}
532+
const CUSOLVER_EigAlgorithm = Union{CUSOLVER_Simple}
533+
const GPU_EigAlgorithm = Union{GPU_Simple}
534+
const EigAlgorithms = Union{QRIteration, RobustRepresentations}
529535

530536
const QRAlgorithms = Union{Householder, LAPACK_HouseholderQR, Native_HouseholderQR, CUSOLVER_HouseholderQR, ROCSOLVER_HouseholderQR}
531537
const LQAlgorithms = Union{Householder, LAPACK_HouseholderLQ, Native_HouseholderLQ, LQViaTransposedQR}
532-
const SVDAlgorithms = Union{SafeDivideAndConquer, DivideAndConquer, QRIteration, Bisection, Jacobi, SVDViaPolar}
533538
const PolarAlgorithms = Union{PolarViaSVD, PolarNewton}
534539

535540
# ================================

0 commit comments

Comments
 (0)