おそらくブーストユニットを使用して、ublas行列/ベクトルに行列次元の制約を強制する方法について、設計/一般的なアイデアについてアドバイスを求めています。
たとえば、行列 A に時間 x 力の次元があるとします (たとえば)
// does not have dimensions, time x force and force x time are not distinguished.
matrix<double> A;
//something like?
dimension<time, force, matrix<double> > A;
dimension<force, time, matrix<double> > B = trans(A);
// or maybe custom layouts, although ensuring dimension becomes harder between matrixes?
matrix<double, dimension<time, force> > A;
このようなことをしたことがありますか、またはそのような制約を整理する方法について何か良い考えがありますか? 実装ではなく、構文/セマンティクスの提案を探しています。
私は ublas のアーカイブを調べました。いくつかの議論がありますが、具体的なものは何もありません。
ありがとうございました