52
52
//! According to the property input metrix, several types of triangular decomposition are used:
53
53
//!
54
54
//! - [solve] module provides methods for LU-decomposition for general matrix.
55
- //! - [solveh] module provides methods for Bunch-Kaufman diagonal pivoting method for symmetric/hermite indefinite matrix.
56
- //! - [Cholesky_] triat provides methods for Cholesky decomposition for symmetric/hermite positive dinite matrix.
55
+ //! - [solveh] module provides methods for Bunch-Kaufman diagonal pivoting method for symmetric/Hermitian indefinite matrix.
56
+ //! - [cholesky] module provides methods for Cholesky decomposition for symmetric/Hermitian positive dinite matrix.
57
57
//!
58
58
//! Eigenvalue Problem
59
59
//! -------------------
62
62
//! there are several types of eigenvalue problem API
63
63
//!
64
64
//! - [eig] module for eigenvalue problem for general matrix.
65
- //! - [eigh] module for eigenvalue problem for symmetric/hermite matrix.
66
- //! - [eigh_generalized] module for generalized eigenvalue problem for symmetric/hermite matrix.
65
+ //! - [eigh] module for eigenvalue problem for symmetric/Hermitian matrix.
66
+ //! - [eigh_generalized] module for generalized eigenvalue problem for symmetric/Hermitian matrix.
67
67
//!
68
68
//! Singular Value Decomposition
69
69
//! -----------------------------
@@ -88,6 +88,7 @@ pub mod error;
88
88
pub mod flags;
89
89
pub mod layout;
90
90
91
+ pub mod cholesky;
91
92
pub mod eig;
92
93
pub mod eigh;
93
94
pub mod eigh_generalized;
@@ -99,7 +100,6 @@ pub mod svd;
99
100
pub mod svddc;
100
101
101
102
mod alloc;
102
- mod cholesky;
103
103
mod opnorm;
104
104
mod rcond;
105
105
mod triangular;
@@ -130,15 +130,15 @@ pub trait Lapack: OperatorNorm_ + Triangular_ + Tridiagonal_ + Rcond_ {
130
130
a : & mut [ Self ] ,
131
131
) -> Result < ( Vec < Self :: Complex > , Vec < Self :: Complex > ) > ;
132
132
133
- /// Compute right eigenvalue and eigenvectors for a symmetric or hermite matrix
133
+ /// Compute right eigenvalue and eigenvectors for a symmetric or Hermitian matrix
134
134
fn eigh (
135
135
calc_eigenvec : bool ,
136
136
layout : MatrixLayout ,
137
137
uplo : UPLO ,
138
138
a : & mut [ Self ] ,
139
139
) -> Result < Vec < Self :: Real > > ;
140
140
141
- /// Compute right eigenvalue and eigenvectors for a symmetric or hermite matrix
141
+ /// Compute right eigenvalue and eigenvectors for a symmetric or Hermitian matrix
142
142
fn eigh_generalized (
143
143
calc_eigenvec : bool ,
144
144
layout : MatrixLayout ,
@@ -217,7 +217,6 @@ pub trait Lapack: OperatorNorm_ + Triangular_ + Tridiagonal_ + Rcond_ {
217
217
218
218
/// Factorize symmetric/Hermitian matrix using Bunch-Kaufman diagonal pivoting method
219
219
///
220
- ///
221
220
/// For a given symmetric matrix $A$,
222
221
/// this method factorizes $A = U^T D U$ or $A = L D L^T$ where
223
222
///
@@ -233,13 +232,13 @@ pub trait Lapack: OperatorNorm_ + Triangular_ + Tridiagonal_ + Rcond_ {
233
232
///
234
233
fn bk ( l : MatrixLayout , uplo : UPLO , a : & mut [ Self ] ) -> Result < Pivot > ;
235
234
236
- /// Compute inverse matrix $A^{-1}$ of symmetric/Hermitian matrix using factroized result
235
+ /// Compute inverse matrix $A^{-1}$ using the result of [Lapack::bk]
237
236
fn invh ( l : MatrixLayout , uplo : UPLO , a : & mut [ Self ] , ipiv : & Pivot ) -> Result < ( ) > ;
238
237
239
- /// Solve symmetric/Hermitian linear equation $Ax = b$ using factroized result
238
+ /// Solve symmetric/Hermitian linear equation $Ax = b$ using the result of [Lapack::bk]
240
239
fn solveh ( l : MatrixLayout , uplo : UPLO , a : & [ Self ] , ipiv : & Pivot , b : & mut [ Self ] ) -> Result < ( ) > ;
241
240
242
- /// Solve symmetric/hermite positive-definite linear equations using Cholesky decomposition
241
+ /// Solve symmetric/Hermitian positive-definite linear equations using Cholesky decomposition
243
242
///
244
243
/// For a given positive definite matrix $A$,
245
244
/// Cholesky decomposition is described as $A = U^T U$ or $A = LL^T$ where
@@ -250,14 +249,15 @@ pub trait Lapack: OperatorNorm_ + Triangular_ + Tridiagonal_ + Rcond_ {
250
249
/// This is designed as two step computation according to LAPACK API
251
250
///
252
251
/// 1. Factorize input matrix $A$ into $L$ or $U$
253
- /// 2. Solve linear equation $Ax = b$ or compute inverse matrix $A^{-1}$
254
- /// using $U$ or $L$.
252
+ /// 2. Solve linear equation $Ax = b$ by [Lapack::solve_cholesky]
253
+ /// or compute inverse matrix $A^{-1}$ by [Lapack::inv_cholesky]
254
+ ///
255
255
fn cholesky ( l : MatrixLayout , uplo : UPLO , a : & mut [ Self ] ) -> Result < ( ) > ;
256
256
257
- /// Compute inverse matrix $A^{-1}$ using $U$ or $L$
257
+ /// Compute inverse matrix $A^{-1}$ using $U$ or $L$ calculated by [Lapack::cholesky]
258
258
fn inv_cholesky ( l : MatrixLayout , uplo : UPLO , a : & mut [ Self ] ) -> Result < ( ) > ;
259
259
260
- /// Solve linear equation $Ax = b$ using $U$ or $L$
260
+ /// Solve linear equation $Ax = b$ using $U$ or $L$ calculated by [Lapack::cholesky]
261
261
fn solve_cholesky ( l : MatrixLayout , uplo : UPLO , a : & [ Self ] , b : & mut [ Self ] ) -> Result < ( ) > ;
262
262
}
263
263
0 commit comments