Exploring different encodings of matrix algebra in order to implement algorithms for solving systems of linear equations from “An introduction to the conjugate gradient method without the agonizing pain”.
- MatrixAlgebra1: 2-by-2 matrices and vectors using tuples
- MatrixAlgebra1.CG1: Solution techniques from article
- MatrixAlgebra2: 2^n-by-2^n matrices using a recursive representation
- PowerSeries: Code from “Power series, power serious”
- Simple to use (implements Num class).
- If there is to be numerical work in the course ireal would probably be suitable if Double does not give good enough precision.
- Some nested operations might become exponential (as documented in https://github.com/sydow/ireal/raw/master/doc/ireal.pdf). It seems good understanding of the library is necessary to avoid them.
- Contains example implementations of algorithms using the
package.
applications/FAD.hshas a short implementation of AD that might be interesting.
- Real numbers: http://hackage.haskell.org/package/numbers
- Intervals: http://hackage.haskell.org/package/intervals
- real numbers+intervals: https://hackage.haskell.org/package/ireal