
計算の用途によっては、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>