| Copyright | (c) Alberto Ruiz 2009 | 
|---|---|
| License | GPL | 
| Maintainer | Alberto Ruiz | 
| Stability | provisional | 
| Safe Haskell | None | 
| Language | Haskell98 | 
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 path11x5 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
- uniRoot :: UniRootMethod -> Double -> Int -> (Double -> Double) -> Double -> Double -> (Double, Matrix Double)
 - data UniRootMethod
 - uniRootJ :: UniRootMethodJ -> Double -> Int -> (Double -> Double) -> (Double -> Double) -> Double -> (Double, Matrix Double)
 - data UniRootMethodJ
- = UNewton
 - | Secant
 - | Steffenson
 
 - root :: RootMethod -> Double -> Int -> ([Double] -> [Double]) -> [Double] -> ([Double], Matrix Double)
 - data RootMethod
 - rootJ :: RootMethodJ -> Double -> Int -> ([Double] -> [Double]) -> ([Double] -> [[Double]]) -> [Double] -> ([Double], Matrix Double)
 - data RootMethodJ
 
Documentation
uniRoot :: UniRootMethod -> Double -> Int -> (Double -> Double) -> Double -> Double -> (Double, Matrix Double) Source #
data UniRootMethod Source #
Instances
uniRootJ :: UniRootMethodJ -> Double -> Int -> (Double -> Double) -> (Double -> Double) -> Double -> (Double, Matrix Double) Source #
data UniRootMethodJ Source #
Constructors
| UNewton | |
| Secant | |
| Steffenson | 
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 #
Instances
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 #
Instances