ó
”¼\c           @   s  d  Z  d d l m Z d d l m Z m Z m Z m Z m Z d d l	 m
 Z
 d d l m Z m Z d d l m Z d d l m Z e d d	 d	  Z e d
 d	 d  Z e d d d	 g d d d g d d d g g  Z e d d d	 g d d d g d d d g g  Z e d	  Z e e d	   Z e d	  Z e d  \ Z Z Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d S(   s   
We have a few different kind of Matrices
Matrix, ImmutableMatrix, MatrixExpr

Here we test the extent to which they cooperate
i’’’’(   t   symbols(   t   Matrixt   MatrixSymbolt   eyet   Identityt   ImmutableMatrix(   t   range(   t
   MatrixExprt   MatAdd(   t   classof(   t   raisest   Xi   t   vi   i   i   i   i   i   i   i	   s   a,b,cc           C   sh   t  t t t  s t  t  t t t  s2 t  t  d t t t  sO t  t j t  sd t  d  S(   Ni   (   t
   isinstancet   MMt   IMR   t   AssertionErrort   equals(    (    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt
   test_IM_MM   s    c           C   su   t  t d  t t  s t  t  t t t  s8 t  t  t t t  sQ t  t d  t d d k sq t  d  S(   Ni   i   i   (   i   i   (   R   R   R   R   R   t   SMR   (    (    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt
   test_ME_MM!   s    c          C   sy   t  d  t d  t t d   }  } } xF |  | | g D]5 } x, |  | | g D] } | j |  sR t  qR Wq< Wd  S(   Ni   (   R   R   R   R   R   (   t   at   bt   ct   xt   y(    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt   test_equality(   s    ,c          C   sD   t  d d d  }  t d  |  } | d d |  d k s@ t  d  S(   NR   i   i   (   i   i   (   i   i   (   R   R   R   (   R   t   Y(    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt   test_matrix_symbol_MM/   s    c          C   st   t  t }  t t } |  | k s& t  t j t  j j } | | k sK t  t j t j j } | | k sp t  d  S(   N(   R   t   SVR   R   t   T(   t   At   Bt   Ct   D(    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt/   test_matrix_symbol_vector_matrix_multiplication5   s    

c           C   s   t  t d d t  k s t  t t d t d t d k sD t  t t d	 t d
 t d t d t d t d t d 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   (   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt   test_indexing_interactions?   s    &*c             sĖ   t  d d t d     t d d t d   }  t d d d   t      t  k s] t  t |  |   t k sx t  t   |   t k s t  t |     t k s® t  t t    f d    d  S(   Ni   i	   R!   c              s   t      S(   N(   R	   (    (   R   R!   (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt   <lambda>N   t    (   R   R   R   R   R	   R   R
   t	   TypeError(   R    (    (   R   R!   sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt   test_classofF   s    N(#   t   __doc__t   sympyR    t   sympy.matricesR   R   R   R   R   t   sympy.core.compatibilityR   t   sympy.matrices.expressionsR   R   t   sympy.matrices.commonR	   t   sympy.utilities.pytestR
   R   R   R   R   t   meyet   imeyet   ideyeR   R   R   R   R   R   R   R#   R$   R(   (    (    (    sE   lib/python2.7/site-packages/sympy/matrices/tests/test_interactions.pyt   <module>   s*   (00					
	