| Copyright | Peter Robinson 2014 | 
|---|---|
| License | LGPL | 
| Maintainer | Peter Robinson <peter.robinson@monoid.at> | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Trustworthy | 
| Language | Haskell2010 | 
Data.IDA.FiniteField
Description
Linear algebra computations in a finite prime field.
- newtype FField = FField {}
- prime :: Int
- type FMatrix = Matrix FField
- dotProduct :: Num a => Vector a -> Vector a -> a
- forwardSub :: Fractional a => Matrix a -> Vector a -> Vector a
- backwardSub :: Fractional a => Matrix a -> Vector a -> Vector a
- inverse :: (Ord a, Fractional a) => Matrix a -> Matrix a
- vandermonde :: Int -> [FField] -> FMatrix
- vmatrix :: Int -> Int -> FMatrix
Documentation
Our finite prime field. All computations are performed in this field.
dotProduct :: Num a => Vector a -> Vector a -> a Source
forwardSub :: Fractional a => Matrix a -> Vector a -> Vector a Source
Solves a linear equality system A x = b given by a lower triangular matrix via
 forward substitution.
backwardSub :: Fractional a => Matrix a -> Vector a -> Vector a Source
Solves a linear equality system A x = b given by an upper triangular matrix via
 backward substitution.
inverse :: (Ord a, Fractional a) => Matrix a -> Matrix a Source
Compute the inverse of  matrix. Throws AssertionFailed if the matrix is
 not invertible. 
vandermonde :: Int -> [FField] -> FMatrix Source
Construct a Vandermonde matrix. The i-th list element is the i-th seed of the geometric progression of the i-th row.