Elliptic functions
------------------

.. automodule:: mpmath.functions.elliptic
   :no-index:


Elliptic arguments
...................................................

:func:`~mpmath.qfrom`
^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.qfrom(**kwargs)

:func:`~mpmath.qbarfrom`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.qbarfrom(**kwargs)

:func:`~mpmath.mfrom`
^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.mfrom(**kwargs)

:func:`~mpmath.kfrom`
^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.kfrom(**kwargs)

:func:`~mpmath.taufrom`
^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.taufrom(**kwargs)


Legendre elliptic integrals
...................................................

:func:`~mpmath.ellipk`
^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.ellipk(m, **kwargs)

:func:`~mpmath.ellipf`
^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.ellipf(phi, m)

:func:`~mpmath.ellipe`
^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.ellipe(*args)

:func:`~mpmath.ellippi`
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.ellippi(*args)


Carlson symmetric elliptic integrals
...................................................

:func:`~mpmath.elliprf`
^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.elliprf(x, y, z)

:func:`~mpmath.elliprc`
^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.elliprc(x, y, pv=True)

:func:`~mpmath.elliprj`
^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.elliprj(x, y, z, p)

:func:`~mpmath.elliprd`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.elliprd(x, y, z)

:func:`~mpmath.elliprg`
^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.elliprg(x, y, z)


Jacobi theta functions
......................

:func:`~mpmath.jtheta`
^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.jtheta(n,z,q,derivative=0)


Jacobi elliptic functions
.................................................................

:func:`~mpmath.ellipfun`
^^^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.ellipfun(kind,u=None,m=None,q=None,k=None,tau=None)


Modular functions
......................

:func:`~mpmath.eta`
^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.eta(tau)

:func:`~mpmath.kleinj`
^^^^^^^^^^^^^^^^^^^^^^^
.. autofunction:: mpmath.kleinj(tau=None, **kwargs)
