
    sg                     B   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
mZ ddlmZ ddlmZ  eddd      Z ed	dd
      Z eg dg dg dg      Z eg dg dg d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 y)z
We have a few different kind of Matrices
Matrix, ImmutableMatrix, MatrixExpr

Here we test the extent to which they cooperate
    )symbols)MatrixMatrixSymboleyeIdentityImmutableMatrix)
MatrixExprMatAddclassof)raisesX   v   )r      r   )         )      	   za,b,cc                      t        t        t        z   t              sJ t        t        t        z   t              sJ t        dt        z  t        z   t              sJ t        j	                  t              sJ y )Nr   )
isinstanceMMIMr   equals     Y/var/www/html/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_interactions.py
test_IM_MMr!      sR    b2g///b2g///adRi11199R==r   c                      t        t        d      t        z   t              sJ t        t        t        z   t
              sJ t        t        t        z   t
              sJ t        d      t        z   d   dk(  sJ y )Nr   r   r   r   )r   r   r   r	   SMr
   r   r   r    
test_ME_MMr%       s_    hqkB&
333b2gv&&&b2gv&&&QK"d#q(((r   c                      t        d      t        d      t        t        d            }}} | ||fD ]  }| ||fD ]  }|j                  |      rJ  ! y )Nr   )r   r   r   r   )abcxys        r    test_equalityr,   '   sZ    qk3q6?3q6#:!qAAY Q 	A88A;;	r   c                  Z    t        ddd      } t        d      | z   }|d   d| d   z   k(  sJ y )Nr   r   r#   r   )r   r   )r   Ys     r    test_matrix_symbol_MMr/   .   s7    S!QAA
AT7a!D'k!!!r   c                     t         t        z  } t        t        z  }| |k(  sJ t        j                  t         j                  z  j                  }||k(  sJ t        j                  t        j                  z  j                  }||k(  sJ y N)r   SVr   T)ABCDs       r    /test_matrix_symbol_vector_matrix_multiplicationr8   4   s_    
RA
RA6M6	A6M6	A6M6r   c                  $   t         t        z  d   dt         z  k(  sJ t        t        z   d   t        d   t        d   z   k(  sJ t        t        z  d   t        d   t        d   z  t        d   t        d   z  z   t        d   t        d   z  z   k(  sJ y )Nr#   r   )r   r   )r   r   )r   r   )r   r   )r'   r   r$   r   r   r    test_indexing_interactionsr:   >   s    FD>QqS   GT?bhD1111GT?bhr$x/"T(2d82CC
4D   r   c                  J   t        ddt        d            t        ddt        d            } t        ddd      t	              t         k(  sJ t	        | |       t        k(  sJ t	        |       t        k(  sJ t	        |       t        k(  sJ t        t        fd       y )Nr   r   r6   c                      t               S r1   r   )r4   r6   s   r    <lambda>ztest_classof.<locals>.<lambda>M   s    gam r   )r   ranger   r   r   r   	TypeError)r5   r4   r6   s    @@r    test_classofr@   E   s    q!U1XA1eAh'AS!QA1a=F"""1a=O+++1a=O+++1a=O+++
9+,r   N)!__doc__sympy.core.symbolr   sympy.matricesr   r   r   r   r   sympy.matrices.expressionsr	   r
   sympy.matrices.matrixbaser   sympy.testing.pytestr   r$   r2   r   r   meyeimeyeideyer'   r(   r)   r!   r%   r,   r/   r8   r:   r@   r   r   r    <module>rJ      s    &  9 - '#q!#q!Y	9-.iI67
1vA
'
1a)"-r   