Common Library
0.9.5
|
行列・ベクトル用ヘルパ関数 [詳解]
関数 | |
template<class MATRIX > | |
bool | IsSquare (const MATRIX &mat) |
正方行列かどうかをチェックする [詳解] | |
template<class MATRIX , class Eq > | |
bool | IsSymmetric (const MATRIX &mat, Eq eq) |
対称行列かどうかをチェックする [詳解] | |
template<class MATRIX1 , class MATRIX2 , typename Res > | |
void | mult (const MATRIX1 &mat1, const MATRIX2 &mat2, Matrix< Res > *res) |
行列を掛け合わせる [詳解] | |
template<class MATRIX1 , class MATRIX2 , typename Res > | |
void | mult (const MATRIX1 &mat1, const MATRIX2 &mat2, SquareMatrix< Res > *res) |
行列を掛け合わせる [詳解] | |
template<class MATRIX , class In , class Out > | |
void | multMV (const MATRIX &mat, In is, Out os) |
行列に(列)ベクトルを掛け合わせる [詳解] | |
template<class In , class MATRIX , class Out > | |
void | multVM (In is, const MATRIX &mat, Out os) |
(行)ベクトルに行列を掛け合わせる [詳解] | |
template<class T > | |
void | SwapRow (Matrix< T > *mat, typename Matrix< T >::size_type r1, typename Matrix< T >::size_type r2) |
行列の行 r1, r2 を入れ替える [詳解] | |
template<class T > | |
void | SwapRow (SquareMatrix< T > *mat, typename SquareMatrix< T >::size_type r1, typename SquareMatrix< T >::size_type r2) |
正方行列の行 r1, r2 を入れ替える [詳解] | |
template<class T > | |
void | SwapCol (Matrix< T > *mat, typename Matrix< T >::size_type c1, typename Matrix< T >::size_type c2) |
行列の列 c1, c2 を入れ替える [詳解] | |
template<class T > | |
void | SwapCol (SquareMatrix< T > *mat, typename SquareMatrix< T >::size_type c1, typename SquareMatrix< T >::size_type c2) |
正方行列の列 c1, c2 を入れ替える [詳解] | |
template<class In > | |
void | PrintArray (std::ostream &os, In s, In e, const std::string &header="", const std::string &op_bracket="( ", const std::string &delimiter=", ", const std::string &cls_bracket=" )") |
配列の出力 [詳解] | |
template<class MATRIX > | |
void | PrintMatrix (std::ostream &os, const MATRIX &mat, const std::string &header="", const std::string &op_bracket="| ", const std::string &delimiter=", ", const std::string &cls_bracket=" |") |
正方行列・対称行列の出力 [詳解] | |
行列・ベクトル用ヘルパ関数
bool MatrixLib::IsSquare | ( | const MATRIX & | mat | ) |
正方行列かどうかをチェックする
mat | 対象の行列 |
bool MatrixLib::IsSymmetric | ( | const MATRIX & | mat, |
Eq | eq | ||
) |
対称行列かどうかをチェックする
mat | 対象の行列 |
eq | 要素が等しいかを判定するための叙述関数 |
void MatrixLib::mult | ( | const MATRIX1 & | mat1, |
const MATRIX2 & | mat2, | ||
Matrix< Res > * | res | ||
) |
行列を掛け合わせる
掛け合わせる二つの行列は一般行列(Matrix)の他、正方行列(SquareMatrix) や対称行列(SymmetricMatrix)も対象とすることができるが、 結果を保持する行列へのポインタは一般行列のみとする。
mat1 | 対象行列1への参照 |
mat2 | 対象行列2への参照 |
res | 結果を保持する行列へのポインタ |
void MatrixLib::mult | ( | const MATRIX1 & | mat1, |
const MATRIX2 & | mat2, | ||
SquareMatrix< Res > * | res | ||
) |
行列を掛け合わせる
掛け合わせる二つの行列は一般行列(Matrix)の他、正方行列(SquareMatrix) や対称行列(SymmetricMatrix)も対象とすることができるが、 結果を保持する行列へのポインタは正方行列のみとする。
mat1 | 対象行列1への参照 |
mat2 | 対象行列2への参照 |
res | 結果を保持する正方行列へのポインタ |
void MatrixLib::multMV | ( | const MATRIX & | mat, |
In | is, | ||
Out | os | ||
) |
行列に(列)ベクトルを掛け合わせる
行列は一般行列(Matrix)の他、正方行列(SquareMatrix)や対称行列(SymmetricMatrix)も対象とすることができる。 また、ベクトルは開始位置 is (os) のみで表すものとする。
mat | 対象行列への参照 |
is | 掛け合わせる列ベクトルの先頭位置 |
os | 結果を保持するベクトルの先頭位置 |
void MatrixLib::multVM | ( | In | is, |
const MATRIX & | mat, | ||
Out | os | ||
) |
(行)ベクトルに行列を掛け合わせる
行列は一般行列(Matrix)の他、正方行列(SquareMatrix)や対称行列(SymmetricMatrix)も対象とすることができる。 また、ベクトルは開始位置 is (os) のみで表すものとする。
is | 行ベクトルの先頭位置 |
mat | 掛け合わせる行列への参照 |
os | 結果を保持するベクトルの先頭位置 |
void MatrixLib::SwapRow | ( | Matrix< T > * | mat, |
typename Matrix< T >::size_type | r1, | ||
typename Matrix< T >::size_type | r2 | ||
) |
行列の行 r1, r2 を入れ替える
mat | 対象の行列へのポインタ |
r1,r2 | 入れ替え対象の行番号 |
void MatrixLib::SwapRow | ( | SquareMatrix< T > * | mat, |
typename SquareMatrix< T >::size_type | r1, | ||
typename SquareMatrix< T >::size_type | r2 | ||
) |
正方行列の行 r1, r2 を入れ替える
mat | 対象の正方行列へのポインタ |
r1,r2 | 入れ替え対象の行番号 |
void MatrixLib::SwapCol | ( | Matrix< T > * | mat, |
typename Matrix< T >::size_type | c1, | ||
typename Matrix< T >::size_type | c2 | ||
) |
行列の列 c1, c2 を入れ替える
mat | 対象の行列へのポインタ |
c1,c2 | 入れ替え対象の列番号 |
void MatrixLib::SwapCol | ( | SquareMatrix< T > * | mat, |
typename SquareMatrix< T >::size_type | c1, | ||
typename SquareMatrix< T >::size_type | c2 | ||
) |
正方行列の列 c1, c2 を入れ替える
mat | 対象の正方行列へのポインタ |
c1,c2 | 入れ替え対象の列番号 |
void MatrixLib::PrintArray | ( | std::ostream & | os, |
In | s, | ||
In | e, | ||
const std::string & | header = "" , |
||
const std::string & | op_bracket = "( " , |
||
const std::string & | delimiter = ", " , |
||
const std::string & | cls_bracket = " )" |
||
) |
配列の出力
os | 出力対象のストリーム |
s | 配列の開始位置 |
e | 配列の末尾の次の位置 |
header | 出力前に付けるヘッダ |
op_bracket | 配列の先頭に付ける括弧 |
delimiter | 配列の各要素を分けるデリミタ |
cls_bracket | 配列の末尾に付ける括弧 |
void MatrixLib::PrintMatrix | ( | std::ostream & | os, |
const MATRIX & | mat, | ||
const std::string & | header = "" , |
||
const std::string & | op_bracket = "| " , |
||
const std::string & | delimiter = ", " , |
||
const std::string & | cls_bracket = " |" |
||
) |
正方行列・対称行列の出力
os | 出力対象のストリーム |
mat | 出力する行列 |
header | 行列の先頭に付けるヘッダ |
op_bracket | 各行ベクトルの先頭に付ける括弧 |
delimiter | 行列の各要素を分けるデリミタ |
cls_bracket | 各行ベクトルの末尾に付ける括弧 |