Safe Haskell | None |
---|---|

Language | Haskell2010 |

- newton :: (Num a, Ord a, Additive f, Metric f, Foldable f) => (f a -> f a) -> (f a -> f (f a)) -> f a -> [f a]
- bicInv :: (Functor m, Distributive m, Additive m, Applicative m, Apply m, Foldable m, Conjugate a) => a -> m (m a) -> [m (m a)]
- bicInv' :: (Functor m, Distributive m, Additive m, Applicative m, Apply m, Foldable m, Conjugate a) => m (m a) -> m (m a) -> [m (m a)]

# Newton's method

:: (Num a, Ord a, Additive f, Metric f, Foldable f) | |

=> (f a -> f a) | gradient of function |

-> (f a -> f (f a)) | inverse Hessian |

-> f a | starting point |

-> [f a] | iterates |

Newton's method

# Matrix inversion methods

bicInv :: (Functor m, Distributive m, Additive m, Applicative m, Apply m, Foldable m, Conjugate a) => a -> m (m a) -> [m (m a)] Source

Inverse by iterative method of Ben-Israel and Cohen
starting from `alpha A^T`

. Alpha should be set such that
0 < alpha < 2/sigma^2 where `sigma`

denotes the largest singular
value of A

bicInv' :: (Functor m, Distributive m, Additive m, Applicative m, Apply m, Foldable m, Conjugate a) => m (m a) -> m (m a) -> [m (m a)] Source

Inverse by iterative method of Ben-Israel and Cohen with given starting condition