§
    OŠtjÇ  ã                   ó€   — 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  ed¦  «        fd„Zd„ ZdS )z:

Routines for computing eigenvectors with DomainMatrix.

é    )ÚDummyé   )ÚFiniteExtension)Údup_factor_list)Úroots)ÚPoly©ÚCRootOfé   )ÚDomainMatrixÚlambdac                 óh  ‡‡‡‡‡— |                       ¦   «         }| j        \  }Š| j        Št          |‰¦  «        \  }}g }g }|D �]j\  }}	t	          |¦  «        dk    rw‰Š|d          |d         z  Šˆˆˆfd„t          |¦  «        D ¦   «         }
t          |
|‰f‰¦  «        }| |z
                       d¬¦  «        }|                     ‰‰|	|f¦  «         Œ�t          j
        |‰‰¬¦  «        }t          |¦  «        Š ‰‰¦  «        Šˆˆfd„| j                             ¦   «         D ¦   «         }ˆfd	„|D ¦   «         }t          ||‰f‰¦  «        }ˆˆˆfd
„t          |¦  «        D ¦   «         }
t          |
|‰f‰¦  «        }||z
                       d¬¦  «        }|                     ‰||	|f¦  «         �Œl||fS )Nr   r   r   c                 óL   •‡— g | ]Šˆˆˆfd „t          ‰¦  «        D ¦   «         ‘Œ S )c                 ó.   •— g | ]}‰|k    r‰n‰j         ‘ŒS © ©Úzero©Ú.0ÚjÚeigenvalÚfieldÚis     €€€úX/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/matrices/eigen.pyú
<listcomp>z-dom_eigenvects.<locals>.<listcomp>.<listcomp>   ó'   ø€ ÐIÐIÐI¸˜Q !šV˜V��¨¬ÐIÐIÐIó    ©Úrange©r   r   Úcolsr   r   s    @€€€r   r   z"dom_eigenvects.<locals>.<listcomp>   óK   øø€ ð &ð &ð &àð JÐIÐIÐIÐIÐI½UÀ4¹[¼[ÐIÑIÔIð&ð &ð &r   T)Údivide_last©Údomainc                 ó.   •— g | ]}ˆˆfd „|D ¦   «         ‘ŒS )c                 óJ   •— g | ]}t          j        |g‰‰¬ ¦  «        j        ‘Œ S )r$   )r   Ú	from_listÚrep)r   Úitemr%   Úls     €€r   r   z-dom_eigenvects.<locals>.<listcomp>.<listcomp>+   s/   ø€ ÐNÐNÐNÀ$•”  ¨°&Ð9Ñ9Ô9Ô=ÐNÐNÐNr   r   )r   Úrowr%   r+   s     €€r   r   z"dom_eigenvects.<locals>.<listcomp>*   sA   ø€ ð +ð +ð +àð OÐNÐNÐNÐNÈ#ÐNÑNÔNð+ð +ð +r   c                 ó,   •— g | ]}ˆfd „|D ¦   «         ‘ŒS )c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   )r   r*   r   s     €r   r   z-dom_eigenvects.<locals>.<listcomp>.<listcomp>-   s!   ø€ Ð5Ð5Ð5¨˜˜˜t™œÐ5Ð5Ð5r   r   )r   r,   r   s     €r   r   z"dom_eigenvects.<locals>.<listcomp>-   s.   ø€ ÐJÐJÐJ¸#Ð5Ð5Ð5Ð5°Ð5Ñ5Ô5ÐJÐJÐJr   c                 óL   •‡— g | ]Šˆˆˆfd „t          ‰¦  «        D ¦   «         ‘Œ S )c                 ó.   •— g | ]}‰|k    r‰n‰j         ‘ŒS r   r   r   s     €€€r   r   z-dom_eigenvects.<locals>.<listcomp>.<listcomp>0   r   r   r   r    s    @€€€r   r   z"dom_eigenvects.<locals>.<listcomp>/   r"   r   )ÚcharpolyÚshaper%   r   Úlenr   r   Ú	nullspaceÚappendr   r(   r   r)   Úto_ddm)ÚAr+   r1   ÚrowsÚ_ÚfactorsÚrational_eigenvectsÚalgebraic_eigenvectsÚbaseÚexpÚEE_itemsÚEEÚbasisÚminpolyÚAA_itemsÚAAr!   r%   r   r   s    `              @@@@r   Údom_eigenvectsrE      s8  øøøøø€ Ø�zŠz‰|Œ|€HØ”�J€Dˆ$ØŒX€FÝ  ¨6Ñ2Ô2�J€A€wàÐØÐØð Fñ F‰	ˆˆcÝˆt‰9Œ9˜Š>ˆ>ØˆEØ˜Qœ�x $ q¤'Ñ)ˆHð&ð &ð &ð &ð &ð &å˜t™œð&ñ &ô &ˆHõ ˜h¨¨t¨°eÑ<Ô<ˆBà˜‘V×&Ò&°4Ð&Ñ8Ô8ˆEØ×&Ò&¨¨x¸¸eÐ'DÑEÔEÐEÐEå”n T¨1°VÐ<Ñ<Ô<ˆGÝ# GÑ,Ô,ˆEØ�u˜Q‘x”xˆHð+ð +ð +ð +ð +àœ5Ÿ<š<™>œ>ð+ñ +ô +ˆHð KÐJÐJÐJÀÐJÑJÔJˆHÝ˜h¨¨t¨°eÑ<Ô<ˆBð&ð &ð &ð &ð &ð &å˜t™œð&ñ &ô &ˆHõ ˜h¨¨t¨°eÑ<Ô<ˆBà˜"‘W×'Ò'°DÐ'Ñ9Ô9ˆEØ ×'Ò'¨°¸¸eÐ(DÑEÔEÐEÑEàÐ 4Ð4Ð4r   c                 ór  ‡‡
‡‡‡— g }| D ]\\  ŠŠ
}}|j                              ¦   «         }‰                     ‰
¦  «        Š
ˆˆfd„|D ¦   «         }|                     ‰
||f¦  «         Œ]|D ]Í\  ŠŠ}}|j                              ¦   «         }‰j        d         Šˆfd„|D ¦   «         }‰                     ¦   «         }‰                     ¦   «         Št          ‰‰fi |¤Ž}	t          |	¦  «        |k    rˆˆfd„t          |¦  «        D ¦   «         }	|	D ]*Š
ˆˆ
ˆfd„|D ¦   «         }|                     ‰
||f¦  «         Œ+ŒÎ|S )Nc                 ó>   •— g | ]} ‰ˆfd „|D ¦   «         ¦  «        ‘ŒS )c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r   ©Úto_sympy©r   Úxr   s     €r   r   z6dom_eigenvects_to_sympy.<locals>.<listcomp>.<listcomp>D   s%   ø€ Ð4Ð4Ð4¨!�E—N’N 1Ñ%Ô%Ð4Ð4Ð4r   r   )r   ÚvectÚMatrixr   s     €€r   r   z+dom_eigenvects_to_sympy.<locals>.<listcomp>C   sH   ø€ ð $ð $ð $àð ˆFÐ4Ð4Ð4Ð4¨tÐ4Ñ4Ô4Ñ5Ô5ð$ð $ð $r   r   c                 ó,   •— g | ]}ˆfd „|D ¦   «         ‘ŒS )c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r   rI   rK   s     €r   r   z6dom_eigenvects_to_sympy.<locals>.<listcomp>.<listcomp>L   s%   ø€ Ð7Ð7Ð7¨Q�u—~’~ aÑ(Ô(Ð7Ð7Ð7r   r   )r   rM   r   s     €r   r   z+dom_eigenvects_to_sympy.<locals>.<listcomp>L   s.   ø€ ÐOÐOÐO¸DÐ7Ð7Ð7Ð7°$Ð7Ñ7Ô7ÐOÐOÐOr   c                 ó2   •— g | ]}t          ‰‰|¦  «        ‘ŒS r   r	   )r   Úidxr+   rB   s     €€r   r   z+dom_eigenvects_to_sympy.<locals>.<listcomp>R   s%   ø€ ÐKÐKÐK°c� ¨!¨SÑ1Ô1ÐKÐKÐKr   c                 ó@   •— g | ]} ‰ˆˆfd „|D ¦   «         ¦  «        ‘ŒS )c                 ó<   •— g | ]}|                      ‰‰¦  «        ‘ŒS r   )Úsubs)r   rL   Ú
eigenvaluer+   s     €€r   r   z6dom_eigenvects_to_sympy.<locals>.<listcomp>.<listcomp>V   s'   ø€ Ð<Ð<Ð<°!˜Ÿš˜q *Ñ-Ô-Ð<Ð<Ð<r   r   )r   rM   rN   rV   r+   s     €€€r   r   z+dom_eigenvects_to_sympy.<locals>.<listcomp>U   sK   ø€ ð (ð (ð (àð �Ð<Ð<Ð<Ð<Ð<°tÐ<Ñ<Ô<Ñ=Ô=ð(ð (ð (r   )
r)   r6   rJ   r5   ÚgensÚdegreeÚas_exprr   r3   r   )r;   r<   rN   ÚkwargsÚresultÚmultiplicityÚ
eigenvectsÚnew_eigenvectsrX   Ú	eigenvalsrV   r   r+   rB   s     `       @@@@r   Údom_eigenvects_to_sympyr`   :   s¾  øøøøø€ ð €Fà7Jð Bð BÑ3ˆˆz˜<¨Ø”^×*Ò*Ñ,Ô,ˆ
Ø—^’^ JÑ/Ô/ˆ
ð$ð $ð $ð $ð $à"ð$ñ $ô $ˆð 	�Š�z <°Ð@ÑAÔAÐAÐAà4Hð Fð FÑ0ˆˆw˜ jØ”^×*Ò*Ñ,Ô,ˆ
ØŒL˜ŒOˆàOÐOÐOÐOÀJÐOÑOÔOˆ
à—’Ñ!Ô!ˆØ—/’/Ñ#Ô#ˆÝ˜' 1Ð/Ð/¨Ð/Ð/ˆ	Ýˆy‰>Œ>˜VÒ#Ð#ØKÐKÐKÐKÐK½UÀ6¹]¼]ÐKÑKÔKˆIà#ð 	Fð 	FˆJð(ð (ð (ð (ð (ð (à&ð(ñ (ô (ˆNð �MŠM˜: |°^ÐDÑEÔEÐEÐEð		Fð €Mr   N)Ú__doc__Úsympy.core.symbolr   Úagca.extensionsr   Úfactortoolsr   Ú	polyrootsr   Ú	polytoolsr   Úrootoftoolsr
   Údomainmatrixr   rE   r`   r   r   r   ú<module>ri      sÊ   ððð ð
 $Ð #Ð #Ð #Ð #Ð #à -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !à &Ð &Ð &Ð &Ð &Ð &ð ˜˜h™œð &5ð &5ð &5ð &5ðR ð  ð  ð  ð  r   