newton-raphson-method
newton-raphson-method
npm i newton-raphson-method
newton-raphson-method

newton-raphson-method

Find zeros of a function using the Newton-Raphson method

by scijs

1.0.2 (see all)License:MITTypeScript:Not Found
npm i newton-raphson-method
Readme

newton-raphson-method

Find zeros of a function using Newton's Method

Build Status npm version Dependency Status js-semistandard-style

Introduction

The Newton-Raphson method uses the tangent of a curve to iteratively approximate a zero of a function, f(x). This yields the update:

x_{i + 1} = x_i -\frac{f(x_i)}{f'(x_i)}.

Example

Consider the zero of (x + 2) * (x - 1) at x = 1:

var nr = require('newton-raphson-method');

function f (x) { return (x - 1) * (x + 2); }
function fp (x) { return (x - 1) + (x + 2); }

// Using the derivative:
nr(f, fp, 2)
// => 1.0000000000000000 (6 iterations)

// Using a numerical derivative:
nr(f, 2)
// => 1.0000000000000000 (6 iterations)

Installation

$ npm install newton-raphson-method

API

require('newton-raphson-method')(f[, fp], x0[, options])

Given a real-valued function of one variable, iteratively improves and returns a guess of a zero.

Parameters:

  • f: The numerical function of one variable of which to compute the zero.
  • fp (optional): The first derivative of f. If not provided, is computed numerically using a fourth order central difference with step size h.
  • x0: A number representing the intial guess of the zero.
  • options (optional): An object permitting the following options:
    • tolerance (default: 1e-7): The tolerance by which convergence is measured. Convergence is met if |x[n+1] - x[n]| <= tolerance * |x[n+1]|.
    • epsilon (default: 2.220446049250313e-16 (double-precision epsilon)): A threshold against which the first derivative is tested. Algorithm fails if |y'| < epsilon * |y|.
    • maxIterations (default: 20): Maximum permitted iterations.
    • h (default: 1e-4): Step size for numerical differentiation.
    • verbose (default: false): Output additional information about guesses, convergence, and failure.

Returns: If convergence is achieved, returns an approximation of the zero. If the algorithm fails, returns false.

See Also

  • modified-newton-raphson: A simple modification of Newton-Raphson that may exhibit improved convergence.
  • newton-raphson: A similar and lovely implementation that differs (only?) in requiring a first derivative.

License

© 2016 Scijs Authors. MIT License.

Authors

Ricky Reusser

Downloads/wk

4.6K

GitHub Stars

21

LAST COMMIT

3yrs ago

MAINTAINERS

1

CONTRIBUTORS

2

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
1.0.2
latest
4yrs ago
No alternatives found
No tutorials found
Add a tutorial
No dependencies found

Rate & Review

100
No reviews found
Be the first to rate