
    g	                     >   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	
          \  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 Zd Zd Zd Z d Z!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                     t          t                    j        t          t          j        fk    sJ t          t                    j        t          t          fk    sJ t          t          t          z            j        t          t          fk    sJ t          t          t          z            j        t          t          fk    sJ t          t                    
                                t          k    sJ t          t          t                                                              t          k    sJ t          t          t          t                              t                     sJ t          t          t          t          z            j         t          t          t          z            k    sJ t          
                                
                                t          k    sJ t          
                                t          z  t          t          j                  k    sJ t          t                    
                                t          t                    k    sJ dt          t                    z  
                                t          t                    dz  k    sJ t          t          z  
                                t          j        t          j        z  k    sJ t          t          t          z  
                                t                     sJ t          t          t          z                                d          t          t          t          z            k    sJ t          t#          d                                                    t#          d          k    sJ t          t#          d                                        d          t#          d          k    sJ t%          dd          j        t          d          k    sJ t          t%          t          t                    j        t                     sJ d S )N   F)
inv_expand)deep   )r   r   argsr   NegativeOneshapenr   r   minversedoit
isinstancer   rowsr   Ir   r	        i/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/matrices/expressions/tests/test_inverse.pytest_inverser)      s   1::?q!-000001::1v%%%%1Q3<<!Q''''1Q3<<!Q''''1::1$$$$71::##%%****ggajj))733333GAaCLL%&'!A#,,666699;;  A%%%%99;;q=HQV,,,,,,A;;  HQKK////hqkkM""$$A5555 aC==??ac!#g%%%%qsmmoow/////1Q3<<..'!A#,,>>>>3q66??!!SVV++++3q66??U++s1vv5555Q??++++i1oo'1111111r'   c                  ^    t          t          d            t          t          d            d S )Nc                  @    t          t          t                    j        S N)r   r   r%   r&   r'   r(   <lambda>z-test_inverse_non_invertible.<locals>.<lambda>0   s    Z1-=-=-? r'   c                  ,    t          dd          j        S )N   )r	   r%   r&   r'   r(   r-   z-test_inverse_non_invertible.<locals>.<lambda>1   s    Yq!__-> r'   )r   r
   r&   r'   r(   test_inverse_non_invertibler0   /   s2    
#%?%?@@@
#%>%>?????r'   c                      t          t          j        t          j        t                              t          j        k    sJ d S r,   )r   r   r%   r   
orthogonalTr&   r'   r(   test_refiner4   3   s/    !#q|A''13......r'   c                      t          ddd          } t          t          | d                                                    t          t          |           d                                          k    sJ d S )Nr   r   )r   r   r   r"   r   s    r(   $test_inverse_matpow_canonicalizationr7   7   sb    S!QA6!Q<<  %%''6'!**a+@+@+E+E+G+GGGGGGGr'   c                  Z     t          ddd           t          t           fd           d S )Nr   r      c                  "    t                     S r,   )r   r6   s   r(   r-   z&test_nonsquare_error.<locals>.<lambda>>   s     r'   )r   r   r   r6   s   @r(   test_nonsquare_errorr;   <   s5    S!QA
!3!3!3!344444r'   c                     t          dt          t                    } |                                                                 |                                                                 k    sJ |                                                                 |                                                                 k    sJ |                                                                 |                                                                 k    sJ d S )Nr   )r   r   	transposer!   	conjugateadjointr6   s    r(    test_adjoint_trnaspose_conjugater@   A   s    S!QA;;==  ""aiikk&;&;&=&=====;;==  ""aiikk&;&;&=&=====99;;  AIIKK$7$7$9$9999999r'   N)#
sympy.corer   r   sympy.matrices.expressionsr   r   r   r   r	   sympy.matrices.exceptionsr
   r   sympy.matricesr   r   sympy.testing.pytestr   sympy.assumptions.askr   sympy.assumptions.refiner   r   r    lr   r   r   r   r   r)   r0   r4   r7   r;   r@   r&   r'   r(   <module>rI      s   ! ! ! ! ! ! ! ! [ [ [ [ [ [ [ [ [ [ [ [ [ [ T T T T T T T T ( ( ( ( ( ( ( ( ' ' ' ' ' ' # # # # # # + + + + + +
''4
(
(
(1aLaLaLaLaLa2 2 2<@ @ @/ / /H H H
5 5 5
: : : : :r'   