§
    OŠtjÂX  ã                   ón  — 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lmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZmZ d d
lmZ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„ Z$d„ Z%ed„ ¦   «         Z&d„ Z'd„ Z(d„ Z)d„ Z*e!d„ ¦   «         Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d „ Z4d!„ Z5d"„ Z6d#„ Z7d$S )%é    )ÚN)ÚFloatÚIÚRational)ÚSymbolÚsymbols)ÚAbs)Úsqrt)ÚcosÚsin)ÚeyeÚMatrix)ÚS)ÚraisesÚXFAIL)ÚNonSquareMatrixErrorÚMatrixError)ÚDFT©Úsimplify)ÚImmutableMatrix)Úslow)Úallclosec                  óœ  ‡‡— t           } t          j        d¦  «        }|                     d¬¦  «        t          j        dik    sJ ‚|                     d¬¦  «        g d¢k    sJ ‚|                     ¦   «         ddt          g d¢¦  «        t          g d¢¦  «        t          g d	¢¦  «        gfgk    sJ ‚|                     ¦   «         ddt          g d¢g¦  «        t          g d¢g¦  «        t          g d	¢g¦  «        gfgk    sJ ‚t          g d
¢g d¢g d¢g¦  «        }|                     ¦   «         dt          j        z  dt          j         dt          j        dik    sJ ‚|                     ¦   «         ddt          g d¢¦  «        gfddt          g d¢¦  «        gfddt           | dd¦  «         | dd¦  «        dg¦  «        gfgk    sJ ‚|                     ¦   «         ddt          g d¢g¦  «        gfddt          g d¢g¦  «        gfddt          g d¢g¦  «        gfgk    sJ ‚t          d¦  «        }t          |dgddgg¦  «        }|                     ¦   «         |dt          j        dik    sJ ‚t          ddgddgg¦  «        }|                     ¦   «         ddt          ddddg¦  «        gfgk    sJ ‚|                     ¦   «         ddt          ddgg¦  «        gfgk    sJ ‚t          g d¢g d¢g d¢g¦  «        } | dd¦  «        }dd | dd¦  «        z  z  } | dd¦  «        } | dd¦  «        d|z  dz  z   } | dd¦  «        d|z  dz  z
  }d„ Š||dz  z
  dt          dd||dz  z
  z  z   ||dz  z
  |z  z  d||dz  z
  z  z   dd||dz  z
  z  z   |z  dg¦  «        gfddt          g d¢¦  «        gf||dz  z   dt          dd||dz  z   z  z   ||dz  z   |z  z  d||dz  z   z  z   dd||dz  z   z  z   |z  dg¦  «        gfgŠˆˆfd„t          t          ‰¦  «        ¦  «        D ¦   «         }|                     ¦   «         Šˆˆfd „t          t          ‰¦  «        ¦  «        D ¦   «         }t          |¦  «        t          |¦  «        k    sJ ‚t          d!d¬"¦  «        }	t          t          |	¦  «        t          |	z  gt           |	z  t          |	¦  «        gg¦  «        }|                     ¦   «         ddt          t           |	z  t          |	¦  «        z  gdgg¦  «        gfdt          |	¦  «        z  dt          t          |	z  t          |	¦  «        z  gdgg¦  «        gfgk    sJ ‚|                     ¦   «         ddt          t          |	z  t          |	¦  «        z  dgg¦  «        gfdt          |	¦  «        z  dt          t           |	z  t          |	¦  «        z  dgg¦  «        gfgk    sJ ‚t          ddg d#¢¦  «        }|                     d¬$¦  «        |_        t#          d%„ |j        d         d         d         D ¦   «         ¦  «        dk    sJ ‚|                     d¬$¦  «        |_        t#          d&„ |j        d         d         d         D ¦   «         ¦  «        dk    sJ ‚t          t          dd'¦  «        dgddgg¦  «        }|                     ¦   «         t          d(d¦  «        t%          d)¦  «        dz  z
  dt          t%          d)¦  «         dz  t          dd¦  «        z
  gdgg¦  «        gft          d(d¦  «        t%          d)¦  «        dz  z   dt          t          d*d¦  «        t%          d)¦  «        dz  z   gdgg¦  «        gfgk    sJ ‚t          g ¦  «                             ¦   «         i k    sJ ‚t          g ¦  «                             d¬¦  «        g k    sJ ‚t          g ¦  «                             ¦   «         g k    sJ ‚t'          t(          d+„ ¦  «         t'          t(          d,„ ¦  «         t'          t(          d-„ ¦  «         t'          t(          d.„ ¦  «         t'          t(          d/„ ¦  «         t'          t(          d0„ ¦  «         t          ddgdd'gg¦  «        }
t+          |
                     dd¬1¦  «        t,          ¦  «        sJ ‚t+          |
                     dd¬1¦  «        t.          ¦  «        sJ ‚t+          |
                     d2„ d¬1¦  «        t,          ¦  «        sJ ‚t+          |
                     d3„ d¬1¦  «        t.          ¦  «        sJ ‚d S )4Né   F©ÚmultipleT©é   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   Úa©r   r$   r   )é   é   é   )é   é   é	   é   é!   é   r-   c                 ó<   — t          t          | |¦  «        ¦  «        S ©N)Ústrr   )ÚeÚns     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/tests/test_eigen.pyÚNSztest_eigen.<locals>.NSH   s   € Ý•1�Q˜‘7”7‰|Œ|Ðó    é   é   r+   )r   r&   r   c                 ó®   •— g | ]Q} ‰‰|         d          d¦  «         ‰‰|         d         d¦  «        ˆfd„‰|         d         d          D ¦   «         f‘ŒRS )r   r$   r   c                 ó(   •— g | ]} ‰|d ¦  «        ‘ŒS ©r$   © ©Ú.0Újr8   s     €r7   ú
<listcomp>z)test_eigen.<locals>.<listcomp>.<listcomp>R   ó#   ø€ Ð&Ð&Ð&�aˆˆˆAˆq‰ŒÐ&Ð&Ð&r9   r?   ©rA   Úir8   Úrs     €€r7   rC   ztest_eigen.<locals>.<listcomp>Q   ó}   ø€ ð 
@ð 
@ð 
@Ø,-ð ˆ2ˆa�Œd�1Œg�q‰>Œ>˜2˜2˜a œd 1œg q™>œ>Ø&Ð&Ð&Ð&˜1˜Qœ4 œ7 1œ:Ð&Ñ&Ô&ð(ð 
@ð 
@ð 
@r9   c                 ó®   •— g | ]Q} ‰‰|         d          d¦  «         ‰‰|         d         d¦  «        ˆfd„‰|         d         d          D ¦   «         f‘ŒRS )r   r$   r   c                 ó(   •— g | ]} ‰|d ¦  «        ‘ŒS r>   r?   r@   s     €r7   rC   z)test_eigen.<locals>.<listcomp>.<listcomp>U   rD   r9   r?   rE   s     €€r7   rC   ztest_eigen.<locals>.<listcomp>T   rH   r9   Úeps©Úreal)	r   r$   r   r   r   r   r$   éüÿÿÿr$   r   c              3   ó$   K  — | ]}|j         V — Œd S r3   ©Úq©rA   rF   s     r7   ú	<genexpr>ztest_eigen.<locals>.<genexpr>k   ó$   è è € Ð3Ð3�qˆqŒsÐ3Ð3Ð3Ð3Ð3Ð3r9   c              3   ó$   K  — | ]}|j         V — Œd S r3   rP   rR   s     r7   rS   ztest_eigen.<locals>.<genexpr>m   rT   r9   r)   r*   éI   éýÿÿÿc                  óV   — t          ddgddgddgg¦  «                             ¦   «         S )Nr   r$   r   r)   ©r   Ú	eigenvalsr?   r9   r7   ú<lambda>ztest_eigen.<locals>.<lambda>{   ó-   € •6˜A˜q˜6 A q 6¨A¨q¨6Ð2Ñ3Ô3×=Ò=Ñ?Ô?€ r9   c                  óV   — t          ddgddgddgg¦  «                             ¦   «         S )Nr   r   r   r)   r*   r+   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>}   r\   r9   c                  óP   — t          g d¢g d¢g¦  «                             ¦   «         S )Nr(   ©r   r*   r+   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>   ó'   € •6˜9˜9˜9 i i iÐ0Ñ1Ô1×;Ò;Ñ=Ô=€ r9   c                  óP   — t          g d¢g d¢g¦  «                             ¦   «         S )Nr    ©r)   r*   r   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>�   r`   r9   c                  óT   — t          g d¢g d¢g¦  «                             d¬¦  «        S )Nr(   r_   F©Úerror_when_incompleterY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>ƒ   ó3   € •6˜9˜9˜9 i i iÐ0Ñ1Ô1×;Ò;Ø',ð <ñ .ô .€ r9   c                  óT   — t          g d¢g d¢g¦  «                             d¬¦  «        S )Nr    rb   Frd   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>†   rf   r9   )r   r   c                 ó   — | S r3   r?   ©Úxs    r7   r[   ztest_eigen.<locals>.<lambda>Œ   ó   € °Q€ r9   c                 ó   — | S r3   r?   ri   s    r7   r[   ztest_eigen.<locals>.<lambda>�   rk   r9   )r   r   r   rZ   r   ÚOneÚ
eigenvectsÚleft_eigenvectsÚZeror   ÚrangeÚlenÚsortedÚabsr   r	   Ú_eigenvectsÚmaxr
   r   r   Ú
isinstanceÚdictÚlist)ÚRÚMr'   ÚbÚcÚdr5   Úr1Úr2rK   Úmr8   rG   s              @@r7   Ú
test_eigenr‚      s«
  øø€ Ý€AÝŒ
�1‰Œ€AØ�;Š; ˆ;Ñ&Ô&­1¬5°!¨*Ò4Ð4Ð4Ð4Ø�;Š; ˆ;Ñ%Ô%¨¨¨Ò2Ð2Ð2Ð2à�<Š<‰>Œ>Ø
ˆQ•˜	˜	˜	Ñ"Ô"Ý˜	˜	˜	Ñ"Ô"Ý˜	˜	˜	Ñ"Ô"ð$ð 
%ð 	&ò'ð 'ð 'ð 'ð
 ×ÒÑÔØ
ˆQ•˜˜˜˜Ñ$Ô$Ý˜˜˜˜Ñ$Ô$Ý˜˜˜˜Ñ$Ô$ð&ð 
'ð 	(ò)ð )ð )ð )õ
 	�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að �;Š;‰=Œ=˜Q�qœu™W a­!¬%¨°µA´F¸AÐ>Ò>Ð>Ð>Ð>à�<Š<‰>Œ>à�•V˜J˜J˜JÑ'Ô'Ð(Ð)Ø�•V˜J˜J˜JÑ'Ô'Ð(Ð)Ø�•V˜Q˜Q˜q !™WœW a a¨¨1¡g¤g¨qÐ1Ñ2Ô2Ð3Ð4ð	
òð ð ð ð ×ÒÑÔà�•V˜Z˜Z˜Z˜LÑ)Ô)Ð*Ð+Ø�•F˜K˜K˜K˜=Ñ)Ô)Ð*Ð+Ø�•F˜I˜I˜I˜;Ñ'Ô'Ð(Ð)ð	
òð ð ð õ 	ˆs‰Œ€AÝ��A�Ø�A�ðñ 	ô 	€Að �;Š;‰=Œ=˜Q ¥1¤5¨!Ð,Ò,Ð,Ð,Ð,å��B�Ø�Q�ðñ 	ô 	€Aà�<Š<‰>Œ>  1¥v¨a°°R¸°GÑ'<Ô'<Ð&=Ð>Ð?Ò@Ð@Ð@Ð@Ø×ÒÑÔ Q¨­F°Q¸°F°8Ñ,<Ô,<Ð+=Ð$>Ð#?Ò@Ð@Ð@Ð@å�	�	�	˜9˜9˜9 i i iÐ0Ñ1Ô1€AØ	ˆˆ"ˆa‰Œ€AØ	ˆ"ˆaˆa��1‰gŒg‰+‰€AØ	ˆˆ"ˆa‰Œ€AØ	
ˆˆ2ˆq‰Œ�A�a‘C˜‘EÑ	€AØ	
ˆˆ2ˆq‰Œ�A�a‘C˜‘EÑ	€Aðð ð ð 
ˆQˆq‰S‰�!•f˜r B¨¨A¨a©C©¡LÑ0°A¸¸!¹±G¸Q±;Ñ?À!ÀQÈÈ1ÉÁWÁ+ÑMØ  2 q¨1¨Q©3¡w¡<Ñ/°Ñ2°Að7ñ 8ô 8ð 9ð 	:à�!•f˜Z˜Z˜ZÑ(Ô(Ð)Ð*Ø	
ˆQˆq‰S‰�!•f˜r B¨¨A¨a©C©¡LÑ0°A¸¸!¹±G¸Q±;Ñ?À!ÀQÈÈ1ÉÁWÁ+ÑMØ  2 q¨1¨Q©3¡w¡<Ñ/°Ñ2°Að7ñ 8ô 8ð 9ð 	:ð		€Að
@ð 
@ð 
@ð 
@ð 
@Ý16µs¸1±v´v±´ð
@ñ 
@ô 
@€Bà	�Š‰Œ€Að
@ð 
@ð 
@ð 
@ð 
@Ý16µs¸1±v´v±´ð
@ñ 
@ô 
@€Bå�"‰:Œ:� ™œÒ#Ð#Ð#Ð#å
�˜TÐ
"Ñ
"Ô
"€Cå•�S‘”�1˜S™5Ð%Ý��C‘�3˜s™8œ8Ð%ð'ñ 	(ô 	(€Að �<Š<‰>Œ>à�•V�q˜b ™f¥S¨¡X¤X™oÐ.°°Ð4Ñ5Ô5Ð6Ð7Ø•�C‘”‰j˜!�v­¨#©­c°#©h¬h©Ð'7¸!¸Ð&=Ñ>Ô>Ð@ÐBð	
òð ð ð ð ×ÒÑÔà�•F�Q˜s™U¥3 s¡8¤8™^¨QÐ/Ð0Ñ1Ô1Ð2Ð3Ø�s�3‰xŒx‰Z˜�V¥q b¨¡f­S°©X¬X¡o°qÐ%9Ð$:Ñ;Ô;Ð<Ð=ð	
òð ð ð õ 	ˆq�!Ð1Ð1Ð1Ñ2Ô2€AØ—L’L¨%�LÑ0Ô0€A„MÝÐ3Ð3˜AœM¨!Ô,¨QÔ/°Ô2Ð3Ñ3Ô3Ñ3Ô3°aÒ7Ð7Ð7Ð7Ø—L’L¨$�LÑ/Ô/€A„MÝÐ3Ð3˜AœM¨!Ô,¨QÔ/°Ô2Ð3Ñ3Ô3Ñ3Ô3°qÒ8Ð8Ð8Ð8å•˜!˜Q‘” Ð# a¨ VÐ,Ñ-Ô-€AØ�<Š<‰>Œ>Ý	�!�Q‰Œ�$˜r™(œ( 1™*Ñ	$ a­&µD¸±H´H°9¸Q±;ÅÈ!ÈQÁÄÑ3OÐ2PÐSTÐRUÐ1VÑ*WÔ*WÐ)XÐYÝ	�!�Q‰Œ�$˜r™(œ( 1™*Ñ	$ a­&µ8¸BÀ±?´?ÅTÈ"ÁXÄXÈaÁZÑ3OÐ2PÐSTÐRUÐ1VÑ*WÔ*WÐ)XÐYð[ò [ð [ð [ð [õ
 �"‰:Œ:×ÒÑ!Ô! RÒ'Ð'Ð'Ð'Ý�"‰:Œ:×Ò¨ÐÑ.Ô.°"Ò4Ð4Ð4Ð4Ý�"‰:Œ:× Ò Ñ"Ô" bÒ(Ð(Ð(Ð(õ ÕØ?Ð?ñAô Að Aå
ÕØ?Ð?ñAô Að Aå
ÕØ=Ð=ñ?ô ?ð ?å
ÕØ=Ð=ñ?ô ?ð ?å
Õð.ð .ñ/ô /ð /õ Õð.ð .ñ/ô /ð /õ 	��A�˜˜A˜ÐÑ Ô €AÝ�a—k’k¨4¸%�kÑ@Ô@Å$ÑGÔGÐGÐGÐGÝ�a—k’k¨4¸$�kÑ?Ô?ÅÑFÔFÐFÐFÐFÝ�a—k’k¨;¨;À�kÑGÔGÍÑNÔNÐNÐNÐNÝ�a—k’k¨;¨;À�kÑFÔFÍÑMÔMÐMÐMÐMÐMÐMr9   c                  ó¶  — t          g d¢g d¢g d¢g¦  «        } t          dd¦  «        t          d¦  «        dz  z
  t          d¦  «        dz  t          dd¦  «        z   t          j        g}|                      dd¬	¦  «        }t          |¦  «        }d
„ |D ¦   «         }t          |¦  «        }t          ||¦  «        D ]\  }}t          ||z
  ¦  «        dk     sJ ‚Œd S )N)r   ç333333ã?r„   )r„   çÍÌÌÌÌÌì?r…   )r…   r„   r„   r*   r)   i�  é   T)Úrationalr   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r?   )Úevalf©rA   rj   s     r7   rC   z(test_float_eigenvals.<locals>.<listcomp>™   s    € Ð(Ð(Ð(˜Qˆq�wŠw‰yŒyÐ(Ð(Ð(r9   g•Ö&è.>)	r   r   r
   r   rp   rZ   rs   Úziprt   )r�   ÚevalsÚn_evalsÚs_evalsrj   Úys         r7   Útest_float_eigenvalsr�   �   sç   € Ý���˜\˜\˜\¨<¨<¨<Ð8Ñ9Ô9€Aå��A‰Œ�˜c™œ 2™Ñ%ÝˆS‰	Œ	�"‰•x  1‘~”~Ñ%Ý	Œð€Eð
 �kŠk 4°$ˆkÑ7Ô7€GÝ�W‰oŒo€GØ(Ð( %Ð(Ñ(Ô(€GÝ�W‰oŒo€Gå�G˜WÑ%Ô%ð !ð !‰ˆˆ1Ý�1�Q‘3‰xŒx˜&Ò Ð Ð Ð Ð ð!ð !r9   c                  óú   ‡— t          dddddt          g¦  «        Št          t          ˆfd„¦  «         ‰                     d¦  «        rJ ‚t          t
          ˆfd„¦  «         ‰                     d¦  «        \  } }d S )Nr$   r   r   c                  ó.   •— ‰                       d¦  «        S ©NT)Úis_diagonalizable©r�   s   €r7   r[   z"test_eigen_vects.<locals>.<lambda>£   s   ø€ ¨×(;Ò(;¸DÑ(AÔ(A€ r9   Tc                  ó.   •— ‰                       d¦  «        S r“   ©Údiagonalizer•   s   €r7   r[   z"test_eigen_vects.<locals>.<lambda>§   s   ø€  §¢¨dÑ 3Ô 3€ r9   )r   r   r   ÚNotImplementedErrorr”   r   r˜   )ÚPÚDr�   s     @r7   Útest_eigen_vectsrœ       s†   ø€ åˆq�!�a˜˜A�q�\Ñ"Ô"€AÝ
ÕÐ AÐ AÐ AÐ AÑBÔBÐBð ×"Ò" 4Ñ(Ô(Ð(Ð(Ð(Ý
�;Ð3Ð3Ð3Ð3Ñ4Ô4Ð4Ø�]Š]˜4Ñ Ô �F€Qˆˆˆr9   c                  óB  ‡— t          d¦  «        \  } }dŠd„ t          ‰¦  «        D ¦   «         }ˆfd„t          ‰¦  «        D ¦   «         }t          ‰¦  «        D ]}||         ||         |<   Œt          |¦  «        }|                     ¦   «         }t	          |¦  «        ‰k    sJ ‚t          ‰¦  «        D ]}|||                  dk    sJ ‚Œ|                     d¬¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚t          | ddgd|dgd	d
| gg¦  «        }|                     ¦   «         }|| d	|dik    sJ ‚|                     d¬¦  «        }t	          |¦  «        d
k    sJ ‚|                     | ¦  «        d	k    sJ ‚|                     |¦  «        dk    sJ ‚d S )Nzx yéÈ   c                 ó2   — g | ]}t          d |z  ¦  «        ‘ŒS )zx%s)r   rR   s     r7   rC   z#test_issue_8240.<locals>.<listcomp>¯   s$   € Ð>Ð>Ð>°�& ¨¡Ñ+Ô+Ð>Ð>Ð>r9   c                 óB   •— g | ]}d „ t          ‰¦  «        D ¦   «         ‘ŒS )c                 ó   — g | ]}d ‘ŒS )r   r?   rR   s     r7   rC   z.test_issue_8240.<locals>.<listcomp>.<listcomp>°   s   € Ð	Ð	Ð	�ˆ!Ð	Ð	Ð	r9   )rq   )rA   rB   r6   s     €r7   rC   z#test_issue_8240.<locals>.<listcomp>°   s.   ø€ Ð1Ð1Ð1 1Ð	Ð	•U˜1‘X”XÐ	Ñ	Ô	Ð1Ð1Ð1r9   r   Tr   r   r$   r   )r   rq   r   rZ   rr   ÚsetÚcount)rj   r�   Údiagonal_variablesr{   rF   rZ   r6   s         @r7   Útest_issue_8240r¥   ª   sÇ  ø€ å�5‰>Œ>�D€A€qØ€Aà>Ð>µU¸1±X´XÐ>Ñ>Ô>ÐØ1Ð1Ð1Ð1­¨a©¬Ð1Ñ1Ô1€AÝ�1‰XŒXð (ð (ˆØ$ QÔ'ˆˆ!ŒˆQ‰ˆÝˆq‰	Œ	€Aà—’‘”€IÝˆy‰>Œ>˜QÒÐÐÐÝ�1‰XŒXð 5ð 5ˆØÐ+¨AÔ.Ô/°1Ò4Ð4Ð4Ð4Ð4à—’ T�Ñ*Ô*€IÝˆy‰>Œ>�SÐ!3Ñ4Ô4Ò4Ð4Ð4Ð4õ 	��A�q�	˜A˜q !˜9 q¨!¨Q iÐ0Ñ1Ô1€AØ—’‘”€IØ˜˜A˜q !˜Ò$Ð$Ð$Ð$à—’ T�Ñ*Ô*€IÝˆy‰>Œ>˜QÒÐÐÐØ�?Š?˜1ÑÔ Ò"Ð"Ð"Ð"Ø�?Š?˜1ÑÔ Ò"Ð"Ð"Ð"Ð"Ð"r9   c                  ó"  — t          g d¢g d¢g d¢g¦  «        } |                      ¦   «         dt          j        z  dt          j         dt          j        dik    sJ ‚t          g d¢g d¢g d¢g d	¢g d
¢g¦  «        }|                     ¦   «         sJ ‚d S )Nr#   r    r   r$   r   ©r   r   r   r   rW   ©r   rW   rW   r   r   ©r   r   r   r   r   ©r   r   r   r   r   ©r   r   r   r   r   )r   rZ   r   rm   rp   )r{   r�   s     r7   Útest_eigenvalsr¬   È   sº   € Ý�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að �;Š;‰=Œ=˜Q�qœu™W a­!¬%¨°µA´F¸AÐ>Ò>Ð>Ð>Ð>åØÐÐØÐÐØÐÐØÐÐØÐÐðñ 	ô 	€Að �;Š;‰=Œ=ÐÐˆ=ÐÐr9   c                  óÎ   — t          g d¢g d¢g d¢g¦  «        } |                      ¦   «         }|D ]5\  }}}t          |¦  «        dk    sJ ‚| |d         z  ||d         z  k    sJ ‚Œ6d S ©Nr#   r    r   r   r   )r   rn   rr   ©r{   ÚvecsÚvalÚmultÚvec_lists        r7   Útest_eigenvectsr´   Ú   s”   € Ý�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að �<Š<‰>Œ>€DØ#ð 0ð 0ÑˆˆT�8Ý�8‰}Œ} Ò!Ð!Ð!Ð!Ø�˜!”‰}  H¨Q¤K¡Ò/Ð/Ð/Ð/Ð/ð0ð 0r9   c                  óÎ   — t          g d¢g d¢g d¢g¦  «        } |                      ¦   «         }|D ]5\  }}}t          |¦  «        dk    sJ ‚|d         | z  ||d         z  k    sJ ‚Œ6d S r®   )r   ro   rr   r¯   s        r7   Útest_left_eigenvectsr¶   ä   s˜   € Ý�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að ×ÒÑÔ€DØ#ð 0ð 0ÑˆˆT�8Ý�8‰}Œ} Ò!Ð!Ð!Ð!Ø˜Œ{˜1‰}  H¨Q¤K¡Ò/Ð/Ð/Ð/Ð/ð0ð 0r9   c                  ó  — t          g d¢g d¢g d¢g¦  «        } |                      ¦   «         | k    sJ ‚|                      d¬¦  «        | k    sJ ‚|                      ¦   «         | k    sJ ‚|                      ¦   «         | | | fk    sJ ‚|                      d¬¦  «        | | | fk    sJ ‚|                      ¦   «         | k    sJ ‚dd l}t	          d¦  «        D �]N}g }d}d}t	          ||z  ¦  «        D ]}|                     dd	¦  «        }||gz   }Œt          |||¦  «        } t          | ¦  «        } |j        ¦   «         \  }	}
}|                      ¦   «         \  }}}|                      ¦   «         } |j        ¦   «         }|	|
z  |z  }||z  |z  }|
                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                      d¬¦  «        }|                      d¬¦  «        \  }}} |j        d¬¦  «        } |j        d¬¦  «        \  }}}||z  |z  }||z  |z  }|                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          | |k    sJ ‚||k    sJ ‚||k    sJ ‚|
|k    sJ ‚| |k    sJ ‚||k    sJ ‚||k    sJ ‚||k    sJ ‚�ŒPt	          d¦  «        D �]o}g }d}t	          ||z  ¦  «        D ]A}|                     dd	¦  «        }|                     dd	¦  «        } || t          z  z   }||gz   }ŒBt          |||¦  «        } t          | ¦  «        } |j        ¦   «         \  }	}
}|                      ¦   «         \  }}}|                      ¦   «         } |j        ¦   «         }|	|
z  |z  }||z  |z  }|
                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                      d¬¦  «        }|                      d¬¦  «        \  }}} |j        d¬¦  «        } |j        d¬¦  «        \  }}}||z  |z  }||z  |z  }|                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          | |k    sJ ‚||k    sJ ‚||k    sJ ‚|
|k    sJ ‚| |k    sJ ‚||k    sJ ‚||k    sJ ‚||k    sJ ‚�Œqt          d
dt	          dd¦  «        ¦  «        } |  	                    d„ ¦  «        } |                      ¦   «         d         |                      ¦   «         k    sJ ‚|                      d¬¦  «        d         |                      d¬¦  «        k    sJ ‚|                      ¦   «         \  }!}"}#|!|"z  |#z  | z
  }$t          t          |$¦  «        ¦  «        dk     sJ ‚d S )Nr    r!   r"   F)Úupperr   r$   i 6eÄi Êš;é   r-   r   é‘   c                 ó    — t          | ¦  «        S r3   )r   )rF   s    r7   r[   z$test_bidiagonalize.<locals>.<lambda>p  s   € �e A™hœh€ r9   gê-�™—q=)r   ÚbidiagonalizeÚbidiagonal_decompositionÚrandomrq   Úrandintr   r   r   Ú	applyfuncrt   rv   )%r{   r¾   Ú	real_testÚtest_valuesÚrowÚcolÚ_Úvaluer   ÚN1ÚN2ÚN3ÚM1ÚM2ÚM3ÚM0ÚN0ÚN4ÚM4ÚLM0ÚLM1ÚLM2ÚLM3ÚLN0ÚLN1ÚLN2ÚLN3ÚLN4ÚLM4Úcomplex_testÚsizerM   Úcompr'   r|   r}   Údiffs%                                        r7   Útest_bidiagonalizerß   î   s­  € å�	�	�	Ø�	�	Ø�	�	ðñ 	ô 	€Að �?Š?ÑÔ Ò!Ð!Ð!Ð!Ø�?Š? ˆ?Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ø�?Š?ÑÔ Ò!Ð!Ð!Ð!Ø×%Ò%Ñ'Ô'¨A¨q°!¨9Ò4Ð4Ð4Ð4Ø×%Ò%¨EÐ%Ñ2Ô2°q¸!¸Q°iÒ?Ð?Ð?Ð?Ø�?Š?ÑÔ Ò!Ð!Ð!Ð!à€M€M€Må˜1‘X”Xð 7ñ 7ˆ	ØˆØˆØˆÝ�s˜S‘yÑ!Ô!ð 	0ð 	0ˆAØ—N’N ;°
Ñ;Ô;ˆEØ%¨¨Ñ/ˆKˆKõ �3˜˜[Ñ)Ô)ˆÝ˜AÑÔˆà/�QÔ/Ñ1Ô1‰
ˆˆB�Ø×/Ò/Ñ1Ô1‰
ˆˆB�Ø�_Š_ÑÔˆØˆQŒ_ÑÔˆà�"‰W�r‰\ˆØ�"‰W�r‰\ˆà
�Š‰ŒˆØ
�Š‰ŒˆØ
�Š‰Œˆà
�Š‰ŒˆØ
�Š‰ŒˆØ
�Š‰Œˆà�oŠo EˆoÑ*Ô*ˆØ×2Ò2¸Ð2Ñ?Ô?‰ˆˆS�#ØˆaŒo EÐ*Ñ*Ô*ˆØ2˜Ô2¸Ð?Ñ?Ô?‰ˆˆS�#à�C‰i˜#‰oˆØ�C‰i˜#‰oˆà�Š‰ŒˆØ�Š‰ŒˆØ�Š‰Œˆà�Š‰ŒˆØ�Š‰ŒˆØ�Š‰Œˆà�BŠwˆwˆwˆwØ�RŠxˆxˆxˆxØ�BŠwˆwˆwˆwØ�RŠxˆxˆxˆxØ�CŠxˆxˆxˆxØ�cŠzˆzˆzˆzØ�CŠxˆxˆxˆxØ�cŠzˆzˆzˆz‰zõ ˜a™œð 7ñ 7ˆØˆØˆÝ�t˜d‘{Ñ#Ô#ð 	0ð 	0ˆAØ—>’> +¨zÑ:Ô:ˆDØ—>’> +¨zÑ:Ô:ˆDØ˜4¥!™8‘OˆEØ%¨¨Ñ/ˆKˆKÝ�4˜˜{Ñ+Ô+ˆÝ˜AÑÔˆð 0�QÔ/Ñ1Ô1‰
ˆˆB�Ø×/Ò/Ñ1Ô1‰
ˆˆB�Ø�_Š_ÑÔˆØˆQŒ_ÑÔˆà�"‰W�r‰\ˆØ�"‰W�r‰\ˆà
�Š‰ŒˆØ
�Š‰ŒˆØ
�Š‰Œˆà
�Š‰ŒˆØ
�Š‰ŒˆØ
�Š‰Œˆà�oŠo EˆoÑ*Ô*ˆØ×2Ò2¸Ð2Ñ?Ô?‰ˆˆS�#ØˆaŒo EÐ*Ñ*Ô*ˆØ2˜Ô2¸Ð?Ñ?Ô?‰ˆˆS�#à�C‰i˜#‰oˆØ�C‰i˜#‰oˆà�Š‰ŒˆØ�Š‰ŒˆØ�Š‰Œˆà�Š‰ŒˆØ�Š‰ŒˆØ�Š‰Œˆà�BŠwˆwˆwˆwØ�RŠxˆxˆxˆxØ�BŠwˆwˆwˆwØ�RŠxˆxˆxˆxØ�CŠxˆxˆxˆxØ�cŠzˆzˆzˆzØ�CŠxˆxˆxˆxØ�cŠzˆzˆzˆz‰zåˆr�1•e˜A˜s‘m”mÑ$Ô$€AØ	�ŠÐ&Ð&Ñ'Ô'€AØ×%Ò%Ñ'Ô'¨Ô*¨a¯oªoÑ.?Ô.?Ò?Ð?Ð?Ð?Ø×%Ò%¨EÐ%Ñ2Ô2°1Ô5¸¿ºÈu¸Ñ9UÔ9UÒUÐUÐUÐUØ×(Ò(Ñ*Ô*�G€A€qˆ!Øˆq‰5�1‰9�q‰=€DÝ�s�4‰yŒy‰>Œ>˜GÒ#Ð#Ð#Ð#Ð#Ð#r9   c                  óâ  ‡— t          ddg d¢¦  «        Št          t          ˆfd„¦  «         ‰                     ¦   «         \  } }|                     ¦   «         sJ ‚|t          t
           dgdt
          gg¦  «        k    sJ ‚t          ddg d¢¦  «        Š‰                     ¦   «         \  } }t          d„ |                     ¦   «         D ¦   «         ¦  «        sJ ‚t          d„ |                      ¦   «         D ¦   «         ¦  «        sJ ‚‰                     d¬	¦  «        \  }}||k    sJ ‚t          g d
¢g d¢g d¢g d¢g¦  «        Š‰                     ¦   «         \  } }t          | |z  ‰| z  ¦  «        sJ ‚d S )Nr$   ©r   r%   r   r   c                  ó0   •— ‰                       d¬¦  «        S )NT©Ú
reals_onlyr—   r•   s   €r7   r[   z"test_diagonalize.<locals>.<lambda>z  s   ø€  §¢¸ Ñ >Ô >€ r9   r   )r   ç      à?rå   r   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r3   ©rw   r   ©rA   r5   s     r7   rS   z#test_diagonalize.<locals>.<genexpr>„  ó,   è è € Ð8Ð8¨�z˜!�UÑ#Ô#Ð8Ð8Ð8Ð8Ð8Ð8r9   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r3   rç   rè   s     r7   rS   z#test_diagonalize.<locals>.<genexpr>…  ré   r9   Trã   ©r   r   r   r   )r   r   r   çü©ñÒMb`?)rì   r   r   r   )r   r   r   r   )	r   r   r   r˜   Úis_diagonalr   ÚallÚvaluesr   )rš   r›   rÅ   ÚD2r�   s       @r7   Útest_diagonalizerñ   x  s˜  ø€ Ýˆq�!�]�]�]Ñ#Ô#€AÝ
�;Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ø�=Š=‰?Œ?�D€A€qØ�=Š=‰?Œ?ÐÐˆ?Ø•Ý�"�a�Ø•a�ðñ ô ò ð ð ð õ
 	ˆq�!�^�^�^Ñ$Ô$€AØ�=Š=‰?Œ?�D€A€qÝÐ8Ð8¨Q¯XªX©Z¬ZÐ8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8ÝÐ8Ð8¨Q¯XªX©Z¬ZÐ8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8à�MŠM TˆMÑ*Ô*�E€A€rØ�Š7ˆ7ˆ7ˆ7åØ	ˆˆÐ'Ð'Ð'Ð)9Ð)9Ð)9¸<¸<¸<ÐHñ	Jô 	J€Aà�=Š=‰?Œ?�D€A€qÝ�A�a‘C˜˜1™ÑÔÐÐÐÐÐr9   c                  ó~  — t          d¦  «        \  } }}t          dd| |||g¦  «        }|                     ¦   «         sJ ‚|                     ¦   «         sJ ‚t          ddg d¢¦  «                             ¦   «         rJ ‚t          ddg d¢¦  «        }|                     ¦   «         sJ ‚|                     d¬¦  «        rJ ‚d S )Nza b cr$   )r   r   r   r   rá   Trã   )r   r   Úis_symmetricr”   )r'   r|   r}   r�   s       r7   Útest_is_diagonalizablerô   �  sÔ   € Ý�gÑÔ�G€A€qˆ!Ýˆq�!�a˜˜A˜q�\Ñ"Ô"€AØ�>Š>ÑÔÐÐÐØ×ÒÑ Ô Ð Ð Ð Ý�a˜˜L˜L˜LÑ)Ô)×;Ò;Ñ=Ô=Ð=Ð=Ð=åˆq�!�]�]�]Ñ#Ô#€AØ×ÒÑ Ô Ð Ð Ð Ø×"Ò"¨dÐ"Ñ3Ô3Ð3Ð3Ð3Ð3Ð3r9   c                  ód  ‡— t          ddg d¢¦  «        Št          t          ˆfd„¦  «         t          ddg d¢¦  «        Š‰                     ¦   «         \  } }‰|k    sJ ‚t          ddg d¢¦  «        Š‰                     ¦   «         \  } }‰|k    sJ ‚t          g d¢g d	¢g d
¢g d¢g¦  «        }|                     ¦   «         \  } }t	          | |z  |                      ¦   «         z  ¦  «        |k    sJ ‚t          dddg¦  «                             ¦   «         t          dg¦  «        t          dg¦  «        fk    sJ ‚t          dddg¦  «                             d¬¦  «        t          dg¦  «        k    sJ ‚t          g d¢g d¢g d¢g d¢g d¢g¦  «        Št          t          ˆfd„¦  «         t          dddt          d¦  «        z  z   gddt          d¦  «        z  z   dgg¦  «        Š‰                     ¦   «         \  } }t          d„ | D ¦   «         ¦  «        sJ ‚t          d„ |D ¦   «         ¦  «        sJ ‚d S )Nr   r$   )rW   r   rW   r†   r   é
   c                  ó,   •— ‰                       ¦   «         S r3   ©Újordan_formr•   s   €r7   r[   z"test_jordan_form.<locals>.<lambda>ž  s   ø€ ¨¯ª©¬€ r9   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)   r   r   )rN   r$   r   r   )r   r   r$   r)   )r   r   rN   r$   r   F)Úcalc_transformr§   r¨   r©   rª   r«   c                  ó,   •— ‰                       ¦   «         S r3   rø   r•   s   €r7   r[   z"test_jordan_form.<locals>.<lambda>Á  s   ø€  §¢¡¤€ r9   g      æ?g      À?g      È?g      Ô?c              3   óL   K  — | ]}t          |t          ¦  «        p|d k    V — Œ dS ©r   Nrç   rŠ   s     r7   rS   z#test_jordan_form.<locals>.<genexpr>È  ó5   è è € Ð9Ð9°!�z˜!�UÑ#Ô#Ð- q¨A¢vÐ9Ð9Ð9Ð9Ð9Ð9r9   c              3   óL   K  — | ]}t          |t          ¦  «        p|d k    V — Œ dS rý   rç   rŠ   s     r7   rS   z#test_jordan_form.<locals>.<genexpr>É  rþ   r9   )	r   r   r   rù   r   Úinvr   r
   rî   )rš   ÚJÚAr�   s      @r7   Útest_jordan_formr  œ  sœ  ø€ Ýˆq�!Ð+Ð+Ð+Ñ,Ô,€AÝ
ÕÐ!8Ð!8Ð!8Ð!8Ñ9Ô9Ð9õ 	ˆq�!ð ð ð ñ 	ô 	€Að
 �=Š=‰?Œ?�D€A€qØ�Š6ˆ6ˆ6ˆ6åˆq�!ð ð ð ñ 	ô 	€Að
 �=Š=‰?Œ?�D€A€qØ�Š6ˆ6ˆ6ˆ6åÐ Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð ð"ñ 	#ô 	#€Að �=Š=‰?Œ?�D€A€qÝ�A�a‘C˜Ÿš™œ‘KÑ Ô  AÒ%Ð%Ð%Ð%å�!�Q˜˜ÑÔ×(Ò(Ñ*Ô*­v°q°c©{¬{½FÀAÀ3¹K¼KÐ.HÒHÐHÐHÐHÝ�!�Q˜˜ÑÔ×(Ò(¸Ð(Ñ>Ô>Å&È!ÈÁ+Ä+ÒMÐMÐMÐMõ 	Ð Ð Ð Ð"3Ð"3Ð"3°_°_°_ÀoÀoÀoÐWfÐWfÐWfÐgÑhÔh€AÝ
�;Ð/Ð/Ð/Ð/Ñ0Ô0Ð0õ 	Ø ¨µ°Q±´©Ñ!7Ð8Ø	��˜Q™œ‘Ñ	°Ð8ð:ñ 	;ô 	;€Að �=Š=‰?Œ?�D€A€qÝÐ9Ð9°qÐ9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9ÝÐ9Ð9°qÐ9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9r9   c                  óæ  — t          dd¬¦  «        } t          ddt          z  gddgg¦  «        }|                     ¦   «         ddgk    sJ ‚t	          d¦  «        }| |d<   d	|d
<   |                     ¦   «         }t          |¦  «        d	dt          | ¦  «        hk    sJ ‚t          t          | ¦  «        t          | ¦  «        gt          | ¦  «         t          | ¦  «        gg¦  «        }d„ |                     ¦   «         D ¦   «         }|t          j
        t          j
        gk    sJ ‚t          ddgddgddgddgg¦  «        }|                     ¦   «         t          t          d¦  «        dz   ¦  «        t          dt          d¦  «        z
  ¦  «        gk    sJ ‚|j                             ¦   «         t          t          d¦  «        dz   ¦  «        t          dt          d¦  «        z
  ¦  «        ddgk    sJ ‚d S )Nrj   TrL   r   r   r$   r   )r   r   r*   )r$   r$   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r?   )Útrigsimp)rA   Úsvs     r7   rC   z(test_singular_values.<locals>.<listcomp>Û  s    € Ð8Ð8Ð8˜bˆB�KŠK‰MŒMÐ8Ð8Ð8r9   r)   éÝ   r/   )r   r   r   Úsingular_valuesr   r¢   r	   r   r   r   rm   r
   ÚT)rj   r  Úvalss      r7   Útest_singular_valuesr  Ì  sò  € Ýˆs˜ÐÑÔ€Aå��A•a‘C�˜1˜a˜&Ð!Ñ"Ô"€Aà×ÒÑÔ 1 a &Ò(Ð(Ð(Ð(åˆA‰Œ€AØ€A€d�GØ€A€d�GØ×ÒÑÔ€Dåˆt‰9Œ9˜˜A�s 1™vœv˜Ò&Ð&Ð&Ð&å•�Q‘”�˜Q™œÐ ¥C¨¡F¤F 7­C°©F¬FÐ"3Ð4Ñ5Ô5€AØ8Ð8 A×$5Ò$5Ñ$7Ô$7Ð8Ñ8Ô8€DØ•A”E�1œ5�>Ò!Ð!Ð!Ð!åØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆð	
ñ 	ô 	€Að ×ÒÑÔÝ	�d�3‰iŒi˜"‰nÑ	Ô	�t B­¨c©¬¡NÑ3Ô3Ð4ò5ð 5ð 5ð 5àŒ3×ÒÑ Ô Ý	�d�3‰iŒi˜"‰nÑ	Ô	�t B­¨c©¬¡NÑ3Ô3°Q¸Ð:ò;ð ;ð ;ð ;ð ;ð ;r9   c                  óF   — t          g d¢g d¢g d¢g¦  «        i k    du sJ ‚d S )Nr#   r    r   F)r   r?   r9   r7   Útest___eq__r  é  sV   € ÝØ	ˆˆØˆ	ˆ	Øˆ	ˆ	ð	ñô ð òð $ð$ð $ð $ð $ð $ð $r9   c                  ón  — t          g d¢g d¢g d¢g¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          ddgddgg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          g d¢g d¢g d	¢g¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          d
dgddgg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          ddgddgg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          d
dt          z  gt           dgg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          dd¬¦  «        }t          dd¬¦  «        }t          |ddgd|dgdd|gg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          |ddgd|dgdd|gg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          |dgd|gg¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          g d¢g d¢g d¢g d¢g¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| j        dk    sJ ‚t          g d¢g d¢g d¢g¦  «        } | j        rJ ‚| j        rJ ‚d S )N)r$   r%   r   )r%   r$   r%   )r   r%   r$   TFr*   r)   )r$   r%   r%   )r%   r%   r$   r   r$   r   r-   r'   )Úpositiver|   )Únegativer   )ga~‹¢2^—?ç=6 0z?u?ç1Ú¿"�³¿ç‹ÅŸ¤Ò}¿)r  gEáß¡?ç�Ö¯m’Aµ?ç)ä¨Ewc?)r  r  gºí’Âœ‰ò?çÿ}uqÈÕ?)r  r  r  g!p�°b³í?©r   r   r   )r   r   r$   )r   r$   r   )r   Úis_positive_definiteÚis_positive_semidefiniteÚis_negative_definiteÚis_negative_semidefiniteÚis_indefiniter   r   )r�   r'   r|   s      r7   Útest_definiter  ð  s�  € õ 	�
�
�
˜K˜K˜K¨¨¨Ð4Ñ5Ô5€AØÔ! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#å��A�˜˜A˜ÐÑ Ô €AØÔ! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#õ 	���˜[˜[˜[¨+¨+¨+Ð6Ñ7Ô7€AØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#å��A�˜˜A˜ÐÑ Ô €AØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#õ 	��A�˜˜A˜ÐÑ Ô €AØÔ! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#õ 	��A•a‘C��A˜2˜q˜'Ð"Ñ#Ô#€AØÔ! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#õ 	ˆs˜TÐ"Ñ"Ô"€AÝˆs˜TÐ"Ñ"Ô"€AÝ��A�q�	˜A˜q !˜9 q¨!¨Q iÐ0Ñ1Ô1€AØÔ! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜eÒ#Ð#Ð#Ð#å��A�q�	˜A˜q !˜9 q¨!¨Q iÐ0Ñ1Ô1€AØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØÔ! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØŒ?˜eÒ#Ð#Ð#Ð#å��A�˜˜A˜ÐÑ Ô €AØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØÔ! UÒ*Ð*Ð*Ð*ØÔ%¨Ò.Ð.Ð.Ð.ØŒ?˜dÒ"Ð"Ð"Ð"åð	4ð 	4ð 	4ð	2ð 	2ð 	2ð	.ð 	.ð 	.ð	/ð 	/ð 	/ð	ñ 		ô 		€Að Ô! TÒ)Ð)Ð)Ð)ØÔ%¨Ò-Ð-Ð-Ð-ØŒ?˜eÒ#Ð#Ð#Ð#õ 	Øˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	ðñ 	ô 	€Að
 Ô%Ð%Ð%Ð%ØÔ)Ð)Ð)Ð)Ð)Ð)r9   c                  óÀ  — ddl m}  t          g d¢g d¢g d¢g¦  «        } | |¦  «        dk    sJ ‚t          g d¢dddt          z  gddt          z  dgg¦  «        } | |¦  «        dk    sJ ‚t          g d	¢g d¢g d
¢g¦  «        } | |¦  «        dk    sJ ‚t          ddgddgg¦  «        } | |¦  «        dk    sJ ‚t          g d¢g d¢g d¢g¦  «        } | |¦  «        dk    sJ ‚t          g d¢g d¢g d¢g¦  «        } | |¦  «        dk    sJ ‚t          g d¢g d¢g d¢g¦  «        } | |¦  «        dk    sJ ‚t          g d¢g d¢g d¢g¦  «        } | |¦  «        dk    sJ ‚d S )Nr   )Ú"_is_positive_semidefinite_choleskyr  Tr*   éöÿÿÿrö   Fr    )r   r   r%   r   )r)   r&   éúÿÿÿ)r&   rö   r.   )r"  r.   é   )r.   rW   r   )rW   r$   r   )r   r   r+   )r)   r&   r$   )r&   r   r%   )r$   r%   r*   )r   r$   r%   )r$   r*   r   )r%   r   r.   )Úsympy.matrices.eigenr   r   r   )r   r�   s     r7   Ú#test_positive_semidefinite_choleskyr%  Q  s  € ØGÐGÐGÐGÐGÐGå�	�	�	˜9˜9˜9 i i iÐ0Ñ1Ô1€AØ-Ð-¨aÑ0Ô0°DÒ8Ð8Ð8Ð8Ý�	�	�	˜A˜q #¥a¡%˜=¨1¨bµ©d°A¨,Ð7Ñ8Ô8€AØ-Ð-¨aÑ0Ô0°EÒ9Ð9Ð9Ð9Ý�	�	�	˜9˜9˜9 j j jÐ1Ñ2Ô2€AØ-Ð-¨aÑ0Ô0°EÒ9Ð9Ð9Ð9Ý��A�˜˜A˜ÐÑ Ô €AØ-Ð-¨aÑ0Ô0°EÒ9Ð9Ð9Ð9õ 	���˜[˜[˜[¨+¨+¨+Ð6Ñ7Ô7€AØ-Ð-¨aÑ0Ô0°DÒ8Ð8Ð8Ð8Ý�
�
�
˜J˜J˜J¨	¨	¨	Ð2Ñ3Ô3€AØ-Ð-¨aÑ0Ô0°DÒ8Ð8Ð8Ð8Ý�
�
�
˜K˜K˜K¨¨¨Ð4Ñ5Ô5€AØ-Ð-¨aÑ0Ô0°DÒ8Ð8Ð8Ð8Ý�
�
�
˜I˜I˜I z z zÐ2Ñ3Ô3€AØ-Ð-¨aÑ0Ô0°EÒ9Ð9Ð9Ð9Ð9Ð9r9   c                  ón   — t          g d¢g d¢g d¢g d¢g d¢g¦  «        } |                      ¦   «         sJ ‚d S )N)r*   éûÿÿÿrW   r$   éùÿÿÿ)r&   r'  r   r$   r   )r&   r(  r'  r&   r"  )r,   rö   r   r.   r&   )r)   r!  r   iøÿÿÿrN   )r   rn   )r  s    r7   Útest_issue_20582r)  h  s^   € ÝØÐÐØÐÐØÐÐØÐÐØÐÐðñ 	ô 	€Að �<Š<‰>Œ>ÐÐˆ>ÐÐr9   c                  óD  — t          d¦  «        } t          g d¢g d¢g d¢g d¢g¦  «        }t           |z  | z                       ¦   «         }|t          g d¢dddd	t	          d
¦  «        z   z  ddt	          d
¦  «        z   z  gg d¢g d¢g¦  «        t          dt          z  | z  dddgddt          z  | z  ddgdd| dt          z  dz  t	          d
¦  «        t          z  dz  z   z  dgddd| t	          d
¦  «         t          z  dz  dt          z  dz  z
  z  gg¦  «        fk    sJ ‚d S )NÚt)r   r   r   r   )r   r   r$   r   )r   r$   r$   r   )r   r   r   r)   rë   r   rN   r%   é   r)   r   )r   r   r   r   )r   r   r   r   rW   r$   r   )r   r   r   rù   r
   )r+  ÚHr  s      r7   Útest_issue_19210r.  t  sz  € Ýˆs‰Œ€AÝ���˜m˜m˜m¨\¨\¨\¸<¸<¸<ÐHÑIÔI€AÝ
ˆˆa‰�!‰× Ò Ñ"Ô"€AØ•Ø@Ð@Ð@Ø˜˜2˜r¥D¨¡H¤H™}Ñ-¨q°!µd¸2±h´h±,Ñ/?Ð@Ø@Ð@Ð@Ø@Ð@Ð@ð	Bñ Cô Cõ EKØ�‘T˜!‘V !¸QÐXYÐZØ˜R¥™T !™V¸QÐXYÐZØ ! Q¨­1©¨Q©µ°b±´½!±¸A±Ñ(=Ñ%>ÐXYÐZØ !¸QÀÅDÈÁHÄHÀ9ÍQÁ;ÈqÁ=ÐSTÕUVÑSVÐWXÑSXÑCXÑ@YÐZð	L\ñ E]ô E]ð	^ò ^ð ^ð ^ð ^ð ^ð ^r9   c                  óˆ  — t          d¦  «                             ¦   «                              d¬¦  «        } |                      ¦   «         }|d         ddt	          dt          d¦  «        z
  gdgdgg¦  «        gfk    sJ ‚|d         ddt	          dt          d¦  «        z   gdgdgg¦  «        gfk    sJ ‚|d         t           dt	          dgdgdgg¦  «        gfk    sJ ‚t          d¦  «                             ¦   «                              d¬¦  «        } |                      ¦   «         }|d         ddt	          dgdgdgdgg¦  «        gfk    sJ ‚|d         ddt	          dgdgdgdgg¦  «        t	          dgdgdgdgg¦  «        gfk    sJ ‚|d         t           dt	          dgdgdgdgg¦  «        gfk    sJ ‚t          d	¦  «                             ¦   «                              d¬¦  «        } |                      ¦   «         }|d         ddt	          dt          d	¦  «        z
  gdgdgdgdgg¦  «        gfk    sJ ‚|d         ddt	          t          d¦  «        dz  t          d	¦  «        dz  z   gdgdgdgdgg¦  «        t	          t          d¦  «        dz  t          d	¦  «        dz  z   gdgdgdgdgg¦  «        gfk    sJ ‚d S )
Nr   T)Úcomplexr   r%   r   r$   r)   r*   )r   Úas_explicitÚexpandrn   r   r
   r   r   )r  rn   s     r7   Útest_issue_20275r3  ƒ  sj  € õ 	ˆA‰Œ×ÒÑÔ×#Ò#¨DÐ#Ñ1Ô1€AØ—’‘”€JØ�aŒ=Ø
ˆAÝ	�!•d˜1‘g”g‘+�   a SÐ)Ñ	*Ô	*Ð+ðò ð ð ð ð �aŒ=Ø	ˆ1Ý	�!•d˜1‘g”g‘+�   a SÐ)Ñ	*Ô	*Ð+ðò ð ð ð ð �aŒ=Ý	
ˆˆAÝ	�!��r�d˜Q˜CÐ Ñ	!Ô	!Ð"ðò ð ð ð õ
 	ˆA‰Œ×ÒÑÔ×#Ò#¨DÐ#Ñ1Ô1€AØ—’‘”€JØ�aŒ=Ø
ˆAÝ	�"�˜�s˜Q˜C ! Ð%Ñ	&Ô	&Ð'ðò ð ð ð ð �aŒ=Ø	ˆ1Ý	�!��q�c˜A˜3  Ð$Ñ	%Ô	%¥v°¨s°Q°C¸!¸¸q¸cÐ.BÑ'CÔ'CÐDðò ð ð ð ð �aŒ=Ý	
ˆˆAÝ	�!��r�d˜Q˜C ! Ð%Ñ	&Ô	&Ð'ðò ð ð ð õ 	ˆA‰Œ×ÒÑÔ×#Ò#¨DÐ#Ñ1Ô1€AØ—’‘”€JØ�aŒ=Ø
ˆAÝ	�!•d˜1‘g”g‘+�   a S¨1¨#°¨sÐ3Ñ	4Ô	4Ð5ðò ð ð ð ð �aŒ=Ø	ˆ1Ý	•!�A‘$”$�q‘&�4 ™7œ7 1™9Ñ$Ð%¨ s¨Q¨C°!°°q°cÐ:Ñ	;Ô	;Ý	•!�A‘$”$�q‘&�4 ™7œ7 1™9Ñ$Ð%¨ s¨Q¨C°!°°q°cÐ:Ñ	;Ô	;ð	=ðò ð ð ð ð ð r9   c                  ón   — t          dd¬¦  «        } t          g d¢d| dgdd| gg¦  «        }|j        �J ‚d S )Nr|   T)Únonzeror  r   )r   r   r  )r|   r�   s     r7   Útest_issue_20752r6  ³  sM   € Ý�˜TÐ"Ñ"Ô"€AÝ�	�	�	˜A˜q !˜9 q¨!¨Q iÐ0Ñ1Ô1€AØÔ%Ð-Ð-Ð-Ð-Ð-r9   c                  óæ  — dgdz  dgz   x} }g d¢}|                      ¦   «         }d|d<   d„ }g }t          d¦  «        D ].}|                      |||¦  «         |||¦  «        z   ¦  «         Œ/t          d¦  «        D ].}|                      |||¦  «         || |¦  «        z   ¦  «         Œ/t          t	          |¦  «                             ¦   «                              ¦   «         ¦  «        d	k    sJ ‚d S )
Nr   é   r   )r$   r   r   r   r   r   r   r   r   r   r   r   r$   r-   c                 ó,   — | |d …         | d |…         z   S r3   r?   )rj   rF   s     r7   Úrotatez test_issue_25282.<locals>.rotate¿  s   € Ø���Œu�q˜˜!˜”u‰}Ðr9   r:   r;   )Úcopyrq   ÚappendÚsumr   rZ   rï   )ÚddÚsdÚdsÚssr:  ÚmatrF   s          r7   Útest_issue_25282rC  ¹  s  € Øˆc�B‰h˜!˜‰nÐ€BˆØ	-Ð	-Ð	-€BØ	�Š‰Œ€BØ€B€q�Eðð ð ð €CÝ�2‰YŒYð 2ð 2ˆØ�
Š
�6�6˜"˜a‘=”= 6 6¨"¨a¡=¤=Ñ0Ñ1Ô1Ð1Ð1Ý�2‰YŒYð 2ð 2ˆØ�
Š
�6�6˜"˜a‘=”= 6 6¨"¨a¡=¤=Ñ0Ñ1Ô1Ð1Ð1å�v�c‰{Œ{×$Ò$Ñ&Ô&×-Ò-Ñ/Ô/Ñ0Ô0°BÒ6Ð6Ð6Ð6Ð6Ð6r9   N)8Úsympy.core.evalfr   Úsympy.core.numbersr   r   r   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr	   Ú(sympy.functions.elementary.miscellaneousr
   Ú(sympy.functions.elementary.trigonometricr   r   Úsympy.matricesr   r   Úsympy.core.singletonr   Úsympy.testing.pytestr   r   Úsympy.matrices.exceptionsr   r   Ú"sympy.matrices.expressions.fourierr   Úsympy.simplify.simplifyr   Úsympy.matrices.immutabler   r   Úsympy.testing.matricesr   r‚   r�   rœ   r¥   r¬   r´   r¶   rß   rñ   rô   r  r  r  r  r%  r)  r.  r3  r6  rC  r?   r9   r7   ú<module>rR     sŸ  ðØ Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø "Ð "Ð "Ð "Ð "Ð "Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø %Ð %Ð %Ð %Ð %Ð %Ø +Ð +Ð +Ð +Ð +Ð +ð{Nð {Nð {Nð|!ð !ð !ð  ð!ð !ñ „ð!ð#ð #ð #ð<ð ð ð$0ð 0ð 0ð0ð 0ð 0ð ðF$ð F$ñ „ðF$ðRð ð ð0	4ð 	4ð 	4ð-:ð -:ð -:ð`;ð ;ð ;ð:$ð $ð $ð^*ð ^*ð ^*ðB:ð :ð :ð.
ð 
ð 
ð^ð ^ð ^ð-ð -ð -ð`.ð .ð .ð7ð 7ð 7ð 7ð 7r9   