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を用いた行列演算ライブラリ