ó
¡¼™\c           @   sÀ  d  d l  m Z d  d l m Z m Z m Z d  d l m	 Z	 m
 Z
 m Z m Z d  d l m Z m Z m Z d  d l m Z d  d l m Z e d d e d	 e ƒ\ Z Z Z Z Z e d
 d e ƒ\ Z Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d  „  Z3 d! „  Z4 d" „  Z5 d# „  Z6 d$ „  Z7 d% „  Z8 d& „  Z9 d' S((   iÿÿÿÿ(   t   Sum(   t   deltaproductt   deltasummationt   _extract_delta(   t   Eqt   St   symbolst   oo(   t   KroneckerDeltat	   Piecewiset   piecewise_fold(   t   And(   t   raisess	   i j k l mt   integert   finites   x yt   commutativec           C   sr  t  t t d d f ƒ d k s$ t ‚ t  t t d d f ƒ t d k sL t ‚ t  t t t d d f ƒ t t d k s| t ‚ t  t t t d d f ƒ t t d k s¬ t ‚ t  t t t ƒ t d d f ƒ t t t ƒ k sâ t ‚ t  t t t t ƒ t d d f ƒ t d t t t ƒ k s$t ‚ t  t t t t t ƒ t d d f ƒ t t d t t t ƒ k snt ‚ d  S(   Ni   i    i   (   t   dpt   xt   jt   AssertionErrort   yt   KDt   it   k(    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltaproduct_trivial   s    $(006Bc           C   sÇ  t  t t t ƒ t d d f ƒ d k s- t ‚ t  t t t ƒ t d d f ƒ t t d ƒ k sc t ‚ t  t t t ƒ t d d f ƒ t t d ƒ k s™ t ‚ t  t t t ƒ t d d f ƒ t t d ƒ k sÏ t ‚ t  t t t ƒ t d t f ƒ t t d ƒ t t d ƒ t t d ƒ k st ‚ t  t t t ƒ t t d f ƒ t t d ƒ t t d ƒ t t d ƒ k sot ‚ t  t t t ƒ t t t f ƒ t t t ƒ t t t ƒ t t t d ƒ k sÃt ‚ d  S(   Ni   i   i    i   i   (   R   R   R   R   R   R   t   l(    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltaproduct_basic   s    -666PPc           C   sû  t  t t t t ƒ t d d f ƒ d k s1 t ‚ t  t t t t ƒ t d d f ƒ t t t d ƒ k so t ‚ t  t t t t ƒ t d d f ƒ t t t d ƒ k s­ t ‚ t  t t t t ƒ t d d f ƒ t t t d ƒ k së t ‚ t  t t t t ƒ t d t f ƒ t t t d ƒ t t d ƒ t t d ƒ k sCt ‚ t  t t t t ƒ t t d f ƒ t t t d ƒ t t d ƒ t t d ƒ k s›t ‚ t  t t t t ƒ t t t f ƒ t t t t ƒ t t t ƒ t t t d ƒ k s÷t ‚ d  S(   Ni   i   i    i   i   (   R   R   R   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltaproduct_mul_x_kd    s    1>>>XXc           C   s/  t  t t t t t ƒ t d d f ƒ d k s5 t ‚ t  t t t t t ƒ t d d f ƒ t t t t d ƒ k s{ t ‚ t  t t t t t ƒ t d d f ƒ t t t t d ƒ k sÁ t ‚ t  t t t t t ƒ t d d f ƒ t t t t d ƒ k st ‚ t  t t t t t ƒ t d t f ƒ t t t t d ƒ t t d ƒ t t d ƒ k sgt ‚ t  t t t t t ƒ t t d f ƒ t t t t d ƒ t t d ƒ t t d ƒ k sÇt ‚ t  t t t t t ƒ t t t f ƒ t t t t t ƒ t t t ƒ t t t d ƒ k s+t ‚ d  S(   Ni   i   i    i   i   (	   R   R   R   R   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt    test_deltaproduct_mul_add_x_y_kd*   s    5FFF&:&:&c           C   s‘  t  t t t ƒ t t t ƒ t d d f ƒ d k s: t ‚ t  t t t ƒ t t t ƒ t d d f ƒ t t d ƒ t t d ƒ k sŠ t ‚ t  t t t ƒ t t t ƒ t d d f ƒ t t d ƒ t t d ƒ k sÚ t ‚ t  t t t ƒ t t t ƒ t d d f ƒ t t d ƒ t t d ƒ k s*t ‚ t  t t t ƒ t t t ƒ t d t f ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ k sït ‚ t  t t t ƒ t t t ƒ t t d f ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ t t d ƒ k s´t ‚ t  t t t ƒ t t t ƒ t t t f ƒ t t t d ƒ t t t ƒ t t t ƒ t t t ƒ t t t ƒ t t t ƒ t t t d ƒ t t t d ƒ t t t d ƒ t t t ƒ t t t d ƒ k st ‚ d  S(   Ni   i   i    i   i   (   R   R   R   R   R   R   R   t   m(    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltaproduct_add_kd_kd7   s    :PPP+š+š+c           C   s  t  t t t t ƒ t t t ƒ t d d f ƒ d k s> t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t d ƒ t t d ƒ k s– t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t d ƒ t t d ƒ k sî t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t d ƒ t t d ƒ k sFt ‚ t  t t t t ƒ t t t ƒ t d t f ƒ t t d ƒ t t t d ƒ t t d ƒ t t t d ƒ t t d ƒ t d t t d ƒ t t d ƒ t t d ƒ t d t t d ƒ t t d ƒ t t d ƒ k s't ‚ t  t t t t ƒ t t t ƒ t t d f ƒ t t d ƒ t t t d ƒ t t d ƒ t t t d ƒ t t d ƒ t d t t d ƒ t t d ƒ t t d ƒ t d t t d ƒ t t d ƒ t t d ƒ k st ‚ t  t t t t ƒ t t t ƒ t t t f ƒ t t t d ƒ t t t t ƒ t t t ƒ t t t t ƒ t t t ƒ t d t t t d ƒ t t t ƒ t t t d ƒ t d t t t ƒ t t t d ƒ t t t d ƒ k sýt ‚ d  S(   Ni   i   i    i   i   (	   R   R   R   R   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt!   test_deltaproduct_mul_x_add_kd_kdG   s    >XXX/²/²/ƒc           C   sY  t  t t t t t ƒ t t t ƒ t d d f ƒ d k sB t ‚ t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t d ƒ t t d ƒ k s¢ t ‚ t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t d ƒ t t d ƒ k st ‚ t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t d ƒ t t d ƒ k sbt ‚ t  t t t t t ƒ t t t ƒ t d t f ƒ t t d ƒ t t t t d ƒ t t d ƒ t t t t d ƒ t t d ƒ t t d t t d ƒ t t d ƒ t t d ƒ t t d t t d ƒ t t d ƒ t t d ƒ k sWt ‚ t  t t t t t ƒ t t t ƒ t t d f ƒ t t d ƒ t t t t d ƒ t t d ƒ t t t t d ƒ t t d ƒ t t d t t d ƒ t t d ƒ t t d ƒ t t d t t d ƒ t t d ƒ t t d ƒ k sLt ‚ t  t t t t t ƒ t t t ƒ t t t	 f ƒ t t t	 d ƒ t t t t t	 ƒ t t t	 ƒ t t t t t	 ƒ t t t	 ƒ t t d t t t	 d ƒ t t t	 ƒ t t t	 d ƒ t t d t t t	 ƒ t t t	 d ƒ t t t	 d ƒ k sUt ‚ d  S(   Ni   i   i    i   i   (
   R   R   R   R   R   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt'   test_deltaproduct_mul_add_x_y_add_kd_kdX   s     B3-3-3-3ƒ?3ƒ?3c           C   sK  t  t t t t t t ƒ t d d f ƒ t t d t t t d t t d ƒ t t t t t t t d ƒ t t d t t t d ƒ k sœ t ‚ t  t t t t t t ƒ t d d f ƒ t t t t t d ƒ k sê t ‚ t  t t t t t t ƒ t d d f ƒ t t t t t d ƒ k s8t ‚ t  t t t t t t ƒ t d d f ƒ t t t t t d ƒ k s†t ‚ t  t t t t t t ƒ t d t f ƒ t t t t t t t d t t t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ k st ‚ t  t t t t t t ƒ t t d f ƒ t t t d t t t t t t t t d t t	 t t k t d k ƒ f d t f ƒ k s¯t ‚ t  t t t t t t ƒ t t t f ƒ t t t t d t t t t t t t t t t t	 t t k t t k ƒ f d t f ƒ k sGt ‚ d  S(   Ni   i   i   i    i   (   R   R   R   R   R   R   R   R   R	   R   R   t   TrueR   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt&   test_deltaproduct_add_mul_x_y_mul_x_kdn   s"    *rNNN*D*>*>c           C   s#  t  t t t t t ƒ t d d f ƒ t t d t t t d t t d ƒ t t t t t t t d ƒ t t d t t t d ƒ k s˜ t ‚ t  t t t t t ƒ t d d f ƒ t t t t d ƒ k sÞ t ‚ t  t t t t t ƒ t d d f ƒ t t t t d ƒ k s$t ‚ t  t t t t t ƒ t d d f ƒ t t t t d ƒ k sjt ‚ t  t t t t t ƒ t d t f ƒ t t t t t t t d t t t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ k sût ‚ t  t t t t t ƒ t t d f ƒ t t t d t t t t t t t t d t t	 t t k t d k ƒ f d t f ƒ k s‹t ‚ t  t t t t t ƒ t t t f ƒ t t t t d t t t t t t t t t t t	 t t k t t k ƒ f d t f ƒ k st ‚ d  S(   Ni   i   i   i    i   (   R   R   R   R   R   R   R   R   R	   R   R   R!   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt    test_deltaproduct_mul_x_add_y_kd…   s"    &rFFF&D&>&>c           C   sc  t  t t d t t t ƒ t d d f ƒ t t d d t t t d t t d ƒ d t t t t t t t d ƒ d t t d t t t d ƒ k s¨ t ‚ t  t t d t t t ƒ t d d f ƒ t t d t t d ƒ k sö t ‚ t  t t d t t t ƒ t d d f ƒ t t d t t d ƒ k sDt ‚ t  t t d t t t ƒ t d d f ƒ t t d t t d ƒ k s’t ‚ t  t t d t t t ƒ t d t f ƒ t t t t d t t t d t t t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ k s+t ‚ t  t t d t t t ƒ t t d f ƒ t t t d t d t t t t t t t d t t	 t t k t d k ƒ f d t f ƒ k sÃt ‚ t  t t d t t t ƒ t t t f ƒ t t t t d t d t t t t t t t t t t	 t t k t t k ƒ f d t f ƒ k s_t ‚ d  S(   Ni   i   i   i    i   (   R   R   R   R   R   R   R   R   R	   R   R   R!   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt#   test_deltaproduct_mul_x_add_y_twokdœ   s"    *~NNN*H*B*Bc           C   s—  t  t t t t t t ƒ t d d f ƒ t t t d t t t t t d t t d ƒ t t t t t d t t t d ƒ t t t d t t t t d ƒ k s¸ t ‚ t  t t t t t t ƒ t d d f ƒ t t t t t d ƒ k st ‚ t  t t t t t t ƒ t d d f ƒ t t t t t d ƒ k sTt ‚ t  t t t t t t ƒ t d d f ƒ t t t t t d ƒ k s¢t ‚ t  t t t t t t ƒ t d t f ƒ t t t t t t t t t d t t t t t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ k sGt ‚ t  t t t t t t ƒ t t d f ƒ t t t t d t t t t t t t t t t t d t t	 t t k t d k ƒ f d t f ƒ k sët ‚ t  t t t t t t ƒ t t t f ƒ t t t t t d t t t t t t t t t t t t t t	 t t k t t k ƒ f d t f ƒ k s“t ‚ d  S(   Ni   i   i   i    i   (   R   R   R   R   R   R   R   R   R	   R   R   R!   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt&   test_deltaproduct_mul_add_x_y_add_y_kd³   s*    *]1NNN*/!*/*/c           C   sž  t  t t t t ƒ t t t t ƒ t d d f ƒ t t d ƒ t t t ƒ t t t t ƒ t t d t t d ƒ t t t ƒ t t t t t ƒ t d t t t d ƒ t t t ƒ t t d t t t ƒ t t t t ƒ t t d k s t ‚ t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t ƒ t t t d ƒ k s`t ‚ t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t ƒ t t t d ƒ k sÀt ‚ t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t ƒ t t t d ƒ k s t ‚ t  t t t t ƒ t t t t ƒ t d t f ƒ t t t t ƒ t t t t t t t ƒ t t d t t t t ƒ t t t t ƒ t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ k sót ‚ t  t t t t ƒ t t t t ƒ t t d f ƒ t t t t ƒ t d t t t t t t ƒ t t t t t t t ƒ t t t t ƒ t t d t	 t t k t d k ƒ f d t f ƒ k sÄt ‚ t  t t t t ƒ t t t t ƒ t t t f ƒ t t t t ƒ t t t d t t t t t ƒ t t t t t t t ƒ t t t t ƒ t t t t	 t t k t t k ƒ f d t f ƒ k sšt ‚ d  S(   Ni   i   i   i    i   (   R   R   R   R   R   R   R   R   R	   R   R   R!   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt'   test_deltaproduct_mul_add_x_kd_add_y_kdÏ   s0    3¨%3-3-3-3-?3-93$-9c           C   sv  t  t t d d f ƒ d k s$ t ‚ t  t t d d f ƒ d t k sL t ‚ t  t t t d d f ƒ d t t k s| t ‚ t  t t t d d f ƒ d t t k s¬ t ‚ t  t t t ƒ t d d f ƒ d t t t ƒ k sæ t ‚ t  t t t t ƒ t d d f ƒ d t t t t ƒ k s(t ‚ t  t t t t t ƒ t d d f ƒ d t t t t t ƒ k srt ‚ d  S(   Ni   i    i   (   t   dsR   R   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltasummation_trivialï   s    $(00:Bc          C   s9  t  d d t d t ƒ}  t t |  d ƒ |  d d f ƒ d k sE t ‚ t t t d t d ƒ t t t f ƒ t t t d t d ƒ t t t f ƒ k sŸ t ‚ t	 t t t
 ƒ t t d ƒ t k t d k ƒ f d t f ƒ t t t t ƒ t t t
 ƒ t d d f ƒ k o?t t t t
 ƒ t t t ƒ t d d f ƒ k n sJt ‚ t t t t
 ƒ t
 t t f ƒ d k sxt ‚ t t t t
 ƒ t
 d t f ƒ t	 d t d ƒ t k f d t f ƒ k sÆt ‚ t t t t
 ƒ t
 d d f ƒ t	 d t t d ƒ t k t d k ƒ f d t f ƒ k s#t ‚ t t
 t t t ƒ t t t
 ƒ t
 t t f ƒ t t t t ƒ k sot ‚ t t t t t ƒ t t t f ƒ t k s¡t ‚ t t t t t ƒ t t t f ƒ t k sÓt ‚ t t t d d f ƒ d t k sût ‚ t t t t t t ƒ t t t f ƒ d t k s5t ‚ d  S(   Nt   nR   t   nonzeroi    i   i   i   (   R   R!   R'   R   R   R   R   R   R    R	   R   R   R   R   (   R)   (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt#   test_deltasummation_basic_numericalù   s     -'3<3<.N?L22(c           C   sM  t  t t t ƒ t d d f ƒ t d t t d ƒ t k t d k ƒ f d t f ƒ k s] t ‚ t  t t t ƒ t d d f ƒ t d t	 t d ƒ f d t f ƒ k s¨ t ‚ t  t t t ƒ t d d f ƒ t d t	 t d ƒ f d t f ƒ k só t ‚ t  t t t ƒ t d d f ƒ t d t	 t d ƒ f d t f ƒ k s>t ‚ t  t t t ƒ t d t
 f ƒ t d t t d ƒ t k t t
 k ƒ f d t f ƒ k s›t ‚ t  t t t ƒ t t
 d f ƒ t d t t
 t k t d k ƒ f d t f ƒ k sòt ‚ t  t t t ƒ t t
 t f ƒ t d t t
 t k t t k ƒ f d t f ƒ k sIt ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt"   test_deltasummation_basic_symbolic  s    ?KKK?9c           C   si  t  t t t t ƒ t d d f ƒ t t t t d ƒ t k t d k ƒ f d t f ƒ k sa t	 ‚ t  t t t t ƒ t d d f ƒ t t t
 t d ƒ f d t f ƒ k s° t	 ‚ t  t t t t ƒ t d d f ƒ t t t
 t d ƒ f d t f ƒ k sÿ t	 ‚ t  t t t t ƒ t d d f ƒ t t t
 t d ƒ f d t f ƒ k sNt	 ‚ t  t t t t ƒ t d t f ƒ t t t t d ƒ t k t t k ƒ f d t f ƒ k s¯t	 ‚ t  t t t t ƒ t t d f ƒ t t t t t k t d k ƒ f d t f ƒ k s
t	 ‚ t  t t t t ƒ t t t f ƒ t t t t t k t t k ƒ f d t f ƒ k set	 ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltasummation_mul_x_kd  s    "?OOO"?"9"c           C   s¡  t  t t t t t ƒ t d d f ƒ t t t t t d ƒ t k t d k ƒ f d t	 f ƒ k si t
 ‚ t  t t t t t ƒ t d d f ƒ t t t t t d ƒ f d t	 f ƒ k sÀ t
 ‚ t  t t t t t ƒ t d d f ƒ t t t t t d ƒ f d t	 f ƒ k st
 ‚ t  t t t t t ƒ t d d f ƒ t t t t t d ƒ f d t	 f ƒ k snt
 ‚ t  t t t t t ƒ t d t f ƒ t t t t t d ƒ t k t t k ƒ f d t	 f ƒ k s×t
 ‚ t  t t t t t ƒ t t d f ƒ t t t t t t k t d k ƒ f d t	 f ƒ k s:t
 ‚ t  t t t t t ƒ t t t f ƒ t t t t t t k t t k ƒ f d t	 f ƒ k st
 ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt"   test_deltasummation_mul_add_x_y_kd,  s    &C&1&1&1&C&=&c        	   C   sü  t  t t t ƒ t t t ƒ t d d f ƒ t t d t t d ƒ t k t d k ƒ f d t	 f ƒ t d t t d ƒ t k t d k ƒ f d t	 f ƒ ƒ k s¤ t
 ‚ t  t t t ƒ t t t ƒ t d d f ƒ t t d t t d ƒ f d t	 f ƒ t d t t d ƒ f d t	 f ƒ ƒ k s$t
 ‚ t  t t t ƒ t t t ƒ t d d f ƒ t t d t t d ƒ f d t	 f ƒ t d t t d ƒ f d t	 f ƒ ƒ k s¤t
 ‚ t  t t t ƒ t t t ƒ t d d f ƒ t t d t t d ƒ f d t	 f ƒ t d t t d ƒ f d t	 f ƒ ƒ k s$t
 ‚ t  t t t ƒ t t t ƒ t d t f ƒ t t d t t d ƒ t k t t k ƒ f d t	 f ƒ t d t t d ƒ t k t t k ƒ f d t	 f ƒ ƒ k sÈt
 ‚ t  t t t ƒ t t t ƒ t t d f ƒ t t d t t t k t d k ƒ f d t	 f ƒ t d t t t k t d k ƒ f d t	 f ƒ ƒ k s`t
 ‚ t  t t t ƒ t t t ƒ t t t f ƒ t t d t t t k t t k ƒ f d t	 f ƒ t d t t t k t t k ƒ f d t	 f ƒ ƒ k søt
 ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R   R
   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_deltasummation_add_kd_kd=  s*    .3C.!1.!1.!1.3C.-=.-c        	   C   s  t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t	 d ƒ t k t d k ƒ f d t
 f ƒ t d t t	 d ƒ t k t d k ƒ f d t
 f ƒ ƒ k s¨ t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t d ƒ f d t
 f ƒ t d t t d ƒ f d t
 f ƒ ƒ k s,t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t d ƒ f d t
 f ƒ t d t t d ƒ f d t
 f ƒ ƒ k s°t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t d ƒ f d t
 f ƒ t d t t d ƒ f d t
 f ƒ ƒ k s4t ‚ t  t t t t ƒ t t t ƒ t d t f ƒ t t t t t	 d ƒ t k t t k ƒ f d t
 f ƒ t d t t	 d ƒ t k t t k ƒ f d t
 f ƒ ƒ k sÜt ‚ t  t t t t ƒ t t t ƒ t t d f ƒ t t t t t t k t d k ƒ f d t
 f ƒ t d t t t k t d k ƒ f d t
 f ƒ ƒ k sxt ‚ t  t t t t ƒ t t t ƒ t t t f ƒ t t t t t t k t t k ƒ f d t
 f ƒ t d t t t k t t k ƒ f d t
 f ƒ ƒ k st ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R   R   R
   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt#   test_deltasummation_add_mul_x_kd_kdU  s*    23C2!12!12!123C2-=2-c        	   C   s  t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t	 d ƒ t k t d k ƒ f d t
 f ƒ t t t t	 d ƒ t k t d k ƒ f d t
 f ƒ ƒ k s¨ t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t d ƒ f d t
 f ƒ t t t t d ƒ f d t
 f ƒ ƒ k s,t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t d ƒ f d t
 f ƒ t t t t d ƒ f d t
 f ƒ ƒ k s°t ‚ t  t t t t ƒ t t t ƒ t d d f ƒ t t t t t d ƒ f d t
 f ƒ t t t t d ƒ f d t
 f ƒ ƒ k s4t ‚ t  t t t t ƒ t t t ƒ t d t f ƒ t t t t t	 d ƒ t k t t k ƒ f d t
 f ƒ t t t t	 d ƒ t k t t k ƒ f d t
 f ƒ ƒ k sÜt ‚ t  t t t t ƒ t t t ƒ t t d f ƒ t t t t t t k t d k ƒ f d t
 f ƒ t t t t t k t d k ƒ f d t
 f ƒ ƒ k sxt ‚ t  t t t t ƒ t t t ƒ t t t f ƒ t t t t t t k t t k ƒ f d t
 f ƒ t t t t t k t t k ƒ f d t
 f ƒ ƒ k st ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R   R   R
   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt#   test_deltasummation_mul_x_add_kd_kdm  s*    23C2!12!12!123C2-=2-c        	   C   sl  t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t t	 t
 d ƒ t k t d k ƒ f d t f ƒ t t t t	 t
 d ƒ t k t d k ƒ f d t f ƒ ƒ k s´ t ‚ t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t t t d ƒ f d t f ƒ t t t t t d ƒ f d t f ƒ ƒ k sDt ‚ t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t t t d ƒ f d t f ƒ t t t t t d ƒ f d t f ƒ ƒ k sÔt ‚ t  t t t t t ƒ t t t ƒ t d d f ƒ t t t t t t d ƒ f d t f ƒ t t t t t d ƒ f d t f ƒ ƒ k sdt ‚ t  t t t t t ƒ t t t ƒ t d t f ƒ t t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ t t t t	 t
 d ƒ t k t t k ƒ f d t f ƒ ƒ k st ‚ t  t t t t t ƒ t t t ƒ t t d f ƒ t t t t t	 t t k t d k ƒ f d t f ƒ t t t t	 t t k t d k ƒ f d t f ƒ ƒ k sÀt ‚ t  t t t t t ƒ t t t ƒ t t t f ƒ t t t t t	 t t k t t k ƒ f d t f ƒ t t t t	 t t k t t k ƒ f d t f ƒ ƒ k sht ‚ d  S(   Ni   i   i    i   (   R'   R   R   R   R   R   R   R
   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt)   test_deltasummation_mul_add_x_y_add_kd_kd…  s*    67G6%56%56%567G61A61c           C   s-  t  t t t t t t ƒ t d d f ƒ t d t t t t t d ƒ t k t d k ƒ f d t t t	 f ƒ k s} t
 ‚ t  t t t t t t ƒ t d d f ƒ t t t t t t d ƒ f t t t	 f ƒ k sà t
 ‚ t  t t t t t t ƒ t d d f ƒ t t t t t t d ƒ f t t t	 f ƒ k sCt
 ‚ t  t t t t t t ƒ t d d f ƒ t t t t t t d ƒ f t t t	 f ƒ k s¦t
 ‚ t  t t t t t t ƒ t d t f ƒ t t t t t t t d ƒ t k t t k ƒ f t t t t	 f ƒ k s#t
 ‚ t  t t t t t t ƒ t t d f ƒ t d t t t t t t t k t d k ƒ f d t t t t	 f ƒ k s¢t
 ‚ t  t t t t t t ƒ t t t f ƒ t t t d t t t t t t k t t k ƒ f t t d t t t	 f ƒ k s)t
 ‚ d  S(   Ni   i   i   i   (   R'   R   R   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt(   test_deltasummation_add_mul_x_y_mul_x_kd  s    *S*9*9*9*S*U-c           C   s  t  t t t t t ƒ t d d f ƒ t d t t t t t d ƒ t k t d k ƒ f d t t t	 f ƒ k sy t
 ‚ t  t t t t t ƒ t d d f ƒ t t t t t t d ƒ f t t t	 f ƒ k sØ t
 ‚ t  t t t t t ƒ t d d f ƒ t t t t t t d ƒ f t t t	 f ƒ k s7t
 ‚ t  t t t t t ƒ t d d f ƒ t t t t t t d ƒ f t t t	 f ƒ k s–t
 ‚ t  t t t t t ƒ t d t f ƒ t t t t t t t d ƒ t k t t k ƒ f t t t t	 f ƒ k st
 ‚ t  t t t t t ƒ t t d f ƒ t d t t t t t t t k t d k ƒ f d t t t t	 f ƒ k sŠt
 ‚ t  t t t t t ƒ t t t f ƒ t t t d t t t t t t k t t k ƒ f t t d t t t	 f ƒ k st
 ‚ d  S(   Ni   i   i   i   (   R'   R   R   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt"   test_deltasummation_mul_x_add_y_kd®  s    &S&9&9&9&S&U)c           C   sI  t  t t d t t t ƒ t d d f ƒ t d t t d t t t d ƒ t k t d k ƒ f d t t t	 f ƒ k s t
 ‚ t  t t d t t t ƒ t d d f ƒ t t t d t t t d ƒ f t t t	 f ƒ k sè t
 ‚ t  t t d t t t ƒ t d d f ƒ t t t d t t t d ƒ f t t t	 f ƒ k sOt
 ‚ t  t t d t t t ƒ t d d f ƒ t t t d t t t d ƒ f t t t	 f ƒ k s¶t
 ‚ t  t t d t t t ƒ t d t f ƒ t t t t d t t t d ƒ t k t t k ƒ f t t t t	 f ƒ k s7t
 ‚ t  t t d t t t ƒ t t d f ƒ t d t t t d t t t t k t d k ƒ f d t t t t	 f ƒ k sºt
 ‚ t  t t d t t t ƒ t t t f ƒ t t t d t t d t t t t k t t k ƒ f t t d t t t	 f ƒ k sEt
 ‚ d  S(   Ni   i   i   i   (   R'   R   R   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt%   test_deltasummation_mul_x_add_y_twokd¿  s    *W*=*=*=*W-V-c           C   s  t  t t t t t t ƒ t d d f ƒ t d t t t t t t t d ƒ t k t d k ƒ f d t t t t	 f ƒ k s‰ t
 ‚ t  t t t t t t ƒ t d d f ƒ t t t t t t t t d ƒ f t t t t	 f ƒ k sø t
 ‚ t  t t t t t t ƒ t d d f ƒ t t t t t t t t d ƒ f t t t t	 f ƒ k sgt
 ‚ t  t t t t t t ƒ t d d f ƒ t t t t t t t t d ƒ f t t t t	 f ƒ k sÖt
 ‚ t  t t t t t t ƒ t d t f ƒ t t t t t t t t t d ƒ t k t t k ƒ f t t t t t	 f ƒ k s_t
 ‚ t  t t t t t t ƒ t t d f ƒ t d t t t t t t t t t k t d k ƒ f d t t t t t	 f ƒ k sêt
 ‚ t  t t t t t t ƒ t t t f ƒ t t t d t t t t t t t t k t t k ƒ f t t d t t t t	 f ƒ k s}t
 ‚ d  S(   Ni   i   i   i   (   R'   R   R   R   R   R   R	   R   R   R!   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt(   test_deltasummation_mul_add_x_y_add_y_kdÐ  s     -\*E*E*E-\-6(-:c           C   s  t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t t ƒ t t	 t
 d ƒ t k t d k ƒ f d t f ƒ d t t t ƒ t t ƒ k sž t ‚ t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t t ƒ t t t d ƒ f d t f ƒ t t t ƒ t t ƒ k s&t ‚ t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t t ƒ t t t d ƒ f d t f ƒ t t t ƒ t t ƒ k s®t ‚ t  t t t t ƒ t t t t ƒ t d d f ƒ t t t t t ƒ t t t d ƒ f d t f ƒ t t t ƒ t t ƒ k s6t ‚ t  t t t t ƒ t t t t ƒ t d t f ƒ t t t t t ƒ t t	 t
 d ƒ t k t t k ƒ f d t f ƒ t t t t ƒ t t ƒ k sÔt ‚ t  t t t t ƒ t t t t ƒ t t d f ƒ t t t t t ƒ t t	 t t k t d k ƒ f d t f ƒ d t t t t ƒ t t ƒ k spt ‚ t  t t t t ƒ t t t t ƒ t t t f ƒ t t t t t ƒ t t	 t t k t t k ƒ f d t f ƒ t t d t t t ƒ t t ƒ k st ‚ d  S(   Ni   i   i    i   i   (   R'   R   R   R   R   R   R   R
   R	   R   R   R!   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt)   test_deltasummation_mul_add_x_kd_add_y_kdã  s*    6@(6.$6.$6.$6@(6:,6:c           C   s   t  t d „  ƒ d  S(   Nc           S   s#   t  t t t ƒ t t t ƒ t ƒ S(   N(   R   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   <lambda>ü  t    (   R   t
   ValueError(    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   test_extract_deltaû  s    N(:   t   sympy.concreteR    t   sympy.concrete.deltaR   R   R   R'   R   t
   sympy.coreR   R   R   R   t   sympy.functionsR   R   R	   R
   t   sympy.logicR   t   sympy.utilities.pytestR   R!   R   R   R   R   R   t   FalseR   R   R   R   R   R   R   R   R    R"   R#   R$   R%   R&   R(   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R;   (    (    (    s>   lib/python2.7/site-packages/sympy/concrete/tests/test_delta.pyt   <module>   sD   "'	
	
	
									 	
													