型名 | 説明 | #include |
matrix | 普通の行列 | |
zero_matrix | 零行列 | |
identity_matrix | 単位行列 | |
symmetric_matrix | 対称行列 | |
banded_matrix | 帯行列 | |
diagonal_matrix | 対角行列(帯行列の一部として実装されている. upper = 0, lower = 0) | boost/numeric/ublas/banded.hpp |
sparse_matrix | 疎行列(wiki)() | |
namespace ublas = boost::numeric::ublas; ublas::matrix<double> m0(3,3); ublas::matrix<double> m1( 3,3,0); //3*3行列 で 0で埋まっている ublas::matrix<double> m2( ublas::identity_matrix<double>(3,3)); //単位行列で初期化他にも宣言の仕方がありそう -> 要研究
using namespace boost::numeric::ublas; vector<double> v0(3), v1; matrix<double> m(3,3); colum(m,0) = v0;// mの0列目にvを代入 v1 = colum(m,1) // vにmの1列目を代入ublas::row -> 行について上と同じ。
using namespace boost::numeric::ublas; void hoge( vector<double> v){ vector_range< vector<double>> rv( v, range(0,3)); }rvはvの要素0〜2までのイテレータ?が入ったベクトルができる この変数の値を変更すると元のベクトルの値も変化するので気をつけよう
void hoge( const ublas::vector<double> v){ // 要素aから要素b-1まで格納される const ublas::vector_range<const ublas::vector<double>> rv( v, ublas::range( a, b)); }