
    g                         d Z 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
 ddlmZ ddlmZ dd	lmZ dd
lmZmZ d Zd Zd ZdS )z1
Tests for the sympy.polys.matrices.eigen module
    )S)sqrt)Matrix)FiniteExtension)QQ)PolyCRootOf)DomainMatrix)dom_eigenvectsdom_eigenvects_to_sympyc            
         t          t          d          t          d          gt          d          t          d          ggdt                    } t          t          d          dt          t          d          t          d          ggdt                    ft          t          d          dt          t          d          t          d          ggdt                    fg}t          |           |g fk    sJ t          d          dt	          ddg          gft          d          dt	          ddg          gfg}t          |g t                    |k    sJ d S )N      r   r      r   r   r   )r   r   r   r   r   r   )Arational_eigenvectssympy_eigenvectss      a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/matrices/tests/test_eigen.pytest_dom_eigenvects_rationalr      s.   r!uubeenr!uubeen5vrBBA	RUUA|beeRUU^$4fbAAB	RUUA|bffbee_$5vrBBC !!4b 99999 
1q61a&>>"#	
1q62q'??#$ ##6FCCGWWWWWWW    c            	         t          t          d          t          d          gt          d          t          d          ggdt                    } t          |           }|d         d         d         j        d         }t	          |dz  d|z  z
  dz
  |t                    }t          |          }|j        }||dt           ||dz
  dz             |d          ggd	|          fg}|g |fk    sJ t          d          dz  t          d
          dz  z
  dt          t          d
           dz  t          d          dz  z
  gdgg          gft          d          dz  t          d
          dz  z   dt          t          d           dz  t          d
          dz  z   gdgg          gfg}t          g |t                    |k    sJ d S )Nr   r   r      r   r      domainr   !      )r   r   r   gensr   r   
from_sympyr   r   r   r   )r   AvectslamdairreducibleKKKalgebraic_eigenvectsr   s           r   test_dom_eigenvects_algebraicr*   #   s   r!uubeenr!uubeen5vrBBAAF 1IaLO #Euax!E')A-uR@@@K$$A	
B	
KL22uQwk??BBqEE*B)CVQOOP b.///// 
1a$r((1*	a&DHH9Q;1a+?*@1#)F"G"G!HI	
1a$r((1*	a&AaDD57T"XXaZ+?*@1#)F"G"G!HI #2';VDDHXXXXXXXr   c                     t          g dg dg dg dg dgdt                    } t          |           }|d         d         d         j        d         t	          d	z  z
  dz   t          
          }t          |          }|j        }||dt           |dz  dz
             |dz             |dz             |           |d          ggd|          fg}|g |fk    sJ fdt          d	          D             \  }}}}	}
|dt          d|dz  z   |dz  |dz  |dg          gf|dt          d|dz  z   |dz  |dz  |dg          gf|dt          d|dz  z   |dz  |dz  |dg          gf|	dt          d|	dz  z   |	dz  |	dz  |	dg          gf|
dt          d|
dz  z   |
dz  |
dz  |
dg          gfg}t          g |t                    |k    sJ d S )N)r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   r   )r   r   c                 B    g | ]}t          d z  z
  dz   |          S )r   r   r	   ).0ir%   s     r   
<listcomp>z.test_dom_eigenvects_rootof.<locals>.<listcomp>R   s1    MMMq'%(U"2Q"6::MMMr   r,   )
r   r   r   r"   r   r   r#   ranger   r   )r   r$   r&   r'   r(   r)   l0l1l2l3l4r   r%   s               @r   test_dom_eigenvects_rootofr7   :   sy   
 !"	& 	&A AF 1IaLO #Euax%'!+U2>>>K$$A	
B	
KE1HQJE1Hrr%(||RRYY1Nq 	 b.///// NMMME!HHMMMBBB	Qb!eRUBE2q9::;<	Qb!eRUBE2q9::;<	Qb!eRUBE2q9::;<	Qb!eRUBE2q9::;<	Qb!eRUBE2q9::;< #2';VDDHXXXXXXXr   N)__doc__sympy.core.singletonr   (sympy.functions.elementary.miscellaneousr   sympy.matrices.denser   sympy.polys.agca.extensionsr   sympy.polys.domainsr   sympy.polys.polytoolsr   sympy.polys.rootoftoolsr
   !sympy.polys.matrices.domainmatrixr   sympy.polys.matrices.eigenr   r   r   r*   r7    r   r   <module>rC      s     # " " " " " 9 9 9 9 9 9 ' ' ' ' ' ' 7 7 7 7 7 7 " " " " " " & & & & & & + + + + + + : : : : : : N N N N N N N NX X X"Y Y Y. Y  Y  Y  Y  Yr   