
    g                     z   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 dS )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                              t                    sJ d S )Nr   )
isinstanceMMIMr   equals     b/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/matrices/tests/test_interactions.py
test_IM_MMr!      sp    b2g/////b2g/////adRi1111199R==r   c                  4   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 d S )Nr   r   r   r   )r   r   r   r	   SMr
   r   r   r    
test_ME_MMr%       s~    hqkkB&
33333b2gv&&&&&b2gv&&&&&QKK"d#q((((((r   c                      t          d          t          d          t          t          d                    }}} | ||fD ]!}| ||fD ]}|                    |          sJ "d S )Nr   )r   r   r   r   )abcxys        r    test_equalityr,   '   s{    qkk3q66?3q66#:#:!qAAY  Q 	 	A88A;;	 r   c                  z    t          ddd          } t          d          | z   }|d         d| d         z   k    sJ d S )Nr   r   r#   r   )r   r   )r   Ys     r    test_matrix_symbol_MMr/   .   sE    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 d S N)r   SVr   T)ABCDs       r    /test_matrix_symbol_vector_matrix_multiplicationr8   4   s]    
RA
RA6666	A6666	A666666r   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 d S )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1GT?bhr$x/"T(2d82CC
4D      r   c                     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           d S )Nr   r   r6   c                  $    t                     S r1   r   )r4   r6   s   r    <lambda>ztest_classof.<locals>.<lambda>M   s    gamm r   )r   ranger   r   r   r   	TypeError)r5   r4   r6   s    @@r    test_classofr@   E   s    q!U1XXA1eAhh''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 9 9 9 9 9 9 9 - - - - - - ' ' ' ' ' '\#q!\#q!VYYY			999-.._iiiIII677
s1vvA
''

1a  ) ) )  " " "    - - - - -r   