§
    fŠtj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(dS )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          | ¦  «        k    s| dk     rt          d¦  «        ‚t          | ¦  «        } |t          |¦  «        k    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 )aj  
    A helper function for testing matrix functions.

    Parameters
    ----------
    n : integer 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         úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/linalg/tests/test_matfuncs.pyÚ_burkardt_13_powerr)      sß   € ð$ 	�C�‰FŒF‚{€{�a˜!’e�eÝÐ>Ñ?Ô?Ð?ÝˆA‰Œ€AØ�C�‰FŒF‚{€{�a˜!’e�eÝÐ;Ñ<Ô<Ð<ÝˆA‰Œ€Aõ �!�Q‰<Œ<�D€A€qÝŒH�T˜A˜2˜a™4Ñ Ô €EØ•B”H˜T A 2Ñ&Ô&Ñ&€EÝŒ7�E�7˜A˜a™C‘= !Ñ$Ô$¥r¤w°¨w°q©y¸!¸A¹#Ñ'>Ô'>Ñ>Ð>ó    c                  ó�  — t           j                             d¦  «         t          dd¦  «        D ]•} t          d¦  «        D ]ƒ}t           j                             | | f¦  «        }t           j                             ||¦  «        }t          ||¦  «        }t           j                             |d¦  «        }t          ||¦  «         Œ„Œ–d S )NéÒ  é   é   )	r   r   ÚseedÚrangeÚlinalgr   r   Únormr   )r"   r#   ÚMÚMpÚobservedÚexpecteds         r(   Útest_onenorm_matrix_power_nnmr7   <   s¸   € Ý„I‡N‚N�4ÑÔÐÝ�1�a‰[Œ[ð 0ð 0ˆÝ�q‘”ð 	0ð 	0ˆAÝ”	× Ò  ! Q Ñ(Ô(ˆAÝ”×'Ò'¨¨1Ñ-Ô-ˆBÝ0°°AÑ6Ô6ˆHÝ”y—~’~ b¨!Ñ,Ô,ˆHÝ˜H hÑ/Ô/Ð/Ð/ð	0ð0ð 0r*   c                  ó\  — t           j                             d¦  «         t           j                             ddd¬¦  «        \  } }t           j                             d¬¦  «        }t	          || |ffd¬¦  «        }t	          || |ffd¬¦  «        }|                     ¦   «         }d	D ]†}t          ||¦  «                             ¦   «         }t          ||¦  «                             ¦   «         }t           j                             ||¦  «        }	t          ||	¦  «         t          ||¦  «         Œ‡d S )
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‡N‚N�4ÑÔÐÝŒy× Ò   A¨FÐ Ñ3Ô3�H€CˆÝŒ9×Ò ÐÑ&Ô&€DÝ�d˜S #˜JÐ'¨vÐ6Ñ6Ô6€DÝ�4˜#˜s˜Ð$¨FÐ3Ñ3Ô3€AØ�YŠY‰[Œ[€FØð (ð (ˆÝ˜A˜uÑ%Ô%×-Ò-Ñ/Ô/ˆÝ  eÑ,Ô,×4Ò4Ñ6Ô6ˆÝ”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 dS ) ÚTestExpMc                 óv   — t          ddgddgg¦  «        }t          t          |¦  «        ddgddgg¦  «         d S ©Nç        r   r-   )r   r	   r   ©Úselfr$   s     r(   Útest_zero_ndarrayzTestExpM.test_zero_ndarrayV   sC   € Ý�B�q�6˜1˜Q˜%�.Ñ!Ô!ˆÝ!¥$ q¡'¤'¨A¨a¨5°!°A°¨-Ñ8Ô8Ð8Ð8Ð8r*   c                 óš   — t          ddgddgg¦  «        }t          t          |¦  «                             ¦   «         ddgddgg¦  «         d S rL   )r   r	   r   r>   rN   s     r(   Útest_zero_sparsezTestExpM.test_zero_sparseZ   sM   € Ý˜˜1�v˜q ˜e�nÑ%Ô%ˆÝ!¥$ q¡'¤'§/¢/Ñ"3Ô"3°a¸°U¸A¸a¸5°MÑBÔBÐBÐBÐBr*   c                 óv   — t          ddgddgg¦  «        }t          t          |¦  «        ddgddgg¦  «         d S rL   )r   r	   r   rN   s     r(   Útest_zero_matrixzTestExpM.test_zero_matrix^   sC   € Ý�R˜�F˜A˜a˜5�>Ñ"Ô"ˆÝ!¥$ q¡'¤'¨A¨a¨5°!°A°¨-Ñ8Ô8Ð8Ð8Ð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¦  «        ¦  «                             ¦   «         |¦  «         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¦  «        ¦  «                             ¦   «         |¦  «         d S )Nr-   ))r-   ù              ð?))rV   )r   r   r   r   r   r   r>   )rO   rC   ÚBs      r(   Útest_misc_typeszTestExpM.test_misc_typesb   sd  € Ý•”˜A˜3˜%‘”Ñ!Ô!ˆÝ�˜W™œ qÑ)Ô)Ð)Ý�˜q˜c˜U™œ QÑ'Ô'Ð'Ý��V a S E™]œ]Ñ+Ô+¨QÑ/Ô/Ð/Ý��RœX¨ s e™_œ_Ñ-Ô-¨qÑ1Ô1Ð1Ý��Y¨¨ uÑ-Ô-Ñ.Ô.×6Ò6Ñ8Ô8¸!Ñ<Ô<Ð<Ý•”˜B˜4˜&Ñ!Ô!Ñ"Ô"ˆÝ�˜X™œ¨Ñ*Ô*Ð*Ý�˜r˜d˜V™œ aÑ(Ô(Ð(Ý��V b T F™^œ^Ñ,Ô,¨aÑ0Ô0Ð0Ý��Y¨¨ vÑ.Ô.Ñ/Ô/×7Ò7Ñ9Ô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          |¦  «                             ¦   «         }t          ||¦  «         d S )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Ó   € ÝØˆIˆIØˆIˆIØˆIˆIðõ $ð%ñ %ô %ˆõ ŒX�a‰[Œ[ˆÝŒX�a‰[Œ[ˆÝ”8Ø��2‘�r˜2  "¡™9‘~Ð&Ø��A�r˜B‘w‘KÐ Ø��2ˆJðõ  %ð&ñ &ô &ˆõ ˜‘7”7—?’?Ñ$Ô$ˆÝ! (¨HÑ5Ô5Ð5Ð5Ð5r*   c                 óö   — t           j        t           j        fD ]_}dD ]Z}|t          d|¬¦  «        z  }t	          |¦  «        }t          ||¬¦  «        t          d|¬¦  «        z  }t          ||d¬¦  «         Œ[Œ`d S ©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}   s�   € Ý”j¥"¤*Ð-ð 	Mð 	MˆEØ2ð Mð M�Ø�C ¨Ð/Ñ/Ô/Ñ/�Ý ™7œ7�Ý˜u¨EÐ2Ñ2Ô2µS¸À%Ð5HÑ5HÔ5HÑH�Ý.¨x¸ÈÐLÑLÔLÐLÐLð	Mð	Mð 	Mr*   c                 óö   — t           j        t           j        fD ]_}dD ]Z}|t          d|¬¦  «        z  }t	          |¦  «        }t          ||¬¦  «        t          d|¬¦  «        z  }t          ||d¬¦  «         Œ[Œ`d S rd   )r   Ú	complex64Ú
complex128r   r   r   r   rn   s         r(   Útest_padecases_dtype_complexz%TestExpM.test_padecases_dtype_complex…   s�   € Ý”l¥B¤MÐ2ð 	Mð 	MˆEØ2ð Mð M�Ø�C ¨Ð/Ñ/Ô/Ñ/�Ý ™7œ7�Ý˜u¨EÐ2Ñ2Ô2µS¸À%Ð5HÑ5HÔ5HÑH�Ý.¨x¸ÈÐLÑLÔLÐLÐLð	Mð	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¬	¦  «         
                    ¦   «         }t          |d
¬	¦  «         
                    ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          ||d¬¦  «         t          ||d¬¦  «         Œîd S )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ð 		IˆEØ�	 ! Q¨e¸EÐBÑBÔBÑBˆAÝ�E Ð'Ñ'Ô'­#¨a°uÐ*=Ñ*=Ô*=Ñ=ˆAÝÔ(Ñ*Ô*ð Nð NØ7�ÝÔ'¨°#Õ7NÑOÔOÐOÝ % a¸4Ð @Ñ @Ô @× HÒ HÑ JÔ J�Ý"'¨¸UÐ"CÑ"CÔ"C×"KÒ"KÑ"MÔ"M�ð	Nð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nõ
 +¨=¸!À#ÐFÑFÔFÐFÝ*¨?¸AÀCÐHÑHÔHÐHÐHð		Ið 		Is   ÁA$CÃ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          |¦  «                             ¦   «         |d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   Œ³d S )
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ð 	OˆEØ�	 ! Q¨e¸EÐBÑBÔBÑBˆAÝ�E‘
”
�S ¨%Ð0Ñ0Ô0Ñ0ˆAÝÔ(Ñ*Ô*ð Oð OØ7�ÝÔ'¨°#Õ7NÑOÔOÐOÝ.­t°A©w¬w¯ªÑ/@Ô/@À!È#ÐNÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oøð	Oð 	Os   ÁAB6Â6B:	Â=B:	c           
      óÂ  — t          j        d¦  «         t          j        t          j        fD ]±}t          dd¦  «        D ]ž}dD ]™}t          |¦  «        t          j        ||¦  «        |z  z                        |¦  «        }t          j	        |¦  «        r|dt          j        ||¦  «        z  |z  z   }t          t          t          |¦  «        ¦  «        |¦  «         ŒšŒŸŒ²d S )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¥"¤-Ð0ð 	@ð 	@ˆEÝ˜1˜b‘\”\ð @ð @�ØBð @ð @�Eå˜Q™œ¥&¤+¨a°Ñ"3Ô"3°eÑ";Ñ;×CÒCÀEÑJÔJ�AÝ” qÑ)Ô)ð ?Ø ¥V¤[°°AÑ%6Ô%6Ñ 6¸Ñ >Ñ>˜Ý-­dµ4¸±7´7©m¬m¸QÑ?Ô?Ð?Ð?ð@ð@ð	@ð 	@r*   c                 ó    — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          t          |¦  «        t          d|z  ¦  «        ¦  «         d S )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±   s\   € ÝŒHØˆMˆMØˆMˆMØˆMˆMØˆMˆMð	ñ ô ˆõ
 	�˜Q™œ¥ c¨A¡g¡¤Ñ/Ô/Ð/Ð/Ð/r*   c                 óx  — t          j        g d¢g d¢g d¢g d¢gt           j        ¬¦  «        }t          t	          |¦  «        t	          d|z  ¦  «        ¦  «         t          |¦  «        }t          t	          |¦  «                             ¦   «         t	          d|z  ¦  «                             ¦   «         ¦  «         d S )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¹   s¯   € åŒHÐ'Ð'Ð'Ø)Ð)Ð)Ø'Ð'Ð'Ø"�l�lð$õ ,.¬8ð5ñ 5ô 5ˆõ 	�˜Q™œ¥ c¨A¡g¡¤Ñ/Ô/Ð/å�a‰LŒLˆÝ�˜Q™œŸšÑ)Ô)­4°°a±©=¬=×+@Ò+@Ñ+BÔ+BÑCÔCÐCÐCÐCr*   c                 óx  — 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}|                     ¦   «         }||d<   t          j	        ¦   «         5  t          j
        ddt          ¦  «         t          j
        ddt          ¦  «         t	          |¦  «        }d d d ¦  «         n# 1 swxY w Y   d
}d|z  }t          t          j        ||||¬¦  «         ¦  «         d S )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Ø&Ð&Ð&Ø$Ð$Ð$Ø!Ð!Ð!Ø Ð Ð ð	"õ
 ðñ ô ˆõ ”ð@ð @ð @ð@ð @ð @ð@ð @ð @ð@ð @ð @ðAõ ð	ñ 	ô 	ˆõ 	�˜V™œ a¨dÐ3Ñ3Ô3Ð3õ 	Œ�DÑÔÐØˆØ!Ÿ;š;™=œ=ÐØ!%Ð˜ÑÝÔ$Ñ&Ô&ð 	;ð 	;ÝÔ# HÐ.AÅ>ÑRÔRÐRÝÔ# HÐ.DÅnÑUÔUÐUå$(Ð)9Ñ$:Ô$:Ð!ð		;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð
 ˆØ�T‰zˆÝ•B”KÐ 5°q¸tÈ$ÐOÑOÔOÐOÑPÔPÐPÐPÐPs   Â0ADÄ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          ||¦  «         d S )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�a‰yŒyˆÝŒv�a‰yŒyˆÝŒ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	          ||¦  «         d S )	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  s‰   € õ Œ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          ||¦  «         d S )
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�a‰yŒyˆÝ”�r‘
”
ˆÝŒHØ�ˆFØ�#ˆJðõ ðñ ô ˆõ ”(à�B�t‘G‘˜q " U¡(™|Ñ+Ý”˜#‘”� " T¡'Ñ*ð,ð •2”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          ||¦  «         d S )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Ø�"ˆIØ�"ˆIðõ ðñ ô ˆõ ŒH�q˜!�f˜q !˜fÐ%­UÐ3Ñ3Ô3ˆÝŒH�q˜$�i " c Ð+µ5Ð9Ñ9Ô9ˆÝŒH�c˜2�Y¥eÐ,Ñ,Ô,ˆÝ”&˜�RœV A™Yœ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	          ||¦  «         d S )
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  s¡   € õ
 ŒHØˆLˆLØˆLˆLØˆLˆLØˆLˆLð	õ
 ðñ ô ˆõ ”(ØˆNˆNØˆMˆMØˆLˆLØˆLˆLð	õ
 ðñ ô ˆõ �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          ||¦  «         d S ©Nr-   r   r[   r¥   )rO   r¦   rC   r¨   r©   s        r(   Útest_burkardt_6zTestExpM.test_burkardt_6X  s’   € õ Œv�a‰yŒyˆÝŒ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          ||¦  «         d S rÆ   )r   r   Úspacingr   r^   r   r   )rO   r¦   ÚepsrC   r¨   r©   s         r(   Útest_burkardt_7zTestExpM.test_burkardt_7h  s§   € õ
 Œv�a‰yŒyˆÝŒj˜‰mŒmˆÝŒ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          ||¦  «         d S )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�a‰yŒyˆÝ”�r‘
”
ˆÝŒHØˆKˆKØˆLˆLØˆJˆJðõ ð	ñ ô ˆõ
 ”(Ø�‰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	          ||¦  «         d S )
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‹  s©   € õ ŒHØˆLˆLØˆLˆLØˆLˆLØˆLˆLð	õ
 ðñ ô ˆõ ”(Ø4Ð4Ð4Ø4Ð4Ð4Ø4Ð4Ð4Ø4Ð4Ð4ð	õ
 ðñ ô ˆõ �a‘”ˆÝ˜ Ñ(Ô(Ð(Ð(Ð(r*   c                 óH  — t          j        g d¢g d¢g d¢gt          ¬¦  «        }t          t	          t
          j                             |¦  «        ¦  «        d¦  «         t          j        g d¢g d¢g d¢gt          ¬¦  «        }t          |¦  «        }t          ||¦  «         d S )	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ØˆIˆIØˆIˆIØˆIˆIðõ ð	ñ ô ˆõ
 	��uœ|×3Ò3°AÑ6Ô6Ñ7Ô7¸ÑCÔCÐCÝ”(ØEÐEÐEØEÐEÐEØEÐEÐEðõ ð	ñ ô ˆõ
 �a‘”ˆÝ˜ Ñ(Ô(Ð(Ð(Ð(r*   c                 ó.  — t          j        g d¢g d¢g d¢gt          ¬¦  «        }t          t          j                             |¦  «        d¦  «         t          j        g d¢g d¢g d¢gt          ¬¦  «        }t          |¦  «        }t          ||¦  «         d S )	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ØGÐGÐGØFÐFÐFØFÐFÐFðõ ð	ñ ô ˆõ
 	�œ×-Ò-¨aÑ0Ô0°,Ñ?Ô?Ð?Ý”(ð)ð )ð )ð'ð 'ð 'ð'ð 'ð 'ðõ ðñ ô ˆõ �a‘”ˆÝ˜ Ñ(Ô(Ð(Ð(Ð(r*   c                 óH  — t          j        g d¢g d¢g d¢gt          ¬¦  «        }t          t	          t
          j                             |¦  «        ¦  «        d¦  «         t          j        g d¢g d¢g d¢gt          ¬¦  «        }t          |¦  «        }t          ||¦  «         d S )	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ØˆNˆNØˆNˆNØˆNˆNðõ ð	ñ ô ˆõ
 	��uœ|×3Ò3°AÑ6Ô6Ñ7Ô7¸ÑGÔGÐGÝ”(ØHÐHÐHØGÐGÐGØGÐGÐGðõ ð	ñ ô ˆõ
 �a‘”ˆÝ˜ Ñ(Ô(Ð(Ð(Ð(r*   c                 ó¼  — 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          ||¦  «         �Œ+d S )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Ú  sW  € õ ' q¨!Ñ,Ô,ˆ	Ø"�l�lØ"�l�lØ"�l�lØ%�o�oð'ˆ
õ 	˜	 :Ñ.Ô.Ð.àð 	-ñ 	-ˆAõ �A•s�2œ7 2 a¡4™=œ=Ñ)Ô)Ñ*Ô*ˆAÝ”h  1˜v­UÐ3Ñ3Ô3ˆGÝ˜1˜Q™3‘Z”Zð -ð -�Ý'¨¨1Ñ-Ô-�Ý�RœV B™ZœZ¨Ñ+Ô+Ð+Ý¥¤ r¡
¤
­B¬H°R½"¼(À1ÀQÁ3¹-¼-¸ÈÑ9IÑ,JÔ,JÑKÔKÐKØ˜2¥	¨!¡¤Ñ,Ñ,��ÝÕ,¨Q°Ñ2Ô2Ñ3Ô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	          ||¦  «         d S )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ØˆLˆLØ(Ð(Ð(Ø"Ð"Ð"ðõ ð	ñ ô ˆõ
 ”(ØHÐHÐHØGÐGÐGØHÐHÐHðõ ð	ñ ô ˆõ
 �a‘”ˆÝ˜ Ñ(Ô(Ð(Ð(Ð(r*   c           	      ó`  — dD �])}t          ddd¦  «        D �]}|t          j        |dd¦  «        z  }t          j        |dk     ¦  «        r nßt          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          |¦  «                             ¦   «         z  }t          |||¬	¦  «         �Œ�Œ+d S )
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	  sH  € ð 'ð 	:ñ 	:ˆEÝ˜1˜b !‘_”_ð :ñ :�Ø�bœi¨¨2¨rÑ2Ô2Ñ2�Ý”6˜"˜vš+Ñ&Ô&ð Ø�Eå”G�BœI a¨¨Q©Ñ/Ô/°Ñ4Ô4°uÑ<�Ý˜‘G”G�à�Ý ¥¤¨1¨q©5Ñ!1Ô!1°!°!°!°D°&Ô!9Ý!#¤¨1¨q©5Ñ!1Ô!1°$°q°q°q°&Ô!9ñ;ô ;Ø=?ÀÀQÀQÀQÀ¼ZñHØJLÈQÈQÈQÈtÈVÌ*ñU�à�s 8™}œ}×0Ò0Ñ2Ô2Ñ2�Ý  X°DÐ9Ñ9Ô9Ð9Ñ9ùð	:ð 	:r*   c                 óz  — 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 ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )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�ZÑ Ô ˆØˆˆ$‰Ý�!‰WŒWˆÝÔ$Ñ&Ô&ð 	#ð 	#ÝÔ#ØÐ1Õ3EñGô Gð GåÔ#ØÐ1Õ3LñNô Nð Nå•R”Y˜q‘\”\Ñ"Ô"ˆAð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#õ 	˜˜2ÑÔÐÐÐs   ¼AB Â 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	          ||¦  «         d S )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)  s²   € åŒHÐ;Ð;Ð;Ø;Ð;Ð;Ø;Ð;Ð;Ø9Ð9Ð9Ø9Ð9Ð9Ø9Ð9Ð9Ø9Ð9Ð9ð;ñ <ô <ˆõ �1�"‰XŒXˆÝ�&˜1‘*ÑÔˆØˆÝ�r‘”ð 	ð 	ˆAØ�b‘ˆ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ð 9ð 9ðCð Cð Cð9ð 9ð 9ð>ð >ð >ð6ð 6ð 6ðMð Mð MðMð Mð MðIð Ið Ið	Oð 	Oð 	Oð	@ð 	@ð 	@ð0ð 0ð 0ð	Dð 	Dð 	Dð$Qð $Qð $QðL&)ð &)ð &)ðP)ð )ð )ð)ð )ð )ð*)ð )ð )ð)ð )ð )ð()ð )ð )ð )ð )ð )ð$)ð )ð )ð")ð )ð )ð$)ð )ð )ð")ð )ð )ð4)ð )ð )ð$-ð -ð -ð>)ð )ð )ð :ð :ð :ð&ð ð ð ð  ð  ð  ð  r*   rJ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestOperatorsc                 ó  — t          j        d¦  «         d}d}d}t          |¦  «        D �]V}t          j                              ||¦  «        }t          j                              ||¦  «        }t          j                              ||¦  «        }t          j                              ||¦  «        }t          |||¦  «        }	t          |	                     |¦  «        |                     |¦  «                             |¦  «                             |¦  «        ¦  «         t          |	j	                             |¦  «        |                     |¦  «                             |¦  «        j	                             |¦  «        ¦  «         �ŒXd S )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ñ 	HˆAÝ”	—’  1Ñ%Ô%ˆAÝ”	—’  1Ñ%Ô%ˆAÝ”	—’  1Ñ%Ô%ˆAÝ”	—’  1Ñ%Ô%ˆAÝ   A qÑ)Ô)ˆBÝ˜BŸIšI a™LœL¨!¯%ª%°©(¬(¯,ª,°q©/¬/×*=Ò*=¸aÑ*@Ô*@ÑAÔAÐAÝ˜BœDŸKšK¨™NœN¨Q¯UªU°1©X¬X¯\ª\¸!©_¬_Ô,?×,CÒ,CÀAÑ,FÔ,FÑGÔGÐGÑGð	Hð 	Hr*   c                 ój  — t          j        d¦  «         d}d}d}d}t          |¦  «        D �]}t          j                              ||¦  «        }t          j                              ||¦  «        }t          ||¦  «        }t          |                     |¦  «        t          j         	                    ||¦  «         
                    |¦  «        ¦  «         t          |j                             |¦  «        t          j         	                    ||¦  «        j         
                    |¦  «        ¦  «         �Œd S )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ñ 	SˆAÝ”	—’  1Ñ%Ô%ˆAÝ”	—’  1Ñ%Ô%ˆAÝ$ Q¨Ñ*Ô*ˆBÝ˜BŸIšI a™LœL­"¬)×*@Ò*@ÀÀAÑ*FÔ*F×*JÒ*JÈ1Ñ*MÔ*MÑNÔNÐNÝ˜BœDŸKšK¨™NœN­B¬I×,BÒ,BÀ1ÀaÑ,HÔ,HÔ,J×,NÒ,NÈqÑ,QÔ,QÑRÔRÐRÑRð	Sð 	Sr*   N)r  r  r  r(  r*  r  r*   r(   r  r  <  s:   € € € € € ðHð Hð HðSð Sð Sð Sð 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     s  ððð ð €€€Ø €€€à Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ð(ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð <Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø -Ð -Ð -Ð -Ð -Ð -ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð )Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ø Ð Ð Ð ð?ð ?ð ?ð@0ð 0ð 0ð(ð (ð (ðd ð d ð d ð d ð d ñ d ô d ð d ðNSð Sð Sð Sð Sñ Sô Sð Sð Sð Sr*   