Ë
    0Ò^jV  ã                   ó  — d Z ddlZddlZddl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 ddlmZmZ ddlmZ ddlmZmZmZmZmZmZ ddlmZ dd	lmZ dd
lm Z m!Z! ddlZ"ddl#Z"d„ Z$d„ Z%d„ Z& G d„ d«      Z' G d„ d«      Z(y)z3 Test functions for scipy.linalg._matfuncs module

é    N)ÚarrayÚeyeÚexpÚrandom)Úassert_allcloseÚassert_Úassert_array_almost_equalÚassert_equalÚassert_array_almost_equal_nulp)Ú	csc_arrayÚSparseEfficiencyWarning)Ú	eye_array)ÚexpmÚ_expmÚProductOperatorÚMatrixPowerOperatorÚ_onenorm_matrix_power_nnmÚmatrix_power)Úmatrix)Úlogm)Ú	factorialÚbinomc                 ó¢  — | t        | «      k7  s| dk  rt        d«      ‚t        | «      } |t        |«      k7  s|dk  rt        d«      ‚t        |«      }t        || «      \  }}t        j                  d|  |z  «      }|t        j                  d|  «      z  }t        j
                  |g| |z
  z  |«      t        j
                  |g|z  || z
  «      z   S )af  
    A helper function for testing matrix functions.

    Parameters
    ----------
    n : int greater than 1
        Order of the square matrix to be returned.
    p : non-negative integer
        Power of the matrix.

    Returns
    -------
    out : ndarray representing a square matrix
        A Forsythe matrix of order n, raised to the power p.

    é   z#n must be an integer greater than 1r   z p must be a non-negative integerç      $@)ÚintÚ
ValueErrorÚdivmodÚnpÚpowerÚdiag)ÚnÚpÚaÚbÚlargeÚsmalls         úr/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/sparse/linalg/tests/test_matfuncs.pyÚ_burkardt_13_powerr)      sÃ   € ð$ 	ŒC�‹F‚{�a˜!’eÜÐ>Ó?Ð?ÜˆA‹€AØŒC�‹F‚{�a˜!’eÜÐ;Ó<Ð<ÜˆA‹€Aô �!�Q‹<�D€A€qÜ�H‰H�T˜A˜2˜a™4Ó €EØ”B—H‘H˜T A 2Ó&Ñ&€EÜ�7‰7�E�7˜A˜a™C‘= !Ó$¤r§w¡w°¨w°q©y¸!¸A¹#Ó'>Ñ>Ð>ó    c                  óv  — t         j                  j                  d«       t        dd«      D ]‹  } t        d«      D ]{  }t         j                  j                  | | f«      }t         j                  j                  ||«      }t        ||«      }t         j                  j                  |d«      }t        ||«       Œ} Œ� y )NéÒ  é   é   )	r   r   ÚseedÚrangeÚlinalgr   r   Únormr   )r"   r#   ÚMÚMpÚobservedÚexpecteds         r(   Útest_onenorm_matrix_power_nnmr7   <   s’   € Ü‡I�I‡N�N�4ÔÜ�1�a‹[ò 0ˆÜ�q“ò 	0ˆAÜ—	‘	× Ñ  ! Q Ó(ˆAÜ—‘×'Ñ'¨¨1Ó-ˆBÜ0°°AÓ6ˆHÜ—y‘y—~‘~ b¨!Ó,ˆHÜ˜H hÕ/ñ	0ñ0r*   c                  ó  — t         j                  j                  d«       t         j                  j                  ddd¬«      \  } }t         j                  j                  d¬«      }t	        || |ffd¬«      }t	        || |ffd¬«      }|j                  «       }d	D ]n  }t        ||«      j                  «       }t        ||«      j                  «       }t         j                  j                  ||«      }	t        ||	«       t        ||«       Œp y )
Nr,   r   é   )r   é   )Úsize)r:   )r9   r9   )Úshape)r   r.   r:   )	r   r   r/   Úrandintr   Útoarrayr   r1   r   )
ÚrowÚcolÚdataÚAmatÚAÚAdenser    ÚApowÚAmat_powÚ
Adense_pows
             r(   Útest_matrix_powerrH   F   sà   € Ü‡I�I‡N�N�4ÔÜ�y‰y× Ñ   A¨FÐ Ó3�H€CˆÜ�9‰9×Ñ ÐÓ&€DÜ�d˜S #˜JÐ'¨vÔ6€DÜ�4˜#˜s˜Ð$¨FÔ3€AØ�Y‰Y‹[€FØò (ˆÜ˜A˜uÓ%×-Ñ-Ó/ˆÜ  eÓ,×4Ñ4Ó6ˆÜ—Y‘Y×+Ñ+¨F°EÓ:ˆ
Ü˜˜jÔ)Ü˜˜hÕ'ñ(r*   c                   óÀ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z y) ÚTestExpMc                 ó\   — t        ddgddgg«      }t        t        |«      ddgddgg«       y ©Nç        r   r-   )r   r	   r   ©Úselfr$   s     r(   Útest_zero_ndarrayzTestExpM.test_zero_ndarrayV   s2   € Ü�B�q�6˜1˜Q˜%�.Ó!ˆÜ!¤$ q£'¨A¨a¨5°!°A°¨-Õ8r*   c                 óx   — t        ddgddgg«      }t        t        |«      j                  «       ddgddgg«       y rL   )r   r	   r   r>   rN   s     r(   Útest_zero_sparsezTestExpM.test_zero_sparseZ   s9   € Ü˜˜1�v˜q ˜e�nÓ%ˆÜ!¤$ q£'§/¡/Ó"3°a¸°U¸A¸a¸5°MÕBr*   c                 ó\   — t        ddgddgg«      }t        t        |«      ddgddgg«       y rL   )r   r	   r   rN   s     r(   Útest_zero_matrixzTestExpM.test_zero_matrix^   s2   € Ü�R˜�F˜A˜a˜5�>Ó"ˆÜ!¤$ q£'¨A¨a¨5°!°A°¨-Õ8r*   c                 óÀ  — t        t        j                  dgg«      «      }t        t        d«      |«       t        t        dgg«      |«       t        t        t	        dgg«      «      |«       t        t        t        j                  dgg«      «      |«       t        t        t        dgg«      «      j                  «       |«       t        t        j                  dgg«      «      }t        t        d«      |«       t        t        dgg«      |«       t        t        t	        dgg«      «      |«       t        t        t        dgg«      «      j                  «       |«       y )Nr-   ))r-   ù              ð?))rV   )r   r   r   r   r   r   r>   )rO   rC   ÚBs      r(   Útest_misc_typeszTestExpM.test_misc_typesb   sú   € Ü”—‘˜A˜3˜%“Ó!ˆÜœ˜W› qÔ)Üœ˜q˜c˜U› QÔ'ÜœœV a S E›]Ó+¨QÔ/ÜœœRŸX™X¨ s e›_Ó-¨qÔ1ÜœœY¨¨ uÓ-Ó.×6Ñ6Ó8¸!Ô<Ü”—‘˜B˜4˜&Ó!Ó"ˆÜœ˜X›¨Ô*Üœ˜r˜d˜V› aÔ(ÜœœV b T F›^Ó,¨aÔ0ÜœœY¨¨ vÓ.Ó/×7Ñ7Ó9¸1Õ=r*   c                 óH  — t        g d¢g d¢g d¢gt        ¬«      }t        j                  d«      }t        j                  d«      }t	        j
                  |d|z  d|d|z  z
  z  gd	|d
||z
  z  gd	d	|ggt        ¬«      }t        |«      j                  «       }t        ||«       y )N)r-   é   r   )r   r-   r.   )r   r   r   ©Údtyper-   r   rZ   é   r   r.   )	r   ÚfloatÚmathr   r   r   r   r>   r	   )rO   rC   Úe1Úe2r6   r5   s         r(   Útest_bidiagonal_sparsezTestExpM.test_bidiagonal_sparseo   s¤   € ÜÚÚÚðô $ô%ˆô �X‰X�a‹[ˆÜ�X‰X�a‹[ˆÜ—8‘8Ø��2‘�r˜2  "¡™9‘~Ð&Ø��A�r˜B‘w‘KÐ Ø��2ˆJðô  %ô&ˆô ˜“7—?‘?Ó$ˆÜ! (¨HÕ5r*   c                 óä   — t         j                  t         j                  fD ]M  }dD ]F  }|t        d|¬«      z  }t	        |«      }t        ||¬«      t        d|¬«      z  }t        ||d¬«       ŒH ŒO y ©N©ç{®Gáz„?çš™™™™™¹?g      à?r-   é
   rZ   r[   éd   ©Únulp)r   Úfloat32Úfloat64r   r   r   r   ©rO   r\   ÚscalerC   r5   r6   s         r(   Útest_padecases_dtype_floatz#TestExpM.test_padecases_dtype_float}   so   € Ü—j‘j¤"§*¡*Ð-ò 	MˆEØ2ò M�ØœC ¨Ô/Ñ/�Ü ›7�Ü˜u¨EÔ2´S¸À%Ô5HÑH�Ü.¨x¸ÈÖLñ	Mñ	Mr*   c                 óä   — t         j                  t         j                  fD ]M  }dD ]F  }|t        d|¬«      z  }t	        |«      }t        ||¬«      t        d|¬«      z  }t        ||d¬«       ŒH ŒO y rd   )r   Ú	complex64Ú
complex128r   r   r   r   rn   s         r(   Útest_padecases_dtype_complexz%TestExpM.test_padecases_dtype_complex…   so   € Ü—l‘l¤B§M¡MÐ2ò 	MˆEØ2ò M�ØœC ¨Ô/Ñ/�Ü ›7�Ü˜u¨EÔ2´S¸À%Ô5HÑH�Ü.¨x¸ÈÖLñ	Mñ	Mr*   c                 ó¼  — t         j                  }dD ]»  }|t        dd|d¬«      z  }t        ||¬«      t	        d|¬«      z  }t        j                  «       5  d}t        j                  d|t        «       t        |d¬	«      j                  «       }t        |d
¬	«      j                  «       }d d d «       t        |d¬«       t        |d¬«       Œ½ y # 1 sw Y   Œ(xY w)Nre   rZ   Úcsc©r\   Úformatr[   úChanging the sparsity structureÚignoreT)Úuse_exact_onenormFri   rj   )r   rm   r   r   r   ÚwarningsÚcatch_warningsÚfilterwarningsr   r   r>   r   )rO   r\   ro   r$   ÚeÚmsgÚexact_onenormÚinexact_onenorms           r(   Ú!test_padecases_dtype_sparse_floatz*TestExpM.test_padecases_dtype_sparse_float�   sÊ   € ä—
‘
ˆØ.ò 		IˆEØœ	 ! Q¨e¸EÔBÑBˆAÜ�E Ô'¬#¨a°uÔ*=Ñ=ˆAÜ×(Ñ(Ó*ñ NØ7�Ü×'Ñ'¨°#Ô7NÔOÜ % a¸4Ô @× HÑ HÓ J�Ü"'¨¸UÔ"C×"KÑ"KÓ"M�÷	Nô
 +¨=¸!À#ÕFÜ*¨?¸AÀCÖHñ		I÷Nð Nús   ÁACÃC	c                 ó^  — t         j                  }dD ]Œ  }|t        dd|d¬«      z  }t        |«      t	        d|¬«      z  }t        j                  «       5  d}t        j                  d|t        «       t        t        |«      j                  «       |d¬	«       d d d «       ŒŽ y # 1 sw Y   Œ™xY w)
Nre   rZ   rv   rw   r[   ry   rz   ri   rj   )r   rs   r   r   r   r|   r}   r~   r   r   r   r>   )rO   r\   ro   r$   r   r€   s         r(   Ú#test_padecases_dtype_sparse_complexz,TestExpM.test_padecases_dtype_sparse_complex›   s    € ä—‘ˆØ.ò 	OˆEØœ	 ! Q¨e¸EÔBÑBˆAÜ�E“
œS ¨%Ô0Ñ0ˆAÜ×(Ñ(Ó*ñ OØ7�Ü×'Ñ'¨°#Ô7NÔOÜ.¬t°A«w¯©Ó/@À!È#ÕN÷Oð Oñ	O÷Oð Oús   ÁAB#Â#B,	c           
      ó´  — t        j                  d«       t        j                  t        j                  fD ]   }t        dd«      D ]�  }dD ]ˆ  }t        |«      t        j                  ||«      |z  z   j                  |«      }t        j                  |«      r|dt        j                  ||«      z  |z  z   }t        t        t        |«      «      |«       ŒŠ Œ‘ Œ¢ y )Nr,   r-   rh   )ç-Cëâ6?çü©ñÒMbP?rf   rg   r-   r   g      Y@rV   )r   r/   r   rm   rs   r0   r   ÚrandÚastypeÚiscomplexobjr	   r   r   )rO   r\   r"   ro   rC   s        r(   Útest_logm_consistencyzTestExpM.test_logm_consistency¦   sº   € Ü�‰�DÔÜ—j‘j¤"§-¡-Ð0ò 	@ˆEÜ˜1˜b“\ò @�ØBò @�Eä˜Q›¤&§+¡+¨a°Ó"3°eÑ";Ñ;×CÑCÀEÓJ�AÜ—‘ qÔ)Ø ¤V§[¡[°°AÓ%6Ñ 6¸Ñ >Ñ>˜Ü-¬d´4¸³7«m¸QÕ?ñ@ñ@ñ	@r*   c                 óˆ   — t        j                  g d¢g d¢g d¢g d¢g«      }t        t        |«      t        d|z  «      «       y )N)éýÿÿÿr-   r-   r-   )r-   rŽ   r-   r-   )r-   r-   rŽ   r-   )r-   r-   r-   rŽ   ç      ð?)r   r   r   r   ©rO   ÚQs     r(   Útest_integer_matrixzTestExpM.test_integer_matrix±   s9   € Ü�H‰HÚÚÚÚð	ó ˆô
 	œ˜Q›¤ c¨A¡g£Õ/r*   c                 ó8  — t        j                  g d¢g d¢g d¢g d¢gt         j                  ¬«      }t        t	        |«      t	        d|z  «      «       t        |«      }t        t	        |«      j                  «       t	        d|z  «      j                  «       «       y )N)iþÿÿiô  r   r   )r   iÚýÿÿih  é¾   )r   iv  iŠýÿÿr   ©r   r   r   r   r[   r�   )r   r   Úint16r   r   r   r>   r�   s     r(   Útest_integer_matrix_2zTestExpM.test_integer_matrix_2¹   sq   € ä�H‰HÒ'Ú)Ú'Ú"ð$ô ,.¯8©8ô5ˆô 	œ˜Q›¤ c¨A¡g£Ô/ä�a‹LˆÜœ˜Q›Ÿ™Ó)¬4°°a±«=×+@Ñ+@Ó+BÕCr*   c                 óN  — t        j                  g d¢g d¢g d¢g d¢gt        ¬«      }t        j                  g d¢g d¢g d¢g d	¢gt        ¬«      }t        t	        |«      |d
¬«       t        j                  d«       d}|j                  «       }||d<   t        j                  «       5  t        j                  ddt        «       t        j                  ddt        «       t	        |«      }d d d «       d
}d|z  }t        t        j                  |||¬«       «       y # 1 sw Y   Œ4xY w)N)g3d’‘³Ô?ç     LÝ@r™   r™   )r   gRal!ÈAÓ?r™   r™   )r   r   g“©‚QI�Ô?r™   )r   r   r   gÝ^Ò­Ó?r[   )g“Ø<’ò¿göGgÝx÷@g9‚¸=ÛðÁgý¯[d ðB)rM   gÐÈ'ÑV7ó¿gZºá¯…÷@gáÆ2pñÁ)rM   rM   gŽìÑ¤T ò¿g\Ge±ÎE÷@)rM   rM   rM   gPëÇ†!ßò¿r‡   )Úrtolr,   g—ÔFFõg<)r-   r   rz   zIll-conditioned.*zAn ill-conditioned.*ri   )rš   Úatol)r   r   r^   r   r   r   r/   Úcopyr|   r}   r~   ÚRuntimeWarningr   Úallclose)rO   rC   ÚA_logmÚtinyÚA_logm_perturbedÚA_expm_logm_perturbedrš   r›   s           r(   Útest_triangularity_perturbationz(TestExpM.test_triangularity_perturbationÄ   s  € ô
 �H‰HÚ&Ú$Ú!Ú ð	"ô
 ôˆô —‘ò@ò@ò@ò@ðAô ô	ˆô 	œ˜V› a¨dÕ3ô 	�‰�DÔØˆØ!Ÿ;™;›=ÐØ!%Ð˜ÑÜ×$Ñ$Ó&ñ 	;Ü×#Ñ# HÐ.AÄ>ÔRÜ×#Ñ# HÐ.DÄnÔUä$(Ð)9Ó$:Ð!÷		;ð
 ˆØ�T‰zˆÜ”B—K‘KÐ 5°q¸tÈ$ÔOÐOÕP÷	;ð 	;ús   Â&ADÄD$c                 ó
  — t        j                  d«      }t        j                  d«      }t        j                  ddgddggt        ¬«      }t        j                  |dgd|ggt        ¬«      }t	        |«      }t        ||«       y )Nr-   r   r   r[   ©r   r   r   r^   r   r   )rO   Úexp1Úexp2rC   ÚdesiredÚactuals         r(   Útest_burkardt_1zTestExpM.test_burkardt_1ê   s�   € ô6 �v‰v�a‹yˆÜ�v‰v�a‹yˆÜ�H‰HØ�ˆFØ�ˆFðô ôˆô —(‘(Ø�1ˆIØ�ˆIðô ôˆô �a“ˆÜ˜ Õ(r*   c                 ó¶   — t        j                  ddgddggt        ¬«      }t        j                  ddgddggt        ¬«      }t        |«      }t	        ||«       y )	Nr-   rZ   r   r[   gkÔQ©C@gb¥”]IG@gd¥”]IG@g�÷Jó[K@©r   r   r^   r   r   ©rO   rC   r¨   r©   s       r(   Útest_burkardt_2zTestExpM.test_burkardt_2  sk   € ô �H‰HØ�ˆFØ�ˆFðô ôˆô —(‘(ØÐ!3Ð4ØÐ!3Ð4ðô ôˆô �a“ˆÜ˜ Õ(r*   c                 ó²  — t        j                  d«      }t        j                  d«      }t        j                  ddgddggt        ¬«      }t        j                  dd|z  z  dd|z  z  z
  t        j                  d«       d|z  z  gdt        j                  d«      z  d|z  z  d	d|z  z  dd|z  z  z   ggt        ¬«      }t        |«      }t        ||«       y )
Nr-   é'   r   iÙÿÿÿiØÿÿÿr[   é&   iÚÿÿÿéÿÿÿÿ)r   r   r   r^   Úexpm1r   r   )rO   r¦   Úexp39rC   r¨   r©   s         r(   Útest_burkardt_3zTestExpM.test_burkardt_3   sÞ   € ô �v‰v�a‹yˆÜ—‘�r“
ˆÜ�H‰HØ�ˆFØ�#ˆJðô ôˆô —(‘(à�B�t‘G‘˜q " U¡(™|Ñ+Ü—‘˜#“� " T¡'Ñ*ð,ð ”2—8‘8˜C“=Ñ  B t¡GÑ,Ø�B�t‘G‘˜r 2 e¡8™}Ñ,ð.ð	ô ôˆô �a“ˆÜ˜ Õ(r*   c                 óŠ  — t        j                  ddgddggt        ¬«      }t        j                  ddgdd	ggt        ¬«      }t        j                  dd
gddggt        ¬«      }t        j                  ddgt        ¬«      }t        j                  |t        j                  |«      z  |«      }t        |«      }t        ||«       y )NiÏÿÿÿé   iÀÿÿÿé   r[   rZ   r-   r9   r   ç      à¿éþÿÿÿg      ø?iïÿÿÿr²   )r   r   r^   Údotr   r   r   )rO   rC   ÚUÚVÚwr¨   r©   s          r(   Útest_burkardt_4zTestExpM.test_burkardt_45  s©   € ô �H‰HØ�"ˆIØ�"ˆIðô ôˆô �H‰H�q˜!�f˜q !˜fÐ%¬UÔ3ˆÜ�H‰H�q˜$�i " c Ð+´5Ô9ˆÜ�H‰H�c˜2�Y¤eÔ,ˆÜ—&‘&˜œRŸV™V A›Y™¨Ó*ˆÜ�a“ˆÜ˜ Õ(r*   c                 óÎ   — t        j                  g d¢g d¢g d¢g d¢gt        ¬«      }t        j                  g d¢g d¢g d¢g d	¢gt        ¬«      }t        |«      }t	        ||«       y )
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-   r¬   r­   s       r(   Útest_burkardt_5zTestExpM.test_burkardt_5D  sc   € ô
 �H‰HÚÚÚÚð	ô
 ôˆô —(‘(ÚÚÚÚð	ô
 ôˆô �a“ˆÜ˜ Õ(r*   c                 óà   — t        j                  d«      }t        j                  ddgddggt        ¬«      }t        j                  ||gd|ggt        ¬«      }t	        |«      }t        ||«       y ©Nr-   r   r[   r¥   )rO   r¦   rC   r¨   r©   s        r(   Útest_burkardt_6zTestExpM.test_burkardt_6X  st   € ô �v‰v�a‹yˆÜ�H‰HØ�ˆFØ�ˆFðô ôˆô —(‘(Ø�4ˆLØ�ˆIðô ôˆô �a“ˆÜ˜ Õ(r*   c                 ó  — t        j                  d«      }t        j                  d«      }t        j                  d|z   dgdd|z
  ggt        ¬«      }t        j                  ||gd|ggt        ¬«      }t        |«      }t        ||«       y rÆ   )r   r   Úspacingr   r^   r   r   )rO   r¦   ÚepsrC   r¨   r©   s         r(   Útest_burkardt_7zTestExpM.test_burkardt_7h  s‰   € ô
 �v‰v�a‹yˆÜ�j‰j˜‹mˆÜ�H‰HØ�‰W�aˆLØ��C‘ˆLðô ôˆô —(‘(Ø�4ˆLØ�ˆIðô ôˆô �a“ˆÜ˜ Õ(r*   c                 ó”  — t        j                  d«      }t        j                  d«      }t        j                  g d¢g d¢g d¢gt        ¬«      }t        j                  d|z  |z
  d|z  d|z  z
  d	|z  d	|z  z
  gd
|z  |z   d
|z  d|z  z   d|z  d	|z  z   gd|z  d|z  d|z  ggt        ¬«      dz  }t	        |«      }t        ||«       y )Nr9   é   )é   é   r:   )éûÿÿÿr²   iúÿÿÿ)r9   r9   rÍ   r[   é   r.   r   i÷ÿÿÿrº   g      Ð?r¥   )rO   Úexp4Úexp16rC   r¨   r©   s         r(   Útest_burkardt_8zTestExpM.test_burkardt_8z  sä   € ä�v‰v�a‹yˆÜ—‘�r“
ˆÜ�H‰HÚÚÚðô ô	ˆô
 —(‘(Ø�‰X˜‰_˜b ™h¨¨4©Ñ/°°5±¸1¸T¹6Ñ1AÐBØ�‰X˜‰_˜b ™h¨¨4©Ñ/°°E±¸A¸d¹FÑ1BÐCØ�‰X�r˜%‘x  5¡Ð)ðô ô	ð #ñ	#ˆô
 �a“ˆÜ˜ Õ(r*   c                 óÎ   — t        j                  g d¢g d¢g d¢g d¢gt        ¬«      }t        j                  g d¢g d¢g d¢g d	¢gt        ¬«      }t        |«      }t	        ||«       y )
N)r-   r   r   r   )rZ   r-   r-   r   )rZ   r   r-   r   )rZ   rZ   rZ   r-   r[   )çf÷äa¡%‡@çÍÌÌÌÌƒ@çXÊ2Ä1ò€@gé·¯g)�@)ç^ºIÚ†@ç|ò°PkÜ‚@g»'µ¸€@rØ   )çÉv¾Ÿ¾‰@gBÏfÕg;…@rÚ   r×   )gD‹lç{3�@rÛ   rÙ   rÖ   r¬   r­   s       r(   Útest_burkardt_9zTestExpM.test_burkardt_9‹  sc   € ô �H‰HÚÚÚÚð	ô
 ôˆô —(‘(Ú4Ú4Ú4Ú4ð	ô
 ôˆô �a“ˆÜ˜ Õ(r*   c                 ó&  — t        j                  g d¢g d¢g d¢gt        ¬«      }t        t	        t
        j                  j                  |«      «      d«       t        j                  g d¢g d¢g d¢gt        ¬«      }t        |«      }t        ||«       y )	N)r9   r   r   )r-   r9   r-   )r-   r-   r9   r[   )rZ   rZ   r:   )gl$ÿ^»{b@çÔá
|øf@g•õ.”óQ@)gœ\"Nýñ_@rÞ   gØá
|øV@)g£\"Nýñ_@g¶ëL¿ud@gÎæsõý[@©	r   r   r^   r   ÚsortedÚscipyr1   Úeigvalsr   r­   s       r(   Útest_burkardt_10zTestExpM.test_burkardt_10�  s{   € ô �H‰HÚÚÚðô ô	ˆô
 	œœuŸ|™|×3Ñ3°AÓ6Ó7¸ÔCÜ—(‘(ÚEÚEÚEðô ô	ˆô
 �a“ˆÜ˜ Õ(r*   c                 ó  — t        j                  g d¢g d¢g d¢gt        ¬«      }t        t        j
                  j                  |«      d«       t        j                  g d¢g d¢g d¢gt        ¬«      }t        |«      }t        ||«       y )	N)gáìÀ!á=@çøl‘À©é?çQ°Š€ïPÀ)rå   gºŒ²t º9@çŒ½èª‰\!@)ræ   rç   g®®0ån2A@r[   )é   é   é(   )gÚÉÒJÞ†3Cg…;%s1PÃçêMSUc[Ã)gˆ;%s1PÃgcx
MêjCç ÈOÆ}vC)rë   rì   gýÁãõ¢Ë‚C)r   r   r^   r   rá   r1   Úeigvalshr   r­   s       r(   Útest_burkardt_11zTestExpM.test_burkardt_11®  s|   € ô �H‰HÚGÚFÚFðô ô	ˆô
 	œŸ™×-Ñ-¨aÓ0°,Ô?Ü—(‘(ò)ò'ò'ðô ôˆô �a“ˆÜ˜ Õ(r*   c                 ó&  — t        j                  g d¢g d¢g d¢gt        ¬«      }t        t	        t
        j                  j                  |«      «      d«       t        j                  g d¢g d¢g d¢gt        ¬«      }t        |«      }t        ||«       y )	N)i}ÿÿÿé   rÁ   )izþÿÿé8   é6   )i}þÿÿé9   é4   r[   )iìÿÿÿrº   r²   )g¹Ò)¢€'ø¿g£1ö3V‹×?g¿-RŸªRÁ?)gñÀÇ£À‡ÀgÑ×ƒ4V‹÷?g±3ûîÿûÙ?)gWNùx`½Àgp¢ø¦€¨ñ?gë}m ªRá?rß   r­   s       r(   Útest_burkardt_12zTestExpM.test_burkardt_12È  s{   € ô �H‰HÚÚÚðô ô	ˆô
 	œœuŸ|™|×3Ñ3°AÓ6Ó7¸ÔGÜ—(‘(ÚHÚGÚGðô ô	ˆô
 �a“ˆÜ˜ Õ(r*   c                 ól  — t        dd«      }g d¢g d¢g d¢g d¢g}t        ||«       dD �]  }t        dt        t	        j
                  d|z  «      «      «      }t	        j                  ||ft        ¬	«      }t        ||z  «      D ]‹  }t        ||«      }t        t	        j                  |«      d
«       t        t	        j                  |«      t	        j                  dt	        j                  ||z  «       |z  «      «       ||t        |«      z  z  }Œ� t        t        |d«      «      }t        ||«       �Œ y )Nr9   r-   )r   r-   r   r   )r   r   r-   r   rÃ   )r‡   r   r   r   )r   rZ   r9   rh   rÍ   r[   r   rh   )r)   r   Úmaxr   r   ÚceilÚzerosr^   r0   r
   Úminr    Úfloorr   r   )	rO   Ú	A4_actualÚ
A4_desiredr"   Úkr¨   r#   ÚApr©   s	            r(   Útest_burkardt_13zTestExpM.test_burkardt_13Ú  s  € ô ' q¨!Ó,ˆ	Ú"Ú"Ú"Ú%ð'ˆ
ô 	˜	 :Ô.àó 	-ˆAô �A”sœ2Ÿ7™7 2 a¡4›=Ó)Ó*ˆAÜ—h‘h  1˜v¬UÔ3ˆGÜ˜1˜Q™3“Zò -�Ü'¨¨1Ó-�ÜœRŸV™V B›Z¨Ô+Ü¤§¡ r£
¬B¯H©H°R¼"¿(¹(À1ÀQÁ3»-¸ÈÑ9IÓ,JÔKØ˜2¤	¨!£Ñ,Ñ,‘ð	-ô
 Ô,¨Q°Ó2Ó3ˆFÜ˜F GÖ,ñ	-r*   c                 óÂ   — t        j                  g d¢g d¢g d¢gt        ¬«      }t        j                  g d¢g d¢g d¢gt        ¬«      }t        |«      }t	        ||«       y )N)r   g:Œ0âŽyE>r   )g«ªª"D°ÂrŽ   g    _ B)g«ªªªªªP@r   g«ªªªªªPÀr[   )gí· ƒ.™Ü?gÜzDïv>g1òOî³žÝ?)gÜýâñvèUÁgÔ°g²L�¿gÓ@ž­sDQÁ)gø âF~§Ü?ggÒ=ã€>gcŠE½ª©Ý?r¬   r­   s       r(   Útest_burkardt_14zTestExpM.test_burkardt_14ù  s]   € ô �H‰HÚÚ(Ú"ðô ô	ˆô
 —(‘(ÚHÚGÚHðô ô	ˆô
 �a“ˆÜ˜ Õ(r*   c           	      ó$  — dD �]
  }t        ddd«      D ]÷  }|t        j                  |dd«      z  }t        j                  |dk  «      r ŒHt        j                  t        j                  d|dz   «      d«      |z  }t        |«      }|}t        t        j                  |dz   «      d d …d f   t        j                  |dz   «      d d d …f   «      |d d d …f   z  |d d …d f   z  }dt        |«      j                  «       z  }t        |||¬	«       Œù �Œ y )
N)r�   rˆ   g�íµ ÷Æ°>r   éP   rZ   r²   gYóøÂn¥r-   g‚vIhÂ%<=)r›   )
r0   r   ÚarangeÚanyr!   r   r   Úabsr÷   r   )	rO   ro   r"   ÚscrC   rW   Úgotr6   r›   s	            r(   Útest_pascalzTestExpM.test_pascal	  s  € ð 'ó 	:ˆEÜ˜1˜b !“_ò :�ØœbŸi™i¨¨2¨rÓ2Ñ2�Ü—6‘6˜"˜v™+Ô&Ùä—G‘GœBŸI™I a¨¨Q©Ó/°Ó4°uÑ<�Ü˜“G�à�Ü ¤§¡¨1¨q©5Ó!1²!°D°&Ñ!9Ü!#§¡¨1¨q©5Ó!1°$²q°&Ñ!9ó;Ø=?ÀÂQÀ¹ZñHØJLÊQÈtÈVÉ*ñU�àœs 8›}×0Ñ0Ó2Ñ2�Ü  X°DÖ9ò:ñ	:r*   c                 ó`  — t        j                  d«      }d|d<   t        |«      }t        j                  «       5  t        j
                  ddt        «       t        j
                  ddt        «       t        t        j                  |«      «      }d d d «       t        |«       y # 1 sw Y   ŒxY w)N)éÈ   r  r-   )r²   r   rz   zthe matrix subclass.*)
r   rù   r   r|   r}   r~   ÚDeprecationWarningÚPendingDeprecationWarningr   r   )rO   rC   ÚB0rW   s       r(   Útest_matrix_inputzTestExpM.test_matrix_input  s‘   € ä�H‰H�ZÓ ˆØˆˆ$‰Ü�!‹WˆÜ×$Ñ$Ó&ñ 	#Ü×#Ñ#ØÐ1Ô3EôGä×#Ñ#ØÐ1Ô3LôNä”R—Y‘Y˜q“\Ó"ˆA÷	#ô 	˜˜2Õ÷	#ð 	#ús   ºAB$Â$B-c           
      óÒ   — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        | «      }t        d|z  «      }|}t        d«      D ]  }||z  }Œ	 t	        ||«       y )N)r�   r¹   r¹   rM   rM   rM   rM   )rM   r�   rM   r¹   r¹   rM   rM   )rM   rM   r�   rM   rM   r¹   r¹   )rM   rM   rM   rM   rM   rM   rM   i øÿÿé   )r   r   r   r0   r   )rO   ÚLÚE0ÚE1ÚE2Újs         r(   Útest_exp_sinch_overflowz TestExpM.test_exp_sinch_overflow)  sr   € ä�H‰HÒ;Ú;Ú;Ú9Ú9Ú9Ú9ð;ó <ˆô �1�"‹XˆÜ�&˜1‘*ÓˆØˆÜ�r“ò 	ˆAØ�b‘‰Bð	ô 	˜˜BÕr*   N)!Ú__name__Ú
__module__Ú__qualname__rP   rR   rT   rX   rb   rp   rt   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(   rJ   rJ   U   s¢   „ ò9òCò9ò>ò6òMòMòIò	Oò	@ò0ò	Dò$QòL&)òP)ò)ò*)ò)ò()ò )ò$)ò")ò$)ò")ò4)ò$-ò>)ò :ò&ó r*   rJ   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestOperatorsc                 óÀ  — t        j                  d«       d}d}d}t        |«      D �]4  }t        j                   j	                  ||«      }t        j                   j	                  ||«      }t        j                   j	                  ||«      }t        j                   j	                  ||«      }t        |||«      }	t        |	j                  |«      |j                  |«      j                  |«      j                  |«      «       t        |	j                  j                  |«      |j                  |«      j                  |«      j                  j                  |«      «       �Œ7 y )Nr,   r.   r   rh   )
r   r/   r0   r   Úrandnr   r   Úmatmatr»   ÚT)
rO   r"   rþ   ÚnsamplesÚirC   rW   ÚCÚDÚops
             r(   Útest_product_operatorz#TestOperators.test_product_operator>  sô   € Ü�‰�DÔØˆØˆØˆÜ�x“ó 	HˆAÜ—	‘	—‘  1Ó%ˆAÜ—	‘	—‘  1Ó%ˆAÜ—	‘	—‘  1Ó%ˆAÜ—	‘	—‘  1Ó%ˆAÜ   A qÓ)ˆBÜ˜BŸI™I a›L¨!¯%©%°«(¯,©,°q«/×*=Ñ*=¸aÓ*@ÔAÜ˜BŸD™DŸK™K¨›N¨Q¯U©U°1«X¯\©\¸!«_×,?Ñ,?×,CÑ,CÀAÓ,FÖGñ	Hr*   c                 ó>  — t        j                  d«       d}d}d}d}t        |«      D ]ò  }t        j                   j	                  ||«      }t        j                   j	                  ||«      }t        ||«      }t        |j                  |«      t        j                  j                  ||«      j                  |«      «       t        |j                  j                  |«      t        j                  j                  ||«      j                  j                  |«      «       Œô y )Nr,   r.   r   rZ   rh   )r   r/   r0   r   r   r   r   r!  r1   r   r»   r"  )	rO   r"   rþ   r#   r#  r$  rC   rW   r'  s	            r(   Útest_matrix_power_operatorz(TestOperators.test_matrix_power_operatorL  sÑ   € Ü�‰�DÔØˆØˆØˆØˆÜ�x“ò 	SˆAÜ—	‘	—‘  1Ó%ˆAÜ—	‘	—‘  1Ó%ˆAÜ$ Q¨Ó*ˆBÜ˜BŸI™I a›L¬"¯)©)×*@Ñ*@ÀÀAÓ*F×*JÑ*JÈ1Ó*MÔNÜ˜BŸD™DŸK™K¨›N¬B¯I©I×,BÑ,BÀ1ÀaÓ,H×,JÑ,J×,NÑ,NÈqÓ,QÕRñ	Sr*   N)r  r  r  r(  r*  r  r*   r(   r  r  <  s   „ òHóSr*   r  ))Ú__doc__r_   r|   Únumpyr   r   r   r   r   Únumpy.testingr   r   r	   r
   r   Úscipy.sparser   r   Úscipy.sparse._constructr   Úscipy.sparse.linalg._matfuncsr   r   r   r   r   r   Úscipy.sparse._sputilsr   Úscipy.linalgr   Úscipy.specialr   r   rá   Úscipy.sparse.linalgr)   r7   rH   rJ   r  r  r*   r(   ú<module>r5     sq   ðñó Û ã ß )Ó )÷(õ (÷ <Ý -÷1÷ 1õ )Ý ß *Û Û ò?ò@0ò(÷d ñ d ÷NSò Sr*   