次の配列があります
75.7740 70.6046 82.3458 43.8744 48.9764
74.3132 3.1833 69.4829 38.1558 44.5586
39.2227 27.6923 31.7099 76.5517 64.6313
65.5478 4.6171 95.0222 79.5200 70.9365
17.1187 9.7132 3.4446 18.6873 75.4687
たとえば、(1,1) から (2,2) のサブ配列を取得したいと思います
3.1833 69.4829
27.6923 31.7099
サブ配列で計算を行っているときは、大きな配列にも影響を与えたいと思います。
たとえば、私は Matrix クラスを持っています
template<class T>
class Matrix {
private:
unsigned rows, cols;
T* data_;
.....
}
テスト
MatrixXd u(5, 5);
MatrixXd d(2, 2);
....
u.subblock(1,1,2,2) = d*d
or
u(1,1,2,2) = d*d
()/*-+ などのいくつかの演算子は既にオーバーロードしていますが、サブ配列を操作できるかどうかはわかりません。