ad-4.5.6: Automatic Differentiation
Copyright(c) Edward Kmett 2015-2021
LicenseBSD3
Maintainerekmett@gmail.com
Stabilityexperimental
PortabilityGHC only
Safe HaskellSafe-Inferred
LanguageHaskell2010

Numeric.AD.Rank1.Newton.Double

Description

 
Synopsis

Newton's Method (Forward)

findZero :: (ForwardDouble -> ForwardDouble) -> Double -> [Double] Source #

The findZero function finds a zero of a scalar function using Newton's method; its output is a stream of increasingly accurate results. (Modulo the usual caveats.) If the stream becomes constant ("it converges"), no further elements are returned.

Examples:

>>> take 10 $ findZero (\x->x^2-4) 1
[1.0,2.5,2.05,2.000609756097561,2.0000000929222947,2.000000000000002,2.0]

inverse :: (ForwardDouble -> ForwardDouble) -> Double -> Double -> [Double] Source #

The inverse function inverts a scalar function using Newton's method; its output is a stream of increasingly accurate results. (Modulo the usual caveats.) If the stream becomes constant ("it converges"), no further elements are returned.

Example:

>>> last $ take 10 $ inverse sqrt 1 (sqrt 10)
10.0

fixedPoint :: (ForwardDouble -> ForwardDouble) -> Double -> [Double] Source #

The fixedPoint function find a fixedpoint of a scalar function using Newton's method; its output is a stream of increasingly accurate results. (Modulo the usual caveats.)

If the stream becomes constant ("it converges"), no further elements are returned.

>>> last $ take 10 $ fixedPoint cos 1
0.7390851332151607

extremum :: (On (Forward ForwardDouble) -> On (Forward ForwardDouble)) -> Double -> [Double] Source #

The extremum function finds an extremum of a scalar function using Newton's method; produces a stream of increasingly accurate results. (Modulo the usual caveats.) If the stream becomes constant ("it converges"), no further elements are returned.

>>> last $ take 10 $ extremum cos 1
0.0