Lapackを用いた行列演算ライブラリ [詳細]
データ構造 | |
| struct | mist::matrix_style |
| 行列計算をする際の入力となる行列の形式 [詳細] | |
ネームスペース | |
| namespace | mist |
関数 | |
| template<class T , class Allocator > | |
| bool | mist::multiply (const matrix< T, Allocator > &a, const matrix< T, Allocator > &b, matrix< T, Allocator > &c, bool a_is_transpose, bool b_is_transpose, typename matrix< T, Allocator >::value_type alpha, typename matrix< T, Allocator >::value_type beta) |
| 行列×行列の演算を行う | |
| template<class T , class Allocator > | |
| bool | mist::multiply (const matrix< T, Allocator > &a, const matrix< T, Allocator > &b, matrix< T, Allocator > &c, bool a_is_transpose=false, bool b_is_transpose=false) |
| 行列×行列の演算を行う | |
| template<class T1 , class T2 , class Allocator1 , class Allocator2 > | |
| void | mist::permutation_matrix (const matrix< T1, Allocator1 > &pivot, matrix< T2, Allocator2 > &out) |
| LU分解などで得られるピボット配列からピボット行列を作成 | |
| template<class T , class Allocator > | |
| const matrix< T, Allocator > ::value_type | mist::trace (const matrix< T, Allocator > &a) |
| トレースの計算(対角成分の和) | |
| template<class T , class Allocator > | |
| const matrix< T, Allocator > ::value_type | mist::det (const matrix< T, Allocator > &a, matrix_style::style style=matrix_style::ge) |
| 行列式の計算 | |
| template<class T , class Allocator > | |
| const matrix< T, Allocator > & | mist::solve (const matrix< T, Allocator > &a, matrix< T, Allocator > &b, matrix_style::style style=matrix_style::ge) |
| 行列の連立一次方程式を解く関数 | |
| template<class T , class Allocator1 , class Allocator2 > | |
| const matrix< T, Allocator1 > | mist::lu_factorization (const matrix< T, Allocator1 > &a, matrix< __clapack__::integer, Allocator2 > &pivot, matrix_style::style style=matrix_style::ge) |
| 行列のLU分解を行う | |
| template<class T , class Allocator > | |
| bool | mist::lu_factorization (const matrix< T, Allocator > &a, matrix< T, Allocator > &L, matrix< T, Allocator > &U, matrix< T, Allocator > &pivot, matrix_style::style style=matrix_style::ge) |
| 行列のLU分解を行う | |
| template<class T , class Allocator > | |
| const matrix< T, Allocator > | mist::lu_factorization (const matrix< T, Allocator > &a, matrix_style::style style=matrix_style::ge) |
| 行列のLU分解を行う | |
| template<class T , class Allocator > | |
| const matrix< T, Allocator > | mist::cholesky_factorization (const matrix< T, Allocator > &a, matrix_style::style style=matrix_style::sy) |
| 対称行列のコレスキー分解を行う | |
| template<class T , class Allocator > | |
| void | mist::qr_factorization (const matrix< T, Allocator > &a, matrix< T, Allocator > &Q, matrix< T, Allocator > &R, matrix_style::style style=matrix_style::ge) |
| 行列のQR分解を行う | |
| template<class T , class Allocator > | |
| matrix< T, Allocator > | mist::inverse (const matrix< T, Allocator > &a, matrix_style::style style=matrix_style::ge) |
| 行列の逆行列をLU分解を用いて計算する | |
| template<class T , class Allocator > | |
| const matrix< T, Allocator > & | mist::eigen (const matrix< T, Allocator > &a, matrix< T, Allocator > &eigen_value, matrix< T, Allocator > &eigen_vector, matrix_style::style style=matrix_style::ge) |
| 行列の固有値・固有ベクトルを計算する | |
| template<class T1 , class T2 , class Allocator1 , class Allocator2 > | |
| const matrix< T2, Allocator2 > & | mist::svd (const matrix< T1, Allocator1 > &a, matrix< T1, Allocator1 > &u, matrix< T2, Allocator2 > &s, matrix< T1, Allocator1 > &vt, matrix_style::style style=matrix_style::ge) |
| 行列の特異値分解を計算する | |
| template<class T1 , class T2 , class Allocator1 , class Allocator2 > | |
| const matrix< T2, Allocator2 > & | mist::svd (const matrix< T1, Allocator1 > &a, matrix< T2, Allocator2 > &s, matrix< T1, Allocator1 > &vt, matrix_style::style style=matrix_style::ge) |
| 行列の特異値分解を計算する | |
Lapackを用いた行列演算ライブラリ
1.8.1.2