計算の用途によっては、C言語のライブラリにあるrand()関数よりも、良質な乱数が必要な場合がある。ここで言う「良質」とは、偏りが少ないと言うことである。
format.hppを使うと、coutなどで、printfのような書式指定が可能となる。
あ #include <iostream> using namespace std; #include <boost/format.hpp> int main(void) { int a=10; float b=1.23456789; double c=98.7654321; cout<<boost::format("%03d")%a<<endl; cout<<boost::format("%.3f")%b<<endl; cout<<boost::format("%10.4lf")%c<<endl; cout<<boost::format("a=%03d b=%.3f c=%10.4lf")%a%b%c<<endl; return 0; } 実行結果 010 1.235 98.7654 a=010 b=1.235 c= 98.7654
一般の行列を扱うには
#include <boost/numeric/ublas/matrix.hpp>
次の文は、m行n列の行列Mをdouble精度で生成します。
matrix<double> M(m,n);
三角行列を扱うには
#include <boost/numeric/ublas/triangular.hpp>
対称行列を扱うには
#include <boost/numeric/ublas/symmetric.hpp>
エルミート行列を扱うには
#include <boost/numeric/ublas/hermitian.hpp>
疎行列を扱うには
#include <boost/numeric/ublas/matrix_sparse.hpp>
ベクトルを扱うには
#include <boost/numeric/ublas/vector.hpp>
これは、stdのベクトルとぶつかるので注意
疎ベクトルを扱うには
#include <boost/numeric/ublas/vector_sparse.hpp>
LU分解を行うには
#include <boost/numeric/ublas/lu.hpp>
最終更新日