richardson-extrapolation
Use Richardson Extrapolation sequence acceleration to compute the order of convergence and exact value of a sequence
Introduction
Richardson Extrapolation is a numerical method that uses solutions at multiple values of a small parameter (think: = grid size) to accelerate the converenge of a sequence. To make that concrete, consider an method that approximates the value of . Writing this as
the unknowns are the exact value , the error constant , and the order of convergence .In its current form, this module solves for two of three unknowns using the solution at two parameter sizes . So for example, given the the order of convergence , you may approximate the exact value (with error of order ), or given the exact value , you may solve for the order of convergence .
The solution of all three unknowns requires the solution of a set of three nonlinear equations and is not implemented yet. :(
Install
$ npm install richardson-extrapolation
Example
var richardson = // Exact value = 3.5// Order of convergence = 3 { return 35 + 20 * Math} // Solve for the order of convergence:// => { f: 3.5, n: 3, c: 2 } // Approximate the the exact value given order of convergence:// => { f: 3.5, n: 3, c: 2 }
API
require('richardson-extrapolation')( func, h, knowns )
Arguments:
func
: a function that takes small parameter as its only argumenth
: either a starting parameter size or a set of parameter sizes- if a number, then is subdivided by a factor of 2 as needed t solve for the unknowns
- if an array of numbers, then the first are used as values of in order solve for unknowns
knowns
: a hash of known parameters. Possibilities are:- provided (solves for and )
- provided (solves for and )
Returns: A hash containing three values: the approximated exact value , order of convergence , and the constant of the error term .
TODO
Implement nonlinear simultaneous equation solver as a separate module in order to solve for all three unknowns.
Credits
(c) 2015 Ricky Reusser. MIT License