
    h                     z    S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  S	S
KJr  \" S5      4S jrS rg)z:

Routines for computing eigenvectors with DomainMatrix.

    )Dummy   )FiniteExtension)dup_factor_list)roots)Poly)CRootOf   )DomainMatrixlambdac                    U R                  5       nU R                  u  p4U R                  n[        X%5      u  pg/ n/ n	U GH  u  p[	        U
5      S:X  a  UnU
S   * U
S   -  n[        U5       VVs/ sH/  n[        U5       Vs/ sH  oU:X  a  UOUR                  PM     snPM1     nnn[        UX44U5      nU U-
  R                  SS9nUR                  XUU45        M  [        R                  " XUS9n[        U5      nU" U5      nU R                  R                  5        VVs/ sH3  nU Vs/ sH#  n[        R                  " U/XS9R                  PM%     snPM5     nnnU VVs/ sH  nU Vs/ sH  nU" U5      PM     snPM     nnn[        UX44U5      n[        U5       VVs/ sH/  n[        U5       Vs/ sH  oU:X  a  UOUR                  PM     snPM1     nnn[        UX44U5      nUU-
  R                  SS9nU	R                  UUUU45        GM     X4$ s  snf s  snnf s  snf s  snnf s  snf s  snnf s  snf s  snnf )Nr   r
   r   T)divide_last)domain)charpolyshaper   r   lenrangezeror   	nullspaceappendr   	from_listr   repto_ddm)Alr   rowscolsr   _factorsrational_eigenvectsalgebraic_eigenvectsbaseexpfieldeigenvalijEE_itemsEEbasisminpolyrowitemAA_itemsAAs                           R/var/www/html/shao/venv/lib/python3.13/site-packages/sympy/polys/matrices/eigen.pydom_eigenvectsr1      sW   zz|HJDXXF 2JA	t9>EQx$q')H t&$A >C4[I[!V3[I$  & he<BV&&4&8E&&e'DEnnTV<G#G,EQxH 55<<>+)C KNN#$9==#N)  + BJJ#5t5HJhe<B t&$A >C4[I[!V3[I$  & he<B"W''D'9E ''e(DE9 < 441 J& O+ 6J J&s`   /HHH"	H(+)H#H(#	H3,H.=H3#H>5H9H>H#H(.H39H>c                    / nU  H{  u  pVpxUR                   R                  5       nUR                  U5      nU V	V
s/ sH)  n	U" U	 V
s/ sH  oR                  U
5      PM     sn
5      PM+     nn	n
UR                  XgU45        M}     U GH  u  p\pxUR                   R                  5       nUR                  S   nU V	V
s/ sH"  o V
s/ sH  oR                  U
5      PM     sn
PM$     nn	n
UR                  5       nUR                  5       n[        X40 UD6n[        U5      U:w  a$  [        U5       Vs/ sH  n[        XU5      PM     nnU HM  nU V	V
s/ sH)  n	U" U	 V
s/ sH  oR                  X5      PM     sn
5      PM+     nn	n
UR                  XgU45        MO     GM     U$ s  sn
f s  sn
n	f s  sn
f s  sn
n	f s  snf s  sn
f s  sn
n	f )Nr   )r   r   to_sympyr   gensdegreeas_exprr   r   r   r	   subs)r    r!   Matrixkwargsresultr$   
eigenvaluemultiplicity
eigenvectsvectxnew_eigenvectsr+   r   r5   	eigenvalsidxs                    r0   dom_eigenvects_to_sympyrC   :   s    F7J3<^^**,
^^J/
 #$" t4t!NN1%t45" 	 $ 	z@A 8K 5I0^^**,
LLODNOJD$7$Q~~a($7J
O!//#'//	y>V#=B6]K]cS1]IK#J '(&D t<t!q-t<=&  ( MM:^DE	 $ 5I$ M- 5$ 8O L =(sM   F$FF$;F/F*F/.F5F?
F:3F?
F$*F/:F?
N)__doc__sympy.core.symbolr   agca.extensionsr   factortoolsr   	polyrootsr   	polytoolsr   rootoftoolsr	   domainmatrixr   r1   rC        r0   <module>rN      s5   
 $ - )   ! & h &5R rM   