I wanted to use hmatrix but it insists on Double and this gives rounding errors sometimes. Looking at the source, I tried
type instance DoubleOf Rational = Rational
but DoubleOf is not exported (Numeric.ContainerBool is hidden), and that's probably for a reason.
You can perform exact operations on matrices using
bed-and-breakfastpackage.Here's sample ghci session: