私は数多くの科学プログラミングを行っており、Boost.Unitsの両方で非常に良い経験をしています。それによって古典的な物理的次元分析で多くのエラーを捕捉する)、線形代数のために固有2を使用する。線形代数ライブラリをBoost :: Unitsと組み合わせる
しかし、Eigenには単位の概念はなく、Eigenの行列にスカラー量を設定することはできますが、2つの数の乗算で同じタイプになることが予想されます。たとえば、次のようなコード:
using boost::units::quantity;
namespace si = boost::units::si;
Eigen::Matrix< quantity<si::length>, 2, 1 > meter_vector;
quantity<si::area> norm = meter_vector.squaredNorm();
は、論理的には正しいとはいえ、機能しません。
ユニットをサポートするマトリックスライブラリはありますか?私はこれが過去に実装することは悪名高く難しかったと知っています.C++ 11とdecltype
ははるかに簡単ですが、確かにC++ 03とテンプレートの特殊化で可能でした。
記録のために、少し自分自身を検索しなければならなかったので:[The blitz manual 3.7.1](http://www.oonumerics.org/blitz/docs/blitz_3.html#SEC90)では、ユーザーを宣伝する方法を説明しています定義された型。ヒントをありがとう。 – thiton