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