lambert-w-function
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

lambert-w-function

GitHub last commit npm npm NPM Libraries.io dependency status for latest release

This is a JavaScript implementation for the Lambert W Function which is also known as Omega Function on the principal branch W_0.

Please note that this library does not support complex numbers and only supports the principal branch.

Installation

From npm via npm

npm install lambert-w-function

or via yarn

yarn add lambert-w-function

Import

For CommonJS

const {
    lambertW0, // same as lambertW0_IaconoBoyd
    lambertW0_IaconoBoyd,
    lambertW0Log, // same as lambertW0Log_xmodar
    lambertW0Log_xmodar,
    lambertW0_SimpleIteration_LT_E,
    lambertW0_SimpleIteration_GT_E,
    W0_LIMIT_POINT
} = require('lambert-w-function')

otherwise

import { ... } from 'lambert-w-function'

Usage / Documentation

// A good approximation with a maximum relative error 5E-3
// Same as lambertW0Log(x) if is_x_log set to true.
// -
// See: https://gist.github.com/xmodar/baa392fc2bec447d10c2c20bbdcaf687
// See: https://link.springer.com/content/pdf/10.1007/s10444-017-9530-3.pdf
lambertW0(x: number, is_x_log = false): number

// Computes W(y) where y of the form log(x)
// -
// See: https://gist.github.com/xmodar/baa392fc2bec447d10c2c20bbdcaf687
lambertW0Log(logX: number): number

// Approximates W(X) with a straightforward algoritm for x <= E (respectively
// x > E) but it is highly recommended to use lambertW0 instead.
// -
// See: https://doi.org/10.1145%2F258726.258783
lambertW0_SimpleIteration_LT_E(x: number, iterations = 10): number
lambertW0_SimpleIteration_GT_E(x: number, iterations = 10): number

License

This project is licensed under the MIT license so that you can just do whatever you want with it.

Package Sidebar

Install

npm i lambert-w-function

Weekly Downloads

132

Version

3.0.0

License

MIT

Unpacked Size

12.1 kB

Total Files

7

Last publish

Collaborators

  • howion