1

hmatrixを使用したかったのですが、それが主張しDouble、丸め誤差が発生することがあります。ソースを見て、試してみました

type instance DoubleOf Rational = Rational

しかし、DoubleOfエクスポートされていません (Numeric.ContainerBoolは非表示になっています)。これにはおそらく理由があります。

4

1 に答える 1

4

bed-and-breakfastpackageを使用して、行列に対して正確な操作を実行できます。

サンプル ghci セッションは次のとおりです。

>>> import Numeric.Matrix
>>> import Data.Ratio
>>> let m = fromList [[1 % 2, 2 % 3], [3 % 4, 4 % 5]] :: Matrix Rational
>>> det m
(-1) % 10
>>> m * m
 3 % 4  13 % 15
 39 % 40  57 % 50

>>> m^4
 563 % 400  819 % 500
 7371 % 4000  10723 % 5000
于 2014-05-22T09:17:45.107 に答える