2016-10-18 10 views
3

私はEigenを使って線形代数を行っています。 Ax = bのxを見つける。ここで、Aは(n、n)行列、xとbは(n、1)サイズベクトルです。私は倍精度以上でそれらを計算することが可能かどうかを知りたいです。Eigenは、その線形代数で倍精度以上を使用できますか?Ax = b

+0

「long double」と同様ですか?その場合は、それが組み込まれています:http://eigen.tuxfamily.org/dox/TopicCustomizingEigen.html#CustomScalarType – Ralfonso

+1

それは線形計算です。最初に 'A * x0 = b'を計算すると、次に' A * x1 =(b - A * x0) 'を計算し、次にx0とx1を加算することができます。 – MSalters

+0

[boost :: multiprecision](http://www.boost.org/doc/libs/1_61_0/libs/multiprecision/doc/html/index.html)の数値型、[mpreal](http: //eigen.tuxfamily.org/dox-devel/unsupported/group__MPRealSupport__Module.html)。 – ggael

答えて

1

Eigenは任意の精度演算で動作することができます。すぐに利用できるan MPFR moduleがあります。通常は、これは必要ではありません(元の値が既にその高精度で保存されていない限り)。最初はより安定した分解を試みるべきです。見てくださいat the available decompositions here。どちらが最適かは、ユースケースに大きく依存します。

関連する問題