ó
~9­\c           @   sÍ   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 d  d l m Z 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ÿÿÿÿ(   t   Abst   St   Symbolt   It   Rationalt   PurePoly(   t   Matrixt   SparseMatrixt   eyet   zerost
   ShapeError(   t   raisesc    $      C   s]  d „  }  d „  } t  t d „  ƒ t dB dC f ƒ } t | ƒ | k sL t ‚ d d l m } m } | g  ƒ } | d d g ƒ } | j | ƒ | k s› t ‚ | j | ƒ | k s¶ t ‚ t	 | j | ƒ ƒ t	 | ƒ k sÝ t ‚ t	 | j | ƒ ƒ t	 | ƒ k st ‚ g  t
 d	 ƒ D] } t j d | ƒ ^ q} t j | Œ  t d d
 g  ƒ k sVt ‚ g  t
 d	 ƒ D] } t j | d ƒ ^ qc} t j | Œ  t d
 d g  ƒ k s¨t ‚ t dD dE f ƒ } d	 | d <| dF d	 k sÚt ‚ d | d <d | dG <| t dH dI f ƒ k st ‚ d | dJ <| t dK dL f ƒ k s4t ‚ d | dM <| t dN dO f ƒ k s\t ‚ | j i d dP 6d dQ 6k st ‚ t dR dS dT f ƒ } t dU dV f ƒ } | | } | dW d k sÆt ‚ | dX d k sÜt ‚ | dY d
 k sòt ‚ | dZ d
 k st ‚ | d[ d k st ‚ | d\ d k s4t ‚ y t d ƒ Wn t k
 rUn… X| d] d k slt ‚ | d^ d k s‚t ‚ | d_ d
 k s˜t ‚ | d` d
 k s®t ‚ | da d k sÄt ‚ | db d k sÚt ‚ t d ƒ }	 | t d ƒ } t | t ƒ st ‚ | dc |	 k s!t ‚ | dd d |	 k s;t ‚ | de d |	 k sUt ‚ | df d k skt ‚ d | } t | t ƒ sŠt ‚ | dg d k s t ‚ | dh di k s¶t ‚ | dj dk k sÌt ‚ | dl d k sât ‚ t d d g d	 d g g ƒ }
 |
 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 ‚ t d ƒ }	 t |	 d g d d g g ƒ } | } | j | j k sÍt ‚ | j d k sât ‚ | |	 d d d g k st ‚ t d d |	 d d d g ƒ } | } | j | j k s=t ‚ | j d k sRt ‚ | |	 d d d g k sqt ‚ | | k sƒt ‚ |  d ƒ } | j d ƒ | t d d d g d d d g g ƒ k sÌt ‚ |  d ƒ } | j d ƒ | t d d g d d g d d g g ƒ k st ‚ t j d ƒ } d | dm <| j d d ƒ | t d d d g d d d g d d d g g ƒ k s}t ‚ t d d d d g ƒ } | j ƒ  } | j ƒ  } | d d k sÃt ‚ | j d ƒ | t d d g  ƒ k sît ‚ | j d ƒ | t d d d g ƒ k st ‚ t d ƒ t d ƒ }	 } t d d d g ƒ j ƒ  d k s\t ‚ t d g g ƒ j ƒ  d k s€t ‚ t dn do f ƒ j ƒ  d k s¤t ‚ t |	 d f | d | f f ƒ j ƒ  d |	 | | k sät ‚ t dp dq dr f ƒ j ƒ  d k s	t ‚ t ds dt du dv f ƒ j ƒ  d$ k s5	t ‚ t dw dx dy dz f ƒ j ƒ  d k s_	t ‚ t d{ d| d} d~ d f ƒ j ƒ  d, k sŒ	t ‚ t d€ d d‚ dƒ d„ f ƒ j ƒ  d- k s¹	t ‚ t d… d† d‡ dˆ d‰ f ƒ j ƒ  d/ k sæ	t ‚ t dŠ d‹ dŒ d dŽ f ƒ j ƒ  d0 k s
t ‚ |  d	 ƒ } | d  d … d  d … f |  d ƒ k sM
t ‚ | d d	 … d d … f | d ƒ k s{
t ‚ t d d d1 „  ƒ } | 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 snt ‚ | d# d  … d  d  … f t d! d% d& d' g d d( d) d* g g ƒ k sºt ‚ t d d g d d	 g g ƒ d g d g f t d	 g g ƒ k s t ‚ | d	 ƒ } |  d ƒ | d d	 … d d	 … f <| t d‘ d’ d“ d” g ƒ k sRt ‚ t | j ƒ d k smt ‚ |  d ƒ | d  d … d  d … f <| |  d	 ƒ k s§t ‚ t d	 d d• ƒ | d  d  … d f <| t d– d— d˜ d™ g ƒ k sít ‚ | d	 ƒ | d  d  … d  d  … f <| | d	 ƒ k s't ‚ dš d› dœ d f | d  d  … d  d  … f <| t dž dŸ d  d¡ f ƒ k sst ‚ d d g | d  d … d f <| t d¢ d£ d¤ d¥ f ƒ k s³t ‚ |  d ƒ } | j d d% ƒ t d d% d¦ ƒ k sét ‚ t d d	 d2 „  ƒ } | j d	 d ƒ t d§ d¨ d© dª g ƒ k s.t ‚ | j d d
 ƒ t d« d¬ g ƒ k sXt ‚ |  d ƒ } | j d3 „  ƒ |  d ƒ d k sŒt ‚ | j d4 „  ƒ | d ƒ k s°t ‚ t t |	 d f | d | f f ƒ ƒ t t  |	 ƒ d f t  | ƒ d t  | ƒ f f ƒ 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$ | d5 ƒ | | d	 ƒ k s¹t ‚ t d
 d# d d	 g d d d
 d g d d# d d	 g d6 d d
 d g g ƒ } | j! ƒ  \ } } } | j" s%t ‚ | j# s4t ‚ | | j$ | d5 ƒ | | d	 ƒ k s`t ‚ t d ƒ t d ƒ t d7 ƒ }	 } } t d |	 d f d | d f | d | f f ƒ } | j! ƒ  \ } } } | j" sÚt ‚ | j# sét ‚ | | j$ | d5 ƒ | | d ƒ 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 d g d d& d g d! d d	 g g ƒ }
 t d d d d d g ƒ }	 |
 |	 } |
 j% | ƒ } | |	 k st ‚ |  d	 ƒ }
 |
 j& ƒ  |  d	 ƒ k s+t ‚ |
 j& d8 d9 ƒ |  d	 ƒ k sOt ‚ |
 j& d8 d: ƒ |  d	 ƒ k sst ‚ t d d d g d d
 d g d d d
 g g ƒ }
 t t |
 ƒ j& ƒ  ƒ } |
 | |  d ƒ k s×t ‚ |
 j& d8 d9 ƒ | k sõt ‚ |
 j& d8 d: ƒ | k st ‚ t d d d g d d
 d g d d d
 g g ƒ }
 t t |
 ƒ j& ƒ  ƒ } |
 | |  d ƒ k swt ‚ |
 j& d8 d9 ƒ | k s•t ‚ |
 j& d8 d: ƒ | k s³t ‚ t d d d d d g ƒ } t d d d d	 d g ƒ } | j' | ƒ t d d d# d	 d# g ƒ k st ‚ | j( d ƒ d d) k s8t ‚ t d d t) f d­ f ƒ } | j* t d d t) g d d	 g g ƒ k s…t ‚ | t d d d d d d g ƒ | k s³t ‚ | t d d d d d d g ƒ t d d t) g d	 d g g ƒ k sýt ‚ | j |  d ƒ ƒ t d d t) g d d	 g d d g d d g g ƒ k sLt ‚ | j+ d; t, ƒ set ‚ |  d ƒ |  d ƒ j- ƒ  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 ‚ 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 smt ‚ t d ƒ }	 t d ƒ } t d d |	 d | d | d |	 | g ƒ } |	 | g } | j. | ƒ t d |	 | |	 d g | d	 | |	 g g ƒ k st ‚ t d d |	 |	 d | d g ƒ } | j. | ƒ t d d g d |	 | d |	 d d | d g g ƒ k s{t ‚ t d d g d d g g ƒ }
 |
 j/ ƒ  \ } } t0 } | t d | d d ƒ | d ƒ d | d ƒ d | d d ƒ g d d | d d ƒ | d ƒ d | d ƒ d | d d ƒ g g ƒ k sDt ‚ | t d | d d ƒ d! d | d d ƒ g d | d ƒ d | d d ƒ g g ƒ k s£t ‚ | | |
 k s¹t ‚ | j1 | |  d ƒ k sØt ‚ t0 } t d d d d g d d
 d d g g ƒ } | j2 ƒ  \ } }  | t d d | d ƒ d? | d( ƒ d? g d d | d! ƒ d? | d= ƒ d? g g ƒ k sy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 ƒ } | j2 ƒ  \ } }  | 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 syt ‚ | j3 ƒ  }! |! 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 g ƒ k st ‚ |! d t d d d d d | d ƒ d d g ƒ k sSt ‚ t d ƒ }	 t d ƒ } |  d ƒ }" |" j4 |	 ƒ t5 |	 d d ƒ k s t ‚ |" j4 | ƒ t5 | d d ƒ k sÉt ‚ t d® d¯ d° g ƒ } | j6 ƒ  }# t7 |# j8 ƒ  ƒ d d d g k st ‚ t0 } t d d d g d d d g d d d g g ƒ } | j9 ƒ  d d t d d d g ƒ t d d d g ƒ t d d d g ƒ g f g k s¡t ‚ t d d d g d d d g d d d g g ƒ } | j9 ƒ  d d t | d ƒ d | d ƒ d d g ƒ g f d d t d d d g ƒ g f d d t d d d g ƒ g f g k sWt ‚ | j d d ƒ t d d i  ƒ k st ‚ t d& d& i	 d d± 6d d² 6d d³ 6d+ d´ 6d dµ 6dA d¶ 6d+ d· 6d d¸ 6d d¹ 6ƒ }
 |
 j: ƒ  dº d» d¼ d½ d¾ d¿ dÀ dÁ dÂ g	 k st ‚ |
 j; ƒ  dÃ dÄ dÅ dÆ dÇ dÈ dÉ dÊ dË g	 k s8t ‚ t j d ƒ j< ƒ  d k sYt ‚ d  S(Ì   Nc         S   s   t  j |  ƒ S(   N(   R   R   (   t   n(    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt
   sparse_eye   s    c         S   s   t  j |  ƒ S(   N(   R   R	   (   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   sparse_zeros	   s    c           S   s   t  d d ƒ S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   <lambda>   t    i   i    iÿÿÿÿ(   t   MutableSparseMatrixt   MutableDenseMatrixi   i   i   i   i   i   i   s	   c = a @ bt   xiü  i¡  i,*  i7  i   i"  i  iû   iÀ  i¸  ip  i¾  iº  i±  t   yiýÿÿÿi   iûÿÿÿiþÿÿÿißþÿÿi	   i
   i   i   i   i   i   i  iÉÿÿÿiüÿÿÿi-  i{   c         S   s   |  | S(   N(    (   t   it   j(    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   Ô   R   c         S   s   |  | S(   N(    (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   þ   R   c         S   s   d |  S(   Ni   (    (   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR     R   c         S   s   d S(   Ni    (    (   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR     R   t   backwardi÷ÿÿÿt   zt   methodt   CHt   LDLt   simplifyi   iúÿÿÿiôÿÿÿi   iøÿÿÿi   (   i   i    (   i    i   (   i   i    (   i    i   (   i   i   (   i    i    (   i   i    (   i    i   (   i   i    (   i   i    (   i   i   (   i   i   (   i   i    (   i   i    (   i    i    (   i   i    (   i   i   (   i   i   (   i    i   (   i   i   (   i   i    (   i    i    (   i    i   (   i   i    (   i   i   (   i   i    (   i   i   (   i    i    (   i    i   (   i   i    (   i   i   (   i   i    (   i   i   (   i    i    (   i    i   (   i   i    (   i   i   (   i    i    (   i    i   i
   (   i   i    i   (   i   i   (   i   i   (   iýÿÿÿi   (   i   iûÿÿÿ(   i   i   i   (   i   i   i   (   i   i   i   (   i   iþÿÿÿi    i   (   iþÿÿÿi   iþÿÿÿi   (   i    iþÿÿÿi   i    (   i   i    i   i   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   i   i   i    i    i    (   i    i   i   i    i    (   i    i    i   i   i    (   i    i    i    i   i   (   i   i    i    i    i   (   i   i    i   i   i   (   i   i    i   i   i   (   i   i   i   iÿÿÿÿi   (   i   i   iÿÿÿÿi   i   (   i   i   i   i    i   (   iûÿÿÿi   i   i   i   (   i   iüÿÿÿi   i   i   (   i   i   iýÿÿÿi   i   (   i   i   i   iþÿÿÿi   (   i   i   i   i   iÿÿÿÿ(   i   i   iÿÿÿÿi   i   (   i    i    i   i    i   (   iþÿÿÿi    i   i    i   (   iýÿÿÿiþÿÿÿi   i   i   (   i   i    i    i    i   (   i    i   i   (   i   i   (   i    i    i    i    (   i    i    i    i    (   i    i    i   i    (   i    i    i    i   (   i   i   i   i   (   i   i    i    i    (   i   i   i    i    (   i   i    i   i    (   i   i    i    i   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i	   i
   i   i   (   i   i   i   i   (   i    i   i   i   (   i    i   i   i   (   i	   i
   i   i   (   i   i   i   i   (	   i   i    i    i    i   i    i    i    i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   i   i   i   (   i   i   i   i   i   i   (   i   i   (   i    i   iÿÿÿÿ(   i   i   i    (   iÿÿÿÿi    i   (   i    i    (   i    i	   (   i   i   (   i   i   (   i   i	   (   i   i   (   i   i   (   i   i   (   i	   i   (   i    i    i   (   i    i	   i   (   i   i   i   (   i   i   i   (   i   i	   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i	   i   i   (   i    i    i   (   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	   TypeErrorR   t   AssertionErrort   sympy.matricesR   R   t   row_joint   col_joint   typet   rangeR	   t   hstackR   t   vstackt   _smatt   evalt   SyntaxErrorR   t
   isinstancet   colst   rowst   row_delt   col_delR   t   col_swapt   copyt   dett   lent   reshapet	   applyfunct   absR    t   LUdecompositiont   is_lowert   is_uppert   permute_rowst   LUsolvet   invt   crosst   normR   t   Ct   is_symmetrict   Falset   cofactor_matrixt   jacobiant   QRdecompositionR   t   Tt   rreft	   nullspacet   charpolyR   t	   eigenvalst   sortedt   keyst
   eigenvectst   row_listt   col_listt   nnz($   R   R   t   aR   R   t   bR   t   sparse_matricest   cR   t   At   mR   R   t   m0t   m1t   m2t   testmatt   Lt   Ut   pR   t   Mt   solnt   Ainvt   v1t   v2t   testt   symst   Qt   Rt   outt   tmpt   basist   sparse_eye3t   vals(    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_sparse_matrix   s´   		''+'+'




#

#02		
!'$$@....E:LF"	""	"(		*!($b,,&0,

$$0	."		$0	90	90G$O;R'2*5!"*111;))'';-*Q33c           C   s4   t  d d f ƒ j ƒ  t  d d f ƒ k s0 t ‚ d  S(	   Ni   i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   t	   transposeR   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_transposeÊ  s    c           C   sL   t  d d f ƒ j ƒ  d k s$ t ‚ t  d	 d
 f ƒ j ƒ  d k sH t ‚ d  S(   Ni   i   i   i   i   i    (   i   i   (   i   i   (   i    i    (   i    i   (   R   t   traceR   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt
   test_traceÏ  s    $c           C   sd   t  d d f ƒ j ƒ  d d	 d
 d g k s0 t ‚ t  d d f ƒ j ƒ  d 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   (   i   i   (   i   i   (   i    i    i   (   i   i    i   (   i    i   i   (   i   i   i   (   R   RK   R   RL   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt
   test_CL_RLÔ  s    c          C   s¡   t  d d f ƒ t  d d	 f ƒ t  d
 d f ƒ k s: t ‚ t  d d d „  ƒ }  t  d d d „  ƒ } t |  j ƒ t | j ƒ t |  | j ƒ d k s t ‚ d  S(   Ni   i    id   c         S   s    t  | d k o |  | d k ƒ S(   Ni    (   t   int(   R   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   Þ  R   c         S   s    t  |  d k o | |  d k ƒ S(   Ni    (   Ro   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ß  R   (   i   i    (   i    i   (   i    i   (   i   i    (   i   i   (   i   i   (   R   R   R1   R&   (   RN   RO   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_addÛ  s
    c           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
 „  ƒ d  S(   Nc           S   s   t  d d d „  ƒ S(   Ngffffffö?i   c         S   s   d S(   Ni    (    (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ä  R   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ä  R   c           S   s   t  d d d g d d g ƒ S(   Ni   i   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   å  R   c           S   s    t  d d g d d g g ƒ d S(   Ni   i   i   i   (   i   i   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   æ  R   c           S   s    t  d d g d d g g ƒ d S(   Ni   i   i   i   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ç  R   c           S   s    t  d d g d d g g ƒ d S(   Ni   i   i   i   (   i   i   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   è  R   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(    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ê  R   c           S   s    t  d d g d d g g ƒ d S(   Ni   i   i   i   (   i   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ì  R   c           S   s   t  d d d g ƒ j d ƒ S(   Ni   i   i   (   R   R;   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   í  R   c           S   s   t  d d d d g ƒ d S(   Ni   i   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   î  R   c           S   s,   t  d d d d g ƒ t  d d d d g ƒ S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyR   ð  R   (   R   t
   ValueErrorR   t
   IndexErrorR
   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_errorsã  s    
c           C   sM   t  ƒ  s t ‚ t  ƒ  t  g  ƒ k s+ t ‚ t  ƒ  t  g  g ƒ k sI t ‚ d  S(   N(   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_lenó  s    c           C   sš   t  j d ƒ t d d t  ƒk s' t ‚ t t  j d ƒ j ƒ d k sK t ‚ t  j d ƒ t d d t  ƒk sr t ‚ t t  j d ƒ j ƒ d k s– t ‚ d  S(   Ni   t   clsi    (   R   R   R   R1   R&   R	   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_sparse_zeros_sparse_eyeù  s    '$'c          C   sŸ  t  d d i  ƒ }  d |  d
 <|  d  d  … d f t  t d d d g ƒ ƒ k sS t ‚ |  d d k si 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 s‚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 sQ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    (   i    i    (   R   R   R   (   t   s(    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_copyin   s(    
7
1%44
711c          C   sê  d d l  m }  |  d d d f ƒ } | j ƒ  t d	 d d g d
 d
 d g d d d
 g g ƒ k sg t ‚ | j ƒ  | j ƒ  j t d d d g d d d g d d d g g ƒ k s¶ t ‚ |  d d d f ƒ } | j ƒ  \ } } d | 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 ƒ k sYt ‚ | | | j | k svt ‚ |  d d d f ƒ } | j ƒ  | |  t d
 ƒ ƒ k s³t ‚ |  d d d g d d d g d d d g g ƒ } |  t	 d ƒ d
 t	 d ƒ d
 t	 d ƒ d g t	 d ƒ d
 t	 d ƒ d
 t	 d ƒ d
 g d d t	 d ƒ d g g ƒ } | j d d ƒ | k swt ‚ | j d d ƒ | k s•t ‚ | | |  t d
 ƒ ƒ k s·t ‚ | j
 | d  d  … d f d ƒ } | | | d  d  … d f k sÿt ‚ | j
 | d  d  … d f d ƒ } | | | d  d  … d f k sGt ‚ | j | ƒ } | j | d  d  … d f d ƒ } | | | d  d  … d f k sžt ‚ | j | d  d  … d f d ƒ } | | | d  d  … d f k sæt ‚ d  S(   Niÿÿÿÿ(   R   i   i   iûÿÿÿi   i    i   i   i   i   i	   iýÿÿÿi   i   R   R   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    (   R   R   t   choleskyR   R   RC   t   LDLdecompositionR:   R   R   t   solveR!   t   solve_least_squares(   R   RR   RX   t   Dt   ansRy   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_sparse_solve  sV    
(**""&"&"&"c          C   sÕ   t  d ƒ }  t d t g t d g g ƒ } | j s: t ‚ t d t g t d g g ƒ } | j sh t ‚ d t | d <| j t k s‹ t ‚ |  | d <| j d  k sª t ‚ | d t | d <| j t k sÑ t ‚ d  S(	   NR   i    i   i   (   i    i    (   i    i    (   i   i    (   i    i   (   R   R   R   t   is_hermitianR   R?   t   None(   R   RN   (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   test_hermitianH  s    
N(   t   sympyR    R   R   R   R   R   R   R   R   R   R	   R
   t   sympy.utilities.pytestR   Ri   Rk   Rm   Rn   Rp   Ru   Rv   Rx   Rz   R   R„   (    (    (    s?   lib/python2.7/site-packages/sympy/matrices/tests/test_sparse.pyt   <module>   s   .(	ÿ Æ									1