ó
~9­\c           @   s§  d  d l  Z  d  d l m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z  d  d l! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' d  d l( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< d  d l= m> Z> m? Z? m@ Z@ mA ZA d  d lB mC ZC mD ZD d  d lE mF ZF mG ZG d  d lH mI ZI mJ ZJ mK ZK mL ZL mM ZM d  d	 lN mO ZO d  d
 lP mQ ZQ d  d lR mS ZS d  d lT mU ZU d  d lV mW ZW mX ZX mY ZY mZ ZZ m[ Z[ m\ Z\ m] Z] m^ Z^ e, e- e* e+ f Z_ d   Z` d   Za d   Zb d   Zc d   Zd d   Ze d   Zf d   Zg d   Zh d   Zi d   Zj d   Zk d   Zl d   Zm d   Zn d   Zo d   Zp d   Zq d    Zr d!   Zs d"   Zt d#   Zu d$   Zv d%   Zw d&   Zx d'   Zy d(   Zz d)   Z{ d*   Z| d+   Z} d,   Z~ d-   Z d.   Z d/   Z d0   Z d1   Z d2   Z d3   Z d4   Z d5   Z d6   Z d7   Z d8   Z d9   Z d:   Z d;   Z d<   Z d=   Z d>   Z d?   Z d@   Z dA   Z dB   Z dC   Z dD   Z dE   Z dF   Z dG   Z dH   Z dI   Z dJ   Z dK   Z dL   Z dM   Z dN   Z  dO   Z¡ dP   Z¢ dQ   Z£ dR   Z€ dS   Z¥ eJ dT    ZŠ dU   Z§ dV   Zš dW   Z© dX   Zª dY   Z« dZ   Z¬ d[   Z­ d\   Z® d]   Z¯ d^   Z° d_   Z± d`   Z² da   Z³ db   ZŽ dc   Zµ dd   Z¶ de   Z· df   Zž dg   Z¹ dh   Zº di   Z» dj   ZŒ dk   Zœ dl   ZŸ dm   Z¿ dn   ZÀ do   ZÁ dp   ZÂ dq   ZÃ dr   ZÄ ds   ZÅ dt   ZÆ du   ZÇ dv   ZÈ dw   ZÉ dx   ZÊ dy   ZË dz   ZÌ d{   ZÍ d|   ZÎ d}   ZÏ d~   ZÐ d   ZÑ d   ZÒ d   ZÓ d   ZÔ d   ZÕ d   ZÖ eJ 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ã eJ d    Zä d   Zå d   Zæ d   Zç d   Zè d   Zé d   Zê d   Zë d   Zì d   Zí d   Zî d   Zï eJ 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ÿ eK d®    Z d¯   Zd°   Zd±   Zd²   Zd³   ZdŽ   Zdµ   Zd¶   Zd·   Z	dž   Z
d S(¹   iÿÿÿÿN(   t   Abst   Addt   Et   Floatt   It   Integert   Maxt   Mint   Nt   Polyt   Powt   PurePolyt   Rationalt   St   Symbolt   cost   expt
   expand_mult   oot   pit   signsimpt   simplifyt   sint   sqrtt   symbolst   sympifyt   trigsimpt   tant   sstrt   difft   Function(   t
   ShapeErrort   MatrixErrort   NonSquareMatrixErrort   DeferredVectort   _find_reasonable_pivot_naivet	   _simplify(   t   GramSchmidtt   ImmutableMatrixt   ImmutableSparseMatrixt   Matrixt   SparseMatrixt
   casoratiant   diagt   eyet   hessiant   matrix_multiply_elementwiset   onest
   randMatrixt	   rot_axis1t	   rot_axis2t	   rot_axis3t	   wronskiant   zerost   MutableDenseMatrixt   ImmutableDenseMatrixt   MatrixSymbol(   t   longt   iterablet   ranget   Hashable(   t   Tuplet   Wild(   t   flattent   capture(   t   raisest   XFAILt   slowt   skipt   warns_deprecated_sympy(   t   solve(   t   Q(   t   Array(   t   MatPow(   t   at   bt   ct   dt   xt   yt   zt   tc          C   s  xú t  t  D]ì \ }  } | j d d  } | j d k rS t d   | j D  sY t  | j d k r} t | j  t k s t  | j	 d k r§ t | j	  t k s­ t  |  d sÞ t | j
  t t t f k sù t  q t | j  t k s t  q Wd  S(   Ni   i   c         s   s!   |  ] } t  |  t k Vq d  S(   N(   t   typet   int(   t   .0t   i(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>"   s    (   i   i   (   t	   enumeratet   classesR5   t   shapet   allt   AssertionErrort   rowsRR   RS   t   colst   _matt   listt   tupleR=   t   _smatt   dict(   RL   t   clst   m(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_args   s    .**
'c          C   s¶   t  d d t t g  }  |  j t  t  d d t t t t g  k sM t  |  j t  t  d d t t t t g  k s t  |  t t  d d t t t t g  k s² t  d  S(   Ni   i   (   R(   RN   RO   t   __div__RP   RZ   t   __truediv__(   t   v(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_division+   s    55c              sÅ   t  d d d g t t t g d t d t t g g        t  d d d g d t d t d t g d t d d t t g g  k s t  t  d d d d g   t t    f d    d  S(	   Ni   i   i   iÎÿÿÿi   i   iÿÿÿc              s      S(   N(    (    (   Rc   t   n(    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   <lambda>6   t    (   R(   RN   RO   RP   RZ   RA   R   (    (    (   Rc   Ri   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_sum2   s    8Xc          C   sR   t  d d d t g  }  t  d d d t t  g  } t |   | k sN t  d  S(   Ni   i   iýÿÿÿi   (   R(   RN   R    t   absRZ   (   Rc   Ri   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_abs8   s    c          C   so   t  d d f  }  t  d	 d
 f  } |  | |  j |  k o` t  d d g d d g g  k n sk t  d  S(   Ni   i   i   i    i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   R(   t   addRZ   (   RJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_addition=   s    c       
   C   sì  xŒt  t f D]®}  |  d d t d   } | | d  d   d  d   f k sS t  | d d  d   f t  d d d d d g  k s t  | d  d   d f t  d d d g  k s» t  | d d g d  d   f t  d d d g d d d g g  k st  | d d g d f | d d g d g f k s6t  | d d d g f | d g d d g f k skt  | d  d   d d g f t  d d g d d g d	 d g g  k sŽt  | d d k sÊt  | d d  d  d   f t  d d d g d d d g g  k st  | d  d   d d  f t  d d g d d g d	 d g g  k sYt  | d  d  d  d f | d d g d f k st  | d d  d  d  f | d d d g f k sÃt  |  d d t d   } | d d d d d g d  d   f t  d d d g d	 d d
 g d d d g d	 d d
 g d d d g g  k sNt  | d  d   d d d d d g f t  d d d d d g d d d d d g d	 d
 d d
 d g g  k s t  q Wt j d  } d | d <d | d <d | d <| j d d g d g  t  d g d g g  k s%t  | j d d g d d d g  t  d d d g d d d g g  k spt  | j d d d d g d d d d g  t  d d d d g d d d d g d d d d g d d d d g g  k sèt  d  S(   Ni   i	   i   i   i   i   i    i   i   i   (   i    i    (   i   i   (   i    i   (   i   i    (   R(   R)   R;   RZ   R5   t   extract(   t   MRJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_fancy_index_matrixK   sP    (71F55IFI55%%(


!*c             sÍ  t  d d d f    t  d d f      }  |  d d k sG t  |  d d k s] t  |  d d k ss t  |  d d k s t  |  d d k s t  |  d d k sµ t  y t d  Wn t k
 rÖ n X|  d d k sí t  |  d d k st  |  d d k st  |  d d k s/t  |  d d k sEt  |  d d k s[t  t   |   } |   j |   k st  | d d k st  | d  d	 k s±t  | d! d k sÇt  | d" d k sÝt  | d# d k sót  | d$ d k s	t  t t    f d
     t d  }  t	 |  t   sGt  |  d% t
 k s]t  |  d& d t
 k swt  |  d' d t
 k st  |  d( d k s§t  t
  } |  | k sÃt  d  }  t	 |  t   sât  |  d) d k søt  |  d* d+ k st  |  d, d- k s$t  |  d. d k s:t  y t d  Wn t k
 r[nn Xt	 |  t   sqt  |  d/ d k st  |  d0 d1 k st  |  d2 d3 k s³t  |  d4 d k sÉt  d  S(5   Ni   i   i   i    i   i   i   s	   c = a @ bi   c              s   t      S(   N(   R.   (    (   RJ   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj      Rk   RN   i   s	   c = 5 @ b(   i   i   (   i   i   (   i    i   (   i   i   (   i   i    (   i    i    (   i    i   (   i   i    (   i   i   (   i   i    (   i   i   (   i    i    (   i    i   (   i   i    (   i   i   (   i   i    (   i   i   (   i    i    (   i    i   (   i   i    (   i   i   (   i   i    (   i   i   (   i    i    (   i    i   (   i   i    (   i   i   (   i    i    (   i    i   i
   (   i   i    i   (   i   i   (   i    i    (   i    i   i
   (   i   i    i   (   i   i   (   R(   RZ   t   evalt   SyntaxErrorR.   t   multiply_elementwiseRA   R   R   t
   isinstanceRN   (   RL   t   ht   c2(    (   RJ   RK   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_multiplicationw   sp    


c       
      sŒ	  t  t d    t }  t d d g d d g g      d |  d  d |  d	  d |  d
  d |  d  d g k s t    d d d d d g k s¢ t  t d d d g d d d g d d d g g      d d d d d d d d d d g	 k st    d t d  k s t    d   k s6t  t d g g  d dE dF k s\t  t d  d t d  k s~t  t d d g d d g g  t d  t d d  g d! d" g g  k sÊt  t d# d$ g d% d& g g      t d  d d d d d g k st  t d d g d' d g g      t d  d d   k sWt  t d d g d d g g  t d  d t d d g t j d g g  k sªt  t d d g d d g g  d( t d) d g d( d) g g  k sðt  d' d* l	 m
 } m } m  t d | g d d g g   t d |  g d d g g  k sVt  t | | g d | g g   t |  | |  d  g d |  g g  k sŽt  t | d d g d | d g d d | g g   t |  |  d  |  d  d  d g d |  |  d  g d d |  g g  k sZt  t | d d g d | d g d d | g g   t |  |  d  d g d |  d g d d |  g g  k sÜt  t d d g d d g g      j d    j d  k st  t d g g      d  t dG g g  k ot  j d   k ot  j d   k n st  t d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g   t  t  f d+    t  t d,    t d d d g d d d g d d d g g      d- t d d d g d d d g d d d g g  k s{t  t  t   f d.    t  t   f d/    t d d g d d g g      d- t d0 d1 g d2 d3 g g  k sót  t d d d g d d d g d d d g g      d4 t d d d g d d d g d d d g g  k sct  t d d d g d d d g d d d g g      d- t d d d g d d d g d d d g g  k sÓt  t d5 d6 t  t    t  sþt  t d5 d6 t d7 t  t  t    f d8       d t d d d g d d d g d d d g g  k sst  t  t   f d9    t d d d g d d d g d d d g g      d: t d; d< d= g d> d? d@ g dA dB dC g g  k sùt    d:   d k s	t  t d d d g d' d d g d d d g g    t d5        j  d  j     d k s	t  t  t   f dD        d  k sž	t  d  S(H   Nc           S   s   t  d  d S(   Ni   i   (   i   i   (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¿   Rk   i   i   i   i   iýÿÿÿióþÿÿi   i   i3   iãÿÿÿiü  i¡  i,*  i7  i   i   i   i"  i  iû   iÀ  iž  ip  iŸ  iº  i±  i    id   i i   i
   i   i   i!   i   i0   i9   iÿÿÿÿg      à?g      ð?(   RJ   RK   Ri   c              s     j  d  S(   Ni
   (   t   _matrix_pow_by_jordan_blocks(    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   è   Rk   c           S   s%   t  d d g d d g g  j d  S(   Ni   i   iöÿÿÿ(   R(   R{   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ë   Rk   g      $@c              s     d S(   NgÍÌÌÌÌÌ @(    (    (   t   A(    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   î   Rk   c              s     t  d  d S(   Ni   i   (   R   (    (   R|   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ï   Rk   i«ÒòhiÒO<ivïŽ0i¿ógffffff$@Ri   t   integert   nonnegativec              s      S(   N(    (    (   R|   Ri   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ù   Rk   c              s     t  d  d S(   Ni   i   (   R   (    (   R|   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   û   Rk   g      @iš   iH   iY   i#  i   i¡   i<  i  iI  c              s     j   d  j   S(   Niþÿÿÿ(   t   subst   doit(    (   t   AnRi   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   (   i    i    l                i   (   RA   R!   R   R(   RZ   R,   R   R   t   Halft	   sympy.abcRJ   RK   Ri   R{   t   _eval_pow_by_recursionR    t
   ValueErrorR   t   TrueRw   RI   R   R   (   t   RRJ   RK   (    (   R|   R   Rc   Ri   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_powerŸ   s|    K#02&"L-$SFJ^44"4"$2f0@.0@0@D0@0
(c          C   sü  t  t d    t  t d    t  t d    t  t   d t d  d d +Wd  QXt  t   d t d  d <Wd  QXt   t g   k o¹ t g  g  k o¹ t d d g   k n sÄ t  t t d g d d g g  }  |  } | j | j k s t  | j d k st  | t d d d g k s4t  t d d t d d d g  } | } | j | j k spt  | j d k st  | t d d d g k s€t  |  | k s¶t  t |  | k sÎt  t t d d f  d f  } | j d k st  | j d k st  | d d d d	 d d
 d d d g	 k sDt  t t d   t d  k sht  t	 t	 t d    t	 t d   k st  t	 |  | j
   k s¶t  t t	 |   t	 |  j   k sàt  | t |  k	 søt  d  S(   Nc           S   s   t  d d t d   S(   Ni   i   (   R(   R;   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g   S(   Ni   iÿÿÿÿ(   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   	  Rk   c           S   s   t  d  d S(   Ni   i   (   i   i   (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   
  Rk   i   i   i   i   i    i   i   i   i   i	   (   i   i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   i	   (   RA   R   t
   IndexErrorR(   RZ   RN   R\   R[   R,   R&   t   as_immutablet
   as_mutable(   RJ   Rc   RK   RL   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_creation  sB    K	.$0*c          C   st   t  j t  j t t t  j g t t t t d g t t  j t t d g g }  t |   } | j   |  k sp t	  d  S(   Ni   i   (
   R   t   OneR   RN   RO   t   ZeroRP   R(   t   tolistRZ   (   t   lstRc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_tolist5  s    Lc           C   s   t  d d  j   t  d d  k s* t  t  d d  j   t t  d d   k sZ t  t  d d  j   t t  d d   k s t  d  S(   Ni    i   (   R5   R   RZ   R   R&   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_as_mutable;  s    *0c       
      sÇ  xs t    t  d g g  g D]V }  |  j   |  j   k og |  j   k og |  j   k og d k n s t  q Wt  d" d# f  }  |  j d d  d k sŠ t  |  j d d	  d k sÄ t  |  j d d
  d k sâ t  t  t d f t d t f f  }  |  j d d  d t t t k s.t  |  j d d	  d t t t k sXt  |  j d d
  d t t t k st  t  d$ d% d& f  }  |  j d d  d k sµt  |  j d d	  d k sÓt  |  j d d
  d k sñt  t  d' d( d) d* f  }  |  j d d  d k s't  |  j d d	  d k sEt  |  j d d
  d k sct  t  d+ d, d- d. f  }  |  j d d  d k st  |  j d d	  d k s·t  |  j d d
  d k sÕt  t  d/ d0 d1 d2 d3 f  }  |  j d d  d k st  |  j d d	  d k s,t  |  j d d
  d k sJt  t  d4 d5 d6 d7 d8 f  }  |  j d d  d k st  |  j d d	  d k s¡t  |  j d d
  d k s¿t  t  d9 d: d; d< d= f  }  |  j d d  d k søt  |  j d d	  d k st  |  j d d
  d k s4t  t  d> d? d@ dA dB f  }  |  j d d  d k smt  |  j d d	  d k st  |  j d d
  d k s©t  t  t t t f dC t t t f f  }  |  j d d  t d t t k sút  |  j d d	  t d t t k s$t  |  j d d
  t d t t k sNt  t	 d       f d!   }  |  d  j   d k st  |  d  j   d k s¥t  |  d  j   d k sÃt  d  S(D   Ni   iýÿÿÿi   i   iûÿÿÿt   methodt   bareissiÿÿÿÿt	   berkowitzt   lui   i   iþÿÿÿi    i   i   ißþÿÿi   i	   i
   i   i   i   i   i   i   i  iÉÿÿÿiüÿÿÿi-  i{   RJ   c            sD   t  g  t |   D]- } g  t |   D] } |   | ^ q# ^ q  S(   N(   R(   R;   (   Ri   t   jRU   (   RJ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¥  s   (   iýÿÿÿi   (   i   iûÿÿÿ(   i   i   i   (   i   i   i   (   i   i   i   (   i   iþÿÿÿi    i   (   iþÿÿÿi   iþÿÿÿi   (   i    iþÿÿÿi   i    (   i   i    i   i   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   i   i   i    i    i    (   i    i   i   i    i    (   i    i    i   i   i    (   i    i    i    i   i   (   i   i    i    i    i   (   i   i    i   i   i   (   i   i    i   i   i   (   i   i   i   iÿÿÿÿi   (   i   i   iÿÿÿÿi   i   (   i   i   i   i    i   (   iûÿÿÿi   i   i   i   (   i   iüÿÿÿi   i   i   (   i   i   iýÿÿÿi   i   (   i   i   i   iþÿÿÿi   (   i   i   i   i   iÿÿÿÿ(   i   i   iÿÿÿÿi   i   (   i    i    i   i    i   (   iþÿÿÿi    i   i    i   (   iýÿÿÿiþÿÿÿi   i   i   (   i   i    i    i    i   (   i   i    i    (
   R(   t   dett   _eval_det_bareisst   _eval_det_berkowitzt   _eval_det_luRZ   RN   RO   RP   R   (   Rr   (    (   RJ   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_determinantA  s    "	******c          C   s«  t  d  }  |  d  d  d  d  f t  d  k s: t  |  d d  d d  f t d  k sh t  t d d d    } | d d  d   f t d d d  k s« t  | d d  d f t d d d  k sÙ t  t d d d d g d d d d	 g d
 d d d g d d d d g g  } | d  d   d f t d d d d	 d d g  k s[t  | d d   d  d   f t d
 d d d g d d d d g g  k s§t  d  S(   Ni   i   i   i    c         S   s   |  | S(   N(    (   RU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ±  Rk   i   i   i   i   i   i	   i
   i   i   i   i   i   iÿÿÿÿiþÿÿÿ(   i    i   i   (   i   i   (   R,   RZ   R5   R(   (   t   m0t   m1t   m2(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_slicing¬  s    ....H:c       	   C   s  t  d  }  t d  |  d d  d d  f <|  t d d d d f  k sR t  t d  |  d  d  d  d  f <|  t d  k s t  t d d d  |  d  d   d f <|  t d d d d f  k sÒ t  t  d  |  d  d   d  d   f <|  t  d  k st  d d d d g |  d  d   d  d   f <|  t d d  d! d" f  k sXt  d d g |  d  d  d f <|  t d# d$ d% d& f  k st  d  S('   Ni   i   i    i   i   i   i   i   i   i	   i
   i   i   i   i   i   i   (   i    i    i    i    (   i    i    i    i    (   i    i    i   i    (   i    i    i    i   (   i   i   i   i   (   i   i    i    i    (   i   i   i    i    (   i   i    i   i    (   i   i    i    i   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   i    i   i   i   (   i    i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   R5   R,   R(   RZ   (   Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_submatrix_assignmentº  s2    "	""	"(		c        
      s  t  d d d        j d d d g d d g  t  d d d d d d d d g  k s` t    j d d g d d d g  t  d d d d d d d d	 g  k s« t    j t d  t d     k sÕ t  t t   f d
    t t   f d    d  S(   Ni   i   c         S   s   |  d | S(   Ni   (    (   RU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ×  Rk   i    i   i   i	   i
   i   c              s     j  d g d g  S(   Ni   i    (   Rq   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Û  Rk   c              s     j  d g d g  S(   Ni    i   (   Rq   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Ü  Rk   (   R(   Rq   RZ   R;   RA   R   (    (    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_extractÖ  s    KK*c          C   s©   t  d  }  |  j d d  t d d d
  k s6 t  t d d d    } | j d d  t d d d d f  k s{ t  | j d d	  t d d f  k s¥ t  d  S(   Ni   i   i	   i    i   c         S   s   |  | S(   N(    (   RU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   â  Rk   i   i   i   (	   i   i    i    i    i   i    i    i    i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   i   i   i   (   i   i   i   i   i   i   (   R,   t   reshapeR(   RZ   (   R   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_reshapeß  s    **c          C   s\   t  d  }  |  j d    t  d  d k s4 t  |  j d    t d  k sX t  d  S(   Ni   c         S   s   d |  S(   Ni   (    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ê  Rk   i   c         S   s   d S(   Ni    (    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ë  Rk   (   R,   t	   applyfuncRZ   R5   (   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_applyfuncè  s    (c          C   s  t  t t t d g t t t t t t t t t g g  }  |  j   } | t  t t t d d g t t d t t d t t t t d t d g g  k s° t  t d d t } t  t t |  g  j d t  t  t	 |  t t
 |  g  k st  t  d d d g d d d g d d d g g  j   t  d d t d d  g d d d g d d d g g  k st  d  S(	   Ni   i   RJ   t   realt   complexi    i   iÿÿÿÿ(   R(   RN   RO   t   expandRZ   R   R   R   R   R   R   R   (   R   R   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_expandî  s    B\",6c          C   s€  t  t t  d t t d  g t t d  t t  d t t d  t t  d g g  }  |  j t j t  t j t  @ } | t  t d t t  g t d t t  t d t t  g g  k s× t  |  j t j	 t  t j	 t  @ } | t  t d t g t t d t d t g g  k s:t  |  j t j
 t  t j
 t  @ } | t  t d t g t t d t d t g g  k s t  d  S(   Ni   (   R(   R    RN   R   RO   t   refineRG   R§   RZ   t   positivet   negative(   R   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_refine   s     B%P%>%c       
   C   sÙ  t  d d  }  t  d d d d }  |  t  d d d d k sE t  t  d d d d  }  t  d d d d t }  |  t  d d d d t k s t  |  j   } | j   | |  k sŸ t  t j d  } |  t  d d t d | k sñ t  xR d D]J } xA d D]9 } t  | d t d | d | }  |  |  j k st  qWqø Wt  d d d d d }  d } x\ t |  j	 d  D]G } x> t |  j	 d  D]) } |  | | f d k r| d 7} qqWqxW| d k sÕt  d  S(   Ni   t   seedi   i    i   t	   symmetrict   prngi
   i   id   iF   i   t   percentt   mini   (   i
   i   (   id   iF   i   (
   R0   RZ   R   t   copyR   t   randomt   Randomt   TR;   RX   (   Rr   R   t   rngt   sizeR²   t
   zero_countRU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_random  s,    !$
$c             s4  t  d d d d g d d d d g d d d d g d d	 d d g g  }  |  j   \ } } } | j sl t  | j s{ t  | | j | d
  |  t d  k s§ t  t  d	 d d d g d d d	 d g d d d d g d d d	 d g g  }  |  j   \ } } } | j st  | j s"t  | | j | d
  |  t d  k sNt  t  d d d g d d d	 g d d d g d d d g g  }  |  j d t  \ } } } | j sŽt  | j sÃt  | | j | d
  |  t d d  k sòt  t  d d d g d d d	 g d d d	 g g  }  |  j d t  \ } } } | j sLt  | j s[t  | | j | d
  |  t d  k st  t  d t d f d t	 d f t	 d t
 f f      j   \ } } } | j sÛt  | j sêt  | | j | d
    t d  k st  t  d d f  } | j t k s=t  | j t k sRt  t  d d f  } | j t k syt  | j t k st  t  d d d g d d d	 g d d d g g      j   \ } } } } |   | | j   | k sút  t  d d d d g d d d d g d d d d g d	 d d d g g      j   \ } } } } |   | | j   | k s~t  t  d d d g d d d g d d d g g      j   \ } } } } |   | | j   | k sêt  t  d d d g d d d	 g d d d g g    t t   f d    d  S(   Ni    i   i   i   i   i   i   iþÿÿÿi   t   backwardi   i÷ÿÿÿi	   i
   i   i   t	   rankcheckiÿÿÿÿc              s     j  d t  S(   NRœ   (   t   LUdecomposition_SimpleR   (    (   Rr   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ~  Rk   (   i   i    i    (   i   i   i    (   i   i   i   (   i    i   i   (   R(   t   LUdecompositiont   is_lowerRZ   t   is_uppert   permute_rowsR5   t   FalseRN   RO   RP   R   t   LUdecompositionFFt   invRA   R   (   t   testmatt   Lt   Ut   pt   mLt   mUt   Pt   Dee(    (   Rr   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_LUdecomp+  s    ,,/,0,$$$c       	      s±  t  d d d g d d d g d d d g g    t  d d d d d g  }    |     j   } | |  k sv t  t  d d	 d g d d
 d g d d d g g    t  d d d	 d d g  }    |     j   } | |  k sì t  t  d d g d d g d d g g    t  d d d g     j   t  d d g  k sOt  t  d d d g   t t    f d    t  d d	 d g d d
 d g d d d g d d d g d d d g d d d g g    t  d d d g  }    |     j   } | |  k st  t  d d	 d g d d
 d g g    t  d	 d d g  }    |   t t    f d    t  d d d      t  j d d   t t    f d    d  S(   Ni   i   i   i   i   i   i   i    iÿÿÿÿi
   i   c              s     j    S(   N(   t   LUsolve(    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   iüÿÿÿc              s     j    S(   N(   RÏ   (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¡  Rk   c         S   s    |  d k r d |  | d Sd S(   Ni   i   i    (    (   RU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   £  Rk   c              s     j    S(   N(   RÏ   (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¥  Rk   (   R(   RÏ   RZ   RA   R   t   NotImplementedErrorR5   (   RN   t   soln(    (   R|   RK   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_LUsolve  sH    

''
$
c          C   s  t  d d d g d d d g d d d g g  }  t  d d d d d g  } |  | } |  j |  } | | k sv t  t  d d g d d g d d g g  } |  | } |  j |  } | | k sÈ t  t  d	 d
 d g d d d g d d d g g  }  t  d d d
 d d g  } |  | } |  j |  } | | k s>t  t  d d g d d g d d g g  } |  | } |  j |  } | | k st  d  S(   Ni   i   i   i   i   i   i   i   i    iÿÿÿÿi
   i	   i   i   (   R(   t   QRsolveRZ   (   R|   RN   RK   RÑ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_QRsolveš  s,    
'

'
c             sÌ  t  d  }  |  j   t  d  k s* t  |  j d d  t  d  k sN t  |  j d d  t  d  k sr t  t d d d g d d d g d	 d d g g  }  |  j   } |  | t  d  k sÊ t  |  j d d  | k sè t  |  j d d  | k st  t     d
 d d g d d d g d d d g g   t    f d   d j   D  sgt  t     d
 d d g d d d g d d d g g   t    f d   d j   D  sÈt  d  S(   Ni   R   t   LUt   ADJi   i   i   i   i   i0   i1   i   i	   iG   i^   i;   i   iA   c         3   s*   |  ]  } t   j |     k Vq d  S(   N(   RR   RÅ   (   RT   t   s(   Rb   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>Ô  s    s	   GE ADJ LUc         3   s*   |  ]  } t   j |     k Vq d  S(   N(   RR   RÅ   (   RT   R×   (   Rb   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>Ù  s    s   CH LDL(   R,   RÅ   RZ   R(   R&   RY   t   splitR'   (   R|   t   Ainv(    (   Rb   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_inverseÂ  s*    $$+c             s  t  d d d d g    t t   f d    t  d d d d d d g    t t   f d    t  d d d d d d g    t  d d d d d d g  }    j d  |  k s¹ t  t  d d d d d d g      j d    k sò t  t  d d d d d d d d	 d
 d d g	    t t   f d    t  d d d d d d d	 d d d d g	    t  d d d	 d d d d d	 d d	 d g	  }    j d  |  k sªt  t  d d d d	 d d d d d d d g	    t  d d d d d d d d d d d g	  }    j d	  |  k st  t  d d d d	 d d d d d d d g	    t  d d d	 d d d	 d	 d d d	 d g	  }    j d
  |  k st  d  S(   Ni   i   i    c              s     j  d  S(   Ni   (   t   inv_mod(    (   R|   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Þ  Rk   c              s     j  d  S(   Ni   (   RÛ   (    (   R|   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   à  Rk   i   i   i   i   i   i   i	   c              s     j  d  S(   Ni   (   RÛ   (    (   R|   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ç  Rk   iýÿÿÿiûÿÿÿ(   R(   RA   R!   R   RÛ   RZ   (   t   Ai(    (   R|   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_matrix_inverse_modÜ  s(    -------c          C   s)  t  }  t d d d d d g  } t d d d d d g  } | j   t d  k sZ t  | j |  t d d |  d  d |  d	  d |  d
  d g  k sš t  t j d d  t d d d d g  k sØ t  t d d  t d d d d g  k st  | j   | k st  t	 d  t	 d  j
   k sAt  t d d d g d d d g d d d g g  } | j
   t d d d g d d d g d d d g g  k s³t  t d d d g d d d g d d d g g  } | j
   t d d d g d d d g d d d g g  k s%t  d  S(   Ni   i   i   i   i   i   i'   i   i4   i   i    i   i   iúÿÿÿiôÿÿÿiýÿÿÿi   i   i	   (   R   R(   t   normR   RZ   t   projectR5   R/   RŽ   R,   t   cofactor_matrix(   R   t   v1t   v2t   test(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_utiló  s    N0-$0	90	c          C   sÜ  t  d d t d t d t d t t g  }  t t g } |  j |  t  d t t t d g t d t t g g  k s t  t  d d t t d t d g  }  |  j |  t  d d g d t t d t d d t d g g  k sö t  t d t } t t g } t | |  t  d t d t g d t d g g  k sOt  t d t d } t | |  t  d t d d t t d g d t t d d t d t g g  k sÀt  t t t d } t d d t d } t  d d t g d t d t g g  } | t | t  t t g   k s9t  | t | t  t t g  j  k sct  t | t t f | g  t  d d t d d t g d t d d t d t g d t d t d g g  k sØt  d  S(   Ni   i   i   i   i    i   (   R(   RN   RO   t   jacobianRZ   R-   RP   R·   (   RÇ   t   symst   ft   gt   ans(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_jacobian_hessian  s*    0G$O?S'*c       	   C   sê  t  d d g d d g g  }  |  j   \ } } t } | t  d | d d  | d  d | d  d | d d  g d d | d d  | d  d | d  d | d d  g g  k sÉ t  | t  d | d d  d d | d d  g d | d  d | d d  g g  k s(t  | | |  k s>t  | j | t d  k s]t  t  d d d g d d d g d d d g g  }  |  j   \ } } | j | t | j  k sÁt  | j sÐt  |  | | k sæt  d  S(	   Ni   i   i   i   iÿÿÿÿi   i    i   (   R(   t   QRdecompositionR   RZ   R·   R,   R\   RÁ   (   R|   RG   R   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_QR#  s    ;R_0"c          C   s  t  d d d g d d d g d d d g d d d g g  }  |  j   \ } } | j | t | j  k sp t  | j s t  |  | | k s t  t  d d	 d g d d d
 g d d d g d d	 d g g  }  |  j   \ } } | j | t | j  k st  | j st  |  | | k s*t  t  d d d d g  }  |  j   \ } } | j | t | j  k svt  | j st  |  | | k st  t  d d d g d d d g g  }  |  j   \ } } | j | t | j  k sót  | j st  |  | | k st  t  d d d d g d d d d g d d d d g g  }  |  j   \ } } | j | t | j  k st  | j st  |  | | k sªt  t  d d d d g  }  |  j   \ } } | j | t | j  k söt  | j st  |  | | k st  d  S(   Ni	   i    i   i   iùÿÿÿi   iýÿÿÿi   iÿÿÿÿiþÿÿÿi   i   i   i   i   i   i   i@   (   R(   Rë   R·   R,   R\   RZ   RÁ   (   R|   RG   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_QR_non_square5  s<    <"<""$"9""c          C   sí  t  d d d g d d d g d d d	 g g  }  |  j   \ } } | j | t | j  k sd t  | j ss t  |  | | k s t  t  d d d g d d d g d d d g d d d g g  }  |  j   \ } } | j | t | j  k sù t  | j st  |  | | k st  t  d d d g d d d g d d d g d d d g g  j }  |  j   \ } } | j | t | j  k st  | j s t  |  | | k s¶t  t  d
 d
 d
 g g  }  |  j   \ } } | j | t | j  k st  | j st  |  | | k s't  t  d
 d
 d
 g g  j }  |  j   \ } } | j | t | j  k svt  | j st  |  | | k st  t  d
 d
 d
 g d
 d
 d
 g g  }  |  j   \ } } | j | t | j  k sót  | j st  |  | | k st  t  d
 d
 d
 g d
 d
 d
 g g  j }  |  j   \ } } | j | t | j  k sst  | j st  |  | | k st  t  d
 d
 d
 g d d d g g  j }  |  j   \ } } | j | t | j  k sót  | j st  |  | | k st  t  d
 d
 d
 d
 g d d d d g d
 d
 d
 d
 g g  j }  |  j   \ } } | j | t | j  k st  | j st  |  | | k s­t  t  d
 d
 d
 d
 g d d d d g d
 d
 d
 d
 g d d d d g g  j }  |  j   \ } } | j | t | j  k s,t  | j s;t  |  | | k sQt  t  d
 d
 d
 g d
 d
 d
 g d
 d
 d
 g d d d g g  j }  |  j   \ } } | j | t | j  k sÄt  | j sÓt  |  | | k sét  d  S(   Ni   i   i   i   i   i   i   i   i	   i    (   R(   Rë   R·   R,   R\   RZ   RÁ   (   R|   RG   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_QR_trivial\  sn    0"<"?"""$"'"'"<"K"?"c          C   sQ  t  }  t d d d d g d d d d g g  } | j   \ } } | t d d |  d  d |  d	  d g d d |  d
  d |  d  d g g  k s¡ t  t d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g  } | | j   d t d d d g d  k s:t  t d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g g  } | j   \ } } | t d d d d d d d g d d d d d d d g d d d d d d |  d  d g d d d d d d d g g  k s:t  | j   } | d t d d d d d d d g  k swt  | d t d d d d d d d g  k sšt  | d t d d d d d d d g  k sÙt  | d t d d d d d |  d  d d g  k st  t d d g d d g d d g g  } | j   sMt  d  S(   Ni   i   i   i   i   iÿÿÿÿi    i   i   i   iúÿÿÿiûÿÿÿi   iýÿÿÿiüÿÿÿi   iþÿÿÿiøÿÿÿi	   (   R   R(   t   rrefRZ   t	   nullspace(   R   Rr   t   outt   tmpt   basis(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_nullspace£  s8    *53!"*111;'c    
   	   C   s±  t  d d d d d g d d d d d g d d	 d
 d d g d
 d d d d g g  }  |  j   } | d t  d d d d
 g  k s t  | d t  d d d	 d g  k s° t  | d t  d d d d g  k sØ t  t d  \ } } } } } t  | | | | | g  } xM t t |   D]9 } |  | | | }	 t t |	 |   d k s!t  q!W|  j   t |  k s|t  t |  j    t |  j    |  j	 k s­t  d  S(   Ni   i   i    i   iþÿÿÿiûÿÿÿiÿÿÿÿiøÿÿÿiýÿÿÿi   i   i   iùÿÿÿs	   a b c d e(
   R(   t   columnspaceRZ   R   R;   t   lenRF   t   rankRð   R\   (
   Rr   Ró   RJ   RK   RL   RM   t   et   XRU   t   eq(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_columnspaceÊ  s    (((%c          C   sã  t  t t  t t  g t  t t  d t t  d k sE t  t  t t  t d t  g t  t d t  k s t  t  t t  t g t  t t  t t t  k s» t  t  d t t d g t  d k sã t  d t t  t t  t d t t  t t  t d d t t  t t  t t t  t t  t d t t  t t  t d }  t  t t  t t  t d g t  j   |  k s¯t  t  t t  t t  t d g t d d j   |  k sït  t d t t  d t d t t  d d t t t  d d t t t  d } t  t t  t t  t d g t  j   | k st  t  t t  t t  t d g t d d j   | k sÄt  t  g  t  d k sßt  d  S(   Ni   i   i   iúÿÿÿi   R   R   (   R4   R   RN   R   RZ   R   R©   (   t   w1t   w2(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_wronskianâ  s    E;;(:1[:1c             sg  t  }  t d  j t  t t d d t  k s8 t  t d  j t  t t d d t  k sj t  t d d d g d d d g d d d g g  } | j d t	  i d t
 j 6k sÂ t  | j d t  d d d g k sé t  | j   d d t d d d g  t d d d g  t d d d g  g f g k sCt  | j   d d t d d d g g  t d d d g g  t d d d g g  g f g k sŠt  t d d d g d d d g d d d g g  } | j   i d d t
 j 6d t
 j 6d t
 j 6k st  | j   d d t d d d g  g f d d t d d d g  g f d d t |  d d  |  d d  d g  g f g k st  | j   d d t d d d g g  g f d d t d d d g g  g f d d t d d d g g  g f g k st  t d  } t | d g d d g g  } | j   i d | 6d t
 j 6k sct  t d d g d d g g  } | j   d d t d d d d g  g f g k sºt  | j   d d t d d g g  g f g k sðt  t d d d g d	 d
 d g d d d g g  } |  d d  } d d |  d d  } |  d d  } |  d d  d | d } |  d d  d | d } d   } | | d d t d d | | d | | d | d | | d d d | | d | d g  g f d d t d d d g  g f | | d d t d d | | d | | d | d | | d d d | | d | d g  g f g } g  t t |   D]_ }	 | | |	 d d  | | |	 d d  g  | |	 d d D] }
 | |
 d  ^ qàf ^ q} | j   } g  t t |   D]_ }	 | | |	 d d  | | |	 d d  g  | |	 d d D] }
 | |
 d  ^ qdf ^ q#} t |  t |  k sŠt  t d d t } t t |  t | g t | t |  g g  } | j   d d t t | t |  g d g g  g f d t |  d t t | t |  g d g g  g f g k slt  | j   d d t t | t |  d g g  g f d t |  d t t | t |  d g g  g f g k sçt  t d d d d d d d d d d d g	  } | j d t	  | _ t d   | j d d d D  d k sZt  | j d t  | _ t d   | j d d d D  d k s t  t t
 d  d	 d g d d g g  } | j d t  t
 d
  d t d  d d t t d  d t
 d  d g d g g  g f t
 d
  d t d  d d t t
 d  d t d  d g d g g  g f g k s	t  | j d t	  t
 d
  d t d  d d t d t
 d  d t d  d g d g g  g f t
 d
  d t d  d d t d t d  d t
 d  d g d g g  g f g k sT
t  t d d d g d d d g d d d g g  } i d t
 d
  d	 t d  d 6d t d  d t
 d
  d	 6d t
 j 6} | j   | k sê
t  t t | j d  t	  j       t t | j      t    f d!   t t     D  sWt  t g   j   i  k sut  t g   j   g  k st  t t d"    t t d#    t t d$    t t d%    t t d&    t t d'    d d( l m  } t d) d* t } t d t! |  d g t! |  d d g d d d g g  } | | j d t	   | | j d t   k st  | | j d d+     | | j d t   k sÁt  t" | j d t d t	  t#  sèt  t" | j d t d t  t  st  t" | j d d,   d t	  t#  s9t  t" | j d d-   d t  t  sct  d  S(.   Ni   i   i    t   multiplei   iÿÿÿÿiþÿÿÿRJ   i   i   i   i   i   i	   i   i!   i   c         S   s   t  t |  |   S(   N(   t   strR   (   Rø   Ri   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   NS0  s    i   i   t   epsR§   iüÿÿÿR   c         s   s   |  ] } | j  Vq d  S(   N(   t   q(   RT   RU   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>S  s    c         s   s   |  ] } | j  Vq d  S(   N(   R  (   RT   RU   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>U  s    iI   g333333ã?gÍÌÌÌÌÌì?i  i   t   rationalc         3   s-   |  ]# } t    |  |  d  k  Vq d S(   gÖ&è.>N(   Rm   (   RT   RU   (   t   nevalst   sevals(    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>e  s    c           S   s+   t  d d g d d g d d g g  j   S(   Ni   i   i    i   (   R(   t	   eigenvals(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   l  Rk   c           S   s+   t  d d g d d g d d g g  j   S(   Ni   i    i   i   i   i   (   R(   R  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   m  Rk   c           S   s(   t  d d d g d d d g g  j   S(   Ni   i   i   i    i   i   (   R(   R  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   n  Rk   c           S   s(   t  d d d g d d d g g  j   S(   Ni   i    i   i   (   R(   R  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   o  Rk   c           S   s.   t  d d d g d d d g g  j d t  S(   Ni   i   i   i    i   i   t   error_when_incomplete(   R(   R  RÃ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   p  Rk   c           S   s.   t  d d d g d d d g g  j d t  S(   Ni   i    i   i   R  (   R(   R  RÃ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   q  Rk   (   t	   count_opsR  R¬   c         S   s   |  S(   N(    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   x  Rk   c         S   s   |  S(   N(    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   |  Rk   c         S   s   |  S(   N(    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   }  Rk   ($   R   R,   t   charpolyRN   R	   RZ   RO   R(   R  RÃ   R   R   R   t
   eigenvectst   left_eigenvectsR   R   R;   Rö   t   sortedRm   R   R    t   _eigenvectst   maxR   R^   t   keysRY   RA   R!   t   sympy.core.functionR	  R   Rw   Ra   (   R   Rr   RJ   RK   RL   RM   Rø   R  t   rRU   R   t   r1t   r2R  Rc   t   evalsR	  R  (    (   R  R  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_eigenó  sÈ    22('	'	*;	?	!!0)960	D&D,uu	0H	,F-11(RaDD!0N$1=69''*c          C   s  t  d t g t d g g  j t d  t  d d g d d g g  k sN t  t  t d g t t d g g  j t d g t d g g  t  d d g d d g g  k s¯ t  t  t d g t t d g g  j t d f t d f g  t  d d g d d g g  k st  t  t d g t t d g g  j i d t 6d t 6 t  d d g d d g g  k smt  t  t t g  j i t d t 6t d t 6d t t  t d t d g  k sÆt  xM t D]E }  t  d d	 g d	 d g g  |  j d  j d d  k sÍt  qÍWd  S(
   Ni   i   i   i   iÿÿÿÿiþÿÿÿiýÿÿÿt   simultaneousi    (   R(   RN   R   RZ   RO   R   RW   R,   (   Rb   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_subs  s    N:':'6'5$c          C   s  t  d t g t d g g  j i d t 6 t  d d g d d g g  k sR t  t  t d g t t d g g  j i d t 6d t 6 t  d d g d d g g  k s¯ t  xQ t D]I }  t  d d g d d g g  |  j d  j i d d 6 k s¶ t  q¶ Wd  S(	   Ni   i   i   i   iÿÿÿÿiþÿÿÿiýÿÿÿi    (   R(   RN   t   xreplaceRZ   RO   RW   R,   (   Rb   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_xreplace  s    +'6'c       
   C   s|  t  d  }  t d  } t d t d t t t t t g | t  t | t  | t  d d |  t |  t  |  t g g  } | j   | t t t t t d t g d t d d d t t |   t |  g g  k sð t  d t d } t | g g  } | j   | t | g g  k s8t  | j d t	  | k | t | j d t	  g g  k sxt  d  S(   NRi   Rç   i   i   t   ratio(
   R   R   R(   RN   RO   R   R   R   RZ   R   (   Ri   Rç   Rr   Rú   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_simplify  s    $N
=
c          C   sú   t  d d d d d d d d d	 d
 g
 d d d d d d d d d	 d
 g
 g  }  |  j t  d d g d d g d d g d d g d d g d d g d d g d d g d	 d	 g d
 d
 g g
  k sÃ t  |  j j |  k sÛ t  |  j |  j   k sö t  d  S(   Ni   i   i   i   i   i   i   i   i	   i    (   R(   R·   RZ   t	   transpose(   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_transposeŠ  s    $*								c          C   sÿ   t  d t d g d d d g g  }  |  j t  d d g t d g d d g g  k sZ t  |  j t  d t d g d d d g g  k s t  |  j |  j   k s© t  |  j |  j j k sÄ t  |  j t  d d g t d g d d g g  k sû t  d  S(   Ni    i   i   i   (   R(   R   R·   RZ   t   Ct	   conjugatet   H(   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_conjugate·  s    	
c       	   C   sž   t  t d    t d t t t g d d t t g d d d t g d d d d g g  }  |  j t d d d d g t d d d g t t d d g t t t d g g  k sŽ t  d  S(   Nc           S   s   t  d  j S(   Ni   (   R,   t   D(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Ê  Rk   i   i    iÿÿÿÿ(   RA   t   AttributeErrorR(   R   R#  RZ   (   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_conj_diracÉ  s    c          C   sL   t  d d d g d d d g d d d g g  }  |  j   d k sH t  d  S(   Ni   i    i   i   i   (   R(   t   traceRZ   (   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_trace×  s    c          C   s=   t  t d d g d t d g g  }  |  j d k s9 t  d  S(   Ni    i   i   (   i   i   (   R(   RN   RO   RX   RZ   (   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_shapeÞ  s    c          C   sï  t  t d d g d t d g g  }  |  j d d    |  t  t d d g d t d d g g  k sk t  |  j d d    |  t  t d d d g d t t d d g g  k sº t  |  j d  t  t d d d g g  k së t  |  j d  } d | d <|  d	 t d k st  |  d d  d  f } d | d <|  d
 t d k sXt  |  j d  } | t  t d d t g  k st  d | d <|  d t d k s±t  |  d  d   d f } d | d <|  d t d k sët  d  S(   Ni    i   c         S   s   |  | d S(   Ni   (    (   R  R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ç  Rk   i   i   c         S   s   |  t  | S(   N(   RO   (   RL   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ë  Rk   i*   iÿÿÿÿ(   i    i    (   i    i    (   i    i    (   i    i    (   R(   RN   RO   t   row_opRZ   t   col_opt   rowt   col(   Rr   R  t   c1(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_col_row_opä  s,    "&1

&

c          C   sí   xæ t  d  D]Ú }  |  j d  } | j d d d    | |  d d d g d d d g d d d g g  k sr t  |  j d  d } d | d	 <| j d d d    | | |  d d d g d d d g d d d g g  k s t  q Wd  S(
   Ni   i   i   i    c         S   s   |  d | S(   Ni   (    (   Rg   t   u(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   iÿÿÿÿc         S   s   |  d | S(   Ni   (    (   Rg   R/  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   i   (   i    i   (   RW   R,   t
   zip_row_opRZ   (   Rb   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_zip_row_op  s    
 c          C   s   t  d d d g  }  t  d d d g  } t  d d d g  } |  d k sQ t  |  d k sc t  |  d k su t  |  | k s t  |  | k s t  d  S(   Ni   i   i   (    (   i   (   R(   RZ   (   Rc   RJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_3950  s    c          C   sw  d t  f d     Y}  d t  f d     Y} |    } |   } t d d d g  } | | d k si t  d | | <| d d k s t  t d d d g d	 d d
 g g  } | | | f d
 k sÉ t  | d | f d
 k så t  | | d f d
 k st  d	 | | | f <| d d	 k s't  d
 | d | f <| d d
 k sMt  d | | d f <| d d k sst  d  S(   Nt   Index1c           B   s   e  Z d    Z RS(   c         S   s   d S(   Ni   (    (   t   self(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   __index__  s    (   t   __name__t
   __module__R5  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyR3    s   t   Index2c           B   s   e  Z d    Z RS(   c         S   s   d S(   Ni   (    (   R4  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyR5  !  s    (   R6  R7  R5  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyR8     s   i   i   i   i   i   i   i   (   i   i   (   i   i   (   i   i   (   t   objectR(   RZ   (   R3  R8  t   index1t   index2Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_3981  s$    		
$c              s   t  t d  d g    t   f d   t d  D  s@ t  t   f d   t d  D  sh t  t   f d   t d  D  s t  d  S(   Ni   i   c         3   s/   |  ]% }   j    |   | j    k Vq d  S(   N(   t   evalf(   RT   RU   (   RJ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr><  s    i   c         3   s5   |  ]+ }   j  d   |   | j  d   k Vq d S(   i   N(   R=  (   RT   RU   (   RJ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>=  s    c         3   s5   |  ]+ }   j  d   |   | j  d   k Vq d S(   i   N(   Ri   (   RT   RU   (   RJ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>>  s    (   R(   R   RY   R;   RZ   (    (    (   RJ   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_evalf:  s    ((c          C   s  t  t t g t t g g  }  |  j   t k s6 t  t  d d d d g d d d d g g  }  |  j   t k sx t  t  d d d d g d d t d g g  }  |  j   t k sº t  t  d t d g g  }  |  j   t k sê t  t  d d d g g  }  |  j   t k st  t  d g t g d g g  }  |  j   t k sPt  t  d g d g d g g  }  |  j   t k st  d  S(	   Ni   i   i   i   i   i   i   i   (   R(   RN   t   is_symbolicR   RZ   RÃ   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_is_symbolicA  s    **c          C   s   t  d d d g g  }  |  j t k s- t  t  d g d g d g g  }  |  j t k s` t  t d d  }  |  j t k s t  d  S(   Ni   i   i   i   (   R(   RÁ   R   RZ   RÃ   R5   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_is_upperR  s    c          C   sd   t  d d d g g  }  |  j t k s- t  t  d g d g d g g  }  |  j t k s` t  d  S(   Ni   i   i   (   R(   RÀ   RÃ   RZ   R   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_is_lower[  s    c          C   s§   t  d d d d d d d d d d d d d d d d d d g  }  |  j   sT t  t  d d g d d g g  }  |  j   s t  t  g   }  |  j   s£ t  d  S(   Ni   i    i   i   i   i   (   R(   t   is_nilpotentRZ   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_is_nilpotentb  s    Bc          C   sg  d \ }  } t  |  |  } | j d  d t |  |  } | | k sM t  | j | j k oj d k n su t  | j | j k o d k n s t  | j | j k oº d k n sÅ t  t  d  t  d d  k sæ t  t d  t d d  k st  t  d d  t d d d g d  k s5t  t d d  t d d d g d  k sct  d  S(	   Ni   i   i   i    i   i   (   i   i   (   i   i   (   R5   t   fillR/   RZ   R[   R\   RX   R(   (   Ri   Rc   RJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_zeros_ones_fillk  s    (((!!.c          C   s   t  d  }  |  t   k s! t  t  d d  }  |  j d k sE t  |  j d k sZ t  t  d d  }  |  j d k s~ t  |  j d k s t  d  S(   Ni    i   (   R5   R(   RZ   R[   R\   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_empty_zeros}  s    c          C   s
  t  t d t t g t t t  t t t  g g  }  |  j t  t  d t t g t t  t t  g g  k s} t  t  t t t d g t t  d t t t  t d t g g  j t t	  t  t	 t	 t	 g t	 d t	 g g  k sú t  t  t t  d t d t t t t t g d t t
 t  t
 t t d   g g  j t d  t  d d d g t	 d t d  g g  k st  |  j t  t  t d d  t d t t d d g t d t t  d t d t t  d g g  k st  d  S(   Ni   i   i    i   (   R(   RN   RO   R   R   R   RZ   R   t   limitR   Rm   t	   integrateR   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_3749  s    :C;.*83&c          C   sd   t  d  }  |  j d d  xA d
 D]9 } |  j d | d d    |  j d d	  k s# t  q# Wd  S(   Ni   i    i   t   GERÕ   R   t
   iszerofuncc         S   s
   |  d k S(   Ni    (    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   RÖ   (   RK  RÕ   (   R,   t   col_swapRÅ   RZ   (   R|   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_inv_iszerofunc  s
    c          C   s  t  d  \ }  } t |  t |  |  t |  g  } t |  | g  } | j |  } | | j | j  k sw t  | | j j |  k s t  | | j j | j  k s¶ t  | j t | j d  | } | j	 t
  } | t d d g d |  d g g  k st  d  S(   Ns   rho,phii    i   i   (   R   R(   R   R   Rå   R·   RZ   R,   RX   R¥   R   (   t   rhot   phiRù   t   Yt   JRè   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_jacobian_metrics   s    &!c          C   sŒ   t  d  \ }  } t |  t |  |  t |  |  d g  } t |  | g  } t t |  |  t |  g t |  |  t |  g d |  d g g  } | j |  | k sž t  d  S(   Ns   rho,phii   i    (   R   R(   R   R   Rå   RZ   (   RO  RP  Rù   RQ  RR  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_jacobian2­  s    -c          C   s6  t  t t t t  t t t t  t t t t  g  }  t  t t t g  } xÛ t d d  D]Ê } xÁ t d d  D]° } |  d  |  d  d   f } | d  |  d  d   f } | j |  } | j | k sÜ t  | j	 | k sñ t  x6 t |  D]( } | d  d   | f | k sþ t  qþ Wqz Wqd Wd  S(   Ni   i   (
   R(   R   RN   RO   RP   R;   Rå   R[   RZ   R\   (   Rù   RQ  RU   R   t   X_slicet   Y_sliceRR  t   k(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_4564¹  s    ?c              sÓ   t  t t t t  t t t t  g t t t t  t t t t  g g    t t   f d      d d  d   f   t  t t g t t g g   t t    f d    t t   f d    d  S(   Nc              s     j  t t t t g   S(   N(   Rå   R(   RN   RO   RP   (    (   Rù   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Ê  Rk   i    c              s     j    S(   N(   Rå   (    (   Rù   RQ  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Í  Rk   c              s%     j  t t t g t t g g   S(   N(   Rå   R(   RN   RO   RP   (    (   Rù   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Î  Rk   (   R(   R   RN   RO   RP   RA   t	   TypeError(    (    (   Rù   RQ  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_nonvectorJacobianÇ  s    (.c          C   st   t  d d g d d g g  }  |  j   } | j d k s? t  x. t d  D]  } | | | d k sL t  qL Wd  S(   Ni   i   i   i   (   R(   t   vecR\   RZ   R;   (   Rc   t   m_vecRU   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_vecÑ  s
    c          C   sZ  t  d d g d d g g  }  |  j   } | j d k s? t  x. t d  D]  } | | | d k sL t  qL W|  j d t  } | d d k s t  t  d t t t g t t t d d g g  }  |  j d t  } | d t t t k sú t  t  d t t t g t t d g g  }  |  j d t d t  } | d t t k sVt  d  S(   Ni   i   i   t   diagonali    t   check_symmetry(   R(   t   vechR\   RZ   R;   RÃ   RN   RO   (   Rc   t   m_vechRU   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_vechÙ  s    2*c              s   t  d d g g    t t   f d    t  d d g d d g g    t t   f d    t t d    t t d    d  S(	   Ni   i   c              s
     j    S(   N(   R`  (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   í  Rk   i   i   c              s
     j    S(   N(   R`  (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ï  Rk   c           S   s   t  d d g g  j   S(   Ni   i   (   R(   R`  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ð  Rk   c           S   s"   t  d d g d d g g  j   S(   Ni   i   i   i   (   R(   R`  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ñ  Rk   (   R(   RA   R   R   (    (    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_vech_errorsë  s    c          C   s  t  d d g d d g g  }  t  d t g t d g g  } t  d t d g t d t g t t t g g  } t |  | |  t  d d d d d d g d d d d d d g d d d t d d g d d t d d d g d d d d d t g d d d d t d g g  k st  t |  | |  t  d d d d d d d g d d d d d d d g d d d t d d d g d d t d d d d g d d d d d t d g d d d d t d t g d d d d t t t g g  k sÚt  t |  | |  t  d d d d d d d g d d d d d d d g d d d t d d d g d d t d t d d g d d t t t d d g d d d d d d t g d d d d d t d g g  k sŠt  t  t t t g  }  t  d d g d d g g  } t  d d g g  } t |  d | |  t  t d d d d d g t d d d d d g t d d d d d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g g  k sšt  t d d d g d d g g  t  d d d d g d d d d g d d d d g d d d d g g  k st  d  S(	   Ni   i   i   i    i   i   i   i   (   R(   RN   RO   RP   R+   RZ   (   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_diagô  sT    0'**'!c          C   sÁ   t  d d g d d g g  }  t  d t g t d g g  } t  d t d g t d t g t t t g g  } |  j   |  g k s t  | j   | g k s¢ t  | j   | g k sœ t  d  S(   Ni   i   i   (   R(   RN   RO   RP   t   get_diag_blocksRZ   (   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_get_diag_blocks1%  s    0c          C   s$  t  d d g d d g g  }  t  d t g t d g g  } t  d t d g t d t g t t t g g  } t |  | |  j   |  | | g k s t  t |  | |  j   |  | | g k sÆ t  t |  | |  j   |  | | g k só t  t | | |  j   | | | g k s t  d  S(   Ni   i   i   (   R(   RN   RO   RP   R+   Re  RZ   (   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_get_diag_blocks2.  s    0---c       
   C   sM  t  d d g d d g g  }  t  d t g t d g g  } t  d t d g t d t g t t t g g  } t |  | |  } | j d t  t |  j   | j   | j    k sº t  t |  | |  } | j d t  t |  j   | j   | j    k st  t |  | |  } | j d t  t |  j   | j   | j    k sVt  t |  |  | |  | |   } | j d t  t |  j   |  j   | j   |  j   | j   |  j    k sÈt  | j d t d d  t |  j d d  |  j d d  | j d d  |  j d d  | j d d  |  j d d   k sIt  d  S(   Ni   i   i   t   try_block_diagR   RÖ   (   R(   RN   RO   RP   R+   RÅ   R   RZ   (   RJ   RK   RL   R|   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_inv_block8  s    0<<<E-c           C   s$  t  t d    t  t d    t t d   t d  k sD t  t t d   t d  k sh t  t  t d    t t d   t d  k s t  t t d   t d  k sÀ t  t  t d    t t d  t d   t d d  k s t  t  t d    t  t d    d	 S(
   sg   
    Check that matrix dimensions can be specified using any reasonable type
    (see issue 4614).
    c           S   s   t  d d  S(   Ni   iÿÿÿÿ(   R5   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   O  Rk   c           S   s   t  d d d d  S(   Ni   i   i   i   (   R5   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   P  Rk   i   c           S   s
   t  d  S(   Ng      @(   R5   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   S  Rk   c           S   s
   t  d  S(   Ng      @(   R,   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   V  Rk   i   c           S   s
   t  d  S(   Ni   (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   X  Rk   c           S   s   t  d d  S(   Ni   i   (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Y  Rk   N(	   RA   R   RY  R5   R9   RZ   R   R,   R/   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_creation_argsJ  s    $$$$0c          C   s)  t  d d d d d d g  }  |  j   s1 t  |  j   sC t  |  j d t  s[ t  t  d d d d d d g  }  |  j   s t  t d d d  }  |  j   s¯ t  |  j   sÁ t  t  d d d d d d d d d d d g	  }  |  t d d d  k st  t  d d t d d   }  |  j   s:t  |  j   sLt  t  d d	 d
 f  }  |  j   sst  t  d d f  }  |  j   st  t  d d d t d d t d t t d d d d t d d g	  }  |  j   sît  |  j d t  st  |  j	   j d t  s%t  d  S(   Ni   i    i   R   i   i   i   (   i   i    (   i    i   (   i    i    (   i   i    i    (   i    i   i    (
   R(   t   is_diagonalRZ   t   is_symmetricRÃ   R+   R5   RN   RO   R©   (   Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_diagonal_symmetrical\  s,    -Ec             sç  t  d d d d d d d d g      j   s7 t    j   sJ t  t t   f d    t d d d      j   \ }  } |  t d  k s t  |   k s® t  t  d d d d d d g      j   sÞ t    j   sð t    j   \ }  } |  j	     |  | k s"t  t  d d d d d d g      j   sRt    j   sdt    j   \ }  } |  j	     |  | k st  |  t d  k s®t  |   k sÀt  t  d d d d d d g      j   sðt    j   \ }  } |  j	     |  | k s"t  t  d d d d d d d d d d	 d g	      j   sat    j   \ }  } |  j	     |  | k st  x* |  D]" } | j
   d d k st  qWt  d d d d d d g      j   sðt    j   st    j   \ }  } |  j	     |  | k s4t  |  t  d d g d d g g  k s^t  t  d d d d d
 d g      j t  st  t t   f d      j   sºt    j   \ }  } |  j	     |  | k sìt  t  d d d d d d g      j   st  t t   f d    t  d d d d d d d d d d d g	      j   sst  t t   f d    t d  \ } } } } t  d d | | | | g      j   sÑt    j   sãt  d  S(   Ni   i   iýÿÿÿi   i   i
   c              s
     j    S(   N(   t   diagonalize(    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   i    iüÿÿÿiÿÿÿÿc              s     j  t  S(   N(   Rn  R   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¬  Rk   c              s
     j    S(   N(   Rn  (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Ž  Rk   iþÿÿÿi   c              s
     j    S(   N(   Rn  (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ž  Rk   s   a b c d(   R(   t   is_diagonalizableRZ   Rl  RA   R!   R+   Rn  R,   RÅ   t   as_numer_denomRk  R   R    R   (   RÌ   R#  RU   RJ   RK   RL   RM   (    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_diagonalization|  sh    $   -   * -c        
      s  t  d d g d d g g      j   t k s6 t  d   d <  j   t k sX t  t  d d g d d g g      j   d   d <t t   f d    t      j	 Wd  QXt      j
 Wd  QXt      j d t  Wd  QXt      j d t  Wd  QXd  S(   Ni    i   c              s
     j    S(   N(   Rn  (    (   RJ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Ë  Rk   t   clear_cachet   clear_subproducts(   i   i    (   i   i    (   R6   Ro  R   RZ   RÃ   Rn  RA   R    RE   t   _cache_eigenvectst   _cache_is_diagonalizable(    (    (   RJ   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_15887Á  s     






c             sy   t  d d d d d t g    t t   f d      j t  sJ t  t t   f d      j t  \ }  } d  S(   Ni   i   i    c              s     j  t  S(   N(   Ro  R   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Þ  Rk   c              s     j  t  S(   N(   Rn  R   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   â  Rk   (	   R(   R   RA   RÐ   Ro  R   RZ   R    Rn  (   RÌ   R#  (    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_eigen_vectsÛ  s
    c             sø  t  d d d d d d d d g    t t   f d    t  d d d d	 d
 d d d d d d g	    t  d d d d d d d d d d d g	  }    j   \ } } |  | k sž t  |    j   d k sÔ t  t  d d d d d d d d d d d g	    t  d d d d d d d d d d d g	  }    j   \ } } |  | k sRt  t  d d d d
 d d d d d d d g	    t  d d d d d d d d d d d g	  }    j   \ } } |  | k sÐt  t  d d d d d d d d d
 d d g	    t  d d d d d d d d d d d g	  }    j   \ } } |  | k sNt  t  d d d
 d d d d d d d d d d d d d d d g    t  d d d d d d d d d d d d d d d d d d g  }    j   \ } } |  | k söt  t  d d d
 d d d d d d d
 d d d d d d d d g    t  d d d d d d d d d d d d d d d d d d g  }    j   \ } } |  | k st  t  d d d d d d d d d d d d d d d d d d g      j   sót  t  d d d d d d d d d d d d d d d d d d g  }    j   \ } } |  | k sYt  t  t d d d t d d d g t d  d d t d! d d g g      j   \ } } x8 | j D]- } t	 | t  rÃ| j
 d k sðt  qÃqÃWd  S("   Ni   i   iýÿÿÿi   i   i
   c              s
     j    S(   N(   t   jordan_form(    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   é  Rk   i   iôÿÿÿi   iíÿÿÿi   ièÿÿÿi   iÿÿÿÿi    iüÿÿÿi   iþÿÿÿiñÿÿÿiûÿÿÿiúÿÿÿi   iùÿÿÿi÷ÿÿÿiøÿÿÿi	   s   1.0t	   precisionin   s   2.0s   3.14159265358979323846264338327s   4.0(   R(   RA   R!   Rx  RZ   Rn  Ro  R   R]   Rw   t   _prec(   t   JmustRÌ   RR  t   term(    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_jordan_formæ  sX    $--
------BBBB$*c          C   sN  t  d d d d g d d d d g d d d d g d d d d g g  }  d d t } d d t } t  | d d d g d | d d g d d | d g d d d | g g  } t  | d d d g d | d d g d d | d g d d d | g g  } |  j   \ } } | | k s$| | k s$t  t | | | j    |  k sJt  d  S(   Ni   i   i   i    iüÿÿÿ(   R(   R   Rx  RZ   R   RÅ   (   R|   RÉ   R  t   Jmust1t   Jmust2RÌ   RR  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt#   test_jordan_form_complex_issue_92741  s"    c       	   C   s  t  d d d d g d d d d g d d d d g d d d d g g  }  |  j   \ } } | t  d d d d g d d d d g d d d d g d d d d g g  k s® t  | t  d d d d g d d d d g d d d d g d d d d g g  k st  d  S(   Ni   i    (   R(   Rx  RZ   (   Rr   RÌ   RR  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_10220D  s    !c       
   C   s8  t  d d d d g d d d d g d d d d g d d d d g g  }  |  j   \ } } t |  t  t t d t t d g d t d d t d g d t d t d d t d t d g d d d d g g  k sÞ t  | t  t d d d g d t d d g d d t d g d d d t g g  k s4t  d  S(   Ni   i    iþÿÿÿiÿÿÿÿi   (   R(   Rx  R   R   RZ   (   R|   RÌ   RR  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_jordan_form_issue_15858U  s     '!c          C   sÓ  t  d  \ }  } } t | |  | d | | | | | | g | | | | | | d | | g g  } | j t  } | t t d | |  | |  d | | | | t | | |  | | t d d k sá t  t |  t k sù t  t d d g d d g g  } | j   | j t  k oOt t d t d  k n sZt  t d d g t d g g  } | j t  } | j t k st  | j	   j
 | j t  t d d t k sÏt  d  S(	   Ns
   UA K_i K_wi   t   domains   ZZ(K_i,K_w,UA)i   i   i    i   (   R   R(   R
  RN   R	   RZ   RR   R   t   gent   as_exprR   (   t   UAt   K_it   K_wR|   R
  RÉ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_Matrix_berkowitz_charpolyg  s    -/2,Cc          C   s  t  d d g d d g g  }  t  t d  d t d  d d t d  d g d t d  g g  } |  j   | k s t  t |   | k s t  t  d d g d d g g  }  |  j   t  t d g d t g g  k sæ t  t |   t  t d g d t g g  k st  t  d d g d d g g  }  |  j   t  t t d  t t d  g t t d  t t d  g g  k st  d  S(	   Ni   i   i    iþÿÿÿiüÿÿÿi   i   iÿÿÿÿ(   R(   R   RZ   R   R   R   (   Rc   t   m_exp(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_exp~  s    J00c          C   s   t  t t f d f  }  |  j t  s- t  |  j t  sC t  |  j t  sX t  |  j t d  }  |  j t  s t  d  S(   Ni   i   (   i   i   (   R(   RN   RO   t   hasRZ   RP   R   R   (   R|   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_has  s    c             s   d     f d   }  y4 t  d d g d d g g  j d |   \ } } Wn- t k
 rx }   | j d k st t  d  SXt s t  d  S(   Ns   I got passed in!c            s   t      d  S(   N(   R   (   t   value(   t   magic_string(    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   goofyiszero  s    i   i    RL  (   R(   RŸ   R   t   argsRZ   RÃ   (   R  R   RÉ   t   err(    (   R  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt&   test_LUdecomposition_Simple_iszerofunc  s    4c             s   d     f d   }  y7 t  d d g d d g g  j d |   \ } } } Wn- t k
 r{ }   | j d k sw t  d  SXt s t  d  S(   Ns   I got passed in!c            s   t      d  S(   N(   R   (   R  (   R  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyR  š  s    i   i    RL  (   R(   R¿   R   R  RZ   RÃ   (   R  t   lR/  RÉ   R  (    (   R  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_LUdecomposition_iszerofunc€  s    7c          C   s   t  d  }  t d d |  t |   d t |   d t d d  g  } t |  \ } } } } | t d d  k s{ t  d  S(   NRN   i   i   i   (   R   R(   R   R   R   R#   RZ   (   RN   t   columnt   pivot_offsett	   pivot_valt   pivot_assumed_nonzerot
   simplified(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt:   test_find_reasonable_pivot_naive_finds_guaranteed_nonzero1³  s    <c          C   s   t  d  }  t d d |  t |   d t |   d |  d t |   d t |   d g  } t | d t \ } } } } | d k s t  d  S(   NRN   i   i   i   t   simpfunc(   R   R(   R   R   R#   R$   RZ   (   RN   R  R  R  R  R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt:   test_find_reasonable_pivot_naive_finds_guaranteed_nonzero2¿  s    	#$c          C   s  t  d  }  t d d |  t |   d t |   d |  t |   d t |   d g  } t | d t \ } } } } t |  d k s t  | d d d k s« t  | d d d |  k sÉ t  | d d d k sã t  | d d d k sý t  d  S(   NRN   i   i   i   R  i    (   R   R(   R   R   R#   R$   Rö   RZ   (   RN   R  R  R  R  R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt+   test_find_reasonable_pivot_naive_simplifiesÎ  s    	$c        	      s¹  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    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    t   B t d d g d d g g  j t d d g d d g g   Wd  QXt  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%    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 d= d> d? d@ f    t  t   f d:    t d3 d3 d3 g g   t d d d g d d d g d d d. g g    t  t    f d;    t d d d g d d d g d d d. g g    t  t    f d<    d  S(A   Nc           S   s   t  d d g d g g  S(   Ni   i   (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   á  Rk   c           S   s   t  d d g g  d S(   Ni   i   g333333ó?i   (   g333333ó?i   (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   â  Rk   c           S   s   t  d d g g  d S(   Ni   i   gÍÌÌÌÌÌ@(   i   gÍÌÌÌÌÌ@(   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ã  Rk   c           S   s   t  d d d d t S(   Ni   RL   i   R°   (   R0   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ä  Rk   c           S   s   t  d d g  j d d  S(   Ni   i   i   i   (   R(   R£   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   å  Rk   c           S   s:   t  d d g d d g g  j d d g t  d d g   S(   Ni   i   i   i   i    (   R(   t   copyin_matrix(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ç  Rk   c           S   s4   t  d d g d d g g  j d d g t g    S(   Ni   i   i   i   i    (   R(   t   copyin_listt   set(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   è  s   !c           S   s(   t  d d d g d d d g g  j   S(   Ni   i   i   i    (   R(   RÅ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ê  Rk   c           S   s7   t  d d d d g  j t  d d g d d g g   S(   Ni   i   i   i   (   R(   t   row_join(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ì  Rk   c           S   s1   t  d d g  j t  d d g d d g g   S(   Ni   i   i   i   (   R(   t   col_join(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   î  Rk   c           S   s1   t  d g  j d t  d d g d d g g   S(   Ni   i   i   i   (   R(   t
   row_insert(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ï  s   c           S   s1   t  d g  j d t  d d g d d g g   S(   Ni   i   i   i   (   R(   t
   col_insert(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ñ  s   c           S   s   t  d d g  j   S(   Ni   i   (   R(   R&  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ó  Rk   c           S   s   t  d g  j d  S(   Ni   (   R(   R¥   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ô  Rk   c           S   s.   t  d g  j t  d d g d d g g   S(   Ni   i   i   i   (   R(   RÏ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   õ  Rk   c           S   s(   t  d d g d d g g  j d d  S(   Ni   i   i   i   i   (   R(   t   minor(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ö  Rk   c           S   s(   t  d d g d d g g  j d d  S(   Ni   i   i   i   i   (   R(   t   minor_submatrix(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ÷  Rk   c           S   s   t  d d d g  j d  S(   Ni   i   i   (   R(   t   cross(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ø  Rk   c           S   s   t  d d d g  j d  S(   Ni   i   i   (   R(   t   dot(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ù  Rk   c           S   s(   t  d d d g  j t  d d g   S(   Ni   i   i   (   R(   R©  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ú  Rk   c           S   s   t  d d g  j g   S(   Ni   i   (   R(   R©  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   û  Rk   c           S   s   t  d d g  j d  S(   Ni   i   RJ   (   R(   R©  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ü  Rk   i   i   i   i   c           S   s"   t  d d g  j d d d g  S(   Ni   i   i   (   R(   R©  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ÿ  Rk   c           S   s   t  d d d g  j   S(   Ni   i   i   (   R(   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj      Rk   c           S   s"   t  d d g d d g g  j   S(   Ni   i   i   i   (   R(   t
   normalized(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g  j d d  S(   Ni   i   R   s   not a method(   R(   RÅ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g  j   S(   Ni   i   (   R(   t
   inverse_GE(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s"   t  d d g d d g g  j   S(   Ni   i   (   R(   R«  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g  j   S(   Ni   i   (   R(   t   inverse_ADJ(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s"   t  d d g d d g g  j   S(   Ni   i   (   R(   R¬  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g  j   S(   Ni   i   (   R(   t
   inverse_LU(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g  j   S(   Ni   i   (   R(   RC  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d g  j   S(   Ni   i   (   R(   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   	  Rk   c           S   s(   t  d d g d d g g  j d d  S(   Ni   i   i   i   R   s   Not a real method(   R(   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   sR   t  d d d d g d d d d g d	 d
 d d g d d d d g g  j d d  S(   Ni   i   i   i   i   i   i   i   i	   i
   i   i   i   i   i   i   RL  s   Not function(   R(   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     s   !c           S   sR   t  d d d d g d d d d g d	 d
 d d g d d d d g g  j d t  S(   Ni   i   i   i   i   i   i   i   i	   i
   i   i   i   i   i   i   RL  (   R(   R   RÃ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     s   !c           S   s=   t  t d d g d d g g  t d d g d d g g   S(   Ni   i   i   i   (   R-   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s%   t  t d d g d d g g  g   S(   Ni   i   i   i   (   R-   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  t d  d d  S(   NRN   i   RJ   (   R-   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d  d S(   Ni   i   i   (   i   i   (   R,   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d  d S(   Ni   i   i   (   i   i   (   R,   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   i   i   i   i   i	   i
   i   i   i   i   i   i   c              s     j  d  S(   Ns   method=LU_decomposition()(   R   (    (   Rr   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c              s     j  d   S(   NgÍÌÌÌÌÌ@(   R€  (    (   Rr   t   V(    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c              s     j  d   S(   NgÍÌÌÌÌÌÀ(   R¥  (    (   Rr   R®  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (	   RA   R   R   R   RY  R!   RE   R(   R©  (    (    (   Rr   R®  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_errorsà  sr    


C



00c           C   sB  t  t    d k s t  t  t d d g g   t  t d g d g g   k o_ d k n sj t  t  t d d d     t  t d d d     k o« d k n s¶ t  t  t d d d g d d d g g   d	 k sì t  t d g  t d g g  k st  t   s#t  t   t g   k s>t  d  S(
   Ni    i   i   c         S   s   d S(   Ni    (    (   RU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   #  Rk   c         S   s   d S(   Ni    (    (   RU   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   $  Rk   i   i   i   i   (   Rö   R(   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_len   s    O46'c       	   C   s  t  d d t f t d d f d d t d f f  }  |  j t  t  t d t t d d f t t d t d t f d t d t t d d f f  k s¡ t  |  j t  t  t d t t t f t d d d t d t f d t d t t t d f f  k st  d  S(   Ni   i   i   i
   i   i   (   R(   RN   RO   RI  RZ   (   R|   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_integrate+  s
    4ac          C   s|   t  d d t t  t f t d d f d d t d d f f  }  |  j t d  t  d t d d f d f  k sx t  d  S(	   Ni   i   i   i
   i   i    (   i   i   i   (   i
   i   i   (   R(   R   RN   RO   RH  RZ   (   R|   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_limit3  s    Bc          C   s  t  d d t f t d d f d d t d d f f  }  t |  j t  t |    s\ t  |  j t  t  d d d d d t f f  k s t  |  j t  t  d	 d
 d f  k sœ t  t |  t  t  d d d d d t f f  k sô t  t |  t  t  d d d f  k st  |  j   } t | j t  t |   sNt  | j t  t d d d d d t f f  k st  | j t  t d d d f  k s¯t  t | t  t d d d d d t f f  k sæt  t | t  t d d d f  k st  d  S(   Ni   i   i   i
   i   i    (   i    i    i   (   i    i    i    (   i    i    i    (   i   i    i    (   i    i    i    (   i    i    i   (   i    i    i    (   i    i    i    (   i   i    i    (   i    i    i    (   i    i    i   (   i    i    i    (   i    i    i    (   i   i    i    (   i    i    i    (   i    i    i   (   i    i    i    (   i    i    i    (   i   i    i    (   i    i    i    (	   R6   RN   RO   Rw   R   RR   RZ   R   R7   (   R|   t   A_imm(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_diff8  s    8$7*7*$7*7c    
   	   C   sã  t  t t g t t g g  }  |  j |   t d d g d d g g d d g d d g g g d d g d d g g d d g d d g g g g  k s t  t |  |   t d d g d d g g d d g d d g g g d d g d d g g d d g d d g g g g  k st  |  j   } | j |  t d d g d d g g d d g d d g g g d d g d d g g d d g d d g g g g  k st  t | |  t d d g d d g g d d g d d g g g d d g d d g g d d g d d g g g g  k st  |  j t	  t  d d g d d g g  k sIt  t
 t	 t g  } |  j |  t j d d d d  k st  |  j |   t d d g d d g g d d g d d g g g d d g d d g g d d g d d g g g g  k st  | j t	 t g g  } | j d k s0t  | t d g d g g d g d g g g  k sft  t d  } | t t t  } | j t t t g g  t | j t  | j t  | j t  g  k sÕt  | j t t t g d f  t | j t d  | j t t  | j t t  g | j t t  | j t d  | j t t  g | j t t  | j t t  | j t d  g g  k st  t t  t t  } | j t t g g  t t t  t t  t t  t t  g  k sût  | j t t t f f  t t t  t t  t t  t t  g  k sNt  | j t t t f f  t t t  t t  t t  t t  g  k s¢t  | j t t f f t t g g  t t t  t t  t t  t t  g t t  t t  t t  t t  g g  k s+t  | j t  j t  j t  | j t t t f f d  d k | j t  j t  j t  | j t t t f f d  d k | j t t t g g t t t f f  t g  t t t f D]: } g  t t t f D] } | j |  j |  ^ qý^ qç k t j t t t g g   }	 t |	 t
  s^t  |	 t d d g g  k st  t d j t t t g g   }	 t |	 t
  s¶t  |	 t d t d d g g  k sßt  d  S(	   Ni   i    i   Rç   i   (   i   i   i   (   i    i   i    (   i   i   i    (   R6   RN   RO   RP   RQ   R   RH   RZ   R   RJ   R7   RK   R5   RX   R   R   R   R   R(   Rw   (
   R|   R³  t   Bt   dBRç   t   fxyzt   exprR   RU   t   res(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_diff_by_matrixJ  sD    {{{{3-{6Q00BPSTAA~!"c              s   t  d d t f t d d f d d t d d f f    t t   f d    t   d  t  t  d	 d
 d d d t f f  k s t  d  S(   Ni   i   i   i
   i   c              s     j  S(   N(   t   nonexistantattribute(    (   R|   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   R   i    (   i    i    i   (   i    i    i    (   R(   RN   RO   RA   R$  t   getattrRZ   (    (    (   R|   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_getattr  s    8c          C   sØ   t  d d d g d d d g d d d g g  }  |  j s? t  |  j }  |  j sW t  d |  d <|  j t k sv t  t  d d d g d d d g d d d g g  }  |  j s¶ t  t d d  }  |  j sÔ t  d  S(	   Ni   i   i   i   i   i    iÿÿÿÿ(   i    iÿÿÿÿ(   R(   t   is_upper_hessenbergRZ   R·   t   is_lower_hessenbergRÃ   R5   (   R|   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_hessenberg  s    0	
0c          C   s1  t  t d    t  t d    t  t d    t  t d    t  t d    t d t d f d f  j d	 t  t t d t  d g d d g g  k sŠ t  t d d f  }  |  j d	 t  } | t d d g d d
 t d  t g g  k st  | | j	 |  k st  t d d d f  }  |  j   } | | j	 |  k sUt  | j
 sdt  | t d d d g d d d g d d d g g  k s t  t d d t d
 d
 t f d
 t d
 d t f d
 d
 t d t d f f  }  |  j   t d t d d f d t d d f f  k s-t  d  S(   Nc           S   s   t  d  j   S(   Ni   i   (   i   i   (   R(   t   cholesky(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d f  j   S(   Ni   i   i   i   (   i   i   (   i   i   (   R(   RÁ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s    t  d t d f d f  j   S(   Ni   i    i   (   i    i   (   R(   R   RÁ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d f  j   S(   Ni   i   (   i   i   (   i   i   (   R(   RÁ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c           S   s   t  d d f  j d t  S(   Ni   i   i   i   t	   hermitian(   i   i   (   i   i   (   R(   RÁ  RÃ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   i   i    i   RÂ  i   i   i   i   iûÿÿÿi   i   i   iÿÿÿÿi   iþÿÿÿ(   i    i   (   i   i   (   i   i   (   i   i   iûÿÿÿ(   i   i   i    (   iûÿÿÿi    i   (   i   i    i    (   RA   R!   R   R(   R   RÁ  RÃ   R   RZ   R·   RÀ   (   R|   RÇ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_cholesky  s$    (.8<Pc          C   s  t  t d    t  t d    t  t d    t  t d    t  t d    t d d f  }  |  j d t  \ } } | | | j |  k s t  t d d d f  }  |  j   \ } } | | | j |  k sÛ t  | j sê t  | t d d d g t	 d  d d d g t	 d  d t	 d  d d g g  k sDt  | j
   sVt  | t d	 d d g d d d g d d d g g  k st  t d d t d d t f d t d d t f d d t d t d f f  }  |  j   \ } } t | | | j  |  k st  | t d t d d d f t	 d  d t d d d f f  k s`t  | t d d d f  k st  d  S(   Nc           S   s   t  d  j   S(   Ni   i   (   i   i   (   R(   t   LDLdecomposition(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¬  Rk   c           S   s   t  d d f  j   S(   Ni   i   i   i   (   i   i   (   i   i   (   R(   RÄ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ­  Rk   c           S   s    t  d t d f d f  j   S(   Ni   i    i   (   i    i   (   R(   R   RÄ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ®  Rk   c           S   s   t  d d f  j   S(   Ni   i   (   i   i   (   i   i   (   R(   RÄ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¯  Rk   c           S   s   t  d d f  j d t  S(   Ni   i   i   i   RÂ  (   i   i   (   i   i   (   R(   RÄ  RÃ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   °  Rk   i   i   RÂ  i   i   iûÿÿÿi   i    i   i   iÿÿÿÿi	   i   iþÿÿÿi   (   i   i   (   i   i   (   i   i   iûÿÿÿ(   i   i   i    (   iûÿÿÿi    i   (   i   i    i    (   i   i    i    (   i    i   i    (   i    i    i	   (   RA   R!   R   R(   RÄ  RÃ   R·   RZ   RÀ   R   Rk  R   R   R!  (   R|   RÇ   R#  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_LDLdecomposition«  s(    Z<P#Ic    	      C   s  t  d d d g d d d g d d d g g  }  t  d d d d d g  } |  | } |  j |  } | | k sv t  t  d d	 d g d d
 d g d d d g g  }  t  d d d	 d d g  } |  | } |  j |  } | | k sì t  t  d d f  }  t  d  } |  | } |  j |  } | | k s5t  t  d d t f d t d f f  }  t  d  } |  | } |  j |  } t |  | k st  t  d t d f d t d f f  }  t  d d t d	 f  } |  | } |  j |  } t |  | k s	t  t d  \ } } } } } t  | | f | | f f  }  t  | | f  } |  j |  } t |  |  | k st  d  S(   Ni   i   i   i   i   i   i   i    iÿÿÿÿi
   i   iýÿÿÿi	   iþÿÿÿs   a00, a01, a11, b0, b1(   i   i   (   i   i   (   i   iýÿÿÿ(   iþÿÿÿi   (   R(   t   cholesky_solveRZ   R   R   R   R   (	   R|   RN   RK   RÑ   t   a00t   a01t   a11t   b0t   b1(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_cholesky_solveÂ  sD    


&
&
c             sx  t  d d d g d d d g d d d g g    t  d d d d d g  }    |     j   } | |  k sv t  t  d d	 d g d d
 d g d d d g g    t  d d d	 d d g  }    |     j   } | |  k sì t  t  d d t f d t d f f    t  d  }    |     j   } t |  |  k sOt  t  d t d f d t d f f    t  d d t d	 f  }    |     j   } t |  |  k sÀt  t  d d f    t  d  }    |     j   } t |  |  k st  t  d d d g d d d g g    t  d g d g d g g  }    |   t t    f d    d  S(   Ni   i   i   i   i   i   i   i    iÿÿÿÿi
   i   i	   iýÿÿÿiþÿÿÿiûÿÿÿiüÿÿÿiùÿÿÿc              s     j    S(   N(   t   LDLsolve(    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   	  Rk   (   iþÿÿÿi   (   i	   i   (   i   i	   (   i   i   (   R(   RÍ  RZ   R   R   RA   RÐ   (   RN   RÑ   (    (   R|   RK   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_LDLsolveç  sB    

&
&

$
c          C   sÄ   t  t d    t  t d    t  t d    t d d g d d g g  }  t t t g t t g g  } t d d g d d	 g g  } |  j |  | k s¥ t  |  j |  | k sÀ t  d  S(
   Nc           S   s%   t  d d g  j t  d d g   S(   Ni   i    (   R(   t   lower_triangular_solve(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   	  Rk   c           S   s.   t  d d g d d g g  j t  d g   S(   Ni   i    (   R(   RÏ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   	  Rk   c           S   s=   t  d d g d d g g  j t  d d g d d g g   S(   Ni   i   i    (   R(   RÏ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   	  s   i   i    i   i   i   i	   (	   RA   R!   R   R   R(   RN   RO   RÏ  RZ   (   R|   Rµ  R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_lower_triangular_solve	  s    


c          C   sÄ   t  t d    t  t d    t  t d    t d d g d d g g  }  t t t g t t g g  } t d d g d d	 g g  } |  j |  | k s¥ t  |  j |  | k sÀ t  d  S(
   Nc           S   s%   t  d d g  j t  d d g   S(   Ni   i    (   R(   t   upper_triangular_solve(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   %	  Rk   c           S   s.   t  d d g d d g g  j t  d g   S(   Ni   i    (   R(   RÑ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   '	  Rk   c           S   s=   t  d d g d d g g  j t  d d g d d g g   S(   Ni   i   i    (   R(   RÑ  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   )	  s   i   i    i   i   i   i   (   RA   R!   RY  R(   RN   RO   RÑ  RZ   (   R|   Rµ  R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_upper_triangular_solve"	  s    


c              sª   t  t d    t d d g d d g g  d   t t t g t t g g     j    d k so t  t d d g d d g g    t  t    f d    d  S(   Nc           S   s"   t  d d g  j t  d g   S(   Ni   (   R(   t   diagonal_solve(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   5	  Rk   i   i    i   c              s     j    S(   N(   RÓ  (    (   R|   Rµ  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ;	  Rk   (   RA   RY  R(   RN   RO   RÓ  RZ   (    (    (   R|   Rµ  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_diagonal_solve4	  s    "c          C   s+  t  d d t }  t t |   t |   g  } t | j d   d k sQ t  | j d  t t |   d t |   d t	 d  d  k s t  t d t
 d d  g g  } | j   t d t
 d	 d
  t	 d  d  k sí t  | j t  t | j  k st  | j t  t | j  k s6t  t d d g d d g g  } | j d  d k sot  | j d  d k st  | j d  d k s¥t  t d  j d  t d  j d  k oÚd k n såt  | j t  d k s t  t d t t g |  t	 d  d t g g  } | j d  t t	 d  d
 d t t  d t d |  d  k s|t  t d d d g d
 d t
 d d  g g  } | j d  t t	 d  d t d  d  k sât  | j d  t	 d  k st  | j d  t d  d k s(t  t d d g d d
 g g  } t d d g d d g g  } t d t g t d g g  } t d d g d d g g  } | | | | g } t  d d t } xþ d d d g D]í } t d  j |  t	 d  k st  x^ | D]V }	 xM | D]E }
 |	 j |  |
 j |  |	 |
 j |  } | d k st  qWq	Wx\ | | | | g D]H } t | | j |  t |  | j |   } | d k svt  qvWqÕWt d d d t d g  } t t	 d  d d t d g  } t d d d g  } t d d t g  } t t d  t
 d d  d g  } | | | | | g } t  d d t } xad d d d t	 j t	 j t g D]>} | d k rât d d d g  j |  t	 d  k sât  n  | d k raxp | D]e }	 x\ | D]T }
 |	 j |  |
 j |  |	 |
 j |  } t | d k  t	 j k st  qWqõWn  | d d d d t	 j t	 j g k rxS | D]H }	 t | |	 j |  t |  |	 j |   } | d k st  qWqqWt d d d d d d d d d d	 d g	  } | j d  d k s't  d  S(   NRN   R§   i   i   i
   i   i   i   i	   i   iþÿÿÿi    t	   frobeniust   froi%   iýÿÿÿi   i  i   iI3 iÿÿÿÿt   alphag      Y@i   (   R   R   R(   R   R   R   RÞ   RZ   R
   R   R   R   R  R]   R³   R,   RO   R   R   Rm   R   R5   R   R   t   Infinityt   NegativeInfinityt   true(   RN   Rg   R|   Rµ  R  R#  RÇ   R×  t   orderRù   RQ  t   difRr   RJ   RK   RL   RM   Rø   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_matrix_norm>	  sz    !F8$%@/A-9!%'#$(3,$-c       	      se  t  d d t  t d  }  d |  d <t d  d |  d <|  j   d k sT t   |  d <|  j   t d t    t t d  d t    k s¢ t  t	 t
   t   g t   t
   g g  } | j     t    f d	   t d d
  t d d  t d d  t d t d t d g D  sCt  t	 g   j   d k sat  d  S(   NRN   R§   i   i
   i    i   i   id   c         3   s6   |  ], } t  d   j   j  |  j    Vq d S(   g      ð?N(   R   t
   epsilon_eqR   R=  (   RT   t   val(   t   McRN   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pys	   <genexpr>§	  s    i   i   i   (   i    i    (   i   i   (   i   i   (   R   R   R,   R   t   condition_numberRZ   R   R    R   R(   R   R   RY   R   R   (   R|   Rr   (    (   Rà  RN   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_condition_number	  s    

D7Lc          C   s  t  d d d f  }  t  d d d f  } |  |  d  d   d  d   f k sR t  |  |  d  d   d  d   f k s{ t  |  | k s t  |  | k s  t  |  d
 k s² t  |  d
 k sÅ t  t d d d f  } t  d d d f  } | | k st  | | k st  d  S(   Ni   i   i   i   i   i   i   i   i	   i
   i    (   i   i   i   (   i   i   i   (   i   i   i	   (   i	   i   i   (   i   i   i   (   i   i   i   (   i   i    i    (   i    i   i    (   i    i    i   (   i   i    i    (   i    i   i    (   i    i    i   (   R(   RZ   R)   (   R|   Rµ  R  R#  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_equality®	  s    ()c           C   sm   t  d  j t d d d g g   t d d d g d d d g d d d g d d d g g  k si t  d  S(   Ni   i   i   i    (   R,   R£  R(   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_col_join¿	  s
    $c          C   s   t  d d d g g  }  xo t d d  D]^ } d d d g } | j | d  t t d  j | |   j d  j    | k s( t  q( Wd  S(   Ni   iüÿÿÿi   i   i    i   (	   R(   R;   t   insertR?   R,   R€  R,  R   RZ   (   t   r4RU   R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_row_insertÇ	  s
    c          C   s   t  d d d g  }  xo t d d  D]^ } d d d g } | j | d  t t d  j | |   j d  j    | k s% t  q% Wd  S(   Ni   iüÿÿÿi   i    i   (	   R(   R;   Rå  R?   R5   R¥  R+  R   RZ   (   t   c4RU   R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_col_insertÏ	  s
    c          C   sÁ   t  d d g  j   t  t d d  t d d  g  k sB t  t  d d d g  j   t  d d d g  k sx t  t  d d d g  }  |  j d d    t  d d d g  k sœ t  d  S(   Ni   i   i   i    g0ä.ÿ++RL  c         S   s   |  j  d d d t  j S(   NRi   i
   t   chop(   R=  R   t   is_zero(   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   á	  Rk   (   R(   Rª  R   RZ   (   Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_normalized×	  s    -6		c           C   s:   t  d    d k s t  t  d    d k s6 t  d  S(   Nc           S   s   t  d  j   S(   Ni   (   R,   t   print_nonzero(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   æ	  Rk   s   [X  ]
[ X ]
[  X]
c           S   s   t  d  j d  S(   Ni   t   .(   R,   Rí  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   è	  Rk   s   [.  ]
[ . ]
[  .]
(   R@   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_print_nonzeroå	  s    c          C   so  t  j d  t d  k s! t  t  j d  t d  k sB t  t d d  t  d d d g d  k sp t  t  d d g d d g g  }  t  d d g d d g g  } xŒ t D]Ž } | j d  } |  | k sÚ t  |  t d d | k sø t  t |  | k st  | j d  } | | k s1t  | t d d | k sOt  t |  | k s³ t  q³ Wd  S(   Ni   i   i   i   i    i   Rb   (   R(   R,   RZ   R5   R/   RW   RR   (   RU   RP   Rb   Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_zeros_eyeì	  s    !!.c          C   s  t    j s t  t  d d g d d g g  j s9 t  t d d  j sQ t  t d  j sg t  t  t d g d d g g  j d  k s t  t t d g d d g g  j d  k sÁ t  t t d g d d g g  j d  k sî t  t	 t d g d d g g  j d  k st  t  t d g d d g g  j t
 k sHt  t d d t }  t  |  d g d d g g  j t
 k st  d  S(   Ni    i   i   i   RJ   t   nonzero(   R(   Rë  RZ   R5   R,   RN   t   NoneR)   R&   R'   RÃ   R   R   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_is_zeroþ	  s    '-----c          C   s  t  d }  t |   } t |   } t |   } t |   } t |   } t |   } | | t d  t d  k s{ t  | | t d  t d  k s¡ t  | | t d  t d  k sÇ t  | j   d d t |   k sí t  | j   d d t |   k st  | j   d d t |   k s9t  t d  t d  k sWt  t d  t d  k sut  t d  t d  k st  d  S(   Ni   i   i   i    (   R   R3   R2   R1   R,   RZ   R&  R   (   t   thetat   r3_plust   r3_minust   r2_plust   r2_minust   r1_plust   r1_minus(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_rotation_matrices
  s     
&&&&&&c           C   s   t  t d  d  d k s" t  t t d   t d  k sF t  t t d    t  t d   d k st t  t t d   d k s t  d  S(   Nt   vectori   s	   vector[4]RM   c           S   s   t  d  d S(   NRM   iÿÿÿÿ(   R"   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   '
  Rk   Rã   s   DeferredVector('test')(   R   R"   RZ   R   RA   R   t   repr(    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_DeferredVector$
  s
    "$c           C   s   t  t d   s t  d  S(   NRù   (   R:   R"   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt    test_DeferredVector_not_iterable+
  s    c           C   s   t  t d    d  S(   Nc           S   s   t  t d   S(   NR®  (   R(   R"   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   /
  Rk   (   RA   RY  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_DeferredVector_Matrix.
  s    c          C   s  t  }  t d d d d g  } t d d d d g  } t | | g  t d d d d g  t d d |  d  d |  d  d g  g k s t  t | j | j g  t d d d d g  t d d |  d  d |  d  d g  g k sô t  t t d d g  t d d g  g t  t d t d  d t d  d g  t t d  d d t d  d g  g k s|t  d  S(   Ni   i   i   i   iÿÿÿÿi
   (   R   R(   R%   RZ   R·   R   R   (   R   R   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_GramSchmidt1
  s    MM*'c           C   sX   t  d d d d g d  d k s' t  t  d d d d g d d t d k sT t  d  S(   Ni   i   i   i   i    t   zero(   R*   RZ   RÃ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_casoratian?
  s    'c           C   s   t    t d d  j d k s% t  t d d  t d d  t d d  k sV t  t d d  t d d  t    k s t  d  S(   Ni    i   (   i    i   (   R(   R5   RX   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_zero_dimension_multiplyD
  s    %1c              s  t  d d t d       d d  d   f t  d d g g  k sI t    d d  d   f t  d d g g  k sz t    d  d   d f t  d d g g  j k s® t    d  d   d f t  d d g g  j k sâ t  t t   f d    t t   f d    d  S(   Ni   i   i   i   iÿÿÿÿc              s     d d  d   f S(   Ni   (    (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   P
  Rk   c              s     d S(   Ni   (   i   i   (    (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Q
  Rk   (   R(   R;   RZ   R·   RA   R   (    (    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_slice_issue_2884J
  s    1144c           C   si   t  d d  d  d   d f j d k s. t  t  d d  d d  d   f t d d g   k se t  d  S(   Ni    i   iÿÿÿÿi   (   i    i   (   R5   RX   RZ   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_slice_issue_3401T
  s    .c          C   s  t  d d  }  d |  d <|  d  d   d f t d d d g  k sJ t  |  d d k s` t  |  d d !d g k s| t  d |  d
 <|  d d k s t  |  d d d   f t d d g g  k sÍ t  t d d g g  |  d d d   f <|  d d  d   f t d d d g g  k s&t  d d g g |  d d d   f <|  d d  d   f t d d d g g  k syt  d	 |  d <|  d  d   d  d  f t d	 d d g  k sºt  d d d g |  d <|  d  d   d f t d d d g  k sþt  t d d d g  |  d <|  d  d   d f t d d d g  k sHt  t d d d g  |  d <|  d  d   d f t d d d g  k st  d  S(   Ni   i   i    i   i*   i   i   i+   i   (   i   i   (   i   i   (   i    i    (   i    i    (   i    i    (   i    i    (   R5   R(   RZ   R)   (   R×   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_copyinY
  s(    
1
1%44
711c              sC  t  d d g d d g g  j   t  d d g d d g g  d f k sN t  t t d    t  d d d g t d d g d t d g g    t   j   d    j k s³ t    j   d t d  k sÕ t    j d t	  d t d  k sý t  t t   f d    t t   f d	    t t   f d
    d  S(   Ni   i   i    c           S   s"   t  d d g d d g g  j   S(   Ni   i   (   R(   RÅ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   t
  Rk   iÿÿÿÿi   R   c              s     j  d d  S(   NR   RÖ   (   RÅ   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   
  Rk   c              s     j  d d  S(   NR   RK  (   RÅ   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   
  Rk   c              s     j  d d  S(   NR   RÕ   (   RÅ   (    (   Rc   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   
  Rk   (   i    (
   R(   Rï   RZ   RA   R   RN   Rö   R[   R,   R   (    (    (   Rc   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_invertible_checkp
  s    N%"(c          C   s`   t  d  \ }  } |  | } | j |  t d d d g   t d d d g  | k s\ t  d  S(   Ns   x, yi   i   (   R   R   R(   RZ   (   RN   RO   Rø   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_3959
  s    
c           C   s4   t  t d d g d d g g   d k s0 t  d  S(   Ni   i   i   i   s   Matrix([[1, 2], [3, 4]])(   R   R(   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_5964
  s    c          C   sR   t  d  \ }  } t t |  d | g | d |  d g g   d k sN t  d  S(   Nu   x yi   i   s'   Matrix([
[   x,   2*y],
[y**2, x + 3]])(   R   R   R(   RZ   (   RN   RO   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_7604
  s    -c           C   s=  t  d  j s t  t  d  j   j s0 t  t d  j sF t  t d  j s\ t  t d d d g g  j s~ t  t d d i d d 6d d 6d d 6 j s® t  t d d t d   j sÐ t  t d d i d d	 6d d
 6 j sú t  t d d i d d 6d d 6d d 6d d 6d d 6 j s9t  d  S(   Ni   i   i    i   i   (   i    i    (   i   i   (   i   i   (   i    i    (   i   i   (   i    i    (   i   i   (   i   i   (   i    i   (   i    i   (	   R,   t   is_IdentityRZ   R   R5   R/   R(   R)   R;   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_is_Identity
  s    "0"*c           C   s  t  d d  j t  d d   d k s- t  t  d d  j d d d g  d k sZ t  t d d d g  j t d d d g   d k s t  t d d d t g  j t t d d t g   d t k sØ t  t d d d t g  j t t d d t g  d t d t k s#t  t d d d t g  j t t d d t g  d t d t k snt  t d d d t g  j t t d d t g  d t d d	 d t k s¿t  t d d d t g  j t d
 d t d g  d t d d d
 d t k st  t d d d t g  j t d
 d t d g  d t d d d
 d t k sit  t t d t g  j t t d t g  d t d d d k s°t  t t d t g  j t t d t g  d d d k sñt  t t d    d  S(   Ni   i   i   i   iûÿÿÿRÂ  i   t   conjugate_conventiont   physicsi   i   i   t   righti   t   leftc           S   s1   t  d d g  j t  d d g  d t d d S(   Ni   i   i   i   RÂ  R  Rã   (   R(   R©  R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ¯
  Rk   (	   R/   R©  RZ   R(   R   RÃ   R   RA   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_dot£
  s    --9EKKQUUGAc          C   s(  t  d d t \ }  } } } } } t d | | | f | d | | f | | d |  f | | |  d f f  } t d |  | | f |  d | | f | | d | f | | | d f f  } | j   j |  sÛ t  t d  j   j t d   st  | j   j   j |  s$t  d  S(   Ns   B_x B_y B_z E_x E_y E_zR§   i    i   (   R   R   R(   t   dualt   equalsRZ   R,   R5   (   t   B_xt   B_yt   B_zt   E_xt   E_yt   E_zt   Ft   Fd(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_dual²
  s    !'c          C   sQ  t  d d g  j   t k s$ t  t  d d d t d d t d t t d d d t t t t t d g	  }  |  j   t k s t  |  j d t  t k sª t  |  j d d    t k sË t  |  d |  d <|  j   t k sò t  |  d	 |  d
 <|  j   }  |  j d t  t k s+t  d |  d <|  j   t k sMt  d  S(   Ni   i   i   i    R   c         S   s   |  S(   N(    (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   Ë
  Rk   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i    (   R(   t   is_anti_symmetricRÃ   RZ   RN   RO   R   R©   (   Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_anti_symmetricÆ
  s    $P!
c          C   sÞ   t  d d f  }  |  j d t  \ } } | | j | j | k oX t | j  k n sc t  |  j d t d t  \ } } | | j | j | k o¯ t | j  k n sº t  | | | j   |  k sÚ t  d  S(   Ni   i   t	   normalizet   sort(   i   i   (   i   i   (   R(   Rn  R   R·   R,   R\   RZ   RÅ   (   R|   RÌ   RG   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt#   test_normalize_sort_diogonalizationÙ
  s    99c           C   s   t  t d    d  S(   Nc           S   s%   t  d d d g t  d d g   g  S(   Ni   i   i   i    (   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ã
  Rk   (   RA   R   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_5321â
  s    c          C   s  t  j t d  d t d   t  d d d d g d d d d g g  k sR t  t  j t d  d t d   t  d d g d d g d d g d d g g  k sª t  t }  |  j |  t d   |  d t d    t  d d d d g d d d d g g  k st  d  S(   Ni   i   i    (   R(   t   hstackR,   RZ   t   vstackR)   (   Rb   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_5320æ
  s    "!"			.c          C   s   t  d g g  }  t |   } t  j | |   t  d d g g  k sK t  t  j | |   t  d g d g g  k s{ t  d  S(   Ni   (   R(   R   R$  RZ   R%  (   R|   t   AIm(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_11944÷
  s    -c             sì   d d d g }  d d d g } t  d d d g  } | j }   f d   } x t D]     |   }   |  } | | j |  |  | | j | j  |  | | j j | j  |  | | j j |  |  qR Wt t d    d  S(	   Ni   i   i   i   i   iþÿÿÿc            s.   | |  k s t   t |     k s* t   d  S(   N(   RZ   RR   (   Rr   Ré   (   Rb   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRã     s    c           S   s1   t  d d d d g  j t  d d d d g   S(   Ni   i   (   R(   Rš  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     s    (   R(   R·   RW   Rš  RA   R   (   RJ   RK   R,  R+  Rã   R|   Rµ  (    (   Rb   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_crossý
  s    	c          C   s   xc t  d D]W }  |  j d  |  j d  h } t |  d k r\ | j   |  j d  k s t  q Wx1 t  d  D]% }  t |  j d  t  sq t  qq Wd  S(   Niþÿÿÿi   i   (   RW   R,   Rö   t   popRZ   Rw   R<   (   Rb   R×   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_hash  s
    7c              s$   t  d   t t   f d    d  S(   Ni    c              s   t    j d   S(   Ni   (   t   hashR,   (    (   Rb   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   (   RW   RA   R$  (    (    (   Rb   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_3979  s    
c          C   sj   d t  g d d g g }  t d d g t  d g g  } x, t D]$ } | | |   j   k s> t  q> Wd  S(   Ni    i   (   R   R(   RW   t   adjointRZ   (   t   datRé   Rb   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_adjoint"  s    c          C   sh   d d l  m }  m } m } |  t | t  d | t  d g g   t d g g  k sd t  d  S(   Niÿÿÿÿ(   R   R   R   i   i   (   t   sympyR   R   R   R&   RN   RZ   (   R   R   R   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_simplify_immutable(  s    -c          C   s©   d d l  m }  t d d g |  d d |  g g  } | j   d k sN t  t d d t d d   } | j   d k s t  t d  } | j   d k s¥ t  d  S(   Niÿÿÿÿ(   RN   i   i   i   i
   i    (   R   RN   R(   R÷   RZ   R;   R5   (   RN   Rc   Ri   RÉ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_rank-  s    &c          C   sò   t  d  \ }  } } } } } } } } }	 }
 } t |  | |  |
 | |
 d g | | | |
 | |
 d g | | | |
 | |
 d g | | | |
 | |
 d g | |	 d | | | |
 d |	 | |	 |
 d g g  } | j   d k sî t  d  S(   Ns/   a_x a_y b_x b_y c_x c_y d_x d_y e_x e_y t_0 t_1i    i   i   i   (   R   R(   R÷   RZ   (   t   axt   ayt   bxt   byt   cxt   cyt   dxt   dyt   ext   eyt   t0t   t1Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_114346  s    0;c       	   C   s@  t  d  \ }  } t d |  d d d g d |  d |  d d d g d d |  d |  | d d g d d |  | d g g  } t d d d d |  d | |  g d d d d |  | |  g d d d d | |  g d d d d g g  } d	 } | j   \ } } t | |  t | j   k s*t  | | k s<t  d  S(
   Ns
   nu, lambdaiýÿÿÿi   i    i   iþÿÿÿi   iÿÿÿÿ(   i    i   i   (   R   R(   Rï   R   R5   RX   RZ   (   t   nut   lambR|   t   expected_reducedt   expected_pivotst   reducedt   pivots(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_rank_regression_from_so@  s    #%c             s   d d l  m }  m } m } |  d d | \    | d d  f d    } | d d   f d    } | j     } | | k s t  d  S(   Niÿÿÿÿ(   R   R   R(   s   F, GRb   i   c            s     |  |  S(   N(    (   RU   R   (   t   G(    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   W  Rk   c            s     |  |  S(   N(    (   RU   R   (   R  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   X  Rk   (   R1  R   R   R(   t   replaceRZ   (   R   R   R(   t   KRr   R   (    (   R  RH  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_replaceT  s    c             s  d d l  m }  m } m } |  d d | \   } | d d | d  i | d    d  6f | d  i | d    d  6f | d  i | d    d  6f | d  i | d    d  6f g  } | d d   f d    } | j   | t  } | | k st  d  S(	   Niÿÿÿÿ(   R   R   R(   s   F, GRb   i   i    i   c            s     |  |  S(   N(    (   RU   R   (   R  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   a  Rk   (   R1  R   R   R(   RI  R   RZ   (   R   R   R(   RH  RJ  Rr   R   (    (   R  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_replace_map\  s    YAc          C   s~   t  d d g t d d t g g  }  |  j   t d  t d  t d  t h k s\ t  |  j t  t h k sz t  d  S(   Ni   i   iÿÿÿÿ(   R(   RN   t   atomsR   RZ   R   (   Rc   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_atomse  s    &6c          C   s9  t  t t g t t g g  }  t |  j    t |  j    k sH t  t  d d g d d g d d g g  t  d d d	 g d
 d d g g  t  t t g  g } x | D] } | j   } | | } | | } t | |  | k së t  t | |  | k st  | j	 | k st  | j	 | k s© t  q© Wd  S(   Ni   ih   i€  i   iýÿÿÿi   i   i   i	   i   i   i   (
   R(   RJ   RK   RL   RM   R   t   pinvRÅ   RZ   R!  (   t   A1t   AsR|   t   A_pinvt   AApt   ApA(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_pinvk  s    *$!

c          C   sD  t  d d g d d g g  }  t  d d g  } |  j |  |  j |  k sT t  |  j |  |  j |  k sx t  |  j |  t  t d  t d  g  k s« t  |  |  j   | | k sË t  t  d d d	 g d
 d d g g  } |  j |  |  j |  k st  |  j |  |  j |  k s7t  |  j |  t  d d d g d d d g g  d k stt  |  |  j   | | k st  t  d d d g d d d g g  }  t  d d g  } |  j |  } i  } x$ | j t  D] } | | | j	 <qïW| t  | d d | d d | d d d g | d d | d d | d d d g | d d | d d | d d d g g  k st  |  |  j   | | k sœt  t  d d g d d g d d g g  }  t  d d d g  } |  j |  t  d d g  k s t  |  |  j   | | k s@t  d  S(   Ni   i   i   i	   i   i   s   -43/26s   71/26i   i   i   i   ißÿÿÿiÛÿÿÿi×ÿÿÿiE   iK   iQ   i   i    t   w0_0i   t   w1_0t   w2_0i   i   (
   R(   t
   pinv_solveRÆ  RZ   RÍ  R   RO  RM  R   t   name(   R|   Rµ  t   solutiont   wR×   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_pinv_solve|  s2    $$3 $$$= $0*= ''c          C   s-  t  d d d g d d d g g  t  d d g d d g g  t  d d g d d g d d g g  g }  x |  D] } | j   } | | } | | } t | |  | k s¯ t  t | |  | k sË t  | j | k sà t  | j | k sm t  qm Wt  d d g d d g g  } t  d d g  } | j |  } | j t  j   } | j	 d k sbt  | t  d | g  k st  | | j   | | k s t  t  d d g  } | j |  } | j t  j   } | j	 d k sët  | t  d | g  k s	t  | | j   | | k s)t  d  S(   Ni   i   i    i   i   i   RW  (
   R(   RO  R   RZ   R!  RY  RM  R   R*  RZ  (   RQ  R|   RR  RS  RT  Rµ  R[  Rü   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_pinv_rank_deficient  s0    !*

 c          C   s$  t  d d d d d d g d d d	 d	 d
 d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g g  g }  x |  D] } | j   } | | } | | } t | |  | k sÖ t  t | |  | k sò t  | j | k st  | j | k s t  q Wd  S(   Ni=   iY   i7   i   iG   i    i>   i`   iU   i   iE   i8   i   i   i6   i
   i[   i)   i   i   i0   iZ   (   R(   RO  R   RZ   R!  (   RQ  R|   RR  RS  RT  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt3   test_pinv_rank_deficient_when_diagonalization_fails»  s    !

c    
   	      sú  t  d d d g d d d g d d d	 g g    t  d d d
 g     j   \ }  } |  t  d g d g d g g  k s t  | t  d d g   k s¢ t  t d    t  d d d d g d d d d g d
 d	 d d g g     j   \ }  } |   k st  | t  d d g   k s,t  t  d d d g d d d g d d d
 g g    t  d d d
 g     j  d t \ }  } } i  } x$ |  j t  D] } | | | j <q¥W|  t  | d d g d | d d g | d g g  k sþt  | t  | d g g  k s t  | d g k s5t  t  d d d g d d d g d d d
 g g    t  d d g d d g d
 d g g     j  d t \ }  } } i  } x$ |  j t  D] } | | | j <qÀW|  t  | d d | d t d  d g d | d d d | d t d  d g | d | d g g  k sNt  | t  | d | d g g  k swt  | d g k st  t  d d d g d d d g d d d
 g g    t  d d d g     j   \ }  } i  } x$ |  j t  D] } | | | j <qüW|  t  d | d d | d g | d g | d g g  k sYt  | t  | d g | d g g  k st  t  d d d g d d d g d d d g g    t  d d d g     j   \ }  } i  } x$ |  j t  D] } | | | j <qõW|  t  | d g | d g | d g g  k sBt  | t  | d g | d g | d g g  k sxt  t  d d d g d d d g d d d
 g g    t  d d d g   t	 t
    f d    t  d d d g d d d g d d d
 g d d d g g    t  d d d d g     j   \ }  } |  t  t d  d g d g t d  d g g  k s~t  | t  d d g   k st  t  d d d g d d d g d d d
 g d d d g g    t  d d g d d g d d g d d g g     j   \ }  } |  t  t d  d t d  d g d d g t d  d t d  d g g  k szt  | t  d d g   k st  t  d d d g d d d g d d d
 g d d d g g    t  d d d d g   t	 t
    f d    t  d d d g d d d g d d d
 g d d d g g    t  d d g d d g d d g d d g g   t	 t
    f d    t  d d d g d d d g d d d
 g d d d g g    t  d d g d d g d d g d d g g   t	 t
    f d    t  d d d g d d	 d g d d d
 g d d d g g    t  d d d d g     j   \ }  } i  } x$ |  j t  D] } | | | j <q	W|  t  d | d d g d g | d g g  k sß	t  | t  | d g g  k s
t  t  d d d g d d	 d g d d d
 g d d d g g    t  d d d d g   t	 t
    f d    t  d d d d g d d d d g d
 d	 d d g g    t  d d d g     j   \ }  } i  } x$ |  j t  D] } | | | j <qç
W|  t  d | d d g d | d d g d g | d g g  k sJt  | t  | d g g  k slt  t  d d d d g d d d d g d d d d g g    t  d d d g     j   \ }  } i  } x$ |  j t  D] } | | | j <qåW|  t  | d d | d d t d  g d | d d | d d t d  g | d g | d g g  k stt  | t  | d g | d g g  k s t  t d  \ } } } } t  d d d d d d g d d d d d | g g  }	 |	 d  d   d  d  f   |	 d  d   d d   f    j   \ }  } | t  d d | | | g  k sbt  |  t  d d | d | | | g  k st  t  d d d d g d d d d g d d d d g g    t  d d d g   t	 t
    f d    d  S(   Ni   i   i   i   i   i   i   i   i
   i	   iÿÿÿÿi    i   i   t   freevart   tau0iþÿÿÿt   tau1t   tau2c              s     j    S(   N(   t   gauss_jordan_solve(    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c              s     j    S(   N(   Rd  (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   %  Rk   c              s     j    S(   N(   Rd  (    (   R|   Rµ  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   *  Rk   c              s     j    S(   N(   Rd  (    (   R|   Rµ  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   /  Rk   i   iýÿÿÿc              s     j    S(   N(   Rd  (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   >  Rk   s   _tau0 _tau1 _tau2 tau1c              s     j    S(   N(   Rd  (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   b  Rk   (   R(   Rd  RZ   R,   R   RM  R   RZ  R   RA   R   R   (
   t   solt   paramsR`  R\  R×   t   x0t   x1t   x2t   _x0Rr   (    (   R|   Rµ  RK   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_gauss_jordan_solveÐ  sÚ    0*90B"0')+#)0 &,0660<?<0]<<0<0<:"<90"9*(&,6'-9c              s   t  d d g d d g g    t  d g d g g   t t    f d    t  d g d g g   t t    f d    d  S(   Ni   i   i   i   c              s     j    S(   N(   RF   (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   g  Rk   i   c              s     j    S(   N(   RF   (    (   R|   RK   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   i  Rk   (   R(   RA   R   (    (    (   R|   RK   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt
   test_solved  s
    c           C   sl   t  d d  t  d d  t d d g   k s4 t  t  d d  t  d d  t d d g   k sh t  d  S(   Ni    i   (   R/   R(   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_7201k  s    4c          C   sK   xD t  t t t f D]0 }  |  t g d g g  j t h k s t  q Wd  S(   Ni    (   R&   R'   R(   R)   RN   t   free_symbolsRZ   (   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_free_symbolso  s    c              sH  y d d l  m   Wn t k
 r1 t d  n Xt   d d d g   t d d d g  k sh t  t   d d d g g   t d d d g g  k s€ t  t   d d d g d d d	 g g   t d d d g d d d	 g g  k sø t  t   t t t g   t t t t g  k s.t  t	 t
   f d
    d S(   s   See issue 7465.iÿÿÿÿ(   t   arrays?   NumPy must be available to test creating matrices from ndarraysi   i   i   i   i   i   c              s:   t    d d g d d g g d d g d d g g g   S(	   Ni   i   i   i   i   i   i   i   (   R(   (    (   Rp  (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     s   N(   t   numpyRp  t   ImportErrorRD   R(   RZ   RN   RO   RP   RA   RÐ   (    (    (   Rp  sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_from_ndarrays  s    6<'-6c          C   s   t  d t g t d g g  }  |  j s. t  d t |  d <|  j t k sQ t  t |  d <|  j d  k sp t  |  d t |  d <|  j t k s t  d  S(   Ni   i   i    (   i    i    (   i    i    (   i   i    (   i    i   (   R(   R   t   is_hermitianRZ   RÃ   RN   Rò  (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_hermitian  s    
c          C   sg   t  t t t d t g g  }  |  d d t k s; t  |  j   t  d t g g  k sc t  d  S(   Nt   evaluatei    i   (   R(   R   RN   RÃ   RZ   R   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt	   test_doit  s    !c             sC  t  d d d g d d d g d d d g g  }  |  j d  |  t  d d d g d d d g g  k sm t  t  d d d g d d d g d d d g g  } | j d  | t  d d d g d d d g g  k sÚ t  t  d d d g d d d g d	 d
 d g g  } | j d  | t  d d d g d d d g g  k sGt  t  d d d g d d d g d d d g g    t t   f d    t  d d d g d d d g d d d g g   t t  f d    t  d d d g d d d g d d d g g  }  |  j d  |  t  d d g d d g d d g g  k sCt  t  d d d g d d d g d d d g g  } | j d  | t  d d g d d g d d g g  k s³t  t  d d d g d d d g d d d g g    t t   f d    t  d d d g d d d g d d d g g   t t  f d    d  S(   Ni   i   i   i   i   iþÿÿÿi   i   i	   i
   i   iÿÿÿÿc              s     j  d  S(   Ni
   (   t   row_del(    (   RÌ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c              s     j  d  S(   Niöÿÿÿ(   Rx  (    (   RG   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj     Rk   c              s     j  d  S(   Ni
   (   t   col_del(    (   RÌ   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ©  Rk   c              s     j  d  S(   Niöÿÿÿ(   Ry  (    (   RG   (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   «  Rk   (   R(   Rx  RZ   RA   R   Ry  (   Rr   R   t   O(    (   RÌ   RG   sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_9457_9467_9876  s.    00000000030300c          C   s
  t  d d t \ }  } t  d  \ } } t d  } t d d |  | | t g  } | |  | |  | | k sv t  | | | | | | k s t  |  | | |  k s² t  | | | | k sÌ t  | |  | t | |  d g d | |  g g  k st  d  S(   Ns   x yt   commutatives   a bi   i    (   R   RÃ   R,   R(   RP   RZ   (   RN   RO   RJ   RK   Rr   t   M1(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_9422­  s    ""c    	      C   s  t  g   }  d d g t  d d d g  f } d d g | d j f } d d g t  d d	 g d d
 g g  f } x | | | f D]} \ } } xn | D]f } t |  |  } d | k rÀ | |  n | d |  } | | k ró t |  t |  k s t  q Wq Wd  S(   NR¥  R¢  i	   i   i   R€  R£  i   i   i   t   joini*   (   R(   R·   RŒ  t   idRZ   (	   Rr   RJ   RK   RL   t   opsRc   t   opRç   t   new(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_10770¹  s    !*'c          C   s  t  d d d g d d d g d d d	 g g  }  |  j d
 d d g t t t g  t  d d g d d g d d g g  k s t  |  j d
 d d g t t t g  t  d g d g d g g  k sÉ t  |  j t t t g d
 d d g  t  d d d g g  k st  |  j t t t g d
 d d g  t  d d d g d d d	 g g  k sYt  |  j d
 d d g t t t g  t  d d
 g   k st  |  j t t t g d
 d d g  t  d
 d g   k sÑt  |  j t t t g t t t g  t  d g d g g  k st  d  S(   Ni   i   i   i   i   i   i   i   i	   i    (   R(   Rq   R   RÃ   RZ   (   R|   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_10658Å  s    0!0HB!-<<!c          C   sõ  t  d d t d  d g d t d  d d d t d  d g g  }  |  j   d k sd t  t  d d t d  t d g d d d t d  t g g  }  t |  j   d	 t  d d d d t d  t g d	 d	 g g   t d d  k st  t d
  \ } } } } } } } } }	 }
 } } t  | | | | | | d	 g | | | | | | d	 g | | | | | | d g | | | | | | d g |	 |
 d |	 | |	 | d |
 | |
 | d	 g g  }  |  j   d k sñt  d  S(   Niûÿÿÿi   i   i   i   i÷ÿÿÿi   iýÿÿÿi    s/   a_x a_y b_x b_y c_x c_y d_x d_y e_x e_y t_0 t_1(	   R(   R   R÷   RZ   R   R   Rï   R5   R   (   Rc   R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt!   test_opportunistic_simplificationÒ  s    LB]0Šc          C   s@  t  d d d g d d d g g  }  |  j   d t  d d d	 g d d d g g  j   d
 k  sh t  t  d d d g d d d g d d d g g  } t  d d d g d d d g d d d g g  } t  d d d g d d d g d d d g g  } | j   | j   d
 k  st  | j   | j   d
 k  s<t  d  S(   Ngú~jŒth?gRžëM@gö(\ÂM@gDlçû)@gëQžÀg€p=
×cG@i    g      ð?g      $@gVç¯Ò<gqµô7K<i   g      ð¿i   i   g      @g        g       @g      À(   R(   Rï   RÞ   RZ   RÅ   (   t   mmt   m_mixedt   m_floatt   m_inv(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_partial_pivotingâ  s    $D000"c          C   sÇ   t  d d d d g d d d d g d d d d g g  }  |  j d d	    d } t  d
 d d d g d d
 d d g d d d d g g  } | | } | j   d k  s­ t  | d d k sÃ t  d S(   s    When doing numerical computations, all elements that pass
    the iszerofunc test should be set to numerically zero if they
    aren't already. gÍÌÌÌÌÌì?g¹¿gÉ¿i    gé¿gÙ¿g333333ã?RL  c         S   s   t  |   d k  S(   Ng [nû<(   Rm   (   RN   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyRj   ú  Rk   g      ð?g¡4iÒ€IÓ¿g¹lÙ²eËæ¿gVç¯Ò<i   N(   i   i   (   R(   Rï   RÞ   RZ   (   Rc   t   m_rreft	   m_correctt   m_diff(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_iszero_substitutionó  s    99
c          C   sX  t  d d g   }  |  j   \ } } | j s3 t  | j | j k oV |  j   k n sa t  | | |  k sw t  t  d d d g  }  |  j   \ } } | j s­ t  | j | j k oÐ |  j   k n sÛ t  | | |  k sñ t  t  d d d d d d d d d d d g	  }  |  j   \ } } | j s?t  | j | j k ob|  j   k n smt  | | |  k st  t  d d d d d d d g d d d d d d d g d d d	 d
 d
 d d g d d d d d	 d d g g  }  |  j   \ } } | j st  | j | j k o3|  j   k n s>t  | | |  k sTt  d  S(   Ni    i   i   i   i   iûÿÿÿiÿÿÿÿiùÿÿÿiþÿÿÿiýÿÿÿi   (   R(   t   rank_decompositiont
   is_echelonRZ   R\   R[   R÷   (   RJ   RL   Rç   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_rank_decomposition  s0    ..-.!.c    	      C   s  d d l  m }  d t d t d  t d t d  t d  } d t d  t d t d  d d	 t d t d  d
 t d t d  d } |  d d  } |  d t d   } |  | |  } t | t |  | t |  g  } t | | | | g  } t t | |  t | |  g  } | j d t  d k sRt	  | j d t  d k spt	  | j d t  d k st	  d  S(   Niÿÿÿÿ(   t   Pointi   i   i-   i   iøÿÿÿi   i   iýÿÿÿi    i   R   (
   R1  R  R   R   R   R(   R   R÷   R   RZ   (	   R  t   xxt   yyt   p1t   p2t   p0R   R   t   m3(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_11238  s    4V&&c          C   s   t  d d d d d d g  }  |  t j } |  | } xb t D]Z } | |  j   \ } } t |  t |   k sx t  t |  t |   k s< t  q< Wd  S(   Ni   i   i   i   (   R(   R   t   ImaginaryUnitRW   t   as_real_imagR^   RZ   (   R   R   R  t   klsRJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_as_real_imag.  s    
c          C   sý   t  d d d d d d d d d d d g	  }  |  j   \ } } | d t  d d d g  k sd t  | d t  d d d d d d g  k s t  t   \ t  d d g d d g g  j t  d d g d d g g   d	 d
 d d g k só t  Wd  QXd  S(   Ni   i    i   iüÿÿÿi   iþÿÿÿi   i   i
   i   i   i   (   R(   t   jordan_cellsRZ   RE   R©  (   Rc   RÌ   t   Jcells(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_deprecated8  s    -%.
c          C   s   d d l  m }  t d d d g  } t d d d g  } |  | d  t d d d g  k sd t  |  | d	  t d d
 d g  k s t  d  S(   Niÿÿÿÿ(   t   Modi   i   i
   i   iñÿÿÿi   i   i    (   R1  R¢  R(   RZ   (   R¢  R|   Rµ  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_14489F  s
    *c       
   C   sÉ   t  d d t d t d g d t d d d t g d t d d d t d t g d d t d t d d t g g  }  |  j   } t j t | j     } |  | t d  j   d k sÅ t	  d  S(   Ni    i
   i   i   i   (
   R(   R   R  Rµ   t   choiceR^   R  R,   R   RZ   (   Rr   t   evt   test_ev(    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_14517N  s    (c          C   sx   y d d l  m }  Wn t k
 r1 t d  n Xt d d g d d g g  } |  | d t j j d	 k st t  d  S(
   Niÿÿÿÿ(   Rp  s?   NumPy must be available to test creating matrices from ndarraysi   i   i   i   t   dtypet   float64(	   Rq  Rp  Rr  RD   R(   t   floatRš  RZ  RZ   (   Rp  Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_14943Y  s    c          C   sá  d }  g  t  |   D] } t d |  ^ q } g  t  |   D]% } g  t  |   D] } d ^ qO ^ q< } x& t  |   D] } | | | | | <qt Wt |  } | j   } t |  |  k sÀ t  x. t  |   D]  } | | | d k sÍ t  qÍ W| j d t  } t |  t |  k s!t  t t d d g d t	 d g d d t g g  } | j   } | i d t 6d t	 6k s}t  | j d t  } t |  d k s§t  | j
 t  d k sÂt  | j
 t	  d k sÝt  d  S(   NiÈ   s   x%si    i   Rÿ   i   i   (   R;   R   R(   R  Rö   RZ   R   R¡  RN   RO   t   count(   Ri   RU   t   diagonal_variablesR   Rr   R  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_8240c  s&    )80 c       
   C   sJ  t  d d d d  f  }  |  j d d	  d
 k s6 t  |  j d d  d
 k sT t  |  j d d  d
 k sr t  t  d! d" d# d$ d% f  }  |  j d d	  d k s« t  |  j d d  d k sÉ t  |  j d d  d k sç t  t  d& d' d( d) d* f  }  |  j d d	  d k s t  |  j d d  d k s>t  |  j d d  d k s\t  t  d+ d, d- d. d/ f  }  |  j d d	  d k st  |  j d d  d k s³t  |  j d d  d k sÑt  t  d0 d1 d2 d3 d4 f  }  |  j d d	  d k s
t  |  j d d  d k s(t  |  j d d  d k sFt  d  S(5   Ni   iþÿÿÿi    i   i   i   i   R   t   bareisißþÿÿt   det_lut   det_LUi  t   Bareisi   iÿÿÿÿi   i   iÉÿÿÿt   BAREISSiûÿÿÿiüÿÿÿiýÿÿÿi-  t	   BERKOWITZi   i{   RÕ   (   i   iþÿÿÿi    i   (   iþÿÿÿi   iþÿÿÿi   (   i    iþÿÿÿi   i    (   i   i    i   i   (   i   i   i    i    i    (   i    i   i   i    i    (   i    i    i   i   i    (   i    i    i    i   i   (   i   i    i    i    i   (   i   i    i   i   i   (   i   i    i   i   i   (   i   i   i   iÿÿÿÿi   (   i   i   iÿÿÿÿi   i   (   i   i   i   i    i   (   iûÿÿÿi   i   i   i   (   i   iüÿÿÿi   i   i   (   i   i   iýÿÿÿi   i   (   i   i   i   iþÿÿÿi   (   i   i   i   i   iÿÿÿÿ(   i   i   iÿÿÿÿi   i   (   i    i    i   i    i   (   iþÿÿÿi    i   i    i   (   iýÿÿÿiþÿÿÿi   i   i   (   i   i    i    i    i   (   R(   R   RZ   (   Rr   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_legacy_det  sN    c          C   sJ   t  d d d  }  t d  } |  d d k } t |  d k sF t  d  S(   NRc   i   RJ   i    s   m[0, 0] > 0(   i    i    (   R8   R   R   RZ   (   Rc   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_case_6913Ž  s    c          C   s³   t  d d d d g d d d d g d d d d g d d d d g g  }  |  t  j d  t } | j   d k sw t  | d j   d k s t  | d j   d k s¯ t  d  S(   Ni   i    iþÿÿÿiÿÿÿÿi   i   i   (   R(   R,   R   R÷   RZ   (   R|   Rµ  (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_15872º  s
    Hc          C   sD   t  d d d  }  t d  } |  j |  i |  | 6k s@ t  d  S(   NR|   i   RJ   (   R8   R>   t   matchRZ   (   R|   RJ   (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   test_issue_11948Á  s    (  Rµ   R1  R    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   sympy.matrices.matricesR   R    R!   R"   R#   R$   t   sympy.matricesR%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   t   sympy.core.compatibilityR9   R:   R;   R<   t
   sympy.coreR=   R>   t   sympy.utilities.iterablesR?   R@   t   sympy.utilities.pytestRA   RB   RC   RD   RE   t   sympy.solversRF   t   sympy.assumptionsRG   t   sympy.tensor.arrayRH   t   sympy.matrices.expressionsRI   R   RJ   RK   RL   RM   RN   RO   RP   RQ   RW   Rd   Rh   Rl   Rn   Rp   Rs   Rz   R   R   R   R   R   R    R¡   R¢   R€   RŠ   Rª   R®   R»   RÎ   RÒ   RÔ   RÚ   RÝ   Rä   Rê   Rì   Rí   Rî   Rô   Rû   Rþ   R  R  R  R  R  R"  R%  R'  R(  R.  R1  R2  R<  R>  R@  RA  RB  RD  RF  RG  RJ  RN  RS  RT  RX  RZ  R]  Rb  Rc  Rd  Rf  Rg  Ri  Rj  Rm  Rq  Rv  Rw  R}  R  R  R  R  R  R  R  R  R  R  R  R¯  R°  R±  R²  RŽ  Rº  Rœ  RÀ  RÃ  RÅ  RÌ  RÎ  RÐ  RÒ  RÔ  RÝ  Râ  Rã  Rä  Rç  Ré  Rì  Rï  Rð  Ró  Rû  Rþ  Rÿ  R   R  R  R  R  R  R  R  R	  R
  R  R  R  R  R  R"  R#  R&  R(  R)  R+  R-  R0  R2  R3  R@  RG  RK  RL  RN  RU  R]  R^  R_  Rk  Rl  Rm  Ro  Rs  Ru  Rw  R{  R~  R  R  R  R  R  R  R  R  R¡  R£  R§  R«  R®  Rµ  R¶  R·  R¹  (    (    (    sA   lib/python2.7/site-packages/sympy/matrices/tests/test_matrices.pyt   <module>   sp  Ä."(:						,	G	I	.			k											U	(							'	G	'																														
					1			
			 	E		K													@					7					%	)			
	]																	
																						
							!							
										
				
		5		