Boost.uBLASには任意次元のベクトルしかないと思っていましたが、boost::ublas::c_vector
という固定次元ベクトルクラスがありました。
c_vector
は、内部的には固定長の組み込み配列です。フリーストアは使いません。
#include <iostream> #include <boost/numeric/ublas/vector.hpp> namespace ublas = boost::numeric::ublas; int main() { ublas::c_vector<double, 2> v; v[0] = -1; v[1] = 1; ublas::c_vector<double, 2> u; u[0] = 1; u[1] = -2; // 内積を求める double result = ublas::inner_prod(v, u); std::cout << result << std::endl; }
-3
参照:
boost::numeric::ublas::c_vector<T, N> Class Template Reference