o
    GZh	                     @   s   d dl mZ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mZ d dlmZ d dlmZ d dlmZ edd	d
\ZZZedeeZedeeZedeeZedeeZedeeZdd Zdd Zdd Zdd Z dd Z!dd Z"dS )    )symbolsS)MatrixSymbolInverseMatPow
ZeroMatrix	OneMatrix)NonInvertibleMatrixErrorNonSquareMatrixError)eyeIdentity)raises)Q)refinezn m lT)integerABCDEc                   C   s  t tjttjfksJ t tjttfksJ t tt jttfks$J t tt jt	t	fks1J t t
 tks;J t t t tksGJ tt t tt sRJ t t tt j t tt kscJ t
 
 tksmJ t
 t ttjkszJ tt
 ttksJ dtt 
 ttd ksJ tt 
 tjtj ksJ ttt 
 t sJ t tt jddt tt ksJ t td tdksJ t tdjddtdksJ tddjtdksJ ttttjt sJ d S )N   F)Z
inv_expand)deep   )r   r   argsr   ZNegativeOneshapenr   r   minversedoit
isinstancer   rowsr   Ir   r    r"   r"   \/var/www/auris/lib/python3.10/site-packages/sympy/matrices/expressions/tests/test_inverse.pytest_inverse   s&   " $ r$   c                   C   s    t tdd  t tdd  d S )Nc                   S   s   t ttjS N)r   r   r!   r"   r"   r"   r#   <lambda>0       z-test_inverse_non_invertible.<locals>.<lambda>c                   S   s   t ddjS )N   )r   r!   r"   r"   r"   r#   r&   1   r'   )r   r	   r"   r"   r"   r#   test_inverse_non_invertible/   s   r)   c                   C   s    t tjtttjksJ d S r%   )r   r   r!   r   Z
orthogonalTr"   r"   r"   r#   test_refine3   s    r+   c                  C   s8   t ddd} tt| d tt| d ksJ d S )Nr   r   )r   r   r   r   r   r"   r"   r#   $test_inverse_matpow_canonicalization7   s   ,r-   c                      s"   t ddd tt fdd d S )Nr   r      c                      s   t  S r%   )r   r"   r,   r"   r#   r&   >   s    z&test_nonsquare_error.<locals>.<lambda>)r   r   r
   r"   r"   r,   r#   test_nonsquare_error<   s   r/   c                  C   sd   t dtt} |   |   ksJ |   |   ks"J |   |   ks0J d S )Nr   )r   r   Z	transposer   	conjugateZadjointr,   r"   r"   r#    test_adjoint_trnaspose_conjugateA   s    r1   N)#Z
sympy.corer   r   Zsympy.matrices.expressionsr   r   r   r   r   Zsympy.matrices.exceptionsr	   r
   Zsympy.matricesr   r   Zsympy.testing.pytestr   Zsympy.assumptions.askr   Zsympy.assumptions.refiner   r   r   lr   r   r   r   r   r$   r)   r+   r-   r/   r1   r"   r"   r"   r#   <module>   s&    