All of these JavaScript functions are exposed in the global context for ease of use. Hyperlinks lead to plots in two dimensions of the real and imaginary parts of functions on the real and imaginary axes, as well as visualizations in three dimensions of the real and imaginary parts and their absolute value on the complex plane.


Basic Functions

abs( x ) — absolute value of a real or complex number

arg( x ) — argument of a real or complex number

pow( x, y ) — power of a real or complex number to a real or complex exponent

root( x, y ) — root of a real or complex number with real or complex degree

surd( x, n ) — real-valued root of a real number

sqrt( x ) — square root of a real or complex number


Logarithmic Functions

exp( x ) — exponential of a real or complex number

logisticSigmoid( x ) — logistic sigmoid of a real or complex number

log( x ) — natural logarithm of a real or complex number

log( x, base ) — logarithm of a real or complex number to a real or complex base

ln( x ) — natural logarithm of a real or complex number

lambertW( x ) — principal branch of the Lambert W function of a real or complex number

lambertW( k, x ) — arbitrary branch of integral index k of the Lambert W function of a real or complex number

inverseLambertW( x ) — inverse of the Lambert W function of a real or complex number

wrightOmega( x ) — Wright omega function of a real or complex number


Circular Functions

sin( x ) — sine of a real or complex number

cos( x ) — cosine of a real or complex number

tan( x ) — tangent of a real or complex number

cot( x ) — cotangent of a real or complex number

sec( x ) — secant of a real or complex number

csc( x ) — cosecant of a real or complex number

arcsin( x ) — inverse sine of a real or complex number

arccos( x ) — inverse cosine of a real or complex number

arctan( x ) — inverse tangent of a real or complex number

arccot( x ) — inverse cotangent of a real or complex number

arcsec( x ) — inverse secant of a real or complex number

arccsc( x ) — inverse cosecant of a real or complex number


Hyperbolic Functions

sinh( x ) — hyperbolic sine of a real or complex number

cosh( x ) — hyperbolic cosine of a real or complex number

tanh( x ) — hyperbolic tangent of a real or complex number

coth( x ) — hyperbolic cotangent of a real or complex number

sech( x ) — hyperbolic secant of a real or complex number

csch( x ) — hyperbolic cosecant of a real or complex number

arcsinh( x ) — inverse hyperbolic sine of a real or complex number

arccosh( x ) — inverse hyperbolic cosine of a real or complex number

arctanh( x ) — inverse hyperbolic tangent of a real or complex number

arccoth( x ) — inverse hyperbolic cotangent of a real or complex number

arcsech( x ) — inverse secant of a real or complex number

arccsch( x ) — inverse hyperbolic cosecant of a real or complex number


Trigonometric Functions

sinc( x ) — cardinal sine of a real or complex number

haversine( x ) — haversine of a real or complex number

inverseHaversine( x ) — inverse haversine of a real or complex number

gudermannian( x ) — Gudermannian function of a real or complex number

inverseGudermannian( x ) — inverse Gudermannian function of a real or complex number


Bessel Functions

besselJ( n, x ) — Bessel function of the first kind of real or complex order n of a real or complex number

besselJZero( n, m )mth zero of the Bessel function of the first kind of real order n

besselJZero( n, m, true )mth zero of the first derivative of the Bessel function of the first kind of real positive order n

besselY( n, x ) — Bessel function of the second kind of real or complex order n of a real or complex number

besselYZero( n, m )mth zero of the Bessel function of the second kind of real order n

besselYZero( n, m, true )mth zero of the first derivative of the Bessel function of the second kind of real positive order n

besselI( n, x ) — modified Bessel function of the first kind of real or complex order n of a real or complex number

besselK( n, x ) — modified Bessel function of the second kind of real or complex order n of a real or complex number

hankel1( n, x ) — Hankel function of the first kind of real or complex order n of a real or complex number

hankel2( n, x ) — Hankel function of the second kind of real or complex order n of a real or complex number


Bessel-Type Functions

airyAi( x ) — Airy function of the first kind of a real or complex number

airyAiPrime( x ) — derivative of the Airy function of the first kind of a real or complex number

airyBi( x ) — Airy function of the second kind of a real or complex number

airyBiPrime( x ) — derivative of the Airy function of the second kind of a real or complex number

sphericalBesselJ( n, x ) — spherical Bessel function of the first kind of real or complex order n of a real or complex number

sphericalBesselY( n, x ) — spherical Bessel function of the second kind of real or complex order n of a real or complex number

sphericalHankel1( n, x ) — spherical Hankel function of the first kind of real or complex order n of a real or complex number

sphericalHankel2( n, x ) — spherical Hankel function of the second kind of real or complex order n of a real or complex number

struveH( n, x ) — Struve function of real or complex order n of a real or complex number

struveL( n, x ) — modified Struve function of real or complex order n of a real or complex number


Orthogonal Polynomials

hermite( n, x ) — Hermite polynomial of real or complex index n of a real or complex number

laguerre( n, x ) — Laguerre polynomial of real or complex index n of a real or complex number

laguerre( n, a, x ) — associated Laguerre polynomial of real or complex index n and real or complex parameter a of a real or complex number

legendreP( l, x ) — Legendre polynomial of real or complex index l of a real or complex number

legendreP( l, m, x ) — associated Legendre polynomial of real or complex indices l and m of a real or complex number

legendreQ( l, x ) — Legendre function of the second kind of real or complex index l of a real or complex number

legendreQ( l, m, x ) — associated Legendre function of the second kind of real or complex indices l and m of a real or complex number

sphericalHarmonic( l, m, θ, φ ) — spherical harmonic of integer indices l and m and real numbers. Returns a complex number even if the result is purely real.

chebyshevT( n, x ) — Chebyshev polynomial of the first kind of real or complex index n of a real or complex number

chebyshevU( n, x ) — Chebyshev polynomial of the second kind of real or complex index n of a real or complex number


Elliptic Integrals

ellipticF( x, m ) — incomplete elliptic integral of the first kind of a real or complex number with real or complex elliptic parameter m

ellipticF( m ) — complete elliptic integral of the first kind of a real or complex elliptic parameter m

ellipticK( m ) — complete elliptic integral of the first kind of a real or complex elliptic parameter m

ellipticE( x, m ) — incomplete elliptic integral of the second kind of a real or complex number with real or complex elliptic parameter m

ellipticE( m ) — complete elliptic integral of the second kind of a real or complex elliptic parameter m

ellipticPi( n, x, m ) — incomplete elliptic integral of the third kind of a real or complex number with real or complex characteristic n and elliptic parameter m

ellipticPi( n, m ) — complete elliptic integral of the third kind of a real or complex elliptic characteristic n and parameter m

jacobiZeta( x, m ) — Jacobi zeta function of a real or complex number with real or complex elliptic parameter m, with the first argument of the same type as for elliptic integrals

carlsonRC( x, y ) — degenerate Carlson symmetric elliptic integral of the first kind of real or complex numbers

carlsonRD( x, y, z ) — degenerate Carlson symmetric elliptic integral of the third kind, or Carlson elliptic integral of the second kind, of real or complex numbers

carlsonRF( x, y, z ) — Carlson symmetric elliptic integral of the first kind of real or complex numbers

carlsonRG( x, y, z ) — Carlson completely symmetric elliptic integral of the second kind of real or complex numbers

carlsonRJ( x, y, z, w ) — Carlson symmetric elliptic integral of the third kind of real or complex numbers


Elliptic Functions

jacobiTheta( n, x, q ) — Jacobi theta function n of a real or complex number with real or complex nome q

ellipticNome( m ) — elliptic nome q of a real or complex elliptic parameter m

am( x, m ) — Jacobi amplitude of a real or complex number with real or complex elliptic parameter m

sn( x, m ) — Jacobi elliptic sine of a real or complex number with real or complex elliptic parameter m

cn( x, m ) — Jacobi elliptic cosine of a real or complex number with real or complex elliptic parameter m

dn( x, m ) — Jacobi delta amplitude of a real or complex number with real or complex elliptic parameter m

weierstrassRoots( g2, g3 ) — Weierstrass roots e1, e2 and e3 for real or complex invariants. Returned as an array.

weierstrassHalfPeriods( g2, g3 ) — Weierstrass half periods w1 and w2 for real or complex invariants. Returned as an array. Consistent with evaluation of Weierstrass elliptic function in terms of Jacobi elliptic sine.

weierstrassInvariants( w1, w2 ) — Weierstrass invariants g2 and g3 for real or complex half periods. Returned as an array.

weierstrassP( x, g2, g3 ) — Weierstrass elliptic function ℘ of a real or complex number with real or complex invariants. Returned as a complex number for consistency.

weierstrassPPrime( x, g2, g3 ) — derivative of the Weierstrass elliptic function ℘ of a real or complex number with real or complex invariants. Returned as a complex number for consistency.

inverseWeierstrassP( x, g2, g3 ) — inverse Weierstrass elliptic function ℘ of a real or complex number with real or complex invariants. Returned as a complex number for consistency.

kleinJ( x ) — Klein j-invariant of a complex number


Hypergeometric Functions

hypergeometric0F1( a, x ) — confluent hypergeometric function of a real or complex parameter a of a real or complex number

hypergeometric1F1( a, b, x ) — confluent hypergeometric function of the first kind of real or complex parameters a and b of a real or complex number

hypergeometricU( a, b, x ) — confluent hypergeometric function of the second kind of real or complex parameters a and b of a real or complex number

whittakerM( k, m, x ) — Whittaker function of the first kind of real or complex parameters k and m of a real or complex number

whittakerW( k, m, x ) — Whittaker function of the second kind of real or complex parameters k and m of a real or complex number

hypergeometric2F1( a, b, c, x ) — Gauss hypergeometric function of real or complex parameters a, b and c of a real or complex number

hypergeometric1F2( a, b, c, x ) — hypergeometric function of real or complex parameters a, b and c of a real or complex number

hypergeometricPFQ( A, B, x ) — generalized hypergeometric function of arrays of real or complex parameters A and B of a real or complex number


Gamma Functions

factorial( n ) — factorial of a real or complex number

factorial2( n ) — double factorial of a real or complex number

binomial( n, m ) — binomial coefficient of real or complex numbers

multinomial( n1, n2, … ) — multinomial coefficient of real or complex numbers

pochhammer( x, n ) — Pochhammer symbol of real or complex numbers

subfactorial( n ) — subfactorial of a real or complex number

logGamma( x ) — logarithm of the gamma function of a real or complex number

gamma( x ) — gamma function of a real or complex number

gamma( x, y ) — upper incomplete gamma function Γ(x,y) of real or complex numbers

gamma( x, 0, y ) — lower incomplete gamma function γ(x,y) of real or complex numbers

gamma( x, y, z ) — generalized incomplete gamma function γ(x,z) − γ(x,y) of real or complex numbers

gammaRegularized( x, y ) — regularized upper incomplete gamma function Q(x,y) of real or complex numbers

gammaRegularized( x, y, z ) — generalized regularized incomplete gamma function Q(x,z) − Q(x,y) of real or complex numbers

beta( x, y ) — beta function of real or complex numbers

beta( x, y, z ) — incomplete beta function Bx(y,z) of real or complex numbers

beta( x, y, z, w ) — generalized incomplete beta function By(z,w) − Bx(z,w) of real or complex numbers

betaRegularized( x, y, z ) — regularized incomplete beta function Ix(y,z) of real or complex numbers

betaRegularized( x, y, z, w ) — generalized regularized incomplete beta function Iy(z,w) − Ix(z,w) of real or complex numbers

digamma( x ) — digamma function of a real or complex number

polygamma( n, x ) — polygamma function of positive integer order of a real or complex number


Gamma-Type Functions

erf( x ) — error function of a real or complex number

erfc( x ) — complementary error function of a real or complex number

erfi( x ) — imaginary error function of a real or complex number

fresnelS( x ) — Fresnel sine integral of a real or complex number

fresnelC( x ) — Fresnel cosine integral of a real or complex number

expIntegralEi( x ) — exponential integral Ei of a real or complex number

logIntegral( x ) — logarithmic integral of a real or complex number

sinIntegral( x ) — sine integral of a real or complex number

cosIntegral( x ) — cosine integral of a real or complex number

sinhIntegral( x ) — hyperbolic sine integral of a real or complex number

coshIntegral( x ) — hyperbolic cosine integral of a real or complex number

expIntegralE( n, x ) — generalized exponential integral En of a real or complex order n of a real or complex number


Zeta Functions

zeta( x ) — Riemann zeta function of a real or complex number

dirichletEta( x ) — Dirichlet eta function of a real or complex number

riemannXi( n ) — Riemman xi function of a real or complex number

bernoulli( n ) — Bernoulli number for index n. Returns a generalized value for fractional, negative or complex indices.

bernoulli( n, x ) — Bernoulli polynomial for real or complex index n of a real or complex number

harmonic( n ) — harmonic number for index n

hurwitzZeta( x, a ) — Hurwitz zeta function of a real or complex number with real or complex parameter a

polylog( n, x ) — polylogarithm function of real or complex order n of a real or complex number


Miscellaneous Functions

chop( x ) — set real and complex parts smaller than 10−10 to zero

chop( x, tolerance ) — set real and complex parts smaller than tolerance to zero

round( x ) — closest integer to a real or complex number

round( x, y ) — closest integer multiple of y to a real or complex number

ceiling( x ) — closest integer greater than a real or complex number

floor( x ) — closest integer less than a real or complex number

sign( x ) — signum function of a real or complex number

integerPart( x ) — integer part of a real or complex number

fractionalPart( x ) — fractional part of a real or complex number

random() — random real number between zero and one

random( x ) — random real or complex number between zero and x

random( x, y ) — random real or complex number between x and y

kronecker( i, j ) — Kronecker delta δij for real or complex arguments

kronecker( i, j, k, … ) — Kronecker delta δijk… for an arbitrary number of real or complex arguments

piecewise( [ function, [begin,end] ], … ) — piecewise expression defined on an arbitrary number of subdomains returned as a function


Proprietary Functions

doubleLambert( x, y ) — principle branch of a double Lambert function of two real or complex numbers

doubleLambert( n, x, y ) — arbitrary branch of integral index n of a double Lambert function of two real or complex numbers