U
    L?h                     @   s   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d	 Zd
d Zdd Zdd ZdS )    )warns_deprecated_sympy)Symbol)Poly)Matrix)invariant_factorssmith_normal_formhermite_normal_form)ZZQQ)Integerc               	   C   s:  t ddddgddddgddd	d
gddddgg} t ddddgddddgddddgddddgg}t| |kspttd}t T t t|d td|td|gdt|td|gtd|td|t|gg} W 5 Q R X d|d |d d f}t| t| d|kstt ddgg} t ddgg}t| |ks6td S )N               	                  
      r   xdomain)r   r   AssertionErrorr   r   r   r   r
   )msmfr   invs r"   W/var/www/html/venv/lib/python3.8/site-packages/sympy/matrices/tests/test_normalforms.pytest_smith_normal   s    00r$   c               	   C   s  ddl m}  t 6 | ddddgddddgd	d
ddgddddgg}W 5 Q R X t|dt t 6 | ddddgddddgddddgddddgg}W 5 Q R X t||ksttd}t T | t|d td|td|gdt|td|gtd|td|t|gg}W 5 Q R X t|dt	|  td|ddt|d ddt|d	 d ddf}t
||ksftt  | d	dgg}W 5 Q R X t|dt t  | d	dgg}W 5 Q R X t||kstd S )Nr   )	RawMatrixr   r   r   r   r   r   r   r   r   r   r   r   ringr   r   r   r   r
   r   )Zsympy.polys.solversr%   r   setattrr	   r   r   r   r   r
   r   )r   r   r    r   r!   r"   r"   r#   test_smith_normal_deprecated!   s,    ::0r(   c                  C   s  t dddddgdddd	d
gdddddgg} t dddgdddgdddgg}t| |ks\tt dddgdddgdddgdddgdddgg}t|  |kstt dddddgdddd	d
gdddddgg} t dddgdddgdddgg}t| |kstt| dd|kstt| tdd|ks,tt| tdd|ksFtt dddd dgd!d"d#d$d%gdddddgg} t d&dgdd%gddgg}t| |kstt ddgddgddgg} t dgdgdgg}t| |kstd S )'Nr            )   r            +            %   /   r   r      iq   0      r   r   D   t      r   )Dr   r      -   $         r      )r   r   r   Z	transposer	   r   )r   ZhnfZtr_hnfr"   r"   r#   test_hermite_normal<   s"    , 0, ,rD   c                  C   sH   t ddgddgddgg} t ddgddgddgg}t| |ksDtd S )Nr   r   r   r   r1   )r   r   r   )AHr"   r"   r#   test_issue_23410T   s    rG   N)Zsympy.testing.pytestr   Zsympy.core.symbolr   Zsympy.polys.polytoolsr   Zsympy.matricesr   Zsympy.matrices.normalformsr   r   r   Zsympy.polys.domainsr	   r
   Zsympy.core.numbersr   r$   r(   rD   rG   r"   r"   r"   r#   <module>   s   