
    sg                     |    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZmZ d dlmZ d Zd	 Zd
 Zd Zy)    )warns_deprecated_sympy)Symbol)Poly)Matrix)invariant_factorssmith_normal_formhermite_normal_form)ZZQQ)Integerc            
      H   t        g dg dg dg dg      } t        g dg dg dg dg      }t        |       |k(  sJ t        d	      }t               5  t        t	        |d
z
        t	        d
|      t	        d|      gdt	        |      t	        d|      gt	        d|      t	        d|      t	        |      gg      } d d d        d
|d
z
  |dz  d
z
  f}t        | t        |         |k(  sJ t        ddgg      } t        ddgg      }t        |       |k(  sJ y # 1 sw Y   ]xY w)N               	   r   r                  
   r   r      r   r   r   r   r   r   r   r   r   ir   r   r   r   r   xr   r   r   domainr   )r   r   r   r   r   r   r   )msmfr#   invss       X/var/www/html/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_normalforms.pytest_smith_normalr+      s   
:l=ABA
,~|L
MCQ3&&&sA		! 5T!A#YQ
41:6Qb,!AYtBqz$q'24 55 a!eQTAXDQr!u-555AxA
1a&
CQ3&&&5 5s   A(DD!c            
         ddl m}  t               5   | g dg dg dg dg      }d d d        t        dt               t               5   | g dg d	g d
g dg      }d d d        t        |      k(  sJ t        d      }t               5   | t        |dz
        t        d|      t        d|      gdt        |      t        d|      gt        d|      t        d|      t        |      gg      }d d d        t        |dt        |          t        d|d      t        |dz
  d      t        |dz  dz
  d      f}t        |      |k(  sJ t               5   | ddgg      }d d d        t        |dt               t               5   | ddgg      }d d d        t        |      |k(  sJ y # 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   LxY w)Nr   )	RawMatrixr   r   r   r   ringr   r    r!   r"   r#   r   r$   r   r%   r   r   )
sympy.polys.solversr-   r   setattrr
   r   r   r   r   r   )r   r'   r(   r#   r)   s        r*   test_smith_normal_deprecatedr1   !   s   7		! ILLGHIAvr		! RlM><PQRQ3&&&sA		! 5T!A#YQ
41:6Qb,!AYtBqz$q'24 55 Avr!uAd#T!a%%=tAqD1HUY?Z[DQ4'''		! QF8Avr		! q!fXQ3&&&+I IR R
5 5  s<   F*	F7A%GGG*F47GGGG%c                     t        g dg dg dg      } t        g dg dg dg      }t        |       |k(  sJ t        g dg dg d	g dg dg      }t        | j                               |k(  sJ t        g d
g dg dg      } t        g dg dg dg      }t        |       |k(  sJ t        | d      |k(  sJ t        | t        d            |k(  sJ t        | t	        d            |k(  sJ t        g dg dg dg      } t        ddgddgddgg      }t        |       |k(  sJ t        ddgddgddgg      } t        dgdgdgg      }t        |       |k(  sJ y )N)r            )   )r            +   )         %   /   )r   r   r   )r   r   r   )r   r   r   )r>   r   r8   )   iq   )0   r      )r   r   D   t      )r   r   r   r   )D)r   r   r      r   )-   $         r   )r;   r   r   r   r      r   r   r   r   r3   )r   r	   	transposer
   r   )r'   hnftr_hnfs      r*   test_hermite_normalrQ   <   sp   "$79LMNA
)Y	2
3Cq!S((([.+y)TUFq{{}-777%':<OPQA
)Y	2
3Cq!S(((qA&#---qBqE*c111qGAJ/3666!#6HIA
2q'Aq6Aq6*
+Cq!S(((AAA'(A
1#sQC
!Cq!S(((    c                  t    t        ddgddgddgg      } t        ddgddgddgg      }t        |       |k(  sJ y )Nr   r   r   r   r;   )r   r	   )AHs     r*   test_issue_23410rV   T   sO    B!Q!Q()AAAA'(Aq!Q&&&rR   N)sympy.testing.pytestr   sympy.core.symbolr   sympy.polys.polytoolsr   sympy.matricesr   sympy.matrices.normalformsr   r   r	   sympy.polys.domainsr
   r   sympy.core.numbersr   r+   r1   rQ   rV    rR   r*   <module>r_      s7    7 $ & ! 
 ' &'$'6)0'rR   