+
    LV-jŒ«  ã                   óö  € R t ^ RIt^ RIt^ RIt^ RIt^ RIHtHtHt ^ RI	H
t
HtHtHtHt ^ RIt^ RIHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t  ^ RIH!t! ^ RI"H#t# ^ RI$H%t% ^ RI&t^ RIH't' ^ R	I(H)t) R
 t* ! R R4      t+ ! R R4      t, ! R R4      t- ! R R4      t. ! R R4      t/ ! R R4      t0R t1R t2R t3 ! R R4      t4 ! R R4      t5]Pl                  Po                  R]]].4      R 4       t8R  t9R# )!z+Test functions for linalg.matfuncs module

N)ÚarrayÚidentityÚsqrt)Úassert_array_almost_equalÚassert_allcloseÚassert_Úassert_array_lessÚassert_array_equal)ÚfunmÚsignmÚlogmÚsqrtmÚfractional_matrix_powerÚexpmÚexpm_frechetÚ	expm_condÚnormÚ
khatri_raoÚcosmÚsinmÚtanmÚcoshmÚsinhmÚtanhm)Ú_matfuncs_inv_ssq)Úpick_pade_structure)ÚLogmExactlySingularWarning)ÚLinAlgWarning)Úminimizec                 óV   € \         P                  ! . RO. RO. RO. RO.\        R7      p V # )a3  
Return the test matrix from Experiment (1) of [1]_.

References
----------
.. [1] Awad H. Al-Mohy and Nicholas J. Higham (2012)
       "Improved Inverse Scaling and Squaring Algorithms
       for the Matrix Logarithm."
       SIAM Journal on Scientific Computing, 34 (4). C152-C169.
       ISSN 1095-7197

©Údtype)g3d’‘³Ô?ç     LÝ@r"   r"   )é    gRal!ÈAÓ?r"   r"   )r#   r#   g“©‚QI�Ô?r"   )r#   r#   r#   gÝ^Ò­Ó?)Únpr   Úfloat)ÚAs    Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/linalg/tests/test_matfuncs.pyÚ%_get_al_mohy_higham_2012_experiment_1r(      s/   € ô 	�ŠÚ"Ú ÚÚð	ô &+ô		,€Að
 €Hó    c                   ó8   a € ] tR t^2t o R tR tR tR tRtV t	R# )Ú	TestSignMc                óš   € \        . RO. RO. RO. RO. RO.4      p\        . RO. RO. R	O. R
O. RO.4      p\        V4      p\        W24       R# )ç333333=@N©r-   g3333338Àg     `Q@gfffffæH@g      @©gffffff"ÀgÍÌÌÌÌÌ@ç      2ÀgÍÌÌÌÌÌ0Àç       À©g      $Àg      @g      4Àr0   r1   ©g333333#Àg333333#@g     €9ÀgÍÌÌÌÌÌ.Àr1   ©gš™™™™™#@g333333Àg      2@g3333332@ç       @)gŸ´ªæ'@çÀ'RqöÀgÂ�¤ƒy¢.@g�¼eÚ@§5@r6   )g@¢èÈ½Àç˜UÐ›'êß?gëò9¹×\Àgçœ+Œ%¿Àr7   )gR¸…ëQÀçìQ¸…ëá?g®Gáz®ÀgffffffÀr8   )g¥×¨#Àç´w?Ã®ð?gÀk#àeÀgC,î�NÀr9   )gà®ý¡@ç4Õ2ì
à¿gÆF(£@gcÔsÚ@@r:   )r   r   r   )ÚselfÚaÚcrÚrs   &   r'   Ú	test_nilsÚTestSignM.test_nils4   sU   € ÜÒ0Ú0Ú.Ú1Ú-ð	/ó 0ˆô
 ÒQÚOÚ0ÚOÚNð	Pó Qˆô
 �!‹HˆÜ! !Ö'r)   c                óJ   € \        . RO. RO. RO. RO.4      p\        V4       R# )ç        N)rB   é   r#   r#   )rC   r#   rC   r#   ©r#   r#   r#   rC   )r#   r#   rC   r#   ©r   r   ©r;   r<   s   & r'   Útest_defective1ÚTestSignM.test_defective1B   s   € Ü’;šyª²9Ð=Ó>ˆÜˆaŽr)   c                óP   € \        . RO. RO. RO. RO. RO34      p\        V4       R# )r-   Nr.   r/   r2   r3   r4   rE   rF   s   & r'   Útest_defective2ÚTestSignM.test_defective2G   s)   € ÜÚ&Ú'Ú(Ú'Ú$ð&ó 'ˆô 	ˆaŽr)   c           
     ó\   € \        . RO. RO. RO. RO. RO. RO. RO.4      p\        V4       R# )	r5   N©r1   ç      9@rB   rB   rB   rB   rB   ©rB   ç      Àç      $@ç      @rR   rR   rB   ©rB   rB   r5   ç      .@rR   rR   rB   ©rB   rB   rB   rB   rT   rR   rB   ©rB   rB   rB   rB   rR   rQ   rB   ©rB   rB   rB   rB   rB   r1   rN   ©rB   rB   rB   rB   rB   rB   rP   rE   rF   s   & r'   Útest_defective3ÚTestSignM.test_defective3Q   s/   € ÜÒ1Ú1Ú0Ú0Ú0Ú1Ú0ð2ó 3ˆô 	ˆaŽr)   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   rG   rJ   rY   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r'   r+   r+   2   s   ø‡ € ò(òò
÷ð r)   r+   c            	       ó
  a € ] tR t^]t o ]P
                  P                  R4      R 4       t]P
                  P                  R4      R 4       tR t	R t
R tR tR tR	 tR
 tR tR tR t]P
                  P'                  RR7      ]P
                  P)                  R]]]P0                  ]]P4                  .4      R 4       4       t]P
                  P)                  R]]]P0                  ]]P4                  .4      R 4       tRtV tR# )ÚTestLogMz$ignore:.*inaccurate.*:RuntimeWarningc           
     óœ   € \        . RO. RO. RO. RO. RO. R	O. R
O.4      p\        ^4      R,          R,           V,
          p\        V4       R# )r5   gÍÌÌÌÌÌ@y                NrM   rO   rS   rU   rV   rW   rX   )r   r   r   )r;   r<   Úms   &  r'   r?   ÚTestLogM.test_nils^   sF   € äÒ1Ú1Ú0Ú0Ú0Ú1Ú0ð2ó 3ˆô �a‹[˜�_˜RÕ Õ"ˆÜˆQŽr)   c                ób   € \        4       p\        V4      p\        V4      p\        W1R RR7       R# )g-Cëâ6
?ç›+¡†›„=©ÚrtolÚatolN)r(   r   r   r   )r;   r&   ÚA_logmÚA_round_trips   &   r'   Ú*test_al_mohy_higham_2012_experiment_1_logmÚ3TestLogM.test_al_mohy_higham_2012_experiment_1_logmk   s*   € ô 2Ó3ˆÜ�a“ˆÜ˜F“|ˆÜ˜¨d¸×?r)   c           	     ó²   € \        4       p\        V\        P                  4      p\	        V4      p\        \        P                  ! W1R RR7      '       * 4       R# )çñhãˆµøä>rj   rk   N)r(   r
   r$   Úlogr   r   Úallclose)r;   r&   Ú
A_funm_logro   s   &   r'   Ú.test_al_mohy_higham_2012_experiment_1_funm_logÚ7TestLogM.test_al_mohy_higham_2012_experiment_1_funm_logt   s=   € ô 2Ó3ˆÜ˜!œRŸV™V“_ˆ
Ü˜JÓ'ˆÜ”B—K’K °dÀÔGÔGÖHr)   c           
     óX  € \         P                  P                  R 4      p\        ^^4       Fæ  pVP	                  W"3R7      p\         P
                  ! R^^	4       F´  pW4,          p\         P                  P                  V4      pRV RV 2p\        V4      pWˆ,          p	\        W•4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        V4      p
\        V
4      p\        WµVR7       RRR4       K¶  	  Kè  	  R#   + '       g   i     KÏ  ; i)ì   >gO*31 ©ÚsizezM:z eivals:Úignore)Úerr_msgNéüÿÿÿ)r$   ÚrandomÚdefault_rngÚrangeÚuniformÚlogspaceÚlinalgÚeigvalsr   r   ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr   r   )r;   ÚrngÚnÚ
M_unscaledÚscaleÚMÚWr~   ÚM_sqrtmÚM_sqrtm_round_tripÚM_logmÚM_logm_round_trips   &           r'   Útest_round_trip_random_floatÚ%TestLogM.test_round_trip_random_float|   sð   € Ü�i‰i×#Ñ#Ð$4Ó5ˆÜ�q˜!–ˆAØŸ™¨1¨&˜Ó1ˆJÜŸš R¨¨AÖ.�ØÕ&�ô —I‘I×%Ñ% aÓ(�Ø˜q˜c ¨!¨Ð-�ô   ›(�Ø%,Õ%6Ð"ÜÐ 2Ô6ô ×,Ò,×.Õ.Ü×)Ò)¨(´NÔCä! !›W�FÜ(,¨V«Ð%Ü#Ð$5À'ÕJ÷ /Ñ.ó /ó ÷ /×.Ð.ús   Ã?D	ÄD)c                óZ  € \         P                  P                  R 4      p\        ^^4       F{  pVP	                  W"34      RVP	                  W"34      ,          ,           p\         P
                  ! R^^	4       F,  pW4,          p\        V4      p\        V4      p\        Wu4       K.  	  K}  	  R# )rz   ù              ð?Nr   )	r$   r€   r�   r‚   Ústandard_normalr„   r   r   r   )r;   r‹   rŒ   r�   rŽ   r�   r“   ÚM_round_trips   &       r'   Útest_round_trip_random_complexÚ'TestLogM.test_round_trip_random_complex”   sŒ   € Ü�i‰i×#Ñ#Ð$4Ó5ˆÜ�q˜!–ˆAØ×-Ñ-¨q¨fÓ5Ø˜S×0Ñ0°!°Ó8Õ8õ9ˆJäŸš R¨¨AÖ.�ØÕ&�Ü˜a›�Ü# F›|�Ü Ö0ó	 /ó r)   c                óÒ  € Rp^^ .^ ^..^^ .^^..^^.^^..^^.^^..3 EFA  p\         P                  P                  V4      p\        \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       * 4       \
        P                  ! V\        R7      p\        V4      p\        VP                  P                  V9  4       \
        P                  ! V\        R7      p\        V4      p\        VP                  P                  V9   4       \
        P                  ! V\        R7      ) p\        V4      p\        VP                  P                  V9   4       EKD  	  R# )ÚFc              3   óf   "  € T F'  qP                   ;'       g    VP                  ^ 8  x € K)  	  R# 5i©r#   N©ÚimagÚreal©Ú.0Úws   & r'   Ú	<genexpr>ÚFTestLogM.test_logm_type_preservation_and_conversion.<locals>.<genexpr>¬   ó%   é € Ð<¹!°QŸF™F×0Ð0 a§f¡f¨q¡jÔ0»!ùó   ‚1™1TFr    N©rž   ÚDÚG)Úscipyr…   r†   r   Úanyr$   r   r%   r   r!   ÚcharÚcomplex)r;   Úcomplex_dtype_charsÚmatrix_as_listr�   r&   rn   s   &     r'   Ú*test_logm_type_preservation_and_conversionÚ3TestLogM.test_logm_type_preservation_and_conversionŸ   s.  € ð .Ðà�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð ô	"ˆNô —‘×$Ñ$ ^Ó4ˆAÜŸ›Ñ<¹!Ó<ŸŸšÑ<¹!Ó<Ó<Ô<Ô=ô —’˜¬uÔ5ˆAÜ˜!“WˆFÜ�F—L‘L×%Ñ%Ð-@Ñ@ÔAô —’˜¬wÔ7ˆAÜ˜!“WˆFÜ�F—L‘L×%Ñ%Ð)<Ñ<Ô=ô —’˜.´Ô6Ð6ˆAÜ˜!“WˆFÜ�F—L‘L×%Ñ%Ð)<Ñ<×=ó/"r)   c                óÒ  € . RO. RO. RO.p\         \        3 FË  p\        P                  ! WR7      p\        P
                  P                  V4      p\        R\        P                  ! VP                  4      P                  4       8  4       \        V4      p\        \        P                  ! VP                  \        P                  4      4       \        \!        V4      V4       KÍ  	  R# )rC   r    ç{®Gáz„?N)rC   rC   é   )r¸   rC   rC   )rC   r¸   rC   )r%   r±   r$   r   r®   r…   r†   r   Úabsoluter¢   Úsumr   Ú
issubdtyper!   Úinexactr   r   )r;   r�   ÚdtÚXr¦   ÚYs   &     r'   Útest_complex_spectrum_real_logmÚ(TestLogM.test_complex_spectrum_real_logm½   s•   € ò š	¢9Ð-ˆÜœ“.ˆBÜ—’˜Ô%ˆAÜ—‘×$Ñ$ QÓ'ˆAÜ�Dœ2Ÿ;š; q§v¡vÓ.×2Ñ2Ó4Ñ4Ô5Ü�Q“ˆAÜ”B—M’M !§'¡'¬2¯:©:Ó6Ô7ÜœD ›G QÖ'ó !r)   c                ó  € ^^ .^ R..^ ^.^^ ..3 Fr  p\         \        3 F_  p\        P                  ! WR7      p\	        V4      w  rE\        \        P                  ! VP                  \        P                  4      4       Ka  	  Kt  	  R# )rC   r    Néÿÿÿÿ)	r%   r±   r$   r   r   r   r»   r!   Úcomplexfloating)r;   r�   r½   r&   rn   Úinfos   &     r'   Útest_real_mixed_sign_spectrumÚ&TestLogM.test_real_mixed_sign_spectrumÉ   sv   € ð �Q�˜!˜R˜Ð!Ø�Q�˜!˜Q˜Ð ó"ˆAô œW“n�Ü—H’H˜QÔ)�Ü# A›w‘�ÜœŸš f§l¡l´B×4FÑ4FÓGÖHó %ó"r)   c                óŠ  € \         P                  ! ^ ^ .RR..4      p\         P                  ! ^^.^ ^ ..4      pWP                  W"P                  3 F[  p\        P
                  ! \        P                  4      ;_uu_ 4        \        V4      pRRR4       \        X4      p\        WSRR7       K]  	  R#   + '       g   i     L.; i)r#   r˜   Nrj   ©rm   )r$   r   ÚasarrayÚTÚpytestÚwarnsr   r   r   r   r   )r;   r&   ÚBr�   ÚLÚEs   &     r'   Útest_exactly_singularÚTestLogM.test_exactly_singularÔ   s�   € Ü�HŠH�q˜!�f˜r 2˜hÐ'Ó(ˆÜ�JŠJ˜˜A˜  A Ð'Ó(ˆØ—C‘C˜ŸC™C“ˆAÜ—’Ô/×JÑJ×KÕKÜ˜“G�÷ Lä�Q“ˆAÜ˜A u×-ó	  ßK×Kús   Â B2Â2Cc                ó  € \         P                  ! R ..4      p\        P                  ! \        P
                  4      ;_uu_ 4        \        V4      pRRR4       \        X4      p\        W1RR7       R#   + '       g   i     L*; i)g0Žä.ÿ++Nrj   rÉ   )	r$   r   rÌ   rÍ   r   ÚLogmNearlySingularWarningr   r   r   )r;   r�   rÏ   rÐ   s   &   r'   Útest_nearly_singularÚTestLogM.test_nearly_singularÝ   sV   € Ü�HŠH�v�h�ZÓ ˆÜ�\Š\Ô+×EÑE×FÕFÜ�Q“ˆA÷ Gä�‹GˆÜ˜ 5×)÷ G×Fús   ÁA3Á3B	c                óÚ  € ^ ^.R^ ..p^ \         P                  R,          .\         P                  ) R,          ^ ..p\        \        V4      VRR7       \        \	        V4      VRR7       R^.^ R..pR\         P                  ,          R,          ^\         P                  ,          .^ R\         P                  ,          R,          ..p\        \        V4      VRR7       \        \	        V4      VRR7       R^ .^ R..pR\         P                  ,          R,          ^ .^ R\         P                  ,          R,          ..p\        \        V4      VRR7       \        \	        V4      VRR7       R# )r#   ç      à?rj   rÉ   r˜   NrÃ   ù       €      ð¿)r$   Úpir   r   r   )r;   rÐ   rÏ   s   &  r'   Ú&test_opposite_sign_complex_eigenvaluesÚ/TestLogM.test_opposite_sign_complex_eigenvaluesä   s  € à�ˆV�b˜!�WÐˆØ”—‘�s•ˆ^œrŸu™u˜f S�j¨!˜_Ð-ˆÜœ˜Q› ¨Õ/Üœ˜Q› ¨Õ/Ø�!ˆW�q˜#�hÐˆØ”—‘�h�s�l˜AœbŸe™e�GÐ$ q¨#¬b¯e©e­)°C­-Ð&8Ð9ˆÜœ˜Q› ¨Õ/Üœ˜Q› ¨Õ/Ø�!ˆW�q˜#�hÐˆØ”—‘�h�s�l˜AÐ  C¬¯©¥I¨c¥MÐ 2Ð3ˆÜœ˜Q› ¨Õ/Üœ˜Q› ¨×/r)   c                ó¦   € ^p\         P                  ! W34      \         P                  ! V4      ,           pRVP                  n        \        V4       R# )é   FN)r$   Úonesr   ÚflagsÚ	writeabler   ©r;   rŒ   r<   s   &  r'   Útest_readonlyÚTestLogM.test_readonlyó   s6   € ØˆÜ�GŠG�Q�F‹OœbŸkšk¨!›nÕ,ˆØ!ˆ�‰ÔÜˆQŽr)   z6ValueError: attempt to get argmax of an empty sequence©Úreasonr½   c                óò   € \         P                  ! RVR7      p\        V4      p\         P                  ! ^VR7      p\        V4      pVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hR# ©r#   r    N©r#   r#   )r$   Úemptyr   ÚeyeÚshaper!   )r;   r½   r<   Úlog_aÚa0Úlog_a0s   &&    r'   Ú
test_emptyÚTestLogM.test_emptyù   s^   € ô �HŠH�V 2Ô&ˆÜ�Q“ˆÜ�VŠV�A˜RÔ ˆÜ�b“ˆà�{‰{˜fÔ$Ð$Ð$Ø�{‰{˜fŸl™lÔ*Ð*Ò*r)   r!   c                óF  € \         P                  ! \        R R7      ;_uu_ 4        \         P                  ! \        4      ;_uu_ 4        \	        \
        P                  ! RVR7      4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)zlogm result may be inaccurate)Úmatchr    N©r¸   r¸   )rÌ   rÍ   rŠ   r   r   r$   Úzeros)r;   r!   s   &&r'   Útest_no_ZeroDivisionErrorÚ"TestLogM.test_no_ZeroDivisionError  s[   € ô
 �lŠlœ>Ð1P×QÖQÜ�lŠlÔ5×6Õ6Ü”—’˜&¨Ô.Ô/÷ 7÷ RÑQß6×6ú÷ R×QÐQús#   ¥#BÁ"A<	Á*BÁ<BÂBÂB 	r[   N)r\   r]   r^   r_   rÌ   ÚmarkÚfilterwarningsr?   rp   rw   r•   r›   r´   rÀ   rÆ   rÑ   rÕ   rÛ   rã   ÚxfailÚparametrizeÚintr%   r$   Úfloat32r±   Ú	complex64rð   rö   r`   ra   rb   s   @r'   re   re   ]   s  ø‡ € Ø‡[�[×ÑÐ FÓGñ	ó Hð	ð ‡[�[×ÑÐ FÓGñ@ó Hð@òIòKò0	1ò>ò<
(ò	Iò.ò*ò0òð ‡[�[×ÑÐVÐÓWØ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ+ó Tó Xð+ð ‡[�[×Ñ˜W s¨E°2·:±:¸wÈÏÉÐ&UÓVñ0ó Wö0r)   re   c                   ó  a € ] tR tRt o R tR tR tR tR tR t	R t
 R	 tR
 tR tR tR tR tR tR tR tR tR tR t]P0                  P3                  R]]]P:                  ]]P>                  .4      R 4       t R t!R t"R t#Rt$V t%R# )Ú	TestSqrtMi  c                ó*  € \         P                  P                  R 4      p\        ^^4       Fc  pVP	                  W"34      p\         P
                  ! R^^	4       F2  pW4,          p\        V4      pVP                  V4      p\        Wu4       K4  	  Ke  	  R# )l   ¿&Û\31 Nr   ©	r$   r€   r�   r‚   r™   r„   r   Údotr   ©r;   r‹   rŒ   r�   rŽ   r�   r‘   r’   s   &       r'   r•   Ú&TestSqrtM.test_round_trip_random_float  sy   € Ü�i‰i×#Ñ#Ð$4Ó5ˆÜ�q˜!–ˆAØ×,Ñ,¨a¨VÓ4ˆJÜŸš R¨¨AÖ.�ØÕ&�Ü ›(�Ø%,§[¡[°Ó%9Ð"ÜÐ 2Ö6ó	 /ó r)   c                óf  € \         P                  P                  R 4      p\        ^^4       F�  pVP	                  W"34      RVP	                  W"34      ,          ,           p\         P
                  ! R^^	4       F2  pW4,          p\        V4      pVP                  V4      p\        Wu4       K4  	  Kƒ  	  R# )l   À&Û\31 r˜   Nr   r  r  s   &       r'   r›   Ú(TestSqrtM.test_round_trip_random_complex  s“   € Ü�i‰i×#Ñ#Ð$4Ó5ˆÜ�q˜!–ˆAØ×-Ñ-¨q¨fÓ5Ø˜s×2Ñ2°A°6Ó:Õ:õ;ˆJäŸš R¨¨AÖ.�ØÕ&�Ü ›(�Ø%,§[¡[°Ó%9Ð"ÜÐ 2Ö6ó	 /ó r)   c                óê   € Rp\        V4      p\        . RO^ V^ ^ .^ ^ V^ .. RO.4      p\        . RO^ V^ ^ .^ ^ V^ .. RO.4      p\        WD,          V4       \        V4      p\        WU,          V4       R# )r¸   Ng       ?)ç      ð?r#   r#   rC   rD   )rC   r#   r#   rØ   )r   r   r   r   )r;   ÚeÚser<   ÚsaÚesas   &     r'   Útest_badÚTestSqrtM.test_bad%  s‰   € àˆÜ�!‹WˆÜ’;Ø�a˜˜!�9Ø�a˜˜!�9Úðó ˆô ’KØ�r˜!˜A�JØ�q˜˜A�JÚðó  ˆô 	" "¥'¨1Ô-ä�A‹hˆÜ! #¥)¨QÖ/r)   c                óŒ  € Rp^^ .^ ^..^^ .^^..^^.^^..^^.^^..^^.^^..3 EF‚  p\         P                  P                  V4      p\        \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       * 4       \
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       \        P                  ! V\        R7      p\        V4      p\        VP                  P                  V9  4       \        P                  ! V\        R7      p\        V4      p\        VP                  P                  V9   4       \        P                  ! V\        R7      ) p\        V4      p\        VP                  P                  V9   4       RRR4       EK…  	  R#   + '       g   i     EK›  ; i)rž   c              3   óf   "  € T F'  qP                   ;'       g    VP                  ^ 8  x € K)  	  R# 5ir    r¡   r¤   s   & r'   r§   ÚHTestSqrtM.test_sqrtm_type_preservation_and_conversion.<locals>.<genexpr>D  r©   rª   TFr}   r    Nr«   )r®   r…   r†   r   r¯   r‡   rˆ   r‰   r   r$   r   r%   r   r!   r°   r±   ©r;   r²   r³   r�   r&   ÚA_sqrtms   &     r'   Ú+test_sqrtm_type_preservation_and_conversionÚ5TestSqrtM.test_sqrtm_type_preservation_and_conversion6  ss  € ð .Ðà�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð ô"ˆNô —‘×$Ñ$ ^Ó4ˆAÜŸ›Ñ<¹!Ó<ŸŸšÑ<¹!Ó<Ó<Ô<Ô=ô ×(Ò(×*Õ*Ü×%Ò% h´Ô>ô —H’H˜^´5Ô9�Ü ›(�Ü˜Ÿ™×*Ñ*Ð2EÑEÔFô —H’H˜^´7Ô;�Ü ›(�Ü˜Ÿ™×*Ñ*Ð.AÑAÔBô —X’X˜n´EÔ:Ð:�Ü ›(�Ü˜Ÿ™×*Ñ*Ð.AÑAÔB÷! +Ò*ó"÷ +×*Ñ*ús   Â*C8F1Æ1Gc                ó(  € Rp^^ .^ R..^ ^.^^ ... RO. R	O. R
O.3 Fñ  p\         P                  P                  V4      p\        \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      4       \
        P                  ! V\        R7      p\        V4      p\        VP                  P                  V9   4       \
        P                  ! V\        R7      p\        V4      p\        VP                  P                  V9   4       Kó  	  R# )rž   c              3   óf   "  € T F'  qP                   ;'       g    VP                  ^ 8  x € K)  	  R# 5ir    r¡   r¤   s   & r'   r§   ÚVTestSqrtM.test_sqrtm_type_conversion_mixed_sign_or_complex_spectrum.<locals>.<genexpr>b  ó%   é € Ð8±a°Ÿ™×,Ð, !§&¡&¨1¡*Ô,³aùrª   TFr    Nr«   rÃ   ©r#   rC   r#   )r#   r#   rÃ   ©rC   r#   r#   )r®   r…   r†   r   r¯   r$   r   r±   r   r!   r°   r%   r  s   &     r'   Ú9test_sqrtm_type_conversion_mixed_sign_or_complex_spectrumÚCTestSqrtM.test_sqrtm_type_conversion_mixed_sign_or_complex_spectrumY  sÝ   € Ø-Ðà�Q�˜!˜R˜Ð!Ø�Q�˜!˜Q˜Ð ÚšJª	Ð2ó4ˆNô —‘×$Ñ$ ^Ó4ˆAÜ—C“CÑ8±aÓ8—C—C’CÑ8±aÓ8Ó8Ô9ô —’˜¬wÔ7ˆAÜ˜A“hˆGÜ�G—M‘M×&Ñ&Ð*=Ñ=Ô>ô —’˜¬uÔ5ˆAÜ˜A“hˆGÜ�G—M‘M×&Ñ&Ð*=Ñ=Ö>ó#4r)   c                óÂ   € \        4       p\        V4      pW",          p\        W1R R7       \        \        P                  ! V4      \        P                  ! V4      4       R# )rs   ©rl   N)r(   r   r   r$   Útril)r;   r&   r  ro   s   &   r'   Ú%test_al_mohy_higham_2012_experiment_1Ú/TestSqrtM.test_al_mohy_higham_2012_experiment_1n  s@   € ä1Ó3ˆÜ˜“(ˆØÕ(ˆÜ˜¨dÕ3ÜœŸš Ó-¬r¯wªw°q«zÖ:r)   c           	     óT  € \         \        3 EF  p\        P                  ! . RO. RO. RO. RO.VR7      p\        P
                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        V4      p\        \        P                  ! V4      \        P                  ! R4      4       \        P                  ! V4      P                  4       '       g   Q h\        P                  ! V4      P                  4       '       g   Q h RRR4       EK  	  R#   + '       g   i     EK  ; i)	r#   r    r}   N)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õ   Úisnanr¯   Úisinf)r;   r½   r&   r  s   &   r'   Útest_strict_upper_triangularÚ&TestSqrtM.test_strict_upper_triangularv  sÌ   € ô ”u”*ˆBÜ—’ÚÚÚÚð	ð &(ô	)ˆAô
 ×(Ò(×*Õ*Ü×%Ò% h´Ô>ä ›(�Ü¤§¢¨Ó 0´"·(²(¸6Ó2BÔCÜ—x’x Ó(×,Ñ,×.Ò.Ð.Ð.Ü—x’x Ó(×,Ñ,×.Ò.Ð.Ñ.÷ +Ò*ó ÷ +×*Ñ*ús   ÁB0DÄDÄD'c                ó˜   € R ^.^ R..pR^.^ R..p\        \        P                  ! W"4      VRR7       \        \        V4      VRR7       R# )ù               @rj   rÉ   Nù       €       Àù      ð?      ð?ù      ð?      ð¿)r   r$   r  r   ©r;   r�   ÚRs   &  r'   rÛ   Ú0TestSqrtM.test_opposite_sign_complex_eigenvaluesž  sJ   € Ø�!ˆW�q˜#�hÐˆØ�AˆY˜˜D˜	Ð"ˆÜœŸš˜q› a¨eÕ4Üœ˜a› !¨%×0r)   c                óÞ  € \         P                  ! . RO. RO. RO. RO.4      p\         P                  ! \        R4      ^ ^ \        R4      .. RO. RO\        R4      ^ ^ \        R4      ..4      p\        W",          VRR7       \        P
                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        \        V4      VRR7       RRR4       R#   + '       g   i     R# ; i)rC   rØ   rj   rÉ   r}   N)rC   r#   r#   rC   r&  )	r$   r   r   r   r‡   rˆ   r‰   r   r   r1  s   &  r'   Útest_gh4866ÚTestSqrtM.test_gh4866¤  s°   € Ü�HŠH’lÚ"Ú"Ú"ð$ó %ˆô �HŠH”t˜C“y ! Q¬¨S«	Ð2Ú"Ú"Ü˜C“y ! Q¬¨S«	Ð2ð4ó 5ˆô 	˜�˜q uÕ-Ü×$Ò$×&Õ&Ü×!Ò! (¬MÔ:äœE !›H a¨eÕ4÷ '×&×&Ò&ús   Â3CÃC,	c                ó|  € \         P                  ! . RO4      p\         P                  ! \        ^4      ^^ .4      p\        W",          VRR7       \        P
                  ! 4       ;_uu_ 4        \        P                  ! R\        R7       \        \        V4      VRR7       RRR4       R#   + '       g   i     R# ; i)r¸   rj   rÉ   r}   ©ÚcategoryN)r¸   rC   r#   )	r$   Údiagr   r   r‡   rˆ   rù   r   r   r1  s   &  r'   Útest_gh5336ÚTestSqrtM.test_gh5336³  st   € Ü�GŠG’IÓˆÜ�GŠG”T˜!“W˜a �OÓ$ˆÜ˜�˜q uÕ-Ü×$Ò$×&Õ&Ü×#Ò# H´}ÕEÜœE !›H a¨eÕ4÷ '×&×&Ò&ús   Á,4B*Â*B;	c                ó8  € \         P                  ! R4      p\         P                  ! R4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\
        R7       \        \        V4      VRR7       RRR4       R#   + '       g   i     R# ; i)r¸   r}   r8  rj   rÉ   Nrô   )r$   rõ   r‡   rˆ   rù   r   r   r   r1  s   &  r'   Útest_gh7839ÚTestSqrtM.test_gh7839»  s\   € Ü�HŠH�VÓˆÜ�HŠH�VÓˆä×$Ò$×&Õ&Ü×#Ò# H´}ÕEäœE !›H a¨eÕ4÷ '×&×&Ò&ús   Á
4BÂB	c                óÐ   € \         P                  ! R4      pVP                  R4       \         P                  ! V^4       \         P                  ! \        V4      4      '       g   Q hR# )é   g®Gázî?N)rA  rA  )r$   rê   ÚfillÚfill_diagonalÚ	isrealobjr   ©r;   r�   s   & r'   Útest_gh17918ÚTestSqrtM.test_gh17918Ä  sD   € Ü�HŠH�XÓˆØ	�‰ˆtŒÜ
×Ò˜˜AÔÜ�|Š|œE !›H×%Ò%Ð%Ò%r)   c                óú   € \         P                  ! . RO. RO. RO.4      p\        V4      p\        W",          VRR7       \        VP	                  \         P
                  4      4      p\        W",          VRR7       R# )r	  rj   rÉ   g�íµ ÷Æ°>N)r	  rB   rB   )r#   rC   rÙ   )r#   r˜   r¸   )r$   r   r   r   Úastyperþ   )r;   r�   Úsqs   &  r'   Útest_gh23278ÚTestSqrtM.test_gh23278Ê  sS   € Ü�HŠH’l¢K²Ð<Ó=ˆÜ�1‹XˆÜ˜� ¨Õ/Ü�1—8‘8œBŸL™LÓ)Ó*ˆÜ˜� ¨×.r)   c                ó†  € \         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q hR# ©é
   r    N)	r$   rë   Úuint8r   r!   Úfloat64Úuint16Úuint32Úuint64rE  s   & r'   Ú-test_data_size_preservation_uint_in_float_outÚ7TestSqrtM.test_data_size_preservation_uint_in_float_outÑ  sº   € Ü�FŠF�2œRŸX™XÔ&ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸY™YÔ'ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸY™YÔ'ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸY™YÔ'ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ò+r)   c                ó†  € \         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q hR# rN  )	r$   rë   Úint8r   r!   rQ  Úint16Úint32Úint64rE  s   & r'   Ú,test_data_size_preservation_int_in_float_outÚ6TestSqrtM.test_data_size_preservation_int_in_float_outÛ  sº   € Ü�FŠF�2œRŸW™WÔ%ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸX™XÔ&ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸX™XÔ&ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸX™XÔ&ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ò+r)   c                ó¶  € \         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q hR# )r¸   r    Néþÿÿÿ)	r$   r   rX  r   r!   Ú
complex128rY  rZ  r[  rE  s   & r'   Ú+test_data_size_preservation_int_in_comp_outÚ5TestSqrtM.test_data_size_preservation_int_in_comp_outå  sî   € Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯g©gÔ6ˆÜ�Q‹x�~‰~¤§¡Ô.Ð.Ð.Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯h©hÔ7ˆÜ�Q‹x�~‰~¤§¡Ô.Ð.Ð.Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯h©hÔ7ˆÜ�Q‹x�~‰~¤§¡Ô.Ð.Ð.Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯h©hÔ7ˆÜ�Q‹x�~‰~¤§¡Ô.Ð.Ò.r)   c                ó¶  € \         P                  ! ^
\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P
                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^
\         P                  R7      p\        V4      P                  \         P                  8X  g   Q h\        \         R4      '       dS   \         P                  ! ^
\         P                  R7      p\        V4      P                  \         P                  8X  g   Q hR# R# )rO  r    Úfloat128N)	r$   rë   Úfloat16r   r!   rý   rQ  Úhasattrrd  rE  s   & r'   Ú.test_data_size_preservation_float_in_float_outÚ8TestSqrtM.test_data_size_preservation_float_in_float_outï  sÌ   € Ü�FŠF�2œRŸZ™ZÔ(ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸZ™ZÔ(ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü�FŠF�2œRŸZ™ZÔ(ˆÜ�Q‹x�~‰~¤§¡Ô+Ð+Ð+Ü”2�z×"Ò"Ü—’�r¤§¡Ô-ˆAÜ˜“8—>‘>¤R§Z¡ZÔ/Ð/Ò/ñ #r)   c                ó  € \         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q h\         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P                  8X  g   Q h\        \         R4      '       dq   \        \         R4      '       dY   \         P                  ! ^^.^ R..\         P                  R7      p\        V4      P                  \         P                  8X  g   Q hR# R# R# )r¸   r    rd  Ú
complex256Nr_  )r$   r   re  r   r!   rþ   rý   rQ  r`  rf  rd  rE  s   & r'   Ú-test_data_size_preservation_float_in_comp_outÚ7TestSqrtM.test_data_size_preservation_float_in_comp_outú  s  € Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯j©jÔ9ˆÜ�Q‹x�~‰~¤§¡Ô-Ð-Ð-Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯j©jÔ9ˆÜ�Q‹x�~‰~¤§¡Ô-Ð-Ð-Ü�HŠH�q˜!�f˜q "˜gÐ&¬b¯j©jÔ9ˆÜ�Q‹x�~‰~¤§¡Ô.Ð.Ð.Ü”2�z×"Ò"¤w¬r°<×'@Ò'@Ü—’˜1˜a˜& 1 b 'Ð*´"·+±+Ô>ˆAÜ˜“8—>‘>¤R§]¡]Ô2Ð2Ò2ñ (AÑ"r)   c                ó:  € \         P                  ! R ^.^ R..\         P                  R7      p\        V4      P                  \         P                  8X  g   Q h\         P                  ! R ^.^ R..\         P
                  R7      p\        V4      P                  \         P
                  8X  g   Q h\        \         R4      '       dY   \         P                  ! R ^.^ R..\         P                  R7      p\        V4      P                  \         P
                  8X  g   Q hR# R# )r-  r    rj  Nr.  )r$   r   rþ   r   r!   r`  rf  rj  rE  s   & r'   Ú,test_data_size_preservation_comp_in_comp_outÚ6TestSqrtM.test_data_size_preservation_comp_in_comp_out  sÅ   € Ü�HŠH�r˜1�g  3˜xÐ(´·±Ô=ˆÜ�Q‹x�~‰~¤§¡Ô-Ð-Ð-Ü�HŠH�r˜1�g  3˜xÐ(´·±Ô>ˆÜ�Q‹x�~‰~¤§¡Ô.Ð.Ð.Ü”2�|×$Ò$Ü—’˜2˜q˜' A s 8Ð,´B·M±MÔBˆAÜ˜“8—>‘>¤R§]¡]Ô2Ð2Ò2ñ %r)   r½   c                óò   € \         P                  ! RVR7      p\        V4      p\         P                  ! ^VR7      p\        V4      pVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hR# rè   )r$   rê   r   rë   rì   r!   )r;   r½   r<   Úsrî   Ús0s   &&    r'   rð   ÚTestSqrtM.test_empty  s\   € ä�HŠH�V 2Ô&ˆÜ�!‹HˆÜ�VŠV�A˜RÔ ˆÜ�2‹Yˆà�w‰w˜&Ô Ð Ð Ø�w‰w˜"Ÿ(™(Ô"Ð"Ò"r)   c                ó  € \         P                  P                  R 4      p^pVP                  ^^V,          ^V,          3R7      p\         P                  ! VRR7      \         P
                  ! ^V,          4      ,           \         P                  ! V4      rTWE,          pVR,          p\         P                  ! V4      R,          p\        \        VR,          4      \        V4      4       \        \        VR,          4      \        V4      4       R# )l   Á&Û\31 r{   )ÚkNrÃ   )ºNNNºNNr¸   rw  )rv  ºrC   Nr¸   rx  )
r$   r€   r�   rƒ   r!  rë   ÚtriuÚasfortranarrayr   r   )r;   r‹   rŒ   r&   rÏ   ÚUÚA_noncontig_cÚA_noncontig_fs   &       r'   Útest_cf_noncontig_nd_inputsÚ%TestSqrtM.test_cf_noncontig_nd_inputs  s½   € ô �i‰i×#Ñ#Ð$4Ó5ˆØˆØ�K‰K˜a  1¥ a¨¥c˜]ˆKÓ+ˆÜ�wŠw�q˜BÔ¤"§&¢&¨¨1­£+Õ-¬r¯wªw°q«zˆ1Ø�Eˆà˜+�ˆÜ×)Ò)¨!Ó,¨]Õ;ˆÜœ˜a �nÓ-¬u°]Ó/CÔDÜœ˜a Õ.Ó/´°}Ó1EÖFr)   c                ól   € \         P                  ! . RO\        R7      p\        \	        V4      V4       R# )r'  )rì   r!   N)r'  r#   rÞ   rÞ   )r$   rê   r%   r	   r   )r;   r&   s   & r'   Útest_empty_sizesÚTestSqrtM.test_empty_sizes&  s    € Ü�HŠHš<¬uÔ5ˆÜœ5 ›8 QÖ'r)   c                ó0  € \         P                  P                  R 4      pVP                  RR7      pVRRRR1RRR13,          pVRRRR1RRR13,          P	                  4       p\        \        V4      \        V4      4       VRRRRR13,          pVRRRRR13,          P	                  4       p\        \        V4      \        V4      4       VRRRR1R3,          pVRRRR1R3,          P	                  4       p\        \        V4      \        V4      4       R# )l   Â&Û\31 r{   rv  N)r%  rÞ   rÞ   rÃ   )r$   r€   r�   rƒ   Úcopyr   r   )	r;   r‹   r&   ÚA_negneg_origÚA_negneg_copyÚA_posneg_origÚA_posneg_copyÚA_negpos_origÚA_negpos_copys	   &        r'   Útest_negative_stridesÚTestSqrtM.test_negative_strides*  sú   € Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�K‰K˜YˆKÓ'ˆØ˜!™T˜r˜T¡4 R 4˜-Õ(ˆØ˜!™T˜r˜T¡4 R 4˜-Õ(×-Ñ-Ó/ˆÜœ˜mÓ,¬e°MÓ.BÔCà˜!˜Q¡ " ˜*�ˆØ˜!˜Q¡ " ˜*�×*Ñ*Ó,ˆÜœ˜mÓ,¬e°MÓ.BÔCà˜!™T˜r˜T 1˜*�ˆØ˜!™T˜r˜T 1˜*�×*Ñ*Ó,ˆÜœ˜mÓ,¬e°MÓ.BÖCr)   r[   N)&r\   r]   r^   r_   r•   r›   r  r  r  r"  r*  rÛ   r5  r;  r>  rF  rK  rU  r\  ra  rg  rk  rn  rÌ   rø   rû   rü   r%   r$   rý   r±   rþ   rð   r~  r�  r‹  r`   ra   rb   s   @r'   r   r     s»   ø‡ € ò7ò	7ò0ò"!CòF?ò*;ò/ð*ò&1ò5ò5ò5ò&ò/ò,ò,ò/ò	0ò	3ò3ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ#ó Tð#òGò(÷Dð Dr)   r   c                   óš   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 t]P                  P                  R
R7      R 4       tR tRtV tR# )ÚTestFractionalMatrixPoweri:  c                ó¸  € \         P                  P                  R 4      p\        ^^4       Fª  p\        ^^4       F—  pVP	                  W334      RVP	                  W334      ,          ,           p\         P
                  ! R^^	4       FH  pWE,          p\        V^V,          4      p\         P                  P                  Wr4      p\        W†4       KJ  	  K™  	  K¬  	  R# )éÒ  r˜   Nr   ©
r$   r€   r�   r‚   r™   r„   r   r…   Úmatrix_powerr   ©	r;   r‹   ÚprŒ   r�   rŽ   r�   ÚM_rootrš   s	   &        r'   r›   Ú8TestFractionalMatrixPower.test_round_trip_random_complex;  s­   € Ü�i‰i×#Ñ# DÓ)ˆÜ�q˜!–ˆAÜ˜1˜a–[�Ø!×1Ñ1°1°&Ó9Ø  3×#6Ñ#6¸°vÓ#>Õ>õ?�
äŸ[š[¨¨Q°Ö2�EØ"Õ*�AÜ4°Q¸¸!½Ó<�FÜ#%§9¡9×#9Ñ#9¸&Ó#D�LÜ# LÖ4ó	 3ó !ó r)   c                ó|  € \         P                  P                  R 4      p\        ^^4       FŒ  p\        ^^4       Fy  pVP	                  W334      p\         P
                  ! R^^	4       FH  pWE,          p\        V^V,          4      p\         P                  P                  Wr4      p\        W†4       KJ  	  K{  	  KŽ  	  R# )r�  Nr   r‘  r“  s	   &        r'   r•   Ú6TestFractionalMatrixPower.test_round_trip_random_floatG  s•   € ô
 �i‰i×#Ñ# DÓ)ˆÜ�q˜!–ˆAÜ˜1˜a–[�Ø ×0Ñ0°!°Ó8�
ÜŸ[š[¨¨Q°Ö2�EØ"Õ*�AÜ4°Q¸¸!½Ó<�FÜ#%§9¡9×#9Ñ#9¸&Ó#D�LÜ# LÖ4ó	 3ó !ó r)   c                ó$  € \         P                  P                  R 4      pR Fê  p\        ^
4       FØ  pVP	                  W"34      RVP	                  W"34      ,          ,           p\        VR4      p\         P                  P                  V^4      p\        WF4       \        VR4      p\         P                  P                  VR4      p\        Wx4       \        VR4      p\         P                  P                  V^4      p\        Wx4       KÚ  	  Kì  	  R# )r�  r˜   çš™™™™™É?gffffff@N)r¸   r%  rÞ   gš™™™™™Àiåÿÿÿ)	r$   r€   r�   r‚   r™   r   r…   r’  r   )	r;   r‹   rŒ   Úir�   ÚM_one_fifthrš   r¾   r¿   s	   &        r'   Ú(test_larger_abs_fractional_matrix_powersÚBTestFractionalMatrixPower.test_larger_abs_fractional_matrix_powersV  sÕ   € Ü�i‰i×#Ñ# DÓ)ˆÛˆAÜ˜2–Y�Ø×'Ñ'¨¨Ó/°"°s×7JÑ7JÈAÈ6Ó7RÕ2RÕR�Ü5°a¸Ó=�ä!Ÿy™y×5Ñ5°kÀ1ÓE�Ü Ô0ä+¨A¨tÓ4�Ü—I‘I×*Ñ*¨;¸Ó<�Ü Ô%ä+¨A¨sÓ3�Ü—I‘I×*Ñ*¨;¸Ó;�Ü Ö%ó ó r)   c                ó  € \         P                  P                  R 4      p^p\        V4       FÙ  pVP	                  ^^4      pVP                  4       p\         P
                  ! VP	                  R^4      4      pVP                  WD.R7      pRR.VP                  ^4      ,          '       d"   VRVP                  WD.R7      ,          ,           pWv,          p\        Wu4      p\        V4      p	\        W•,          4      p
\        WŠ4       KÛ  	  R# )l   ½fmø1 r{   TFr˜   Nr   )r$   r€   r�   r‚   ÚintegersÚexpÚchoicer   r   r   r   )r;   r‹   Únsamplesr›  rŒ   r”  Úmatrix_scaler&   ÚA_powerrn   ÚA_power_expm_logms   &          r'   Útest_random_matrices_and_powersÚ9TestFractionalMatrixPower.test_random_matrices_and_powersh  sÙ   € ô �i‰i×#Ñ#Ð$4Ó5ˆØˆÜ�x–ˆAà—‘˜Q Ó"ˆAØ—
‘
“ˆAô Ÿ6š6 #§,¡,¨r°1Ó"5Ó6ˆLØ—
‘
  �
Ó'ˆAØ�eˆ}˜SŸZ™Z¨›]×+Ô+Ø˜˜SŸZ™Z¨a¨V˜ZÓ4Õ4Õ4�ØÕ ˆAô
 .¨aÓ3ˆGÜ˜!“WˆFÜ $ V¥ZÓ 0ÐÜ˜GÖ7ó% !r)   c                óÄ  € \        4       p\        V\        P                  4      p\	        V4      p\
        P                  ! VR 4      p\        VR 4      p\        WERR7       \        W54       \        W24       R Fd  p\        W4      p\        V^V,          4      p\        WqRR7       \        \        P                  ! V^4      \        P                  ! V^4      4       Kf  	  R# )rØ   g•dyáý¥=r   r·   N)rØ   g«ªªªªªú?)
r(   r
   r$   r   r   r   Ú_remainder_matrix_powerr   r   r!  )r;   r&   ÚA_funm_sqrtr  ÚA_rem_powerr¥  r”  ro   s   &       r'   r"  Ú?TestFractionalMatrixPower.test_al_mohy_higham_2012_experiment_1�  s¬   € ä1Ó3ˆô ˜1œbŸg™gÓ&ˆÜ˜“(ˆÜ'×?Ò?ÀÀ3ÓGˆÜ)¨!¨SÓ1ˆÜ˜°5Õ9Ü˜Ô)Ü˜Ô-ó ˆAÜ-¨aÓ3ˆGÜ2°7¸A¸a½CÓ@ˆLÜ˜L°$Õ7ÜœBŸGšG L°!Ó4´b·g²g¸aÀ³mÖDó	 r)   c                ó^  € \         P                  P                  R 4      pVP                  ^
4      RVP                  ^
4      ,          ,            F[  p\	        ^4       FI  p\
        P                  ! W#4      pV\         P                  ! V) 4      ,          ^,
          p\        WE4       KK  	  K]  	  R# )r�  r˜   N)	r$   r€   r�   r™   r‚   r   Ú_briggs_helper_functionÚexp2r   )r;   r‹   r<   ru  Ú
x_observedÚ
x_expecteds   &     r'   Útest_briggs_helper_functionÚ5TestFractionalMatrixPower.test_briggs_helper_function•  sƒ   € Ü�i‰i×#Ñ# DÓ)ˆØ×$Ñ$ RÓ(¨2°×0CÑ0CÀBÓ0GÕ+G×GÐGˆAÜ˜1–X�Ü.×FÒFÀqÓL�
Ø¤"§'¢'¨1¨"£+Õ-°Õ1�
Ü 
Ö7ó ó Hr)   c                óä  € Rp^^ .^ ^..^^ .^^..^^.^^..^^.^^..3 EFJ  p\         P                  P                  V4      p\        \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       * 4       R Fß  p\
        P                  ! V\        R7      p\        WT4      p\        VP                  P                  V9  4       \
        P                  ! V\        R7      p\        WT4      p\        VP                  P                  V9   4       \
        P                  ! V\        R7      ) p\        WT4      p\        VP                  P                  V9   4       Ká  	  EKM  	  R# )rž   c              3   óf   "  € T F'  qP                   ;'       g    VP                  ^ 8  x € K)  	  R# 5ir    r¡   r¤   s   & r'   r§   ÚRTestFractionalMatrixPower.test_type_preservation_and_conversion.<locals>.<genexpr>«  r©   rª   TFr    Nr«   ©ç333333ÀçÍÌÌÌÌÌì¿rš  gffffff
@)r®   r…   r†   r   r¯   r$   r   r%   r   r!   r°   r±   ©r;   r²   r³   r�   r”  r&   r¥  s   &      r'   Ú%test_type_preservation_and_conversionÚ?TestFractionalMatrixPower.test_type_preservation_and_conversion�  s=  € ð
 .Ðà�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð ô	"ˆNô —‘×$Ñ$ ^Ó4ˆAÜŸ›Ñ<¹!Ó<ŸŸšÑ<¹!Ó<Ó<Ô<Ô=ó ,�ô —H’H˜^´5Ô9�Ü1°!Ó7�Ü˜Ÿ™×*Ñ*Ð2EÑEÔFô —H’H˜^´7Ô;�Ü1°!Ó7�Ü˜Ÿ™×*Ñ*Ð.AÑAÔBô —X’X˜n´EÔ:Ð:�Ü1°!Ó7�Ü˜Ÿ™×*Ñ*Ð.AÑAÖBô ,ó"r)   c                ó:  € Rp^^ .^ R..^ ^.^^ ... RO. R	O. R
O.3 Fú  p\         P                  P                  V4      p\        \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      4       R F•  p\
        P                  ! V\        R7      p\        WT4      p\        VP                  P                  V9   4       \
        P                  ! V\        R7      p\        WT4      p\        VP                  P                  V9   4       K—  	  Kü  	  R# )rž   c              3   óf   "  € T F'  qP                   ;'       g    VP                  ^ 8  x € K)  	  R# 5ir    r¡   r¤   s   & r'   r§   Ú`TestFractionalMatrixPower.test_type_conversion_mixed_sign_or_complex_spectrum.<locals>.<genexpr>É  r  rª   TFr    Nr«   rÃ   r  )r#   r#   rC   r  r¸  )r®   r…   r†   r   r¯   r$   r   r±   r   r!   r°   r%   r»  s   &      r'   Ú3test_type_conversion_mixed_sign_or_complex_spectrumÚMTestFractionalMatrixPower.test_type_conversion_mixed_sign_or_complex_spectrumÀ  së   € Ø-Ðà�Q�˜!˜R˜Ð!Ø�Q�˜!˜Q˜Ð ÚšI¢yÐ1ó3ˆNô —‘×$Ñ$ ^Ó4ˆAÜ—C“CÑ8±aÓ8—C—C’CÑ8±aÓ8Ó8Ô9ó ,�ô —H’H˜^´7Ô;�Ü1°!Ó7�Ü˜Ÿ™×*Ñ*Ð.AÑAÔBô —H’H˜^´5Ô9�Ü1°!Ó7�Ü˜Ÿ™×*Ñ*Ð.AÑAÖBó ,ó3r)   zToo unstable across LAPACKs.rå   c                ó�  € ^ ^ .^ ^ ..^^.^^..^^.^^... RO. RO. RO.3 F   p\         \        3 F�  p\        P                  ! WR7      pR F;  p\	        W44      p\        \        P                  ! V4      P                  4       4       K=  	  R F,  p\	        W44      p\	        V^V,          4      p\        Wc4       K.  	  K�  	  K¢  	  R# )r#   r    N)r#   r#   r#   )r#   rC   rC   )r#   rÃ   rC   )gffffffæ¿rº  r¹  gÍÌÌÌÌÌô¿)rš  gáz®Gáö?)	r%   r±   r$   r   r   r   r(  Úallr   )r;   r³   Únewtyper&   r”  r¥  ro   s   &      r'   Útest_singularÚ'TestFractionalMatrixPower.test_singularÙ  sÅ   € ð �Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð Ø�Q�˜!˜Q˜Ð ÚšI¢zÐ2ó	4ˆNô "¤7Ó+�Ü—H’H˜^Ô;�Û1�AÜ5°aÓ;�GÜœBŸHšH WÓ-×1Ñ1Ó3Ö4ñ 2ó %�AÜ5°aÓ;�GÜ#:¸7ÀAÀaÅCÓ#H�LÜ# LÖ4ó %ó ,ó4r)   c                óš   € R ^.^ R..pR^.^ R..p\        \        P                  ! W"4      VRR7       \        \        VR4      VRR7       R# )r-  rj   rÉ   rØ   Nr.  r/  r0  )r   r$   r  r   r1  s   &  r'   rÛ   Ú@TestFractionalMatrixPower.test_opposite_sign_complex_eigenvaluesí  sN   € Ø�!ˆW�q˜#�hÐˆØ�AˆY˜˜D˜	Ð"ˆÜœŸš˜q› a¨eÕ4ÜÔ/°°3Ó7¸À×Gr)   r[   N)r\   r]   r^   r_   r›   r•   r�  r§  r"  r³  r¼  rÁ  rÌ   rø   rú   rÆ  rÛ   r`   ra   rb   s   @r'   rŽ  rŽ  :  sd   ø‡ € ò
5ò5ò&ò$8ò2Eò(8ò!CòFCð2 ‡[�[×ÑÐ<ÐÓ=ñ5ó >ð5÷&Hð Hr)   rŽ  c            
       ó„  a € ] tR tRt o R tR t]P                  P                  R]	]
]]]]].4      ]P                  P                  R]]]P&                  ]]P*                  .4      ]P                  P                  RRR.4      R 4       4       4       tR tR	 tR
 t]P                  P5                  ^4      R 4       tRtV tR# )ÚTestExpMiô  c                ó^   € \        R ^ .^ ^ ..4      p\        \        V4      ^^ .^ ^..4       R# )rB   N)r   r   r   rF   s   & r'   Ú	test_zeroÚTestExpM.test_zeroõ  s2   € Ü�B�q�6˜1˜Q˜%�.Ó!ˆÜ!¤$ q£'¨A¨a¨5°!°A°¨-Ö8r)   c                ó|   € \        ^4      p\        V\        P                  ! \        P                  ..4      4       R# )rC   N)r   r   r$   r   r
  )r;   Úelts   & r'   Útest_single_eltÚTestExpM.test_single_eltù  s&   € Ü�1‹gˆÜ˜œRŸXšX¬¯© v hÓ/Ö0r)   Úfuncr½   rì   c                óä   € \         P                  ! W2R 7      p\         P                  ! RVR 7      pV! V4      pV! V4      pVP                  V8X  g   Q hVP                  VP                  8X  g   Q hR# )r    N)rO  rO  )r$   rõ   rì   r!   )r;   rÓ  r½   rì   r&   ÚA0ÚresultÚresult0s   &&&&    r'   Útest_small_empty_matrix_inputÚ&TestExpM.test_small_empty_matrix_inputý  s\   € ô �HŠH�UÔ%ˆÜ�XŠX�h bÔ)ˆÙ�a“ˆÙ�r“(ˆØ�|‰|˜uÔ$Ð$Ð$Ø�|‰|˜wŸ}™}Ô,Ð,Ò,r)   c                ó  € \         P                  p\        ^^.^^..4      pV^,          ^,           ^V,          ,          pV^,          ^,
          V,          p\        \	        V4      \        W4.V^,          V..4      4       \	        VP                  \         P                  4      4      P                  P                  R8X  g   Q h\	        VP                  \         P                  4      4      P                  P                  R8X  g   Q hR# )rC   rž   ÚfN)
r$   r
  r   r   r   rI  rþ   r!   r°   rý   )r;   rÐ   r<   ÚaaÚbbs   &    r'   Útest_2x2_inputÚTestExpM.test_2x2_input
  sÃ   € Ü�D‰DˆÜ�A�q�6˜A˜q˜6Ð"Ó#ˆØ��d�Q�h˜˜1�ÕˆØ��d�Q�h˜�\ˆÜœ˜Q›¤¨¨°2°aµ4¸°*Ð'=Ó!>Ô?Ü�A—H‘HœRŸ\™\Ó*Ó+×1Ñ1×6Ñ6¸#Ô=Ð=Ð=Ü�A—H‘HœRŸZ™ZÓ(Ó)×/Ñ/×4Ñ4¸Ô;Ð;Ò;r)   c                óJ  € \         P                  p\         P                  ! ^^.^^..^^.^R..^^.^^..^^.^^..^^.RR...RR7      p\         P                  ! V^,          ^,           ^V,          ,          V^,          ^,
          V,          .V^,          ^,
          ^,          V,          V^,          ^,           ^V,          ,          ..^^V^,          ,          ,          ^V^,          ,          ^,          ,           ^V^,          ,          ^,          ^^V^,          ,          ,          ,
          .V^,          ^,          ^^V^,          ,          ,          ,
          ^^V^,          ,          ,          V^,          ^,          ,           ..^^V,          ,          V^,          ^,          ,           R^V,          ,          ^V^,          ,          ^,          ,           .R^V,          ,          V^,          ^,          ,           ^^V,          ,          ^V^,          ,          ^,          ,           ..^^V^,          ,          ,          ^V^,          ,          ^,          ,           R^V^,          ,          ,          ^V^,          ,          ^,          ,           .R^V^,          ,          ,          ^V^,          ,          ^,          ,           ^^V^,          ,          ,          ^V^,          ,          ^,          ,           ..R^V,          ,          ^V,          ^,          ,           R^V,          ,          ^V,          ^,          ,           .^^V,          ,          ^V,          ^,          ,
          ^^V,          ,          ^V,          ^,          ,
          ...4      p\        \	        V4      V4       R# )rC   rž   )ÚorderNrÃ   éýÿÿÿr   éûÿÿÿ)r$   r
  r   r   r   )r;   rÐ   r<   Úa_ress   &   r'   Útest_nx2x2_inputÚTestExpM.test_nx2x2_input  sË  € Ü�D‰Dˆä�HŠH˜˜1�v  1˜vÐ&Ø˜1�v  2˜wÐ'Ø˜1�v  1˜vÐ&Ø˜1�v  1˜vÐ&Ø˜1�v  B˜xÐ(ð	*ð 25ô	6ˆô —’Ø �T !�V a¨¥c�N¨Q°­T°!­V°Q­JÐ7Ø �T !�V Q�J q�L¨1¨a­4°­6°A°aµC­.Ð9ð;à˜q  A¥�v�J¨¨!¨Q­$­°¥zÕ1°A°a¸µdµF¸Aµ:¸aÀÀ1ÀaÅ4Å½jÕ3HÐIØ˜q�D �F 1 a¨¨1­¥f¥:Õ-¨q°!°A°qµDµ&­z¸!¸Q½$¸q½&Õ/@ÐAðCà˜q �s�G A q¥D¨¥F�N¨B°°!µ­H°a¸¸1½µf¸aµZÕ,?Ð@Ø  !¥�H Q¨¥T¨!¥V�O¨Q°°!µ­W°a¸¸1½µf¸aµZÕ-?Ð@ðBà˜q  A¥�v�J¨¨!¨Q­$­°¥zÕ1°2°q¸¸A½µvµ;ÀÀ!ÀQÅ$ÅÈ½zÕ3IÐJØ  ! Q¥$¥�K¨¨1¨a­4­°­
Õ2°A°q¸¸A½µvµJÀÀ!ÀQÅ$ÅÈ½zÕ4IÐJðLà  !¥�H a¨¥c¨1¥WÕ,¨b°!°Aµ#­h¸¸!½¸QµwÕ.>Ð?Ø˜q �s�G Q q¥S¨!¥G�O¨Q°°!µ­W°a¸µc¸1µW­_Ð=ð?ðó ˆô 	œ˜Q› Ö'r)   c                óp   € ^p\         P                  ! W34      pRVP                  n        \	        V4       R# )é   FN)r$   rß   rà   rá   r   râ   s   &  r'   rã   ÚTestExpM.test_readonly*  s)   € ØˆÜ�GŠG�Q�F‹OˆØ!ˆ�‰ÔÜˆQŽr)   c                ó\  € \         P                  ! R\        R7      p\         P                  P	                  ^d4      pVP                  ^ RR4      pVP                  ^ RR4      pVP                  R4      WV3&   \         P                  ! R\        R7      pVP                  4       V^ &   \        V4      w  rgV^	8X  g   Q h\        V4      p\         P                  P                  \        V4      V4       \        ^4       F-  p\        V4      p	\         P                  P                  W‰4       K/  	  R# )é�  r    i�  iô  N)rë  rë  )rÞ   rë  rë  )r$   rõ   r%   r€   r�   r   rê   r„  r   r   Útestingr   r   r‚   )
r;   r&   r‹   r›  ÚjÚAmrg   rq  Ú	first_resÚnext_ress
   &         r'   Útest_gh18086ÚTestExpM.test_gh180860  sÝ   € ä�HŠH�Z¤uÔ-ˆÜ�i‰i×#Ñ# CÓ(ˆØ�L‰L˜˜C Ó%ˆØ�L‰L˜˜C Ó%ˆØ—*‘*˜S“/ˆˆQˆ$‰ä�XŠX�m¬5Ô1ˆØ—‘“ˆˆ1‰Ü" 2Ó&‰ˆØ�AŒvˆˆvä˜“Gˆ	Ü
�
‰
×,Ñ,¬T°)«_¸aÔ@ä�q–ˆAÜ˜A“wˆHÜ�J‰J×0Ñ0°ÖEó r)   r[   Nré   ©rC   rC   )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ã   Ú	fail_slowrñ  r`   ra   rb   s   @r'   rË  rË  ô  sÃ   ø‡ € ò9ò1ð ‡[�[×Ñ˜V d¨D°$¸¸eÀUÈEÐ%RÓSØ‡[�[×Ñ˜T 3¨¨r¯z©z¸7ÀBÇLÁLÐ"QÓRØ‡[�[×Ñ˜W v¨vÐ&6Ó7ñ-ó 8ó Só Tð-ò<ò(ò.ð ‡[�[×Ñ˜1ÓñFó öFr)   rË  c                   ó®   a € ] tR tRt o R tR tR tR t]P                  P                  ]P                  P                  RR7      R 4       4       tR	tV tR
# )ÚTestExpmFrechetiE  c                óÐ  € \         P                  ! . RO. RO. RO. R	O.\        R7      p\         P                  ! ^^.^^..\        R7      p\         P                  ! ^^.^^..\        R7      p\        P                  P                  V4      p\        P                  P                  V4      R
,          p/ RR/RR/3 F'  p\        W#3/ VB w  rx\        WG4       \        WX4       K)  	  R# )rC   r    ÚmethodÚSPSÚblockEnlargeN©rC   r¸   r%  r'  ©rÞ   é   rè  é   ©r#   r#   rC   r¸   ©r#   r#   rÞ   rý  ©:Nr¸   N:r¸   NN)r$   r   r%   r®   r…   r   r   r   )	r;   r�   r&   rÐ   Úexpected_expmÚexpected_frechetÚkwargsÚobserved_expmÚobserved_frechets	   &        r'   Útest_expm_frechetÚ!TestExpmFrechet.test_expm_frechetG  så   € ä�HŠHÚÚÚÚð	ô
 ôˆô �HŠHØ�ˆFØ�ˆFðô ôˆô �HŠHØ�ˆFØ�ˆFðô ôˆô Ÿ™×)Ñ)¨!Ó,ˆÜ Ÿ<™<×,Ñ,¨QÓ/°Õ7ÐØ˜H UÐ+¨h°~Ð-FÓGˆFÜ.:¸1Ñ.JÀ6Ñ.JÑ+ˆMÜ˜MÔ9ÜÐ,Ö?ó Hr)   c                óH  € \         P                  ! . RO. RO. RO. RO.\        R7      p\         P                  ! ^^.^^..\        R7      p\         P                  ! ^^.^^..\        R7      p\        P                  P                  V^4      p. R	Op\        VRR
 VR,          4      pV Fõ  w  rx\        P                  P                  P                  V,          p	\        P                  P                  P                  V,          p
RWš,           ,          pW´,          pWÁ,          pWÂ,          pWÃ,          p\        P                  P                  V4      p\        P                  P                  V4      R,          p\        Wï4      w  pp\        VV4       \        VV4       K÷  	  R# )rC   r    N:rC   NNrØ   rû  rü  rÿ  r   )rC   r%  rÞ   rè  é	   é   é   é   rÃ   r  )r$   r   r%   r®   r…   r   ÚzipÚ_expm_frechetÚell_table_61r   r   r   )r;   Ú
M_originalÚ
A_originalÚ
E_originalÚA_original_norm_1Úselected_m_listÚm_neighbor_pairsÚmaÚmbÚell_aÚell_bÚtarget_norm_1rŽ   r�   r&   rÐ   r  r  r  r  s   &                   r'   Útest_small_norm_expm_frechetÚ,TestExpmFrechet.test_small_norm_expm_frechet^  sm  € ä—X’XÚÚÚÚð	ô
 ôˆ
ô —X’XØ�ˆFØ�ˆFðô ôˆ
ô —X’XØ�ˆFØ�ˆFðô ôˆ
ô "ŸL™L×-Ñ-¨j¸!Ó<ÐÚ5ˆÜ˜¨s°Ð3°_ÀRÕ5HÓIÐÛ&‰FˆBÜ—L‘L×.Ñ.×;Ñ;¸BÕ?ˆEÜ—L‘L×.Ñ.×;Ñ;¸BÕ?ˆEØ 5¥=Õ1ˆMØ!Õ5ˆEØÕ"ˆAØÕ"ˆAØÕ"ˆAÜ!ŸL™L×-Ñ-¨aÓ0ˆMÜ$Ÿ|™|×0Ñ0°Ó3°FÕ;ÐÜ.:¸1Ó.@Ñ+ˆMÐ+Ü˜M¨=Ô9ÜÐ,Ð.>Ö?ó 'r)   c           	     ón  € \         P                  P                  R 4      pVP                  VP                  VP
                  VP                  3p^dp\        V4       EFU  pW!P                  ^4      ,          pVP                  4       pVP                  ^^4      pV! Ww3R7      pV! Ww3R7      p	\        P                  P                  V^4      p
Wj,          pW¸,          pW¹,          p\         P                  ! \         P                  ! WÍ.4      \         P                  ! \         P                  ! V4      V.4      .4      p\        P                  P!                  V4      p\        P                  P!                  V4      RV1VR13,          p\#        WÍ4      w  pp\%        VVRR7       \%        VVRR7       EKX  	  R# )l   ñ]±"ù1 r{   NgH¯¼šò×j>rÉ   gH¯¼šò×z>)r$   r€   r�   rƒ   ÚnormalÚstandard_cauchyÚexponentialr‚   r¢  r   r®   r…   r   ÚvstackÚhstackÚ
zeros_liker   r   r   )r;   r‹   ÚrfuncsÚntestsr›  Úrfuncr  rŒ   r  r  r  rŽ   r&   rÐ   r�   r  r  r  r  s   &                  r'   Ú	test_fuzzÚTestExpmFrechet.test_fuzz  sh  € Ü�i‰i×#Ñ#Ð$4Ó5ˆð —‘Ø—
‘
Ø×#Ñ#Ø—‘ð	!ˆð
 ˆÜ�v—ˆAØŸ:™: a›=Õ)ˆEØŸO™OÓ-ˆMØ—‘˜Q Ó#ˆAÙ Q EÔ*ˆJÙ Q EÔ*ˆJÜ %§¡× 1Ñ 1°*¸aÓ @ÐØ!Õ5ˆEØÕ"ˆAØÕ"ˆAÜ—	’	Ü—	’	˜1˜&Ó!Ü—	’	œ2Ÿ=š=¨Ó+¨QÐ/Ó0ð2ó 3ˆAô "ŸL™L×-Ñ-¨aÓ0ˆMÜ$Ÿ|™|×0Ñ0°Ó3°B°Q°B¸¹°FÕ;ÐÜ.:¸1Ó.@Ñ+ˆMÐ+Ü˜M¨=¸tÕDÜÐ,Ð.>ÀT×JÐJó# r)   c                ó6  € \         P                  ! R R.RR..\        R7      p\         P                  ! RR.RR..\        R7      p\        P                  P                  V^4       \        WR	R
7      w  r4\        WRR
7      w  rV\        W54       \        WF4       R# )g]±Ø‰?ø?gîvÿP÷þ?g¯¾^Ú?guÃ�¨øÎ?r    gîðS,éþ?g�¶·|� @gJ»Ùtõ?g~3µ•Œå?rù  ©rø  rú  N)r$   r   r%   r®   r…   r   r   r   )r;   r&   rÐ   Úsps_expmÚsps_frechetÚblockEnlarge_expmÚblockEnlarge_frechets   &      r'   Útest_problematic_matrixÚ'TestExpmFrechet.test_problematic_matrix›  sŸ   € ä�HŠHØ˜ZÐ(Ø˜ZÐ(ðô ô ˆô �HŠHØ˜ZÐ(Ø˜ZÐ(ðô ô ˆô 	�‰×Ñ˜!˜QÔÜ ,Ø˜Uô!$Ñˆä2>Ø˜^ô3-Ñ/Ðä˜Ô4Ü˜Ö:r)   zthis test is deliberately slowrå   c                óü   € R p\         P                  P                  R4      pVP                  W3R7      pVP                  W3R7      p\	        W4RR7      w  rV\	        W4RR7      w  rx\        WW4       \        Wh4       R# )iè  r�  r{   rù  r+  rú  N)r$   r€   r�   r!  r   r   )	r;   rŒ   r‹   r&   rÐ   r,  r-  r.  r/  s	   &        r'   Útest_medium_matrixÚ"TestExpmFrechet.test_medium_matrix­  sv   € ð ˆÜ�i‰i×#Ñ# DÓ)ˆØ�O‰O ! ˆOÓ(ˆØ�O‰O ! ˆOÓ(ˆÜ ,Ø˜Uô!$Ñˆä2>Ø˜^ô3-Ñ/Ðä˜Ô4Ü˜Ö:r)   r[   N)r\   r]   r^   r_   r  r  r(  r0  rÌ   rø   ÚslowÚskipr3  r`   ra   rb   s   @r'   rö  rö  E  sV   ø‡ € ò@ò.@òBKò8;ð$ ‡[�[×ÑØ‡[�[×ÑÐ=ÐÓ>ñ;ó ?ó ö;r)   rö  c                 óæ   € \         P                  ! WPP                  4      p\        V4      pWE,          W,          ,          p\	        W,           4      p\        W‚,
          4      W4,          ,          p	V	) # ©N)r$   Úreshaperì   r   r   )
r&   ÚA_normr¾   ÚX_normÚepsr”  Úp_normÚperturbationÚX_primeÚscaled_relative_errors
   &&&&&&    r'   Ú_help_expm_cond_searchrA  ½  sU   € Ü
�
Š
�1—g‘gÓ€AÜ�!‹W€FØ•7˜f�oÕ.€LÜ�1Õ#Ó$€GÜ  ¥Ó-°µÕ>ÐØ!Ð!Ð!r)   c                 ó–   € V \         P                  P                  V4      \         P                  P                  V 4      ,          ,          # r8  )r®   r…   r   )r&   rÎ   s   &&r'   Ú_normalized_likerC  Æ  s0   € Ø”—‘×!Ñ! !Ó$¤u§|¡|×'8Ñ'8¸Ó';Õ;Õ<Ð<r)   c                 óp   € V ! V4      pV ! W,           4      p\        WC,
          4      \        V4      ,          # r8  )r   )rÛ  r&   r>  r¾   r?  s   &&&  r'   Ú_relative_errorrE  Ê  s.   € Ù	ˆ!‹€AÙ�Õ Ó!€GÜ�•Óœt A›wÕ&Ð&r)   c                   ój   a € ] tR tRt o R tR tR t]P                  P                  R 4       t
RtV tR# )ÚTestExpmConditionNumberiÐ  c                ó¼   € \         P                  P                  R 4      p\        ^^4       F,  pVP	                  W"34      p\        V4      p\        ^ V4       K.  	  R# )r�  N)r$   r€   r�   r‚   r™   r   r   )r;   r‹   rŒ   r&   Úkappas   &    r'   Útest_expm_cond_smokeÚ,TestExpmConditionNumber.test_expm_cond_smokeÑ  sK   € Ü�i‰i×#Ñ# DÓ)ˆÜ�q˜!–ˆAØ×#Ñ# Q FÓ+ˆAÜ˜a“LˆEÜ˜a Ö'ó r)   c                óx   € \         P                  ! . RO. RO. RO. RO.4      p\        V4      p\        RV4       R# )göá(’ò?gã yÏùhGN)göá(’ò¿gÙ™BgÝx÷@g  °=ÛðÁg ¾Zd ðB)r#   gzNÑV7ó¿gðŠà¯…÷@g  2pñÁ)r#   r#   gá™¥¤T ò¿g?W[±ÎE÷@)r#   r#   r#   gT–†!ßò¿)r$   r   r   r   )r;   r&   rI  s   &  r'   Útest_expm_bad_condition_numberÚ6TestExpmConditionNumber.test_expm_bad_condition_numberØ  s6   € Ü�HŠHÚIÚ<Ú/Ú#ð	ó ˆô ˜!“ˆÜ˜$ Ö&r)   c                óB  € \         P                  P                  R 4      p\         P                  ! R^^R7       F9  p\         P                  ! V..4      p\        \        V4      \        V4      4       K;  	  \         P                  ! R^^R7       F9  p\         P                  ! V..4      p\        \        V4      \        V4      4       K;  	  \        ^
4       FD  pVP                  R4      p\        \        V4      \         P                  ! V4      R,          4       KF  	  R# )r�  )ÚnumNrã  r_  ró  ré   )r$   r€   r�   Úlinspacer   r   r   Úabsr„   r‚   r™   r¹   )r;   r‹   Úxr&   r›  s   &    r'   Útest_univariateÚ'TestExpmConditionNumber.test_univariateâ  sÇ   € Ü�i‰i×#Ñ# DÓ)ˆÜ—’˜R ¨×+ˆAÜ—’˜1˜#˜“ˆAÜœI a›L¬#¨a«&Ö1ñ ,ô —’˜R ¨×+ˆAÜ—’˜1˜#˜“ˆAÜœI a›L¬#¨a«&Ö1ñ ,ô �r–ˆAØ×#Ñ# FÓ+ˆAÜœI a›L¬"¯+ª+°a«.¸Õ*>Ö?ó r)   c           	     ó  € \         P                  P                  R 4      pRp^
p\        V4       EFË  pVP	                  ^^4      pVP                  WU4      p\        P                  P                  V4      p\        V4      p\        P                  P                  V4      p	\        V4      p
\        P                  ! \        WgW‰V4      p\         P                  ! WU,          4      p\        W¼RR7      pVP                   pV! V4      pV\#        \         P$                  ! WæP&                  4      V4      ,          p\)        \        VV4      p\+        VV) V,          4       \        ^4       Fi  pV\#        VP
                  ! VP&                  !  V4      ,          p\+        \        V4      \        V4      4       \)        \        VV4      p\-        VV4       Kk  	  \-        V^^V,          ,           V,          V
,          4       EKÎ  	  R# )i90  rs   zL-BFGS-Br+  N)r$   r€   ÚRandomStater‚   ÚrandintÚrandnr®   r…   r   r   r   Ú	functoolsÚpartialrA  rß   r   rS  rC  r9  rì   rE  r   r   )r;   r‹   r<  r£  r›  rŒ   r&   r:  r¾   r;  rI  rÛ  ÚguessÚoutÚxoptÚyoptÚp_bestÚp_best_relerrrí  Úp_randÚp_rand_relerrs   &                    r'   Útest_expm_cond_fuzzÚ+TestExpmConditionNumber.test_expm_cond_fuzzî  s‚  € ä�i‰i×#Ñ# EÓ*ˆØˆØˆÜ�x—ˆAØ—‘˜A˜qÓ!ˆAØ—	‘	˜!“ˆAÜ—\‘\×&Ñ& qÓ)ˆFÜ�Q“ˆAÜ—\‘\×&Ñ& qÓ)ˆFÜ˜a“LˆEô ×!Ò!Ô"8Ø˜q¨#ó/ˆAä—G’G˜A�C“LˆEÜ˜1¨JÔ7ˆCØ—5‘5ˆDÙ�T“7ˆDØÔ+¬B¯JªJ°t¿W¹WÓ,EÀqÓIÕIˆFÜ+¬D°!°VÓ<ˆMÜ˜M¨D¨5°3­;Ô7ô ˜1–X�ØÔ/°·	²	¸1¿7¹7Ñ0CÀQÓGÕG�Ü¤ V£¬d°6«lÔ;Ü /´°a¸Ó @�Ü! -°Ö?ñ	 ô ˜m¨a°!°Cµ%­i¸3Õ->ÀÕ-F×Gó? !r)   r[   N)r\   r]   r^   r_   rJ  rM  rT  rÌ   rø   r5  rd  r`   ra   rb   s   @r'   rG  rG  Ð  s5   ø‡ € ò(ò'ò
@ð ‡[�[×Ññ#Hó ö#Hr)   rG  c                   ó>   a € ] tR tRt o R tR tR tR tR tRt	V t
R# )	ÚTestKhatriRaoi  c           
     ó8  € \        \        ^^.^^..4      \        ^^.^^..4      4      p\        V\        ^^.^^.^^.^^ ..4      4       \        \        P                  ! ^^.4      \        P                  ! ^^.4      4      p\        VP
                  R4       R# )rC   N)r'  r¸   )r   r   r	   r$   rê   rì   ©r;   r<   Úbs   &  r'   Ú
test_basicÚTestKhatriRao.test_basic  sž   € Ü”u˜q !˜f q¨! fÐ-Ó.Ü˜q !˜f q¨! fÐ-Ó.ó0ˆô 	˜1œe a¨ WØ&'¨ WØ&(¨" XØ&(¨" Xð%/ó 0ô 	1ô
 ”r—x’x  A Ó'¬¯ª°1°a°&Ó)9Ó:ˆÜ˜1Ÿ7™7 FÖ+r)   c                óÞ   € \         P                  ! \        4      ;_uu_ 4        \        . RO. RO.4      p\        ^^.^^..4      p\	        W4       RRR4       R#   + '       g   i     R# ; i)rC   N©rC   r¸   r%  ©r'  rÞ   rý  ©rÌ   ÚraisesÚ
ValueErrorr   r   ri  s   &  r'   Útest_number_of_columns_equalityÚ-TestKhatriRao.test_number_of_columns_equality#  sX   € Ü�]Š]œ:×&Õ&Ü’yÚ ð"ó #ˆAä˜˜1�vØ˜1�vðó  ˆAä�qÔ÷ '×&×&Ò&ús   £.AÁA,	c                ój  € \         P                  ! \        4      ;_uu_ 4        \        . RO4      p\        . RO4      p\	        W4       RRR4       \         P                  ! \        4      ;_uu_ 4        \        . RO4      p\        . RO. RO.4      p\	        W4       RRR4       \         P                  ! \        4      ;_uu_ 4        \        . RO. RO.4      p\        . RO4      p\	        W4       RRR4       R#   + '       g   i     Lº; i  + '       g   i     Ly; i  + '       g   i     R# ; i)rC   Nrn  ro  )rè  rþ  r
  rp  ri  s   &  r'   Útest_to_assure_2d_arrayÚ%TestKhatriRao.test_to_assure_2d_array+  sÑ   € Ü�]Š]œ:×&Õ&ä’iÓ ˆAÜ’iÓ ˆAÜ�qÔ÷	 'ô �]Š]œ:×&Õ&ä’iÓ ˆAÜÚÚðó ˆAô �qÔ÷ 'ô �]Š]œ:×&Õ&äÚÚðó ˆAô ’iÓ ˆAÜ�qÔ÷ 'Ñ&÷ '×&ú÷ '×&ú÷ '×&Ð&ús#   £&C;Á3*DÃ*D!Ã;D	ÄD	Ä!D2	c                ób  € \        ^^.^^..4      p\        ^^.^^..4      p\        W4      p\        P                  ! \	        VP
                  ^,          4       Uu. uF,  p\        P                  ! VRV3,          VRV3,          4      NK.  	  up4      P                  p\        W54       R# u upi )rC   rv  N)	r   r   r$   r"  r‚   rì   ÚkronrË   r	   )r;   r<   rj  Úres1ru  Úres2s   &     r'   Útest_equality_of_two_equationsÚ,TestKhatriRao.test_equality_of_two_equationsD  s¢   € Ü�A�q�6˜A˜q˜6Ð"Ó#ˆÜ�A�q�6˜A˜q˜6Ð"Ó#ˆä˜!ÓˆÜ�yŠyÜ#(¨¯©°­Ô#4ó6Ù#4˜aô Ÿ'š' ! A q D¥'¨1¨Q°¨T­7Ö3Ù#4ñ6ó 7ß78±qð 	ô 	˜4Ö&ùò6s   Á2B,c                ób  € \         P                  ! R4      p\         P                  ! R4      p\        W4      p\        V\         P                  ! R4      4       \         P                  ! R4      p\         P                  ! R4      p\        W4      p\        V\         P                  ! R4      4       R# )r#   N)r#   r¸   )r%  r¸   )r%  r#   )rÞ   r#   )r  r#   )r$   rê   r   r   )r;   r<   rj  Úress   &   r'   rð   ÚTestKhatriRao.test_emptyN  st   € Ü�HŠH�VÓˆÜ�HŠH�VÓˆÜ˜ÓˆÜ˜œRŸXšX fÓ-Ô.ä�HŠH�VÓˆÜ�HŠH�VÓˆÜ˜ÓˆÜ˜œRŸXšX gÓ.Ö/r)   r[   N)r\   r]   r^   r_   rk  rs  rv  r|  rð   r`   ra   rb   s   @r'   rg  rg    s#   ø‡ € ò
,òòò2'÷	0ð 	0r)   rg  rÓ  c                 ó¶   € \         P                  ! 4       ;_uu_ 4        V ! \        P                  ! ^4      RR7       RRR4       R#   + '       g   i     R# ; i)r¸   F)ÚdispN)rÌ   Údeprecated_callr$   rë   )rÓ  s   &r'   Útest_disp_depr„  Y  s4   € ô 
×	Ò	×	!Õ	!ÙŒR�VŠV�A‹Y˜UÕ#÷ 
"×	!×	!Ò	!ús   žAÁA	c                  ó¼   € \         P                  ! 4       ;_uu_ 4        \        \        P                  ! ^4      ^
R7       RRR4       R#   + '       g   i     R# ; i)r¸   )Ú	blocksizeN)rÌ   rƒ  r   r$   rë   r[   r)   r'   Útest_blocksize_depr‡  _  s2   € Ü	×	Ò	×	!Õ	!ÜŒb�fŠf�Q‹i 2Õ&÷ 
"×	!×	!Ò	!ús   ž"A
Á
A	):Ú__doc__rZ  rÌ   r‡   Únumpyr$   r   r   r   Únumpy.testingr   r   r   r   r	   Úscipy.linalgr®   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úscipy.linalg._matfuncsr   Úscipy.linalg._matfuncs_inv_ssqr   Úscipy.linalg._expm_frechetr   Úscipy.optimizer   r(   r+   re   r   rŽ  rË  rö  rA  rC  rE  rG  rg  rø   rû   r„  r‡  r[   r)   r'   Ú<module>r�     s  ðñó Û Û ã ß 'Ñ '÷Bõ Bó ÷A÷ A÷ A÷ Aó Aõ +Ý 6Ý EÛ !Ý &Ý #ò÷*'ñ '÷Vn0ñ n0÷biDñ iD÷X	wHñ wH÷tNFñ NF÷bu;ñ u;òp"ò=ò'÷BHñ BH÷JB0ñ B0ðH ‡�×Ñ˜Ø  uÐ-ó/ñ$ó/ð$ô'r)   