- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- ファイル一覧
- グローバル

データ構造 | ネームスペース | 関数
numeric.h

Lapackを用いた行列演算ライブラリ [詳細]

`#include "config/type_trait.h"`
`#include "matrix.h"`
`#include <vector>`
`#include <algorithm>`

ソースコードを見る。

## データ構造
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を用いた行列演算ライブラリ