Skip to content

Special functions summary

Fredrik Johansson edited this page Mar 13, 2016 · 8 revisions

This page is meant to track support for special functions in Arb and outstanding issues.

Long-term, it would be nice to support most of the functions known to mpmath, Pari/GP, Mathematica, Maple, DLMF, Abramowitz & Stegun, etc.

Table of Contents

Legend

  • A available
  • (A) implicitly available (trivial conversion from another function)
  • P partial implementation, missing major optimizations or not supporting the whole domain
  • X not available, or not available conveniently enough considering its importance
  • - not interesting or applicable
  • RR - real variable(s)
  • CC - complex variable(s)
  • RR - real power series / derivatives
  • CC - complex power series / derivatives

Elementary functions

Function RR CC RRx CCx Notes
exp A A A A

Combinatorial and integer sequence functions

Function RR CC RRx CCx Notes
Fibonacci numbers P(A) (A) (A) (A) No real/complex extension (trivial via elementary functions)
Factorials P(A) (A) (A) (A) No real/complex extension (trivial via gamma function)
Double factorials P(A) (A) (A) (A) No real/complex extension (trivial via gamma function)
Multiple factorials X X X X
Rising factorials A A A A Need to use gamma function in some cases for real/complex extension
Falling factorials (A) (A) (A) (A) Equivalent to rising factorials
Binomial coefficients (A) (A) (A) (A) No real/complex extension (trivial via gamma function)
Multinomial coefficients X - - -
Gamma function A A A A
Log-gamma function A A A A
Digamma function A A A A
Harmonic numbers (A) (A) (A) (A) Trivial via gamma function
Bernoulli numbers A - - -
Euler numbers A - - -
Bernoulli polynomials A A (A) (A) Exact computation possible with FLINT
Euler polynomials (A) (A) (A) (A) Exact computation possible with FLINT
Eulerian numbers X - - -
Bell numbers A - - -
Partition function A - - -
Stirling numbers (A) - - - Exact computation possible with FLINT

Hypergeometric functions

Function RR CC RRx CCx Notes
Hypergeometric function U (A) A X X Derivatives with respect to the variable are easy to compute, but no interface for this yet
Hypergeometric function 0F1 (A) A X X Derivatives with respect to the variable are easy to compute, but no interface for this yet
Hypergeometric function 1F1 (A) A X X Derivatives with respect to the variable are easy to compute, but no interface for this yet
Hypergeometric function 2F1 (A) A X X Derivatives with respect to the variable are easy to compute, but no interface for this yet
Hypergeometric function 2F0 (A) (A) X X Trivial variation of hypergeometric U
Generalized hypergeometric function PFQ (A)P P X X Restricted domain; slow for large arguments. Partial support for derivatives with respect to parameters or the argument.
Meijer G-function X X X X Can be computed via PFQ, at least partially; difficult to handle singular cases.
Error function (A) A (A) A
Complementary error function (A) A (A) A
Imaginary error function (A) A (A) A
Bessel function J (A) A X X Series expansion is not too hard to compute using recurrence relations
Bessel function Y (A) A X X Series expansion is not too hard to compute using recurrence relations
Bessel function I (A) A X X Series expansion is not too hard to compute using recurrence relations
Bessel function K (A) A X X Series expansion is not too hard to compute using recurrence relations
Hankel functions H1, H2 (A) (A) X X Trivial from Bessel J and Y
Spherical Bessel J X X X X Fairly easy to compute using 0F1 / Bessel J
Spherical Bessel Y X X X X Fairly easy to compute via Bessel Y
Coulomb wave function F X X X X Fairly easy to compute via confluent hypergeometric functions
Coulomb wave function G X X X X Fairly easy to compute via confluent hypergeometric functions
Coulomb wave function H X X X X Fairly easy to compute via confluent hypergeometric functions
Coulomb normalizing factor C X X X X Fairly easy to compute via gamma function
Airy function Ai (A) A (A) A
Airy function Bi (A) A (A) A
Scorer function Gi X X X X Could be computed via PFQ, but not satisfactorily for large z
Scorer function Hi X X X X Could be computed via PFQ, but not satisfactorily for large z
Kelvin function ber X X X X Could be computed via PFQ, but not satisfactorily for large z
Kelvin function bei X X X X Could be computed via PFQ, but not satisfactorily for large z
Kelvin function ker X X X X Could be computed via PFQ, but not satisfactorily for large z
Kelvin function kei X X X X Could be computed via PFQ, but not satisfactorily for large z
Lommel function S1 X X X X Could be computed via PFQ, but not satisfactorily for large z
Lommel function S2 X X X X Could be computed via PFQ, but not satisfactorily for large z
Anger function J X X X X Could be computed via PFQ, but not satisfactorily for large z
Weber function E X X X X Could be computed via PFQ, but not satisfactorily for large z
Whittaker function M X X X X Fairly easy to compute via confluent hypergeometric functions
Whittaker function W X X X X Fairly easy to compute via confluent hypergeometric functions
Parabolic cylinder function D X X X X Fairly easy to compute via confluent hypergeometric functions
Parabolic cylinder function U X X X X Fairly easy to compute via confluent hypergeometric functions
Parabolic cylinder function V X X X X Fairly easy to compute via confluent hypergeometric functions
Parabolic cylinder function W X X X X Fairly easy to compute via confluent hypergeometric functions
Incomplete gamma function (A) A X X Not implemented in the generalized and regularized forms, although these are trivial to compute from the available functions. Series expansion with respect to the variable is fairly easy to compute, but no interface for this yet.
Incomplete beta function X X X X Fairly easy to compute via 2F1
Exponential integral Ei (A) A (A) A
Generalized exponential integral E (A) A X X Derivatives with respect to the variable are easy to compute, but no interface for this yet
Sine integral Si (A) A (A) A
Cosine integral Ci (A) A (A) A
Hyperbolic sine integral Si (A) A (A) A
Hyperbolic cosine integral Ci (A) A (A) A
Logarithmic integral Li (A) A (A) A
Chebyshev function T (A) A X X
Chebyshev function U (A) A X X
Jacobi function P (A) A X X
Gegenbauer function C (A) A X X
Laguerre function L (A) A X X
Hermite function H (A) A X X
Legendre function P (A) A X X
Legendre function Q (A) A X X
Spherical harmonics (A) A X X Integer orders only

Elliptic functions and modular forms

Zeta, Dirichlet L-functions, and polylogarithms