如何计算Haskell中的精确(整数)行列式?

如何计算Haskell中的精确(整数)行列式?,haskell,matrix,hmatrix,Haskell,Matrix,Hmatrix,我想使用,但它坚持使用Double,这有时会产生舍入错误。从源头上看,我试着 type instance DoubleOf Rational = Rational 但是不会导出DoubleOf(Numeric.ContainerBool隐藏),这可能是有原因的。可以使用对矩阵执行精确操作 以下是ghci会议的示例: >>> import Numeric.Matrix >>> import Data.Ratio >>> let m = fro

我想使用,但它坚持使用
Double
,这有时会产生舍入错误。从源头上看,我试着

type instance DoubleOf Rational = Rational

但是不会导出
DoubleOf
Numeric.ContainerBool
隐藏),这可能是有原因的。

可以使用对矩阵执行精确操作

以下是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

可以使用对矩阵执行精确运算

以下是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

你试过了吗?很明显,它声称可以做你想做的事。你试过了吗?显然,它声称做你想做的。但是包(hackage的0.4.3版)没有使用ghc-7.8.2编译(
'typeOf'不是类“Typeable”
的(可见)方法),我想他们只是还没有将新版本上传到hackage。但是包(hackage的0.4.3版)没有使用ghc-7.8.2编译(
“typeOf”不是“Typeable”类的(可见)方法
)我想他们只是还没有将新版本上传到hackage。