
    sg                         d dl mZmZ d dlmZmZmZmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ  edd	
      Z edee      Z edee      Z eddd      Zd Zd Z d Z!d Z"d Z#y)    )Ssymbols)eyeonesMatrix
ShapeError)
Identity
MatrixExprMatrixSymbolDeterminantdetper
ZeroMatrix	Transpose	PermanentMatMul)	OneMatrix)raises)Q)refinenT)integerABC      c                     t        t        t              t              sJ t        t        t              t              rJ t	        t
        d        t        t        d            dk(  sJ t        t        ddg d            dk(  sJ t        t        t              z  } t	        t        d        t        t              j                  t        u sJ y )Nc                       t        t              S N)r   r        d/var/www/html/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_determinant.py<lambda>ztest_det.<locals>.<lambda>   s
    {1~ r"   r      	r%   r      r   r%   r   r'      r'      c                  4    t        t        j                        S r    )r   r   Oner!   r"   r#   r$   ztest_det.<locals>.<lambda>   s    k!%%0 r"   )
isinstancer   r   r
   r   r   r   r   r   	TypeErrorarg_s    r#   test_detr1      s    k!nk222+a.*555
:-.s1v;!va789R???	CF
A
901q>"""r"   c                  0   t        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t	        t        t                    t        t	        t        t                    k(  sJ t        t	        dd            dk(  sJ t        t	        dd            dk(  sJ t        t        t                    t        t              k(  sJ t        t        t        d      t        d                  j                  d      dk(  sJ y )Nr%   r   r'   T)deep)r   r	   r   r   r   r   r   r   r   r   doitr!   r"   r#   test_eval_determinantr5       s    x{q   z!Q A%%%yA;yA#????yA1$$$yA1$$$y|A&&&vc!fc!f-.333>!CCCr"   c                     t        t        t              t        j                  t                    dk(  sJ t        t        t              t        j
                  t                    dk(  sJ t        t        t              t        j                  t                    dk(  sJ t        t        t              t        j                  t                    t        t              k(  sJ y )Nr%   r   )r   r   r   r   
orthogonalsingularunit_triangularnormalr!   r"   r#   test_refiner;   *   s    #a&!,,q/*a///#a&!**Q-(A---#a&!++A./1444#a&!((1+&#a&000r"   c                      t        t              } t        t              }| j                  sJ |j                  sJ | |z  || z  k(  sJ y r    )r   r   r   is_commutative)det_adet_bs     r#   test_commutativer@   1   sH    NENE5=EEM)))r"   c                     t        t        t              t              sJ t        t        t              t              rJ t        t        t              t              sJ t        t        dd            j                         dk(  sJ t        t        t              z  } t        t        ddg d            dk(  sJ t        t        d        t        t              j                  t        u sJ y )Nr      r&   g   c                  4    t        t        j                        S r    )r   r   r+   r!   r"   r#   r$   z test_permanent.<locals>.<lambda>@   s    i. r"   )r,   r   r   r
   r   r   r4   r   r   r   r-   r.   r/   s    r#   test_permanentrE   9   s    ilI...)A,
333ilI...T!QZ %%'1,,,	CF
Ava789S@@@
9./Q<q   r"   N)$
sympy.corer   r   sympy.matricesr   r   r   r   sympy.matrices.expressionsr	   r
   r   r   r   r   r   r   r   r   "sympy.matrices.expressions.specialr   sympy.testing.pytestr   sympy.assumptions.askr   sympy.assumptions.refiner   r   r   r   r   r1   r5   r;   r@   rE   r!   r"   r#   <module>rM      s{    ! 8 8  
 9 ' # +Caaa
#D1*!r"   