U
    Ç-e  ã                   @   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
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d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd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é   é   é   é   é   é   é   é	   za,b,cc                   C   sL   t tt tƒst‚t tt tƒs$t‚t dt t tƒs:t‚t t¡sHt‚d S )Nr   )Ú
isinstanceÚMMÚIMr   ÚAssertionErrorÚequals© r   r   úg/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/matrices/tests/test_interactions.pyÚ
test_IM_MM   s    r   c                   C   sV   t tdƒt tƒst‚t tt tƒs(t‚t tt tƒs:t‚tdƒt d dksRt‚d S )Nr   ©r   r   r   )r   r   r   r   r   ÚSMr	   r   r   r   r   Ú
test_ME_MM    s    r"   c                  C   sR   t dƒtdƒttdƒƒ  } }}| ||fD ]"}| ||fD ]}| |¡s8t‚q8q*d S )Nr   )r   r   r   r   r   )ÚaÚbÚcÚxÚyr   r   r   Útest_equality'   s     r(   c                  C   s4   t dddƒ} tdƒ|  }|d d| d  ks0t‚d S )Nr   r   r    r   )r   r   r   )r   ÚYr   r   r   Útest_matrix_symbol_MM.   s    r*   c                  C   sT   t t } tt }| |kst‚tjt j j}||ks6t‚tjtj j}||ksPt‚d S ©N)r   ÚSVr   r   ÚT)ÚAÚBÚCÚDr   r   r   Ú/test_matrix_symbol_vector_matrix_multiplication4   s    r2   c                   C   s|   t t d dt  kst‚tt d td td  ks8t‚tt d td td  td td   td td   ksxt‚d S )Nr    r   )r   r   )r   r   )r   r   )r   r   )r#   r   r   r!   r   r   r   r   Útest_indexing_interactions>   s
     (ÿr3   c                     sŒ   t ddtdƒƒ‰ tddtdƒƒ} tdddƒ‰tˆ ˆ ƒt ks>t‚t| | ƒtksPt‚tˆ | ƒtksbt‚t| ˆ ƒtkstt‚tt‡ ‡fdd„ƒ d S )Nr   r   r0   c                      s
   t ˆ ˆƒS r+   r
   r   ©r.   r0   r   r   Ú<lambda>M   ó    ztest_classof.<locals>.<lambda>)r   Úranger   r   r   r   r   Ú	TypeError)r/   r   r4   r   Útest_classofE   s    r9   N)!Ú__doc__Zsympy.core.symbolr   Zsympy.matricesr   r   r   r   r   Zsympy.matrices.expressionsr   r	   Zsympy.matrices.commonr   Zsympy.testing.pytestr   r!   r,   r   r   ZmeyeZimeyeZideyer#   r$   r%   r   r"   r(   r*   r2   r3   r9   r   r   r   r   Ú<module>   s(     
