hmatrix-gsl-0.19.0.1: Numerical computation
Copyright(c) Alberto Ruiz 2009
LicenseGPL
MaintainerAlberto Ruiz
Stabilityprovisional
Safe HaskellNone
LanguageHaskell2010

Numeric.GSL.Root

Description

Multidimensional root finding.

http://www.gnu.org/software/gsl/manual/html_node/Multidimensional-Root_002dFinding.html

The example in the GSL manual:

>>> let rosenbrock a b [x,y] = [ a*(1-x), b*(y-x^2) ]
>>> let (sol,path) = root Hybrids 1E-7 30 (rosenbrock 1 10) [-10,-5]
>>> sol
[1.0,1.0]
>>> disp 3 path
11x5
 1.000  -10.000  -5.000  11.000  -1050.000
 2.000   -3.976  24.827   4.976     90.203
 3.000   -3.976  24.827   4.976     90.203
 4.000   -3.976  24.827   4.976     90.203
 5.000   -1.274  -5.680   2.274    -73.018
 6.000   -1.274  -5.680   2.274    -73.018
 7.000    0.249   0.298   0.751      2.359
 8.000    0.249   0.298   0.751      2.359
 9.000    1.000   0.878  -0.000     -1.218
10.000    1.000   0.989  -0.000     -0.108
11.000    1.000   1.000   0.000      0.000
Synopsis

Documentation

uniRoot :: UniRootMethod -> Double -> Int -> (Double -> Double) -> Double -> Double -> (Double, Matrix Double) Source #

uniRootJ :: UniRootMethodJ -> Double -> Int -> (Double -> Double) -> (Double -> Double) -> Double -> (Double, Matrix Double) Source #

root Source #

Arguments

:: 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

Instances details
Bounded RootMethod Source # 
Instance details

Defined in Numeric.GSL.Root

Enum RootMethod Source # 
Instance details

Defined in Numeric.GSL.Root

Eq RootMethod Source # 
Instance details

Defined in Numeric.GSL.Root

Methods

(==) :: RootMethod -> RootMethod -> Bool

(/=) :: RootMethod -> RootMethod -> Bool

Show RootMethod Source # 
Instance details

Defined in Numeric.GSL.Root

Methods

showsPrec :: Int -> RootMethod -> ShowS

show :: RootMethod -> String

showList :: [RootMethod] -> ShowS

rootJ Source #

Arguments

:: 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

Instances details
Bounded RootMethodJ Source # 
Instance details

Defined in Numeric.GSL.Root

Enum RootMethodJ Source # 
Instance details

Defined in Numeric.GSL.Root

Eq RootMethodJ Source # 
Instance details

Defined in Numeric.GSL.Root

Methods

(==) :: RootMethodJ -> RootMethodJ -> Bool

(/=) :: RootMethodJ -> RootMethodJ -> Bool

Show RootMethodJ Source # 
Instance details

Defined in Numeric.GSL.Root

Methods

showsPrec :: Int -> RootMethodJ -> ShowS

show :: RootMethodJ -> String

showList :: [RootMethodJ] -> ShowS