Safe Haskell | None |
---|---|
Language | Haskell98 |
- rref :: Matrix Double -> Matrix Double
- rrefMatrices :: Matrix Double -> [Matrix Double]
- convertToHMatrix :: LinearSystem -> Either [Int] (Matrix Double, Units)
- convertFromHMatrix :: (Matrix Double, [MeasureUnit]) -> LinearSystem
- isInconsistentRREF :: (Field t, Eq t) => Matrix t -> Bool
- dispf :: Int -> Matrix Double -> String
- type Units = [MeasureUnit]
- lu :: Field t => Matrix t -> (Matrix t, Matrix t, Matrix t, t)
- rank :: Field t => Matrix t -> Int
- takeRows :: Element t => Int -> Matrix t -> Matrix t
Documentation
rref :: Matrix Double -> Matrix Double Source #
Returns given matrix transformed into Reduced Row Echelon Form
rrefMatrices :: Matrix Double -> [Matrix Double] Source #
List of matrices that when multiplied transform input into Reduced Row Echelon Form
convertToHMatrix :: LinearSystem -> Either [Int] (Matrix Double, Units) Source #
Convert a LinearSystem into an hmatrix and a list of units that are used
convertFromHMatrix :: (Matrix Double, [MeasureUnit]) -> LinearSystem Source #
Convert an hmatrix and the list of units used back into a LinearSystem
isInconsistentRREF :: (Field t, Eq t) => Matrix t -> Bool Source #
Returns True iff the given matrix in reduced row echelon form represents an inconsistent system of linear equations
dispf :: Int -> Matrix Double -> String #
Show a matrix with a given number of decimal places.
>>>
dispf 2 (1/3 + ident 3)
"3x3\n1.33 0.33 0.33\n0.33 1.33 0.33\n0.33 0.33 1.33\n"
>>>
putStr . dispf 2 $ (3><4)[1,1.5..]
3x4 1.00 1.50 2.00 2.50 3.00 3.50 4.00 4.50 5.00 5.50 6.00 6.50
>>>
putStr . unlines . tail . lines . dispf 2 . asRow $ linspace 10 (0,1)
0.00 0.11 0.22 0.33 0.44 0.56 0.67 0.78 0.89 1.00
type Units = [MeasureUnit] Source #