Ë
    âQ(h&  ã                   óÐ   — d dl Z d dlZd dlmZ d dl mZ d dlmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZmZmZmZmZ d dlmZ  G d„ d	«      Z G d
„ d«      Z G d„ d«      Z G d„ d«      Zy)é    N)Úassert_array_almost_equal)Úraises)ÚarrayÚ	transposeÚdotÚ	conjugateÚ
zeros_likeÚempty)Úrandom)ÚcholeskyÚcholesky_bandedÚcho_solve_bandedÚ
cho_factorÚ	cho_solve)Úassert_no_overwritec            	       óH  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  d„ «       Zej                  j                  deeej                   eej$                  g«      ej                  j                  deeej                   eej$                  g«      d	„ «       «       Zy
)ÚTestCholeskyc                 óÜ   — g d¢g d¢g d¢g}t        |«      }t        t        t        |«      |«      |«       t        |«      }t        |t        |«      «      }t        t        |d¬«      |«       y )N©é   é   é   ©r   é	   r   ©r   r   é   é   ©Úlower©r   r   r   r   ©ÚselfÚaÚcs      úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp_cholesky.pyÚtest_simplezTestCholesky.test_simple   sV   € Úš	¢9Ð-ˆÜ�Q‹KˆÜ!¤#¤i°£l°AÓ"6¸Ô:Ü�a‹LˆÜ�”9˜Q“<Ó ˆÜ!¤(¨1°AÔ"6¸Õ:ó    c                 óâ   — g d¢g d¢g d¢g}t        |d¬«      }t        t        t        |«      |«      |«       t        |«      }t        |t        |«      «      }t        t        |dd¬«      |«       y )Nr   r   r   F©Úcheck_finiter   ©r   r*   r    r!   s      r%   Útest_check_finitezTestCholesky.test_check_finite   s[   € Úš	¢9Ð-ˆÜ�Q UÔ+ˆÜ!¤#¤i°£l°AÓ"6¸Ô:Ü�a‹LˆÜ�”9˜Q“<Ó ˆÜ!¤(¨1°AÀEÔ"JÈAÕNr'   c                 óR  — t        g d¢g d¢g d¢g«      }t        t        t        |«      «      |«      }t	        |«      }t        t        t        |«      «      |«      }t        ||«       t        |«      }t        |t        t        |«      «      «      }t        t	        |d¬«      |«       y )N)y      @      ð?y      @      @é   )r   y       @       @y       @      @)r   r   y      @      @r   r   )r   r   r   r   r   r   )r"   Úmr#   r$   Úa1s        r%   Útest_simple_complexz TestCholesky.test_simple_complex    s   € Ü’?¢O²\ÐBÓCˆÜ”	œ) A›,Ó'¨Ó+ˆÜ�Q‹KˆÜ”œ9 Q›<Ó(¨!Ó,ˆÜ! ! RÔ(Ü�a‹LˆÜ�”9œY q›\Ó*Ó+ˆÜ!¤(¨1°AÔ"6¸Õ:r'   c                 óv  — d}t        d«      D ]©  }t        ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        t        |«      |«      }t	        |«      }t        t        |«      |«      }t        ||«       t        |«      }t        |t        |«      «      }t        t	        |d¬«      |«       Œ« y )Né   r   çš™™™™™¹?r   r   )Úranger   r   r   r   r   ©r"   ÚnÚkr/   Úir#   r$   r0   s           r%   Útest_randomzTestCholesky.test_random*   s´   € ØˆÜ�q“ò 
	?ˆAÜ˜˜1�v“ˆAÜ˜1“Xò *�Ø˜b  1 a 4¡™j™/��!�Q�$’ð*ä”I˜a“L !Ó$ˆAÜ˜“ˆAÜ”Y˜q“\ 1Ó%ˆBÜ% a¨Ô,Ü˜!“ˆAÜ�A”y “|Ó$ˆAÜ%¤h¨q¸Ô&:¸AÕ>ñ
	?r'   c           	      óà  — d}t        d«      D ]Þ  }t        ||g«      dt        ||g«      z  z   }t        |«      D ]  }ddt        |||f   «      z   z  |||f<   Œ t        t	        t        |«      «      |«      }t        |«      }t        t	        t        |«      «      |«      }t        ||«       t	        |«      }t        |t	        t        |«      «      «      }t        t        |d¬«      |«       Œà y )Nr3   r   ù              ð?r4   r   r   )r5   r   Úabsr   r   r   r   r   r6   s           r%   Útest_random_complexz TestCholesky.test_random_complex8   sÚ   € ØˆÜ�q“ò 
	?ˆAÜ˜˜1�v“˜r¤&¨!¨Q¨£.Ñ0Ñ0ˆAÜ˜1“Xò /�Ø˜b¤ Q q¨! t¡W£™oÑ.��!�Q�$’ð/ä”Iœi¨›lÓ+¨QÓ/ˆAÜ˜“ˆAÜ”Yœy¨›|Ó,¨aÓ0ˆBÜ% a¨Ô,Ü˜!“ˆAÜ�A”y¤¨1£Ó.Ó/ˆAÜ%¤h¨q¸Ô&:¸AÕ>ñ
	?r'   c                 óÄ   — d}t        j                  |t         j                  d¬«      }t        j                  g d¢g d¢g d¢g d¢g«      |d d…d d…f<   t	        |d	d
¬«       y )Ni˜·  ÚF)ÚdtypeÚorder)é   éþÿÿÿr   éÿÿÿÿ)rD   rC   éýÿÿÿr   )r   rF   r.   r   )rE   r   r   r.   rC   FT)r*   Úoverwrite_a)ÚnpÚeyeÚfloat64r   r   )r"   r7   Úxs      r%   Útest_int_overflowzTestCholesky.test_int_overflowF   s[   € ð €qÜ�6‰6�!œ2Ÿ:™:¨SÔ1€qÜ—8‘8š^Ú+Ú*Ú*ð,ó -€qˆˆ!ˆˆRˆaˆRˆ�yô
 � °4Ö8r'   ÚdtÚdt_bc                 óH  — t        d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t	        j
                  d|¬«      «      j                  k(  sJ ‚|df}t	        j                  g |¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  t        t	        j
                  d|¬«      dft	        j                  d|¬«      «      j                  k(  sJ ‚t        d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  t        t	        j
                  d|¬«      dft	        j                  d|¬«      «      j                  k(  sJ ‚t        g «      }t        g g«      }	g }
g g}||	|
|fD ]  }t        t        t        |«       Œ y )N©r   r   ©rA   r   T©r   )r
   r   ÚshaperA   rH   rI   Úasarrayr   Úonesr   Úassert_raisesÚ
ValueError)r"   rM   rN   r#   r$   Úc_and_lowerÚbrK   r0   Úa2Úa3Úa4s               r%   Ú
test_emptyzTestCholesky.test_emptyU   s„  € ô �& Ô#ˆä�Q‹KˆØ�w‰w˜&Ò Ð Ð Ø�w‰wœ(¤2§6¡6¨!°2Ô#6Ó7×=Ñ=Ò=Ð=Ð=à˜$�iˆÜ�J‰J�r Ô&ˆÜ�k 1Ó%ˆØ�w‰w˜$ŠÐˆØ�w‰wœ)¤R§V¡V¨A°RÔ%8¸$Ð$?Ü%'§W¡W¨Q°dÔ%;ó=ß=B¹UòCð 	Cð Cô �& Ô%ˆÜ�k 1Ó%ˆØ�w‰w˜&Ò Ð Ð Ø�w‰wœ)¤R§V¡V¨A°RÔ%8¸$Ð$?Ü%'§W¡W¨Q°dÔ%;ó=ß=B¹UòCð 	Cð Cô �2‹YˆÜ�B�4‹[ˆØˆØˆTˆØ�r˜2˜rÐ"ò 	3ˆAÜœ*¤h°Õ2ñ	3r'   N)Ú__name__Ú
__module__Ú__qualname__r&   r,   r1   r:   r>   ÚpytestÚmarkÚxslowrL   ÚparametrizeÚintÚfloatrH   Úfloat32ÚcomplexÚ	complex64r]   © r'   r%   r   r      s    „ ò;òOò;ò?ò?ð ‡[�[×Ññ9ó ð9ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ3ó Vó Tñ3r'   r   c            	       ó  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  deeej                  eej"                  g«      e	j                  j                  deeej                  eej"                  g«      d	„ «       «       Zy
)ÚTestCholeskyBandedz1Tests for cholesky_banded() and cho_solve_banded.c                 ó�  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g«      }t        |dd¬«      }t        |«      }|d	   |t        t	        d
«      «      t        t	        d
«      «      f<   |ddd …f   |d<   t        |t        |j                  |«      «       t        g d¢«      }t        |df|d¬«      }t        |g d¢«       y )N©ç      @ç      ð?ç        rq   ©rp   ro   ç      à?rq   ©rq   rs   ro   çš™™™™™É?©rq   rq   ru   ro   ©ç      ð¿rp   rs   ru   ©ro   ro   ro   ro   Fr+   rE   rC   r   r   ©©r   r   r   ©r   r   r   ©rq   rs   çÍÌÌÌÌÌ@r~   r)   ©rq   rq   rp   rp   ©	r   r   r	   Úlistr5   r   r   ÚTr   ©r"   r#   Úabr$   ÚufacrY   rK   s          r%   r,   z$TestCholeskyBanded.test_check_finitev   sÀ   € äÒ'Ú'Ú'Ú'ð)ó *ˆô
 Ò)Ú(ð*ó +ˆä˜B e¸%Ô@ˆÜ˜!‹}ˆØ/0°©uˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨!©" u¡XˆÐ!Ñ"Ü! !¤S¨¯©°Ó%6Ô7äÒ&Ó'ˆÜ˜a ˜Z¨¸Ô?ˆÜ! !Ò%9Õ:r'   c                 óŠ  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g«      }t        |d¬«      }t        |«      }|d	   |t        t	        d
«      «      t        t	        d
«      «      f<   |ddd …f   |d<   t        |t        |j                  |«      «       t        g d¢«      }t        |df|«      }t        |g d¢«       y )Nrn   rr   rt   rv   rw   ry   Fr   rE   rC   r   r   rz   r}   r   r€   rƒ   s          r%   Útest_upper_realz"TestCholeskyBanded.test_upper_real‰   s¼   € äÒ'Ú'Ú'Ú'ð)ó *ˆô
 Ò)Ú(ð*ó +ˆä˜B eÔ,ˆÜ˜!‹}ˆØ/0°©uˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨!©" u¡XˆÐ!Ñ"Ü! !¤S¨¯©°Ó%6Ô7äÒ&Ó'ˆÜ˜a ˜Z¨Ó+ˆÜ! !Ò%9Õ:r'   c                 ó¦  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g«      }t        |d¬«      }t        |«      }|d	   |t        t	        d
«      «      t        t	        d
«      «      f<   |ddd …f   |d<   t        |t        |j                  «       j                  |«      «       t        g d¢«      }t        |df|«      }t        |g d¢«       y )Nrn   rr   ©rq   rs   ro   ù       €š™™™™™É¿©rq   rq   ù        š™™™™™É?ro   )rx   rp   rs   rŠ   ry   Fr   rE   rC   r   r   rz   )rq   rs   y      @š™™™™™É¿y      @š™™™™™É?r   ©
r   r   r	   r�   r5   r   r   Úconjr‚   r   rƒ   s          r%   Útest_upper_complexz%TestCholeskyBanded.test_upper_complexœ   sÂ   € äÒ'Ú'Ú)Ú(ð*ó +ˆô
 Ò+Ú(ð*ó +ˆä˜B eÔ,ˆÜ˜!‹}ˆØ/0°©uˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨!©" u¡XˆÐ!Ñ"Ü! !¤S¨¯©«¯©¸Ó%=Ô>äÒ2Ó3ˆÜ˜a ˜Z¨Ó+ˆÜ! !Ò%9Õ:r'   c                 óŠ  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g«      }t        |d¬«      }t        |«      }|d	   |t        t	        d
«      «      t        t	        d
«      «      f<   |dd d…f   |d<   t        |t        ||j                  «      «       t        g d¢«      }t        |df|«      }t        |g d¢«       y )Nrn   rr   rt   rv   ry   )rp   rs   ru   rx   Tr   r   rC   r   r   ©r|   r{   r}   r   r€   ©r"   r#   r„   r$   ÚlfacrY   rK   s          r%   Útest_lower_realz"TestCholeskyBanded.test_lower_real¯   s¾   € äÒ'Ú'Ú'Ú'ð)ó *ˆô
 Ò(Ú)ð+ó ,ˆä˜B dÔ+ˆÜ˜!‹}ˆØ/0°©tˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨"¨1¨" u¡XˆÐ!Ñ"Ü! !¤S¨¨t¯v©vÓ%6Ô7äÒ&Ó'ˆÜ˜a ˜Y¨Ó*ˆÜ! !Ò%9Õ:r'   c                 ó¦  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g«      }t        |d¬«      }t        |«      }|d	   |t        t	        d
«      «      t        t	        d
«      «      f<   |dd d…f   |d<   t        |t        ||j                  «       j                  «      «       t        g d¢«      }t        |df|«      }t        |g d¢«       y )Nrn   rr   r‰   r‹   ry   )rp   rs   rŒ   rx   Tr   r   rC   r   r   r‘   )rq   y              à?y        ffffff@gffffff@)rq   rq   r<   rp   r�   r’   s          r%   Útest_lower_complexz%TestCholeskyBanded.test_lower_complexÂ   sÄ   € äÒ'Ú'Ú)Ú(ð*ó +ˆô
 Ò(Ú*ð,ó -ˆä˜B dÔ+ˆÜ˜!‹}ˆØ/0°©tˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨"¨1¨" u¡XˆÐ!Ñ"Ü! !¤S¨¨t¯y©y«{¯}©}Ó%=Ô>äÒ(Ó)ˆÜ˜a ˜Y¨Ó*ˆÜ! !Ò%:Õ;r'   rM   rN   c                 ó:  — t        d|¬«      }t        |«      }|j                  dk(  sJ ‚t        t        j                  ddgddgg|¬«      «      }|j
                  |j
                  k(  sJ ‚|df}t        j                  g |¬«      }t        ||«      }|j                  dk(  sJ ‚t        |dft        j                  d|¬«      «      j
                  }	|j
                  |	k(  sJ ‚t        d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j
                  |	k(  sJ ‚y )NrP   rQ   r   r   TrR   r   )	r
   r   rS   rH   r   rA   rT   r   rU   )
r"   rM   rN   r„   Úcbr/   Úcb_and_lowerrY   rK   Údtype_nonemptys
             r%   r]   zTestCholeskyBanded.test_emptyÕ   s  € ô �6 Ô$ˆä˜RÓ ˆØ�x‰x˜6Ò!Ð!Ð!äœBŸH™H q¨! f¨q°!¨fÐ%5¸RÔ@ÓAˆØ�x‰x˜1Ÿ7™7Ò"Ð"Ð"à˜D�zˆÜ�J‰J�r Ô&ˆÜ˜\¨1Ó-ˆØ�w‰w˜$ŠÐˆä)¨1¨d¨)´R·W±W¸QÀdÔ5KÓL×RÑRˆØ�w‰w˜.Ò(Ð(Ð(ä�& Ô%ˆÜ˜\¨1Ó-ˆØ�w‰w˜&Ò Ð Ð Ø�w‰w˜.Ò(Ð(Ñ(r'   N)r^   r_   r`   Ú__doc__r,   r‡   r�   r”   r–   ra   rb   rd   re   rf   rH   rg   rh   ri   r]   rj   r'   r%   rl   rl   s   s„   „ Ù;ò;ò&;ò&;ò&;ò&<ð& ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ)ó Vó Tñ)r'   rl   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestOverwritec                 ó&   — t        t        dg«       y ©N)r   r   )r   r   ©r"   s    r%   Útest_choleskyzTestOverwrite.test_choleskyï   s   € ÜœH v hÕ/r'   c                 ó&   — t        t        dg«       y rŸ   )r   r   r    s    r%   Útest_cho_factorzTestOverwrite.test_cho_factorò   s   € ÜœJ¨¨Õ1r'   c                 ód   ‡— t        g d¢g d¢g d¢g«      }t        |«      Št        ˆfd„dg«       y )N)r   rE   r   )rE   r   rE   )r   rE   r   c                 ó   •— t        ‰| «      S )N)r   ©rY   Úxchos    €r%   ú<lambda>z.TestOverwrite.test_cho_solve.<locals>.<lambda>ø   s   ø€ ¤i°°aÓ&8€ r'   ©r   )r   r   r   ©r"   rK   r§   s     @r%   Útest_cho_solvezTestOverwrite.test_cho_solveõ   s*   ø€ Ü’:š{ªJÐ7Ó8ˆÜ˜!‹}ˆÜÓ8¸4¸&ÕAr'   c                 ó&   — t        t        dg«       y )N)r   r   )r   r   r    s    r%   Útest_cholesky_bandedz"TestOverwrite.test_cholesky_bandedú   s   € ÜœO¨f¨XÕ6r'   c                 ó^   ‡— t        g d¢g d¢g«      }t        |«      Št        ˆfd„dg«       y )N)r   rE   rE   )r   r   r   c                 ó    •— t        ‰df| «      S )NF)r   r¦   s    €r%   r¨   z5TestOverwrite.test_cho_solve_banded.<locals>.<lambda>   s   ø€ Ô&6¸¸e°}ÀaÓ&H€ r'   r©   )r   r   r   rª   s     @r%   Útest_cho_solve_bandedz#TestOverwrite.test_cho_solve_bandedý   s,   ø€ Ü’;¢	Ð*Ó+ˆÜ˜qÓ!ˆÜÓHØ!˜Fõ	$r'   N)r^   r_   r`   r¡   r£   r«   r­   r°   rj   r'   r%   r�   r�   î   s   „ ò0ò2òBò
7ó$r'   r�   c                   ó‚   — e Zd Zej                  j                  deeej                  e
ej                  g«      d„ «       Zy)ÚTestChoFactorrM   c                 óì   — t        j                  d|¬«      }t        |«      \  }}|j                  dk(  sJ ‚t        t        j                  d|¬«      «      \  }}|j
                  |j
                  k(  sJ ‚y )NrP   rQ   r   )rH   r
   r   rS   rI   rA   )r"   rM   r#   rK   r   Úxxs         r%   r]   zTestChoFactor.test_empty  s`   € ä�H‰H�V 2Ô&ˆÜ˜a“=‰ˆˆ5à�w‰w˜&Ò Ð Ð äœrŸv™v a¨rÔ2Ó3‰	ˆˆEØ�w‰w˜"Ÿ(™(Ò"Ð"Ñ"r'   N)r^   r_   r`   ra   rb   rd   re   rf   rH   rg   rh   ri   r]   rj   r'   r%   r²   r²     s9   „ Ø‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ#ó Tñ#r'   r²   )ra   ÚnumpyrH   Únumpy.testingr   r   rV   r   r   r   r   r	   r
   Únumpy.randomr   Úscipy.linalgr   r   r   r   r   Úscipy.linalg._testutilsr   r   rl   r�   r²   rj   r'   r%   ú<module>rº      sW   ðÛ Û Ý 3Ý *ç E× EÝ ÷õ õ 8÷b3ñ b3÷Jx)ñ x)÷v$ñ $÷*	#ò 	#r'   