Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

newton-raphson-method

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

newton-raphson-method

Find zeros of a function using the Newton-Raphson method

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

Keywords

FAQs

Package last updated on 02 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc