ó
Ąź\c           @  sÚ   d  Z  d d l m Z m Z d d l m Z d d l m Z m Z d d l	 m
 Z
 d d l m Z m Z d e f d     YZ d	 e f d
     YZ d e f d     YZ d e f d     YZ d e f d     YZ d S(   s-    This module contains the Mathieu functions.
i˙˙˙˙(   t   print_functiont   division(   t   S(   t   Functiont   ArgumentIndexError(   t   sqrt(   t   sint   cost   MathieuBasec           B  s   e  Z d  Z e Z d   Z RS(   si   
    Abstract base class for Mathieu functions.

    This class is meant to reduce code duplication.
    c         C  s7   |  j  \ } } } |  j | j   | j   | j    S(   N(   t   argst   funct	   conjugate(   t   selft   at   qt   z(    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyt   _eval_conjugate   s    (   t   __name__t
   __module__t   __doc__t   Truet
   unbranchedR   (    (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR      s   t   mathieusc           B  s)   e  Z d  Z d d  Z e d    Z RS(   sž  
    The Mathieu Sine function `S(a,q,z)`. This function is one solution
    of the Mathieu differential equation:

    .. math ::
        y(x)^{\prime\prime} + (a - 2 q \cos(2 x)) y(x) = 0

    The other solution is the Mathieu Cosine function.

    Examples
    ========

    >>> from sympy import diff, mathieus
    >>> from sympy.abc import a, q, z

    >>> mathieus(a, q, z)
    mathieus(a, q, z)

    >>> mathieus(a, 0, z)
    sin(sqrt(a)*z)

    >>> diff(mathieus(a, q, z), z)
    mathieusprime(a, q, z)

    See Also
    ========

    mathieuc: Mathieu cosine function.
    mathieusprime: Derivative of Mathieu sine function.
    mathieucprime: Derivative of Mathieu cosine function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Mathieu_function
    .. [2] http://dlmf.nist.gov/28
    .. [3] http://mathworld.wolfram.com/MathieuBase.html
    .. [4] http://functions.wolfram.com/MathieuandSpheroidalFunctions/MathieuS/
    i   c         C  sA   | d k r. |  j  \ } } } t | | |  St |  |   d  S(   Ni   (   R	   t   mathieusprimeR   (   R   t   argindexR   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyt   fdiffC   s    c         C  sN   | j  r, | t j k r, t t |  |  S| j   rJ |  | | |  Sd  S(   N(   t	   is_NumberR   t   ZeroR   R   t   could_extract_minus_sign(   t   clsR   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyt   evalJ   s    (   R   R   R   R   t   classmethodR   (    (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR      s   't   mathieucc           B  s)   e  Z d  Z d d  Z e d    Z RS(   sš  
    The Mathieu Cosine function `C(a,q,z)`. This function is one solution
    of the Mathieu differential equation:

    .. math ::
        y(x)^{\prime\prime} + (a - 2 q \cos(2 x)) y(x) = 0

    The other solution is the Mathieu Sine function.

    Examples
    ========

    >>> from sympy import diff, mathieuc
    >>> from sympy.abc import a, q, z

    >>> mathieuc(a, q, z)
    mathieuc(a, q, z)

    >>> mathieuc(a, 0, z)
    cos(sqrt(a)*z)

    >>> diff(mathieuc(a, q, z), z)
    mathieucprime(a, q, z)

    See Also
    ========

    mathieus: Mathieu sine function
    mathieusprime: Derivative of Mathieu sine function
    mathieucprime: Derivative of Mathieu cosine function

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Mathieu_function
    .. [2] http://dlmf.nist.gov/28
    .. [3] http://mathworld.wolfram.com/MathieuBase.html
    .. [4] http://functions.wolfram.com/MathieuandSpheroidalFunctions/MathieuC/
    i   c         C  sA   | d k r. |  j  \ } } } t | | |  St |  |   d  S(   Ni   (   R	   t   mathieucprimeR   (   R   R   R   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR   |   s    c         C  sM   | j  r, | t j k r, t t |  |  S| j   rI |  | | |  Sd  S(   N(   R   R   R   R   R   R   (   R   R   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR      s    (   R   R   R   R   R   R   (    (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR    S   s   'R   c           B  s)   e  Z d  Z d d  Z e d    Z RS(   sř  
    The derivative `S^{\prime}(a,q,z)` of the Mathieu Sine function.
    This function is one solution of the Mathieu differential equation:

    .. math ::
        y(x)^{\prime\prime} + (a - 2 q \cos(2 x)) y(x) = 0

    The other solution is the Mathieu Cosine function.

    Examples
    ========

    >>> from sympy import diff, mathieusprime
    >>> from sympy.abc import a, q, z

    >>> mathieusprime(a, q, z)
    mathieusprime(a, q, z)

    >>> mathieusprime(a, 0, z)
    sqrt(a)*cos(sqrt(a)*z)

    >>> diff(mathieusprime(a, q, z), z)
    (-a + 2*q*cos(2*z))*mathieus(a, q, z)

    See Also
    ========

    mathieus: Mathieu sine function
    mathieuc: Mathieu cosine function
    mathieucprime: Derivative of Mathieu cosine function

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Mathieu_function
    .. [2] http://dlmf.nist.gov/28
    .. [3] http://mathworld.wolfram.com/MathieuBase.html
    .. [4] http://functions.wolfram.com/MathieuandSpheroidalFunctions/MathieuSPrime/
    i   c         C  s[   | d k rH |  j  \ } } } d | t d |  | t | | |  St |  |   d  S(   Ni   i   (   R	   R   R   R   (   R   R   R   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR   ľ   s    *c         C  sW   | j  r6 | t j k r6 t |  t t |  |  S| j   rS |  | | |  Sd  S(   N(   R   R   R   R   R   R   (   R   R   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR   ź   s    (   R   R   R   R   R   R   (    (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR      s   'R!   c           B  s)   e  Z d  Z d d  Z e d    Z RS(   s÷  
    The derivative `C^{\prime}(a,q,z)` of the Mathieu Cosine function.
    This function is one solution of the Mathieu differential equation:

    .. math ::
        y(x)^{\prime\prime} + (a - 2 q \cos(2 x)) y(x) = 0

    The other solution is the Mathieu Sine function.

    Examples
    ========

    >>> from sympy import diff, mathieucprime
    >>> from sympy.abc import a, q, z

    >>> mathieucprime(a, q, z)
    mathieucprime(a, q, z)

    >>> mathieucprime(a, 0, z)
    -sqrt(a)*sin(sqrt(a)*z)

    >>> diff(mathieucprime(a, q, z), z)
    (-a + 2*q*cos(2*z))*mathieuc(a, q, z)

    See Also
    ========

    mathieus: Mathieu sine function
    mathieuc: Mathieu cosine function
    mathieusprime: Derivative of Mathieu sine function

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Mathieu_function
    .. [2] http://dlmf.nist.gov/28
    .. [3] http://mathworld.wolfram.com/MathieuBase.html
    .. [4] http://functions.wolfram.com/MathieuandSpheroidalFunctions/MathieuCPrime/
    i   c         C  s[   | d k rH |  j  \ } } } d | t d |  | t | | |  St |  |   d  S(   Ni   i   (   R	   R   R    R   (   R   R   R   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR   î   s    *c         C  sY   | j  r7 | t j k r7 t |  t t |  |  S| j   rU |  | | |  Sd  S(   N(   R   R   R   R   R   R   (   R   R   R   R   (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR   ő   s    (   R   R   R   R   R   R   (    (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyR!   Ĺ   s   'N(   R   t
   __future__R    R   t
   sympy.coreR   t   sympy.core.functionR   R   t(   sympy.functions.elementary.miscellaneousR   t(   sympy.functions.elementary.trigonometricR   R   R   R   R    R   R!   (    (    (    sH   lib/python2.7/site-packages/sympy/functions/special/mathieu_functions.pyt   <module>   s   999