Numeric.GSL.Root
 Portability uses ffi Stability provisional Maintainer Alberto Ruiz (aruiz at um dot es)
Description

Multidimensional root finding.

The example in the GSL manual:

```import Numeric.GSL
import Numeric.LinearAlgebra(format)
import Text.Printf(printf)

rosenbrock a b [x,y] = [ a*(1-x), b*(y-x^2) ]

disp = putStrLn . format "  " (printf "%.3f")

main = do
let (sol,path) = root Hybrids 1E-7 30 (rosenbrock 1 10) [-10,-5]
print sol
disp path

> main
[1.0,1.0]
0.000  -10.000  -5.000  11.000  -1050.000
1.000   -3.976  24.827   4.976     90.203
2.000   -3.976  24.827   4.976     90.203
3.000   -3.976  24.827   4.976     90.203
4.000   -1.274  -5.680   2.274    -73.018
5.000   -1.274  -5.680   2.274    -73.018
6.000    0.249   0.298   0.751      2.359
7.000    0.249   0.298   0.751      2.359
8.000    1.000   0.878  -0.000     -1.218
9.000    1.000   0.989  -0.000     -0.108
10.000    1.000   1.000   0.000      0.000
```
Synopsis
root :: RootMethod -> Double -> Int -> ([Double] -> [Double]) -> [Double] -> ([Double], Matrix Double)
data RootMethod
 = Hybrids | Hybrid | DNewton | Broyden
rootJ :: RootMethodJ -> Double -> Int -> ([Double] -> [Double]) -> ([Double] -> [[Double]]) -> [Double] -> ([Double], Matrix Double)
data RootMethodJ
 = HybridsJ | HybridJ | Newton | GNewton
Documentation
 root Source
 :: RootMethod -> Double maximum residual -> Int maximum number of iterations allowed -> [Double] -> [Double] function to minimize -> [Double] starting point -> ([Double], Matrix Double) solution vector and optimization path Nonlinear multidimensional root finding using algorithms that do not require any derivative information to be supplied by the user. Any derivatives needed are approximated by finite differences.
 data RootMethod Source
Constructors
 Hybrids Hybrid DNewton Broyden
Instances
 Bounded RootMethod Enum RootMethod Eq RootMethod Show RootMethod
 rootJ Source
 :: RootMethodJ -> Double maximum residual -> Int maximum number of iterations allowed -> [Double] -> [Double] function to minimize -> [Double] -> [[Double]] Jacobian -> [Double] starting point -> ([Double], Matrix Double) solution vector and optimization path Nonlinear multidimensional root finding using both the function and its derivatives.
 data RootMethodJ Source
Constructors
 HybridsJ HybridJ Newton GNewton
Instances
 Bounded RootMethodJ Enum RootMethodJ Eq RootMethodJ Show RootMethodJ