hmatrix-0.5.2.1: Linear algebra and numerical computationsSource codeContentsIndex
Numeric.GSL.Root
Portabilityuses ffi
Stabilityprovisional
MaintainerAlberto Ruiz (aruiz at um dot es)
Description

Multidimensional root finding.

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

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
rootSource
:: RootMethod
-> Doublemaximum residual
-> Intmaximum 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
show/hide Instances
rootJSource
:: RootMethodJ
-> Doublemaximum residual
-> Intmaximum 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
show/hide Instances
Produced by Haddock version 2.6.0