richardson-extrapolation
v1.0.3
Published
Use Richardson Extrapolation sequence acceleration to compute the order of convergence and exact value of a sequence
Downloads
21
Readme
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 = require('richardson-extrapolation')
// Exact value = 3.5
// Order of convergence = 3
function func( h ) {
return 3.5 + 2.0 * Math.pow( h, 3 )
}
// Solve for the order of convergence:
richardson( func, 1, { f: 3.5 } )
// => { f: 3.5, n: 3, c: 2 }
// Approximate the the exact value given order of convergence:
richardson( func, 1, { n: 3 } )
// => { 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