§
    µ³Ùgk  ã                   óú  — d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dlZd dlmZmZ ej        j        d„ ¦   «         Z d	„ Z!d
„ Z"d„ Z#ej         $                    deeg¦  «        ej         $                    dddg¦  «        d„ ¦   «         ¦   «         Z%ej         $                    deeg¦  «        ej         $                    dddg¦  «        d„ ¦   «         ¦   «         Z&dS )é    )Úassert_array_almost_equalÚassert_allcloseÚassert_)ÚarrayÚeyeÚzerosÚ
empty_likeÚemptyÚtril_indices_fromÚtrilÚtriu_indices_fromÚspacingÚfloat32Úfloat64Ú	complex64Ú
complex128)ÚrandÚrandintÚseed)Úldl)ÚComplexWarningN)ÚraisesÚwarnsc                  óð   — t          d¦  «        } t          t          t          | d d …d d…f         ¦  «         t	          t
          ¦  «        5  t          | dz  ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né   é   ù              ð?)r   Úassert_raisesÚ
ValueErrorr   r   r   )ÚAs    úX/granary/edev/quantum/lib/python3.11/site-packages/scipy/linalg/tests/test_decomp_ldl.pyÚ	test_argsr"      s°   € åˆA‰Œ€Aå•*�c 1 Q Q Q¨¨¨ U¤8Ñ,Ô,Ð,å	�~Ñ	Ô	ð ð ÝˆAˆb‰D‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA+Á+A/Á2A/c                  ó.  — t          dt          ¬¦  «        } t          t          d¦  «        ¦  «        \  }}}t          |t	          | ¦  «        ¦  «         t          |t	          | ¦  «        ¦  «         t          |t          g t          ¬¦  «        ¦  «         d S )N)r   r   ©Údtype)r
   Úcomplexr   r   r	   r   Úint)ÚaÚlÚdÚps       r!   Útest_empty_arrayr,      s|   € Ýˆf�GÐ$Ñ$Ô$€AÝ•%˜‘-”-Ñ Ô �G€A€qˆ!Ý˜a¥¨A¡¤Ñ/Ô/Ð/Ý˜a¥¨A¡¤Ñ/Ô/Ð/Ý˜a¥ rµÐ!5Ñ!5Ô!5Ñ6Ô6Ð6Ð6Ð6ó    c                  óz  — t          g d¢g d¢g d¢g d¢g¦  «        } t          g d¢g d¢g d¢g d¢g¦  «        }t          g d	¢g d
¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d¢g¦  «        }|||fD ]À}t          |¦  «        \  }}}t          |                     |¦  «                             |j        ¦  «        |t          d¦  «        d¬¦  «         t          |d¬¦  «        \  }}}t          |                     |¦  «                             |j        ¦  «        |t          d¦  «        d¬¦  «         ŒÁt          | d¬¦  «        \  }}}t          |                     |¦  «                             |j        ¦  «        | t          d¦  «        d¬¦  «         t          | dd¬¦  «        \  }}}t          |                     |¦  «                             |j        ¦  «        | t          d¦  «        d¬¦  «         t          |                     ¦   «         j        d¬¦  «        \  }}}t          t          |                     |¦  «                             |                     ¦   «         j        ¦  «        |z
  ¦  «        t          d¦  «        t          d¦  «        d¬¦  «         d S )N)yö(\�ÂõØ¿¸…ëQ¸æ¿ù�Âõ(\�@{®Gázä¿ùq=
×£pÀ®Gáz®Àùffffff@q=
×£pí?)r/   y¸…ëQ¸!@ö(\�Âõü?ù)\�Âõ(À�Âõ(\�â?ùHáz®G@q=
×£pù¿)r0   r2   y¤p=
×£À¸…ëQ¸ž¿ù¤p=
×£ø¿áz®GáÀ)r1   r3   r4   yìQ¸…ëá¿¸…ëQ¸¾?)g      @é
   é   é   )g      $@r   é   r6   )g      ð?r8   é   é	   )g      2@r6   r:   r   )g      J@éa   ép   ék   é2   )g     @X@ér   éY   éb   é   )g      \@r@   é@   é!   é   )g     ÀZ@rA   rD   é<   éI   )g      I@rB   rE   rG   éM   )ç       @r   éüÿÿÿr   é   )rI   éþÿÿÿrL   r5   éøÿÿÿ)g      ÀrL   rE   rM   rJ   )g        r5   rM   rE   éúÿÿÿ)g      @rM   rJ   rN   r5   )yÃõ(\�Âõ¿        ù                rO   rO   )yHáz®Gù?ÍÌÌÌÌÌì¿y=
×£p½!À        rO   rO   )y®Gáz®@áz®GáÊ?yq=
×£pý¿¸…ëQ¸ž?y…ëQ¸…À        rO   )yHáz®G@      ø¿y{®Gázü¿áz®Gáò¿y)\�Âõ(¼?)\�Âõ(¼¿yq=
×£pý¿        g     @�@r   )ÚatolÚrtolF©Úlower©Ú	hermitian©rS   rU   )rK   rK   )	r   r   r   ÚdotÚTr   Úconjr   r   )	r(   ÚbÚcr*   ÚeÚxr)   r+   Úus	            r!   Útest_simpler_      s  € ÝÐAÐAÐAØ@Ð@Ð@ØCÐCÐCØAÐAÐAðCñ 	Dô 	D€Aõ 	ˆˆˆØˆˆØˆˆØˆ~ˆ~ðñ 	 ô 	 €Aõ 	Ð&Ð&Ð&Ø%Ð%Ð%Ø$Ð$Ð$Ø%Ð%Ð%Ø#Ð#Ð#ð	%ñ 	&ô 	&€Aõ 	Ð Ð Ð Ø#Ð#Ð#Ø#Ð#Ð#Ø"Ð"Ð"Ø#Ð#Ð#ð	%ñ 	&ô 	&€Aõ
 	Ð.Ð.Ð.Ø1Ð1Ð1Ø8Ð8Ð8ØAÐAÐAðCñ 	Dô 	D€Að ��AˆYð Kð KˆÝ�a‘&”&‰ˆˆ1ˆaÝ˜Ÿš˜a™œŸš Q¤SÑ)Ô)¨1µ7¸5±>´>ÈÐJÑJÔJÐJå�a˜uÐ%Ñ%Ô%‰ˆˆ1ˆaÝ˜Ÿš˜a™œŸš Q¤SÑ)Ô)¨1µ7¸5±>´>ÈÐJÑJÔJÐJÐJå�!˜uÐ%Ñ%Ô%�G€A€qˆ!Ý�A—E’E˜!‘H”H—L’L ¤Ñ%Ô% q­w°u©~¬~ÀAÐFÑFÔFÐFå�!˜5¨EÐ2Ñ2Ô2�G€A€qˆ!Ý�A—E’E˜!‘H”H—L’L ¤Ñ%Ô% q­w°u©~¬~ÀAÐFÑFÔFÐFõ �!—&’&‘(”(”* AÐ&Ñ&Ô&�G€A€qˆ!Ý•D˜Ÿš˜q™œŸš a§f¢f¡h¤h¤jÑ1Ô1°!Ñ3Ñ4Ô4µe¸F±m´mÝ  ™œ¨að1ñ 1ô 1ð 1ð 1ð 1r-   c            	      óÐ  — t          d¦  «         t          d¦  «        D �]E} t          dd¦  «        }t          d¦  «        rt          ||¦  «        n#t          ||¦  «        t          ||¦  «        dz  z   }||                     ¦   «         j        z   }|t          |¦  «        t          dd¦  «        z  z  }t          |d	¬
¦  «        }t          |d¬
¦  «        }t          |d¬¦  «        \  }}}t          t          ||d d …f         |         ¦  «         d| › d�¦  «         t          |d¬¦  «        \  }}}t          t          ||d d …f         |         ¦  «         d| › d�¦  «         �ŒGd S )NéÒ  r5   r6   éd   r   r   é   ç    €„.Aéÿÿÿÿ)Úkr   rR   zSpin z failed)r   Úranger   r   rY   rX   r   r   r   r   r   Úany)	Ú_Únr]   Úl_indÚu_indr^   r*   r+   r)   s	            r!   Útest_permutationsrm   I   s_  € Ýˆ�J„J€JÝ�2‰YŒYð =ñ =ˆÝ�A�s‰OŒOˆå! !™*œ*ÐD�D��A‰JŒJˆJ­$¨q°!©*¬*µt¸A¸q±z´zÀ"±}Ñ*DˆØ�—’‘””
‰NˆØ	�S�‰VŒV•G˜A˜s‘O”OÑ#Ñ#ˆÝ! ! rÐ*Ñ*Ô*ˆÝ! ! qÐ)Ñ)Ô)ˆõ �a˜q�/‘/”/‰ˆˆ1ˆaå•C˜˜!˜Q˜Q˜Q˜$œ œÑ'Ô'Ð'Ð);°Ð);Ð);Ð);Ñ<Ô<Ð<å�a˜q�/‘/”/‰ˆˆ1ˆaå•C˜˜!˜Q˜Q˜Q˜$œ œÑ'Ô'Ð'Ð);°Ð);Ð);Ð);Ñ<Ô<Ð<Ñ<ð!=ð =r-   r%   rj   é   é–   c                 óL  — t          d¦  «         d| › d|› �}t          | | ¦  «                             |¦  «        }||j        z   }|t	          | |¬¦  «         |t          dd¦  «        ¦  «        z  z  }t          |¦  «        \  }}}t          |d¬¦  «        \  }}}|t          u rd	nd
}	t          | 	                    |¦  «         	                    |j        ¦  «        ||	|¬¦  «         t          | 	                    |¦  «         	                    |j        ¦  «        ||	|¬¦  «         d S )Nra   zFailed for size: ú	, dtype: r$   rc   rd   r   rR   g-Cëâ6?ç»½×Ùß|Û=©rQ   Úerr_msg)
r   r   ÚastyperX   r   r   r   r   r   rW   )
rj   r%   Úmsgr]   r)   Úd1r+   r^   Úd2rQ   s
             r!   Ú$test_ldl_type_size_combinations_realry   ^   s  € õ 	ˆ�J„J€JØ2˜qÐ2Ð2¨5Ð2Ð2€CåˆQ�‰
Œ
×Ò˜%Ñ Ô €AØ	ˆAŒC‰€AØ�ˆQ�eÐ	Ñ	Ô	˜U˜U¥7¨1¨c¡?¤?Ñ3Ô3Ñ	3Ñ3€Aå�1‰vŒv�H€A€rˆ1Ý�1˜Aˆ‰Œ�H€A€rˆ1Ø�GÐ#Ð#ˆ4ˆ4¨€DÝ�A—E’E˜"‘I”I—M’M !¤#Ñ&Ô&¨°¸cÐBÑBÔBÐBÝ�A—E’E˜"‘I”I—M’M !¤#Ñ&Ô&¨°¸cÐBÑBÔBÐBÐBÐBr-   c                 ó  — t          d¦  «         d| › d|› �}d| › d|› �}t          | | ¦  «        dt          | | ¦  «        z  z                        |¦  «        }||                     ¦   «         j        z   }|t          | |¬¦  «         |t          dd¦  «        ¦  «        z  z  }t          |¦  «        \  }}}t          |d	¬
¦  «        \  }}	}|t          u rdnd}
t          | 
                    |¦  «         
                    |                     ¦   «         j        ¦  «        ||
|¬¦  «         t          | 
                    |	¦  «         
                    |                     ¦   «         j        ¦  «        ||
|¬¦  «         t          | | ¦  «        dt          | | ¦  «        z  z                        |¦  «        }||j        z   }|t          | |¬¦  «         |t          dd¦  «        ¦  «        z  z  }t          |d	¬¦  «        \  }}}t          |d	d	¬¦  «        \  }}	}t          | 
                    |¦  «         
                    |j        ¦  «        ||
|¬¦  «         t          | 
                    |	¦  «         
                    |j        ¦  «        ||
|¬¦  «         d S )Nra   zHer failed for size: rq   zSym failed for size: r   r$   rc   rd   r   rR   g-Cëâ6*?rr   rs   rT   rV   )r   r   ru   rY   rX   r   r   r   r   r   rW   )rj   r%   Úmsg1Úmsg2r]   r)   rw   r+   r^   rx   rQ   s              r!   Ú'test_ldl_type_size_combinations_complexr}   o   sL  € õ 	ˆ�J„J€JØ7 AÐ7Ð7°Ð7Ð7€DØ7 AÐ7Ð7°Ð7Ð7€Dõ 
ˆa�‰Œ�B•t˜A˜q‘z”z‘MÑ	!×)Ò)¨%Ñ0Ô0€AØ	ˆ!�&Š&‰(Œ(Œ*‰€AØ�ˆQ�eÐ	Ñ	Ô	˜U˜U¥7¨1¨c¡?¤?Ñ3Ô3Ñ	3Ñ3€Aå�1‰vŒv�H€A€rˆ1Ý�1˜Aˆ‰Œ�H€A€rˆ1Ø�IÐ%Ð%ˆ4ˆ4¨5€DÝ�A—E’E˜"‘I”I—M’M !§&¢&¡(¤(¤*Ñ-Ô-¨q°tÀTÐJÑJÔJÐJÝ�A—E’E˜"‘I”I—M’M !§&¢&¡(¤(¤*Ñ-Ô-¨q°tÀTÐJÑJÔJÐJõ 
ˆa�‰Œ�B•t˜A˜q‘z”z‘MÑ	!×)Ò)¨%Ñ0Ô0€AØ	ˆ!Œ#‰€AØ�ˆQ�eÐ	Ñ	Ô	˜U˜U¥7¨1¨c¡?¤?Ñ3Ô3Ñ	3Ñ3€Aå�1 Ð"Ñ"Ô"�H€A€rˆ1Ý�1˜A¨Ð+Ñ+Ô+�H€A€rˆ1Ý�A—E’E˜"‘I”I—M’M !¤#Ñ&Ô&¨°¸dÐCÑCÔCÐCÝ�A—E’E˜"‘I”I—M’M !¤#Ñ&Ô&¨°¸dÐCÑCÔCÐCÐCÐCr-   )'Únumpy.testingr   r   r   Únumpyr   r   r   r	   r
   r   r   r   r   r   r   r   r   Únumpy.randomr   r   r   Úscipy.linalgr   Úscipy._lib._utilr   Úpytestr   r   r   ÚmarkÚthread_unsafer"   r,   r_   rm   Úparametrizery   r}   © r-   r!   ú<module>rˆ      s'  ðØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mð*ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð -Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø €€€Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ð „Ôðð ñ Ôðð7ð 7ð 7ð(1ð (1ð (1ðV=ð =ð =ð* „×Ò˜ 7¨GÐ"4Ñ5Ô5Ø„×Ò˜˜r 3˜iÑ(Ô(ðCð Cñ )Ô(ñ 6Ô5ðCð „×Ò˜ 9¨jÐ"9Ñ:Ô:Ø„×Ò˜˜r 3˜iÑ(Ô(ðDð Dñ )Ô(ñ ;Ô:ðDð Dð Dr-   