Boost.uBLAS 固定次元ベクトル

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