Ë
    0Ò^j|B  ã                   óÌ   — 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
 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  G d	„ d
«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Zy)é    N)Úassert_allclose)Úraises)ÚarrayÚ	transposeÚ
zeros_likeÚempty)ÚcholeskyÚcholesky_bandedÚcho_solve_bandedÚ
cho_factorÚ	cho_solveÚLinAlgError)Úassert_no_overwriteé   )Úparametrize_overwrite_argc            	       ó”  — e Zd Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      ej                  j                  de	j                  e	j                  e	j                  e	j                  g«      ej                  j                  ddd	g«      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ej                  j                  dg d¢«      d„ «       Zej                  j                  de	j                  e	j                  e	j                  e	j                  g«      ej                  j                  dd	dg«      d„ «       «       Zeej                  j                  deeg«      ej                  j                  dd	dg«      d„ «       «       «       Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      ej                  j                  dg d¢«      ej                  j                  dddg«      ej                  j                  de	j                  e	j                  g«      d„ «       «       «       «       Zy)ÚTestCholeskyc                 óÌ   — g d¢g d¢g d¢g}t        |«      }t        |j                  |z  |d¬«       t        |«      }||j                  z  }t        t        |d¬«      |d¬«       y )N©é   é   é   ©r   é	   r   ©r   r   é   ç›+¡†›„=©Úatolr   ©Úlower©r	   r   ÚTr   ©ÚselfÚaÚcs      úr/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp_cholesky.pyÚtest_simplezTestCholesky.test_simple   sT   € Úš	¢9Ð-ˆÜ�Q‹KˆÜ˜Ÿ™˜a™ ¨Õ/Ü�a‹LˆØ�—‘‰GˆÜœ ¨!Ô,¨a°eÖ<ó    c                 óÒ   — g d¢g d¢g d¢g}t        |d¬«      }t        |j                  |z  |d¬«       t        |«      }||j                  z  }t        t        |dd¬	«      |d¬«       y )
Nr   r   r   F©Úcheck_finiter   r   r   ©r!   r-   r"   r$   s      r(   Útest_check_finitezTestCholesky.test_check_finite   sY   € Úš	¢9Ð-ˆÜ�Q UÔ+ˆÜ˜Ÿ™˜a™ ¨Õ/Ü�a‹LˆØ�—‘‰GˆÜœ ¨!¸%Ô@À!È%ÖPr*   c                 ón  — t        g d¢g d¢g d¢g«      }t        j                  |j                  «      |z  }t	        |«      }t        j                  |j                  «      |z  }t        ||«       t        |«      }|t        j                  |j                  «      z  }t        t	        |d¬«      |d¬«       y )N)y      @      ð?y      @      @é   )r   y       @       @y       @      @)r   r   y      @      @r   r    r   r   )r   ÚnpÚconjr#   r	   r   r   )r%   Úmr&   r'   Úa1s        r(   Útest_simple_complexz TestCholesky.test_simple_complex    s„   € Ü’?¢O²\ÐBÓCˆÜ�G‰G�A—C‘C‹L˜1ÑˆÜ�Q‹KˆÜ�W‰W�Q—S‘S‹\˜AÑˆÜ˜˜2ÔÜ�a‹LˆØ”—‘˜Ÿ™“ÑˆÜœ ¨!Ô,¨a°eÖ<r*   Ún©r1   é
   é   ÚdtypeÚorderÚFÚCc                 óL  — |t         j                  t         j                  fv rdnd}t         j                  j	                  d¬«      }t        d«      D �]O  }|j                  ||f¬«      j                  |«      }t        j                  |t         j                  «      r)|d|j                  ||f¬«      j                  |«      z  z  }t        |«      D ]  }dd	|||f   z   z  |||f<   Œ t        j                  t        j                  |j                  «      |z  |¬
«      }	t        |	d¬«      }
t        j                  |
j                  «      |
z  }t        |	||¬«       t        |
«      }
|
t        j                  |
j                  «      z  }	t        t        |	d¬«      |
|¬«       �ŒR y )Ngü©ñÒMb@?çê-�™—q=é90  ©Úseedr   ©Úsizeù              ð?r:   gš™™™™™¹?©r<   r   r    r   r   )r2   Úfloat32Ú	complex64ÚrandomÚdefault_rngÚrangeÚnormalÚastypeÚ
issubdtypeÚcomplexfloatingÚasarrayr3   r#   r	   r   r   )r%   r7   r;   r<   r   ÚrngÚkr4   Úir&   r'   r5   s               r(   Útest_randomzTestCholesky.test_random*   sZ  € ð
 ¤§¡¬R¯\©\Ð :Ñ:‰tÀˆÜ�i‰i×#Ñ#¨Ð#Ó/ˆä�q“ó 	@ˆAØ—
‘
  A �
Ó'×.Ñ.¨uÓ5ˆAÜ�}‰}˜U¤B×$6Ñ$6Ô7Ø�R˜#Ÿ*™*¨1¨a¨&˜*Ó1×8Ñ8¸Ó?Ñ?Ñ?�Ü˜1“Xò *�Ø˜b  1 a 4¡™j™/��!�Q�$’ð*ô —
‘
œ2Ÿ7™7 1§3¡3›<¨!Ñ+°5Ô9ˆAä˜ !Ô$ˆAÜ—‘˜Ÿ™“ Ñ!ˆBÜ˜A˜r¨Õ-ä˜!“ˆAØ”B—G‘G˜AŸC™C“LÑ ˆAÜœH Q¨aÔ0°!¸$×?ñ	@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˜·  r=   ©r;   r<   )é   éþÿÿÿr   éÿÿÿÿ)rY   rX   éýÿÿÿr   )r   r[   r1   r   )rZ   r   r   r1   rX   FT)r-   Úoverwrite_a)r2   ÚeyeÚfloat64r   r	   )r%   r7   Úxs      r(   Útest_int_overflowzTestCholesky.test_int_overflowC   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   ©r;   r   T©r   )r   r	   Úshaper;   r2   r]   rQ   r   Úonesr   Úassert_raisesÚ
ValueError)r%   ra   rb   r&   r'   Úc_and_lowerÚbr_   r5   Úa2Úa3Úa4s               r(   Ú
test_emptyzTestCholesky.test_emptyR   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*   rg   )©r   ©r   r   ©r   r   c                 óÞ   — t         j                  j                  d¬«      }|j                  |¬«      }t	        j
                  t        d¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)NrA   rB   rD   zExpected a square matrix©Úmatch)r2   rJ   rK   rM   Úpytestr   rj   r	   ©r%   rg   rR   r&   s       r(   Útest_invalid_shapezTestCholesky.test_invalid_shapeo   sT   € ä�i‰i×#Ñ#¨Ð#Ó/ˆØ�J‰J˜EˆJÓ"ˆä�]‰]œ:Ð-GÔHñ 	Ü�QŒK÷	÷ 	ñ 	úó   ÁA#Á#A,c                 ó¤  — d}t         j                  j                  d¬«      }t        j                  t        j                  |j                  |f¬«      «      j                  |«       «      }|j                  ||f¬«      j                  |«      }t        j                  |t         j                  «      r)|d|j                  ||f¬«      j                  |«      z  z  }t        j                  ||z  t        j                  |j                  «      z  |¬«      }t        j                  t        d¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w©	Nr9   rA   rB   rD   rF   rG   zInternal potrf return inforu   )r2   rJ   rK   ÚdiagÚabsrM   rN   rO   rP   rQ   r3   r#   rw   r   r   r	   ©r%   r;   r<   r7   rR   Úlmbdr_   r&   s           r(   Útest_non_posdefzTestCholesky.test_non_posdefw   sþ   € ð ˆÜ�i‰i×#Ñ#¨Ð#Ó/ˆä�w‰wœŸ™˜sŸz™z°¨t˜zÓ4Ó5×<Ñ<¸UÓCÐCÓDˆØ�J‰J˜Q ˜FˆJÓ#×*Ñ*¨5Ó1ˆÜ�=‰=˜¤× 2Ñ 2Ô3Ø��c—j‘j q¨! f�jÓ-×4Ñ4°UÓ;Ñ;Ñ;ˆAä�J‰J�q˜4‘x¤"§'¡'¨!¯#©#£,Ñ.°eÔ<ˆä�]‰]œ;Ð.JÔKñ 	Ü�QŒK÷	÷ 	ñ 	úó   Ä1EÅEc                 ó  — t         j                  j                  d¬«      }d}|j                  ||f¬«      }|j	                  |«      }||j
                  z  }|j	                  ||¬«      }t        j                  |«      }t        |fi |¤Ž}	|j                  dd«      }
|
xr* |t        uxr  |j                  d   xs |j                  d	   }t        j                  ||	«      |k(  sJ ‚t        j                  ||k(  «      |k7  sJ ‚y )
NrA   rB   r1   rD   rG   r\   FÚF_CONTIGUOUSÚC_CONTIGUOUS)r2   rJ   rK   rM   rN   r#   Úcopyr	   ÚgetÚintÚflagsÚshares_memoryÚall)r%   Úoverwrite_kwr;   r<   rR   r7   r_   r&   Úa_refr'   r\   Ú	a_inplaces               r(   Útest_overwrite_argsz TestCholesky.test_overwrite_argsˆ   sû   € ô �i‰i×#Ñ#¨Ð#Ó/ˆØˆà�J‰J˜Q ˜FˆJÓ#ˆØ�H‰H�U‹OˆØ�—‘‰GˆØ�H‰H�U %ˆHÓ(ˆÜ—‘˜“
ˆä�QÑ'˜,Ñ'ˆØ"×&Ñ& }°eÓ<ˆØ ò N e´3Ð&6ò NØŸ'™' .Ñ1ÒL°Q·W±W¸^Ñ5Lð 	ô ×Ñ  1Ó%¨Ò2Ð2Ð2Ü�v‰v�a˜5‘jÓ! YÒ.Ð.Ñ.r*   r!   TFc                 óD  — t         j                  j                  d¬«      }d}|j                  ||f¬«      }t        j                  ||j
                  z  «      }t        j                  |«      }t        ||d¬«      }|rRt        t        j                  |d¬«      t        j                  |«      d	¬
«       t        ||j
                  z  |d	¬
«       y t        t        j                  |d¬«      t        j                  |«      d	¬
«       t        |j
                  |z  |d	¬
«       y )NrA   rB   r1   rD   T)r!   r\   r   )rS   r   r   rZ   )r2   rJ   rK   rM   Úasfortranarrayr#   r†   r	   r   Útriur   Útril)r%   r!   rR   r7   r_   r&   r�   r'   s           r(   Útest_overwrite_cleaningz$TestCholesky.test_overwrite_cleaning�   sÑ   € ô �i‰i×#Ñ#¨Ð#Ó/ˆØˆà�J‰J˜Q ˜FˆJÓ#ˆÜ×Ñ˜a !§#¡#™gÓ&ˆÜ—‘˜“
ˆä�Q˜e°Ô6ˆáÜœBŸG™G A¨œO¬R¯]©]¸1Ó-=ÀEÕJÜ˜A §¡™G U°Ö7äœBŸG™G A¨Ô,¬b¯m©m¸AÓ.>ÀUÕKÜ˜AŸC™C !™G U°Ö7r*   )r>   r=   Únoncontig_CÚnoncontig_Fr\   c                 óH  — t         j                  j                  d¬«      }d}|j                  ||f¬«      }t        j                  |t         j
                  «      r|d|j                  ||f¬«      z  z   }||j                  «       j                  z  |t        j                  |«      z  z   j                  |«      }t        ||¬«      }	|j                  d«      rq|j                  d«      rd	nd
}
t        j                  d|z  d|z  f||
¬«      }||d d d…d d d…f<   |d d d…d d d…f   }|j                  d   rJ ‚|j                  d   rJ ‚t        j                  ||¬«      }|r(t         j                   |t        j"                  |d«      <   n't         j                   |t        j$                  |d«      <   t        |||d¬«      }t'        ||	d¬«       |r*t'        ||j                  «       j                  z  |d¬«       y t'        |j                  «       j                  |z  |d¬«       y )NrA   rB   r1   rD   rF   r    Ú	noncontigÚ_Fr=   r>   r   r   rW   r…   r„   rG   r   rZ   F)r!   r\   r-   r   r   g‚vIhÂ%<=)r2   rJ   rK   rM   rO   rP   r3   r#   r]   rN   r	   Ú
startswithÚendswithÚzerosr‰   r   ÚnanÚtriu_indicesÚtril_indicesr   )r%   r!   r<   r\   r;   rR   r7   r_   r&   Úc_refÚ	big_orderÚa_bigÚa_nanr'   s                 r(   Útest_nan_in_unused_trianglez(TestCholesky.test_nan_in_unused_triangle±   sÌ  € ô �i‰i×#Ñ#¨Ð#Ó/ˆØˆØ�J‰J˜Q ˜FˆJÓ#ˆÜ�=‰=˜¤× 2Ñ 2Ô3Ø�B˜Ÿ™¨!¨Q¨˜Ó0Ñ0Ñ0ˆAØ�—‘“—‘‰^˜a¤"§&¡&¨£)™mÑ+×3Ñ3°EÓ:ˆÜ˜ %Ô(ˆð ×Ñ˜KÔ(à$Ÿ~™~¨dÔ3™¸ˆIÜ—H‘H˜a ™c 1 Q¡3˜Z¨u¸IÔFˆEØˆE‘#�A�#‘s˜�s�(‰OØ™#˜A˜#™s ˜s˜(‘OˆEØ—{‘{ >Ò2Ð2Ð2Ø—{‘{ >Ò2Ð2Ð2ä—H‘H˜Q eÔ,ˆEñ Ü+-¯6©6ˆE”"—/‘/ ! QÓ'Ò(ä,.¯F©FˆE”"—/‘/ ! RÓ(Ñ)ä�U %°[Ø"'ô)ˆä˜˜5 uÕ-áÜ˜A §¡£§
¡
™N¨A°EÖ:ä˜AŸF™F›HŸJ™J¨™N¨A°EÖ:r*   N)Ú__name__Ú
__module__Ú__qualname__r)   r/   r6   rw   ÚmarkÚparametrizer2   rH   r^   rI   Ú
complex128rU   Úxslowr`   rˆ   ÚfloatÚcomplexrp   ry   r�   r   r�   r”   r¤   © r*   r(   r   r      s™  „ ò=òQò=ð ‡[�[×Ñ˜S¢+Ó.Ø‡[�[×Ñ˜W r§z¡z°2·:±:Ø(*¯©°b·m±mð'Eó Fà‡[�[×Ñ˜W s¨C jÓ1ñ@ó 2óFó /ð@ð* ‡[�[×Ññ9ó ð9ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ3ó Vó Tð3ð6 ‡[�[×Ñ˜WÒ&<Ó=ñó >ðð ‡[�[×Ñ˜W r§z¡z°2·:±:ØŸ\™\¨2¯=©=ð':ó ;à‡[�[×Ñ˜W s¨C jÓ1ñó 2ó;ðð Ø‡[�[×Ñ˜W s¨E lÓ3Ø‡[�[×Ñ˜W s¨C jÓ1ñ/ó 2ó 4ó ð/ð$ ‡[�[×Ñ˜W t¨U mÓ4ñ8ó 5ð8ð& ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜WÒ&NÓOØ‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜W r§z¡z°2·=±=Ð&AÓBñ$;ó Có ;ó Pó 5ñ$;r*   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        ||j                  |z  d¬«       t        g d¢«      }t        |df|d¬«      }t        |g d¢d¬«       y )N©ç      @ç      ð?ç        rµ   ©r´   r³   ç      à?rµ   ©rµ   r·   r³   çš™™™™™É?©rµ   rµ   r¹   r³   ©ç      ð¿r´   r·   r¹   ©r³   r³   r³   r³   Fr.   rZ   rX   r   r   ©©r   r   r   ©r   r   r   r   r   ©rµ   r·   çÍÌÌÌÌÌ@rÂ   r,   ©rµ   rµ   r´   r´   ©r   r
   r   ÚlistrL   r   r#   r   ©r%   r&   Úabr'   Úufacrl   r_   s          r(   r/   z$TestCholeskyBanded.test_check_finiteß   sÁ   € äÒ'Ú'Ú'Ú'ð)ó *ˆô
 Ò)Ú(ð*ó +ˆä˜B e¸%Ô@ˆÜ˜!‹}ˆØ/0°©uˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨!©" u¡XˆÐ!Ñ"Ü˜˜4Ÿ6™6 D™=¨uÕ5äÒ&Ó'ˆÜ˜a ˜Z¨¸Ô?ˆÜ˜Ò/°eÖ<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        ||j                  |z  d¬«       t        g d¢«      }t        |df|«      }t        |g d¢d¬«       y )Nr²   r¶   r¸   rº   r»   r½   Fr    rZ   rX   r   r   r¾   r   r   rÁ   rÃ   rÄ   rÆ   s          r(   Útest_upper_realz"TestCholeskyBanded.test_upper_realò   s½   € äÒ'Ú'Ú'Ú'ð)ó *ˆô
 Ò)Ú(ð*ó +ˆä˜B eÔ,ˆÜ˜!‹}ˆØ/0°©uˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨!©" u¡XˆÐ!Ñ"Ü˜˜4Ÿ6™6 D™=¨uÕ5äÒ&Ó'ˆÜ˜a ˜Z¨Ó+ˆÜ˜Ò/°eÖ<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                  «      |z  d¬«       t        g d¢«      }t        |df|«      }t        |g d¢d¬«       y )Nr²   r¶   ©rµ   r·   r³   ù       €š™™™™™É¿©rµ   rµ   ù        š™™™™™É?r³   )r¼   r´   r·   rÍ   r½   Fr    rZ   rX   r   r   r¾   r   r   )rµ   r·   y      @š™™™™™É¿y      @š™™™™™É?rÃ   ©
r   r
   r   rÅ   rL   r   r2   r3   r#   r   rÆ   s          r(   Útest_upper_complexz%TestCholeskyBanded.test_upper_complex  sÆ   € äÒ'Ú'Ú)Ú(ð*ó +ˆô
 Ò+Ú(ð*ó +ˆä˜B eÔ,ˆÜ˜!‹}ˆØ/0°©uˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨!©" u¡XˆÐ!Ñ"Ü˜œ2Ÿ7™7 4§6¡6›?¨TÑ1¸Õ>äÒ2Ó3ˆÜ˜a ˜Z¨Ó+ˆÜ˜Ò/°eÖ<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        |||j                  z  d¬«       t        g d¢«      }t        |df|«      }t        |g d¢d¬«       y )Nr²   r¶   r¸   rº   r½   )r´   r·   r¹   r¼   Tr    r   rX   r   r   ©rÀ   r¿   r   r   rÁ   rÃ   rÄ   ©r%   r&   rÇ   r'   Úlfacrl   r_   s          r(   Útest_lower_realz"TestCholeskyBanded.test_lower_real  s¿   € äÒ'Ú'Ú'Ú'ð)ó *ˆô
 Ò(Ú)ð+ó ,ˆä˜B dÔ+ˆÜ˜!‹}ˆØ/0°©tˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨"¨1¨" u¡XˆÐ!Ñ"Ü˜˜4 $§&¡&™=¨uÕ5äÒ&Ó'ˆÜ˜a ˜Y¨Ó*ˆÜ˜Ò/°eÖ<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                  «      z  d¬«       t        g d¢«      }t        |df|«      }t        |g d¢d¬«       y )Nr²   r¶   rÌ   rÎ   r½   )r´   r·   rÏ   r¼   Tr    r   rX   r   r   rÓ   r   r   )rµ   y              à?y        ffffff@gffffff@)rµ   rµ   rF   r´   rÐ   rÔ   s          r(   Útest_lower_complexz%TestCholeskyBanded.test_lower_complex+  sÈ   € äÒ'Ú'Ú)Ú(ð*ó +ˆô
 Ò(Ú*ð,ó -ˆä˜B dÔ+ˆÜ˜!‹}ˆØ/0°©tˆŒT”%˜“(‹^œT¤%¨£(›^Ð+Ñ,Ø%& q¨"¨1¨" u¡XˆÐ!Ñ"Ü˜˜4¤"§'¡'¨$¯&©&£/Ñ1¸Õ>äÒ(Ó)ˆÜ˜a ˜Y¨Ó*ˆÜ˜Ò0°uÖ=r*   ra   rb   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 )Nrd   re   r   r   Trf   r   )	r   r
   rg   r2   r   r;   rQ   r   rh   )
r%   ra   rb   rÇ   Úcbr4   Úcb_and_lowerrl   r_   Údtype_nonemptys
             r(   rp   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Ø   rw   r¨   r©   rˆ   r¬   r2   rH   r­   rI   rp   r®   r*   r(   r°   r°   Ü   s„   „ Ù;ò=ò&=ò&=ò&=ò&>ð& ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ)ó Vó Tñ)r*   r°   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_choleskyX  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   rZ   r   )rZ   r   rZ   )r   rZ   r   c                 ó   •— t        ‰| «      S )N)r   ©rl   Úxchos    €r(   ú<lambda>z.TestOverwrite.test_cho_solve.<locals>.<lambda>a  s   ø€ ¤i°°aÓ&8€ r*   rq   )r   r   r   ©r%   r_   ré   s     @r(   Útest_cho_solvezTestOverwrite.test_cho_solve^  s*   ø€ Ü’:š{ªJÐ7Ó8ˆÜ˜!‹}ˆÜÓ8¸4¸&ÕAr*   c                 ó&   — t        t        dg«       y )Nrr   )r   r
   râ   s    r(   Útest_cholesky_bandedz"TestOverwrite.test_cholesky_bandedc  s   € ÜœO¨f¨XÕ6r*   c                 ó^   ‡— t        g d¢g d¢g«      }t        |«      Št        ˆfd„dg«       y )N)r   rZ   rZ   )r   r   r   c                 ó    •— t        ‰df| «      S )NF)r   rè   s    €r(   rê   z5TestOverwrite.test_cho_solve_banded.<locals>.<lambda>i  s   ø€ Ô&6¸¸e°}ÀaÓ&H€ r*   rq   )r   r
   r   rë   s     @r(   Útest_cho_solve_bandedz#TestOverwrite.test_cho_solve_bandedf  s,   ø€ Ü’;¢	Ð*Ó+ˆÜ˜qÓ!ˆÜÓHØ!˜Fõ	$r*   N)r¥   r¦   r§   rã   rå   rì   rî   rñ   r®   r*   r(   rß   rß   W  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ej                  j                  dg d¢«      ej                  j                  dej                  ej                  ej                  ej                  g«      ej                  j                  dddg«      ej                  j                  d	d
dg«      d„ «       «       «       «       Zej                  j                  dg d¢«      d„ «       Zej                  j                  dej                  ej                  ej                  ej                  g«      ej                  j                  dddg«      d„ «       «       Zeej                  j                  deeg«      ej                  j                  dddg«      ej                  j                  d	d
dg«      d„ «       «       «       «       Zy)ÚTestChoFactorra   c                 óì   — t        j                  d|¬«      }t        |«      \  }}|j                  dk(  sJ ‚t        t        j                  d|¬«      «      \  }}|j
                  |j
                  k(  sJ ‚y )Nrd   re   r   )r2   r   r   rg   r]   r;   )r%   ra   r&   r_   r!   Úxxs         r(   rp   zTestChoFactor.test_emptyn  s`   € ä�H‰H�V 2Ô&ˆÜ˜a“=‰ˆˆ5à�w‰w˜&Ò Ð Ð äœrŸv™v a¨rÔ2Ó3‰	ˆˆEØ�w‰w˜"Ÿ(™(Ò"Ð"Ñ"r*   r7   r8   r;   r<   r>   r=   r!   TFc                 ó  — |t         j                  t         j                  fv rdnd}t         j                  j	                  d¬«      }t        j
                  t        j                  |j                  |f¬«      j                  |«      «      «      }|j                  ||f¬«      j                  |«      }t        j                  |t         j                  «      r)|d|j                  ||f¬«      j                  |«      z  z  }t        j                  ||z  t        j                  |j                  «      z  |¬«      }	t        |	|¬«      }
t        |	|¬«      \  }}||k(  sJ ‚|rRt        j                   |«      }t#        |
||¬	«       t#        |	|t        j                  |j                  «      z  |¬	«       y t        j$                  |«      }t#        |
||¬	«       t#        |	t        j                  |j                  «      |z  |¬	«       y )
Ngñhãˆµøä>r@   rA   rB   rD   rF   rG   r    r   )r2   rH   rI   rJ   rK   r}   r~   rM   rN   rO   rP   rQ   r3   r#   r	   r   r“   r   r’   )r%   r7   r;   r<   r!   r   rR   r€   r_   r&   r'   Úc_fÚ	lower_outÚlÚus                  r(   rU   zTestChoFactor.test_randomx  s�  € ð ¤§¡¬R¯\©\Ð :Ñ:‰tÀˆÜ�i‰i×#Ñ#¨Ð#Ó/ˆä�w‰w”r—v‘v˜cŸj™j¨q¨d˜jÓ3×:Ñ:¸5ÓAÓBÓCˆØ�J‰J˜Q ˜FˆJÓ#×*Ñ*¨5Ó1ˆÜ�=‰=˜¤× 2Ñ 2Ô3Ø��c—j‘j q¨! f�jÓ-×4Ñ4°UÓ;Ñ;Ñ;ˆAä�J‰J�q˜4‘x¤"§'¡'¨!¯#©#£,Ñ.°eÔ<ˆÜ�Q˜eÔ$ˆÜ# A¨UÔ3‰ˆˆYà˜EÒ!Ð!Ð!ñ Ü—‘˜“ˆAÜ˜A˜q tÕ,Ü˜A˜q¤2§7¡7¨1¯3©3£<Ñ/°dÖ;ä—‘˜“ˆAÜ˜A˜q tÕ,Ü˜AœrŸw™w q§s¡s›|¨aÑ/°dÖ;r*   rg   )rq   rs   rr   c                 óÞ   — t         j                  j                  d¬«      }|j                  |¬«      }t	        j
                  t        d¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)NrA   rB   rD   z!Expected a square matrix or batchru   )r2   rJ   rK   rM   rw   r   rj   r   rx   s       r(   ry   z TestChoFactor.test_invalid_shape—  sT   € ä�i‰i×#Ñ#¨Ð#Ó/ˆØ�J‰J˜EˆJÓ"ˆä�]‰]œ:Ð-PÔQñ 	Ü�qŒM÷	÷ 	ñ 	úrz   c                 ó¤  — d}t         j                  j                  d¬«      }t        j                  t        j                  |j                  |f¬«      «      j                  |«       «      }|j                  ||f¬«      j                  |«      }t        j                  |t         j                  «      r)|d|j                  ||f¬«      j                  |«      z  z  }t        j                  ||z  t        j                  |j                  «      z  |¬«      }t        j                  t        d¬«      5  t        |«       d d d «       y # 1 sw Y   y xY wr|   )r2   rJ   rK   r}   r~   rM   rN   rO   rP   rQ   r3   r#   rw   r   r   r   r   s           r(   r�   zTestChoFactor.test_non_posdefŸ  sþ   € ð ˆÜ�i‰i×#Ñ#¨Ð#Ó/ˆä�w‰wœŸ™˜sŸz™z°¨t˜zÓ4Ó5×<Ñ<¸UÓCÐCÓDˆØ�J‰J˜Q ˜FˆJÓ#×*Ñ*¨5Ó1ˆÜ�=‰=˜¤× 2Ñ 2Ô3Ø��c—j‘j q¨! f�jÓ-×4Ñ4°UÓ;Ñ;Ñ;ˆAä�J‰J�q˜4‘x¤"§'¡'¨!¯#©#£,Ñ.°eÔ<ˆä�]‰]œ;Ð.JÔKñ 	Ü�qŒM÷	÷ 	ñ 	úr‚   c                 ó  — t         j                  j                  d¬«      }d}|j                  ||f¬«      }|j	                  |«      }||j
                  z  }|j	                  ||¬«      }t        j                  |«      }	t        |fi |¤d|i¤Ž\  }
}|j                  dd«      }|xr* |t        uxr  |j                  d	   xs |j                  d
   }t        j                  ||
«      |k(  sJ ‚t        j                  ||	k(  «      |k7  sJ ‚y )NrA   rB   r1   rD   rG   r!   r\   Fr„   r…   )r2   rJ   rK   rM   rN   r#   r†   r   r‡   rˆ   r‰   rŠ   r‹   )r%   rŒ   r;   r<   r!   rR   r7   r_   r&   r�   r'   r\   rŽ   s                r(   r�   z!TestChoFactor.test_overwrite_args°  s  € ô
 �i‰i×#Ñ#¨Ð#Ó/ˆØˆà�J‰J˜Q ˜FˆJÓ#ˆØ�H‰H�U‹OˆØ�—‘‰GˆØ�H‰H�U %ˆHÓ(ˆÜ—‘˜“
ˆä˜aÑ= <Ñ=°uÒ=‰ˆˆ5Ø"×&Ñ& }°eÓ<ˆØ ò N e´3Ð&6ò NØŸ'™' .Ñ1ÒL°Q·W±W¸^Ñ5Lð 	ô ×Ñ  1Ó%¨Ò2Ð2Ð2Ü�v‰v�a˜5‘jÓ! YÒ.Ð.Ñ.r*   N)r¥   r¦   r§   rw   r¨   r©   rˆ   r¬   r2   rH   r­   rI   rp   r^   rª   rU   ry   r�   r   r�   r®   r*   r(   ró   ró   m  sÀ  „ Ø‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ#ó Tð#ð ‡[�[×Ñ˜S¢+Ó.Ø‡[�[×Ñ˜W r§z¡z°2·:±:Ø "§¡¨b¯m©mð'=ó >à‡[�[×Ñ˜W s¨C jÓ1Ø‡[�[×Ñ˜W t¨U mÓ4ñ<ó 5ó 2ó>ó /ð
<ð4 ‡[�[×Ñ˜WÒ&<Ó=ñó >ðð ‡[�[×Ñ˜W r§z¡z°2·:±:ØŸ\™\¨2¯=©=ð':ó ;à‡[�[×Ñ˜W s¨C jÓ1ñó 2ó;ðð Ø‡[�[×Ñ˜W s¨E lÓ3Ø‡[�[×Ñ˜W s¨C jÓ1Ø‡[�[×Ñ˜W t¨U mÓ4ñ/ó 5ó 2ó 4ó ñ/r*   ró   )rw   Únumpyr2   Únumpy.testingr   r   ri   r   r   r   r   Úscipy.linalgr	   r
   r   r   r   r   Úscipy.linalg._testutilsr   Ú
test_basicr   r   r°   rß   ró   r®   r*   r(   ú<module>r     sY   ðÛ Û Ý )Ý *ç 5Ó 5÷)÷ )õ 8Ý 1÷K;ñ K;÷\x)ñ x)÷v$ñ $÷,W/ò W/r*   