Portability | portable |
---|---|

Stability | alpha |

Maintainer | mik@konecny.aow.cz |

Interval Newton's method for root finding.

To be used for obtaining functions out of their inverse(s) over various intervals.

- erNewton_FullArgs :: ERIntApprox ira => (EffortIndex -> ira -> ira, EffortIndex -> ira -> ira) -> ira -> ira -> Int -> EffortIndex -> ira
- erNewton_mdfd_FullArgs :: ERIntApprox ira => (EffortIndex -> ira -> ira, EffortIndex -> ira -> ira) -> ira -> ira -> Int -> EffortIndex -> ira

# Documentation

:: ERIntApprox ira | |

=> (EffortIndex -> ira -> ira, EffortIndex -> ira -> ira) | a function and its derivative |

-> ira | a starting point |

-> ira | a lower bound of the absolute value of the derivative over the working interval |

-> Int | number of iterations |

-> EffortIndex | the initial index to use for argument function and its derivative |

-> ira | the result |

:: ERIntApprox ira | |

=> (EffortIndex -> ira -> ira, EffortIndex -> ira -> ira) | a function and its derivative |

-> ira | a starting point |

-> ira | The minimum of absolute value of derivative over the working interval |

-> Int | number of iterations |

-> EffortIndex | It triggers the initial index to be called by the argument function and its derivative. |

-> ira | the result |

Modified Newton Method Notes:

- It has a cubic convergence speed, as opposed to the original Newton's square convergence speed.
- It does not deal with multiple roots.
- Per iteration, it makes two queries on the derivative, so it best suits the cases where computation of the derivative is at most as expensive as the function itself.