# elfun

elfun, an Octave code which evaluates elliptic integrals, include Bulirsch's integrals cel(), cel1(), cel2(), cel3(), Carlson integrals rc(), rd(), rf(), rg(), rj(), and Jacobi functions cn(), dn(), sn(), by Milan Batista.

### Languages:

elfun is available in a MATLAB version and an Octave version.

### Related Data and Programs:

elliptic_integral, an Octave code which evaluates elliptic integral functions using Carlson's elliptic functions.

test_values, an Octave code which supplies test values of various mathematical functions.

toms577, an Octave code which evaluates Carlson's elliptic integral functions RC, RD, RF and RJ. This is a version of ACM TOMS algorithm 577;

### Reference:

1. Milan Batista,
Elfun18 - A collection of MATLAB functions for the computation of elliptic integrals and Jacobian elliptic functions of real arguments,
SoftwareX,
Volume 10, 2019,
https://github.com/ElsevierSoftwareX/SOFTX_2018_246

### Source Code:

• cel.m, evaluates Bulirsch's general complete elliptic integral.
• cel1.m, evaluates the complete Bulirsch's elliptic integral of the 1st kind.
• cel2.m, evaluates the complete Bulirsch's elliptic integral of the 2nd kind.
• cel3.m, evaluates the complete Bulirsch's elliptic integral of the 3rd kind.
• ijsn.m, inverse of Jacobi elliptic function SN.
• jacobi_cn_values.m, returns some values of the Jacobi elliptic function cn().
• jacobi_cnk.m, evaluates the Jacobi elliptic function x=cn(u,k).
• jacobi_cnk_inverse.m, computes the inverse of the Jacobi elliptic function x=cn(u,k).
• jacobi_dn_values.m, returns some values of the Jacobi elliptic function dn().
• jacobi_dnk.m, evaluates the Jacobi elliptic function x=dn(u,k).
• jacobi_dnk_inverse.m, computes the inverse of the Jacobi elliptic function x=dn(u,k).
• jacobi_sn_values.m, returns some values of the Jacobi elliptic function sn().
• jacobi_snk.m, evaluates the Jacobi elliptic function x=sn(u,k).
• jacobi_snk_inverse.m, computes the inverse of the Jacobi elliptic function x=sn(u,k).
• jcn.m, evaluates the Jacobi elliptic function cn(x,k).
• jdn.m, evaluates the Jacobi elliptic function dn(x,k).
• jsn.m, evaluates the Jacobi elliptic function sn(x,k).
• melf.m, evaluates incomplete elliptic integrals of the 1st kind.
• melk.m, evaluates complete elliptic integrals of the 1st kind.
• mijsn.m, computes the inverse of Jacobi elliptic function sn(x,m).
• pendulum_nonlinear_conserved.m, evaluates a quantity that should be conserved by the nonlinear pendulum ODE.
• pendulum_nonlinear_deriv.m, evaluates the right hand side of the nonlinear pendulum ODE.
• pendulum_nonlinear_exact.m, returns the exact solution of the nonlinear pendulum ODE;
• pendulum_nonlinear_parameters.m, returns parameters of the nonlinear pendulum ODE.
• r8_sign.m, returns the sign (+1 or -1 only) of a real value.
• rc.m, evaluates Carlson's degenerate elliptic integral of the 1st kind.
• rd.m, evaluates Carlson's degenerate elliptic integral of the 2nd kind.
• rf.m, evaluates Carlson's elliptic integral of the first kind.
• rg.m, evaluates Carlson's elliptic integral of the second kind.
• rj.m, evaluates Carlson's elliptic integral of the third kind.
• sncndn.m, evaluates the Jacobi elliptic functions sn, cn, dn.
• ufun1.m, mimics the elemental behavior of a function of 1 argument.
• ufun2.m, mimics the elemental behavior of a function of 2 arguments.
• ufun3.m, mimics the elemental behavior of a function of 3 arguments.
• ufun4.m, mimics the elemental behavior of a function of 4 arguments.
• umodpi.m, reduces |z| mod pi.