File tree Expand file tree Collapse file tree 3 files changed +35
-23
lines changed Expand file tree Collapse file tree 3 files changed +35
-23
lines changed Original file line number Diff line number Diff line change 1
- //! Eigenvalue decomposition for general matrices
2
-
3
1
use crate :: { error:: * , layout:: MatrixLayout , * } ;
4
2
use cauchy:: * ;
5
3
use num_traits:: { ToPrimitive , Zero } ;
6
4
7
- /// Wraps `*geev` for general matrices
5
+ #[ cfg_attr( doc, katexit:: katexit) ]
6
+ /// Solve eigenvalue problem for general matrices
8
7
pub trait Eig_ : Scalar {
9
- /// Calculate Right eigenvalue
8
+ /// Compute right eigenvalue and eigenvectors $Ax = \lambda x$
9
+ ///
10
+ /// LAPACK correspondance
11
+ /// ----------------------
12
+ ///
13
+ /// | f32 | f64 | c32 | c64 |
14
+ /// |:------|:------|:------|:------|
15
+ /// | sgeev | dgeev | cgeev | zgeev |
16
+ ///
10
17
fn eig (
11
18
calc_v : bool ,
12
19
l : MatrixLayout ,
Original file line number Diff line number Diff line change 1
- //! Eigenvalue decomposition for Symmetric/Hermite matrices
2
-
3
1
use super :: * ;
4
2
use crate :: { error:: * , layout:: MatrixLayout } ;
5
3
use cauchy:: * ;
6
4
use num_traits:: { ToPrimitive , Zero } ;
7
5
6
+ #[ cfg_attr( doc, katexit:: katexit) ]
7
+ /// Solve eigenvalue problem for symmetric/hermite matrices
8
8
pub trait Eigh_ : Scalar {
9
- /// Wraps `*syev` for real and `*heev` for complex
9
+ /// Compute right eigenvalue and eigenvectors $Ax = \lambda x$
10
+ ///
11
+ /// LAPACK correspondance
12
+ /// ----------------------
13
+ ///
14
+ /// | f32 | f64 | c32 | c64 |
15
+ /// |:------|:------|:------|:------|
16
+ /// | ssyev | dsyev | cheev | zheev |
17
+ ///
10
18
fn eigh (
11
19
calc_eigenvec : bool ,
12
20
layout : MatrixLayout ,
13
21
uplo : UPLO ,
14
22
a : & mut [ Self ] ,
15
23
) -> Result < Vec < Self :: Real > > ;
16
24
17
- /// Wraps `*sygv` for real and `*hegv` for complex
25
+ /// Compute generalized right eigenvalue and eigenvectors $Ax = \lambda B x$
26
+ ///
27
+ /// LAPACK correspondance
28
+ /// ----------------------
29
+ ///
30
+ /// | f32 | f64 | c32 | c64 |
31
+ /// |:------|:------|:------|:------|
32
+ /// | ssygv | dsygv | chegv | zhegv |
33
+ ///
18
34
fn eigh_generalized (
19
35
calc_eigenvec : bool ,
20
36
layout : MatrixLayout ,
Original file line number Diff line number Diff line change 55
55
//! Eigenvalue Problem
56
56
//! -------------------
57
57
//!
58
- //! Solve eigenvalue problem for a matrix $A$
58
+ //! According to the property input metrix,
59
+ //! there are several types of eigenvalue problem API
59
60
//!
60
- //! $$ Av_i = \lambda_i v_i $$
61
- //!
62
- //! or generalized eigenvalue problem
63
- //!
64
- //! $$ Av_i = \lambda_i B v_i $$
65
- //!
66
- //! | matrix type | Eigenvalue (EV) | Generalized Eigenvalue Problem (EG) |
67
- //! |:--------------------------------|:----------------|:------------------------------------|
68
- //! | General (GE) |[eig] | - |
69
- //! | Symmetric (SY) / Hermitian (HE) |[eigh] |[eigh_generalized] |
70
- //!
71
- //! [eig]: eig/trait.Eig_.html#tymethod.eig
72
- //! [eigh]: eigh/trait.Eigh_.html#tymethod.eigh
73
- //! [eigh_generalized]: eigh/trait.Eigh_.html#tymethod.eigh_generalized
61
+ //! - [Eig_] trait provides methods for eigenvalue problem for general matrix.
62
+ //! - [Eigh_] trait provides methods for eigenvalue problem for symmetric/hermite matrix.
74
63
//!
75
64
//! Singular Value Decomposition (SVD), Least square problem
76
65
//! ----------------------------------------------------------
You can’t perform that action at this time.
0 commit comments