403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/scipy/linalg/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/linalg/tests/__pycache__/test_matfuncs.cpython-311.pyc
�

d�c(����dZddlZddlZddlZddlmZmZmZmZddl	m
Z
mZmZm
Z
mZmZddlZddlZddlmZmZmZmZmZmZmZmZmZmZddlmZddlZddlm Z d�Z!Gd	�d
��Z"Gd�d��Z#Gd
�d��Z$Gd�d��Z%Gd�d��Z&Gd�d��Z'd�Z(d�Z)d�Z*Gd�d��Z+Gd�d��Z,dS)z, Test functions for linalg.matfuncs module

�N)�array�identity�dot�sqrt)�assert_array_almost_equal�assert_allclose�assert_�assert_array_less�assert_array_equal�assert_warns)
�funm�signm�logm�sqrtm�fractional_matrix_power�expm�expm_frechet�	expm_cond�norm�
khatri_rao)�_matfuncs_inv_ssq)�minimizec�T�tjgd�gd�gd�gd�gt���}|S)aW
    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

    )g3d����?�L�@rr)rgRal!�A�?rr)rrg���QI��?r)rrrg�^���?��dtype)�npr�float)�As �B/usr/lib/python3/dist-packages/scipy/linalg/tests/test_matfuncs.py�%_get_al_mohy_higham_2012_experiment_1r!sO��	��"�"�"� � � �������	�&+�		,�	,�	,�A�

�H�c�&�eZdZd�Zd�Zd�Zd�ZdS)�	TestSignMc��tgd�gd�gd�gd�gd�g��}tgd�gd�gd�gd	�gd
�g��}t|��}t||��dS)N�g333333=@g3333338�g`Q@gfffff�H@g@�gffffff"�g������@�2�g������0����g$�g@g4�r(r)�g333333#�g333333#@g�9�g������.�r)�g������#@g333333�g2@g3333332@�@)g����'@�
�'Rq��g��y�.@g��e�@�5@r.)g@��Ƚ��UЛ'��?g��9��\�g�+�%��r/)gR���Q���Q����?g�G�z��gffffff�r0)g�ר#��w?î�?g�k#�e�gC,�N�r1)g���@�4�2�
�g
�F(�@gc�s�@@r2)rrr)�self�a�cr�rs    r �	test_nilszTestSignM.test_nils0s����0�0�0�0�0�0�.�.�.�1�1�1�-�-�-�	/�
0�
0��
�Q�Q�Q�O�O�O�0�0�0�O�O�O�N�N�N�	P�Q�Q��

�!�H�H��!�!�B�'�'�'�'�'r"c�^�tgd�gd�gd�gd�g��}t|d���dS)N)��rr)r:rr:r�rrrr:)rrr:rF��disp�rr�r3r4s  r �test_defective1zTestSignM.test_defective1>sA���;�;�;�y�y�y����9�9�9�=�>�>��
�a�e������r"c�d�tgd�gd�gd�gd�gd�f��}t|d���dS)Nr&r'r*r+r,Fr<r>r?s  r �test_defective2zTestSignM.test_defective2Cs^���&�&�&�'�'�'�(�(�(�'�'�'�$�$�$�&�
'�
'��	�a�e������r"c
�p�tgd�gd�gd�gd�gd�gd�gd�g��}t|d�	��dS)
N�r)�9@r9r9r9r9r9�r9���$@�@rIrIr9�r9r9r-�.@rIrIr9�r9r9r9r9rKrIr9�r9r9r9r9rIrHr9�r9r9r9r9r9r)rE�r9r9r9r9r9r9rGFr<r>r?s  r �test_defective3zTestSignM.test_defective3Msp���1�1�1�1�1�1�0�0�0�0�0�0�0�0�0�1�1�1�0�0�0�
2�
3�
3��	�a�e������r"N)�__name__�
__module__�__qualname__r7r@rBrP�r"r r$r$.sP������(�(�(����
�������r"r$c�P�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�TestLogMc
��tgd�gd�gd�gd�gd�gd�gd�g��}td��d	zd
z|z
}t|d���dS)
NrDrFrJrLrMrNrO�g������@yFr<)rrr)r3r4�ms   r r7zTestLogM.test_nils[s����1�1�1�1�1�1�0�0�0�0�0�0�0�0�0�1�1�1�0�0�0�
2�
3�
3���a�[�[��_�R�
��"���Q�U������r"c��t��}t|d���\}}t|��}t||dd���dS)NFr<g-C��6
?�+����=��rtol�atol)r!rrr)r3r�A_logm�info�A_round_trips     r �*test_al_mohy_higham_2012_experiment_1_logmz3TestLogM.test_al_mohy_higham_2012_experiment_1_logmgsM��
2�3�3���A�E�*�*�*�����F�|�|����a�d��?�?�?�?�?�?r"c���t��}t|tjd���\}}t	|��}ttj||dd�����dS)NFr<��h㈵��>r[r\)r!r
r�logrr	�allclose)r3r�
A_funm_logr`ras     r �.test_al_mohy_higham_2012_experiment_1_funm_logz7TestLogM.test_al_mohy_higham_2012_experiment_1_funm_logosa��
2�3�3����2�6��6�6�6��
�D��J�'�'���B�K��a�d��G�G�G�G�H�H�H�H�Hr"c�,�tj�d��tdd��D]�}tj�||��}tjddd��D]�}||z}tj�|��}d�||��}t|d�	��\}}|�
|��}	t|	|��t|d�	��\}
}t|
��}t|||�
������dS)N��r:������	zM:{0} eivals:{1}Fr<)�err_msg)r�random�seed�range�randn�logspace�linalg�eigvals�formatrrrrr)r3�n�
M_unscaled�scale�M�Wro�M_sqrtmr`�M_sqrtm_round_trip�M_logm�M_logm_round_trips            r �test_round_trip_random_floatz%TestLogM.test_round_trip_random_floatws#��
�	���t�����q�!���	G�	G�A������A�.�.�J���R��A�.�.�
G�
G����&���I�%�%�a�(�(��,�3�3�A�q�9�9��!&�a�e� 4� 4� 4�
���%,�[�[��%9�%9�"�� 2�A�6�6�6� $�A�E�2�2�2����$(��L�L�!�� 1�1�g�F�F�F�F�F�
G�	G�	Gr"c��tj�d��tdd��D]�}tj�||��dtj�||��zz}tjddd��D]:}||z}t
|d�	��\}}t|��}t||���;��dS�
Nrjr:rk��?rlrmrnFr<)	rrprqrrrsrtrrr)r3rxryrzr{rr`�M_round_trips        r �test_round_trip_random_complexz'TestLogM.test_round_trip_random_complex�s���
�	���t�����q�!���	1�	1�A������A�.�.��b�i�o�o�a��6K�6K�1K�K�J���R��A�.�.�
1�
1����&��#�A�E�2�2�2����#�F�|�|����a�0�0�0�0�	
1�	1�	1r"c��d}ddgddggddgddggddgddggddgddggfD�](}tj�|��}tt	d�|D������tj|t���}t|d�	��\}}t|j	j
|v��tj|t���}t|d�	��\}}t|j	j
|v��tj|t���}t|d�	��\}}t|j	j
|v����*dS)
N��F�D�Gr:r��c3�:K�|]}|jp
|jdkV��dS�rN��imag�real��.0�ws  r �	<genexpr>zFTestLogM.test_logm_type_preservation_and_conversion.<locals>.<genexpr>��/����<�<�Q�A�F�0�a�f�q�j�<�<�<�<�<�<r"rFr<)�scipyrurvr	�anyrrrrr�char�complex)r3�complex_dtype_chars�matrix_as_listr|rr_r`s       r �*test_logm_type_preservation_and_conversionz3TestLogM.test_logm_type_preservation_and_conversion�sy��.���Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� �	"�	>�	>�N���$�$�^�4�4�A���<�<�!�<�<�<�<�<�<�=�=�=����u�5�5�5�A����.�.�.�L�F�D��F�L�%�-@�@�A�A�A����w�7�7�7�A����.�.�.�L�F�D��F�L�%�)<�<�=�=�=���.��6�6�6�6�A����.�.�.�L�F�D��F�L�%�)<�<�=�=�=�=�/	>�	>r"c���gd�gd�gd�g}ttfD]�}tj||���}tj�|��}tdtj|j	���
��k��t|d���\}}ttj|j
tj����tt!|��|����dS)N)r:r:r�)r�r:r:)r:r�r:r�{�G�z�?Fr<)rr�rrr�rurvr	�absoluter��sumr�
issubdtyper�inexactrr)r3r{�dt�Xr��Yr`s       r �test_complex_spectrum_real_logmz(TestLogM.test_complex_spectrum_real_logm�s����Y�Y�	�	�	�9�9�9�-����.�	(�	(�B����"�%�%�%�A���$�$�Q�'�'�A��D�2�;�q�v�.�.�2�2�4�4�4�5�5�5��1�5�)�)�)�G�A�t��B�M�!�'�2�:�6�6�7�7�7��D��G�G�Q�'�'�'�'�
	(�	(r"c��ddgddggddgddggfD]n}ttfD]]}tj||���}t	|d���\}}ttj|jtj�����^�odS)Nr:r���rFr<)	rr�rrrr	r�r�complexfloating)r3r{r�rr_r`s      r �test_real_mixed_sign_spectrumz&TestLogM.test_real_mixed_sign_spectrum�s����Q��!�R��!��Q��!�Q�� �"�	I�	I�A��W�n�
I�
I���H�Q�b�)�)�)��#�A�E�2�2�2������
�f�l�B�4F�G�G�H�H�H�H�
I�	I�	Ir"c�$�tjddgddgg��}tjddgddgg��}||j||jfD]J}tj}t
|t|d���\}}t|��}t||d����KdS)Nrr�r:Fr<r[�r^)
rr�asarray�Tr�LogmExactlySingularWarningrrrr)r3r�Br{�expected_warning�Lr`�Es        r �test_exactly_singularzTestLogM.test_exactly_singular�s����H�q�!�f�r�2�h�'�(�(���J��A���A��'�(�(���A�C��A�C��	.�	.�A�0�K��"�#3�T�1�5�I�I�I�G�A�t��Q���A��A�q�u�-�-�-�-�-�		.�	.r"c���tjdgg��}tj}t	|t
|d���\}}t
|��}t||d���dS)Ng0��.�++Fr<r[r�)rrr�LogmNearlySingularWarningrrrr)r3r{r�r�r`r�s      r �test_nearly_singularzTestLogM.test_nearly_singular�s_���H�v�h�Z� � ��,�F���/��q�u�E�E�E���4���G�G����1�5�)�)�)�)�)�)r"c��ddgddgg}dtjdzgtjdzdgg}tt|��|d���tt	|��|d���ddgdd	gg}dtjzdzd
tjzgdd	tjzdzgg}tt|��|d���tt	|��|d���ddgdd	gg}dtjzdzdgdd	tjzdzgg}tt|��|d���tt	|��|d���dS)Nrr:r���?r[r�r�rmy��r�)r�pirrr)r3r�r�s   r �&test_opposite_sign_complex_eigenvaluesz/TestLogM.test_opposite_sign_complex_eigenvalues�sV����V�b�!�W������s��^�r�u�f�S�j�!�_�-����Q�����/�/�/�/���Q�����/�/�/�/��!�W�q�#�h������h�s�l�A�b�e�G�
$�q�#�b�e�)�C�-�&8�9����Q�����/�/�/�/���Q�����/�/�/�/��!�W�q�#�h������h�s�l�A�
��C���I�c�M� 2�3����Q�����/�/�/�/���Q�����/�/�/�/�/�/r"N)rQrRrSr7rbrhr�r�r�r�r�r�r�r�rTr"r rVrVYs�������	�	�	�@�@�@�I�I�I�G�G�G�*1�1�1�>�>�>�<
(�
(�
(�	I�	I�	I�.�.�.�*�*�*�
0�
0�
0�
0�
0r"rVc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�	TestSqrtMc�X�tj�d��tdd��D]y}tj�||��}tjddd��D]@}||z}t
|d���\}}|�|��}t||���A�zdS)	Nrjr:rkrlrmrnFr<�	rrprqrrrsrtrrr�r3rxryrzr{r}r`r~s        r r�z&TestSqrtM.test_round_trip_random_float�s���
�	���t�����q�!���	7�	7�A������A�.�.�J���R��A�.�.�
7�
7����&�� %�a�e� 4� 4� 4�
���%,�[�[��%9�%9�"�� 2�A�6�6�6�6�	
7�	7�	7r"c��tj�d��tdd��D]�}tj�||��dtj�||��zz}tjddd��D]@}||z}t
|d�	��\}}|�|��}t||���A��dSr�r�r�s        r r�z(TestSqrtM.test_round_trip_random_complex�s���
�	���t�����q�!���	7�	7�A������A�.�.��b�i�o�o�a��6K�6K�1K�K�J���R��A�.�.�
7�
7����&�� %�a�e� 4� 4� 4�
���%,�[�[��%9�%9�"�� 2�A�6�6�6�6�	
7�	7�	7r"c���d}t|��}tgd�d|ddgdd|dggd�g��}tgd�d|ddgdd|dggd�g��}|jd}tt	||��|��t|d|���d}tt	||��|��t|dd���d}tt	||��|��dS)	Ng�?)��?rrr:rr;)r:rrr�F�r=�	blocksizer�)rr�shaperrr)r3�e�ser4�sarx�esas       r �test_badzTestSqrtM.test_bads����
�!�W�W���;�;�;��a��!�9��a��!�9��9�9��
�
���K�K�K��r�!�A�J��q��A�J��I�I�� � ��
�G�A�J��!�#�b��*�*�Q�/�/�/��A�E�Q�/�/�/��2��!�#�c�#�,�,�q�1�1�1��A�E�Q�/�/�/��2��!�#�c�#�,�,�q�1�1�1�1�1r"c��d}ddgddggddgddggddgddggddgddggddgddggfD�](}tj�|��}tt	d�|D������tj|t���}t|d�	��\}}t|j	j
|v��tj|t���}t|d�	��\}}t|j	j
|v��tj|t���}t|d�	��\}}t|j	j
|v����*dS)
Nr�r:rr�r�c3�:K�|]}|jp
|jdkV��dSr�r�r�s  r r�zHTestSqrtM.test_sqrtm_type_preservation_and_conversion.<locals>.<genexpr>#r�r"rFr<)r�rurvr	r�rrrrrr�r��r3r�r�r|r�A_sqrtmr`s       r �+test_sqrtm_type_preservation_and_conversionz5TestSqrtM.test_sqrtm_type_preservation_and_conversions���.���Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� �"�	?�	?�N���$�$�^�4�4�A���<�<�!�<�<�<�<�<�<�=�=�=����u�5�5�5�A�!�!�%�0�0�0�M�G�T��G�M�&�.A�A�B�B�B����w�7�7�7�A�!�!�%�0�0�0�M�G�T��G�M�&�*=�=�>�>�>���.��6�6�6�6�A�!�!�%�0�0�0�M�G�T��G�M�&�*=�=�>�>�>�>�1	?�	?r"c��d}ddgddggddgddgggd�gd�gd�gfD]�}tj�|��}tt	d�|D������tj|t�	��}t|d
���\}}t|j	j
|v��tj|t�	��}t|d
���\}}t|j	j
|v����dS)Nr�r:rr��rr:r�rrr:�r:rrc3�:K�|]}|jp
|jdkV��dSr�r�r�s  r r�zVTestSqrtM.test_sqrtm_type_conversion_mixed_sign_or_complex_spectrum.<locals>.<genexpr>=�/����8�8����,�!�&�1�*�8�8�8�8�8�8r"rFr<)r�rurvr	r�rrr�rrr�rr�s       r �9test_sqrtm_type_conversion_mixed_sign_or_complex_spectrumzCTestSqrtM.test_sqrtm_type_conversion_mixed_sign_or_complex_spectrum4s"��-���Q��!�R��!��Q��!�Q�� ����I�I�I�y�y�y�1�3�	?�	?�N���$�$�^�4�4�A��C�8�8�a�8�8�8�8�8�9�9�9����w�7�7�7�A�!�!�%�0�0�0�M�G�T��G�M�&�*=�=�>�>�>����u�5�5�5�A�!�!�%�0�0�0�M�G�T��G�M�&�*=�=�>�>�>�>�#	?�	?r"c���tj�d��tdd��D]�}tj�||��dtj�||��zz}t
|d|���\}}t|tj�	|d����tdd��D]'}t
|d|���\}}t||���(��dS)	Nrjr:�r�Fr�r��
)
rrprqrr�randrsrrru�matrix_power)r3rxr�A_sqrtm_defaultr`r��A_sqrtm_news       r �test_blocksizeszTestSqrtM.test_blocksizesIs���
�	���t�����q�!���	>�	>�A��	���q�!�$�$�r�"�)�/�/�!�Q�*?�*?�'?�?�A�$)�!�%�1�$E�$E�$E�!�O�T��A�r�y�5�5�o�q�I�I�J�J�J�"�1�b�\�\�
>�
>�	�$)�!�%�9�$M�$M�$M�!��T����=�=�=�=�
>�		>�	>r"c��t��}t|d���\}}|�|��}t||d���tt	j|��t	j|����dS)NFr<rd�r])r!rrrr�tril)r3rr�r`ras     r �%test_al_mohy_higham_2012_experiment_1z/TestSqrtM.test_al_mohy_higham_2012_experiment_1Tsq��1�3�3���a�e�,�,�,�
����{�{�7�+�+����a�d�3�3�3�3�����-�-�r�w�q�z�z�:�:�:�:�:r"c��ttfD]k}tjgd�gd�gd�gd�g|���}t	|d���\}}ttj|��������ldS)N)rr�rr)rrr�r)rrrr��rrrrrFr<)�intrrrrr	�isnan�all)r3r�rr�r`s     r �test_strict_upper_triangularz&TestSqrtM.test_strict_upper_triangular\s����u�*�	-�	-�B���������������	�&(�	)�)�)�A�
"�!�%�0�0�0�M�G�T��B�H�W�%�%�)�)�+�+�,�,�,�,�	-�	-r"c�x�ttfD]�}tjgd�gd�gd�g|���}tjgd�gd�gd�g|���}t	||�|����t
|d���\}}ttj|���	������dS)Nr��rrrr�rFr<)
r�rrrrrrr	r�r�)r3r�rr��B_sqrtmr`s      r �test_weird_matrixzTestSqrtM.test_weird_matrixgs����u�*�
	-�
	-�B����	�	��	�	��	�	��#%�&�&�&�A����	�	��	�	��	�	��#%�&�&�&�A�
�q�!�%�%��(�(�+�+�+�"�!�%�0�0�0�M�G�T��B�H�W�%�%�)�)�+�+�,�,�,�,�
	-�
	-r"c���tj�d��tj�dd��}t	|d���}t|�|��|��dS)Nrjr�Tr<)rrprqr�rrr)r3rr�s   r �	test_dispzTestSqrtM.test_dispxs]��
�	���t�����I�N�N�1�a� � ���!�$���������a���!�$�$�$�$�$r"c��ddgddgg}ddgddgg}ttj||��|d�	��tt|��|d�	��dS)
N�@rmr�����?�?r���?�r[r�)rrrr�r3r{�Rs   r r�z0TestSqrtM.test_opposite_sign_complex_eigenvaluessf���!�W�q�#�h����A�Y��D�	�"�����q�!���a�e�4�4�4�4���a���!�%�0�0�0�0�0�0r"c�~�tjgd�gd�gd�gd�g��}tjtd��ddtd��ggd�gd�td��ddtd��gg��}ttj||��|d���tt|��|d���dS)N)r:rrr:r�r�rr[r�)rrrrrrr�s   r �test_gh4866zTestSqrtM.test_gh4866�s����H�l�l�l�"�l�l�"�l�l�"�l�l�$�
%�
%��
�H�t�C�y�y�!�Q��S�	�	�2�"�l�l�"�l�l��C�y�y�!�Q��S�	�	�2�4�
5�
5��	���q�!���a�e�4�4�4�4���a���!�%�0�0�0�0�0�0r"c��tjgd���}tjtd��ddg��}ttj||��|d���tt|��|d���dS)N)r�r:rr�r:rr[r�)r�diagrrrrr�s   r �test_gh5336zTestSqrtM.test_gh5336�sp���G�I�I�I�����G�T�!�W�W�a��O�$�$�����q�!���a�e�4�4�4�4���a���!�%�0�0�0�0�0�0r"c���tjd��}tjd��}ttj||��|d���tt	|��|d���dS)N)r�r�r[r�)r�zerosrrrr�s   r �test_gh7839zTestSqrtM.test_gh7839�s`���H�V�����H�V�������q�!���a�e�4�4�4�4���a���!�%�0�0�0�0�0�0r"c�&�tjdtj���}t|��jtjksJ�tjdtj���}t|��jtjksJ�tjdtj���}t|��jtjksJ�tjdtj	���}t|��jtj
ksJ�dS�N�r�r�r)rr��uint8rr�float16�uint16�uint32�float32�uint64�float64�r3r{s  r �-test_data_size_preservation_uint_in_float_outz7TestSqrtM.test_data_size_preservation_uint_in_float_out�s����H�X�R�X�.�.�.���Q�x�x�~���+�+�+�+��H�X�R�Y�/�/�/���Q�x�x�~���+�+�+�+��H�X�R�Y�/�/�/���Q�x�x�~���+�+�+�+��H�X�R�Y�/�/�/���Q�x�x�~���+�+�+�+�+�+r"c�&�tjdtj���}t|��jtjksJ�tjdtj���}t|��jtjksJ�tjdtj���}t|��jtjksJ�tjdtj	���}t|��jtj
ksJ�dSr)rr��int8rrr�int16�int32r�int64r
rs  r �,test_data_size_preservation_int_in_float_outz6TestSqrtM.test_data_size_preservation_int_in_float_out�s����H�X�R�W�-�-�-���Q�x�x�~���+�+�+�+��H�X�R�X�.�.�.���Q�x�x�~���+�+�+�+��H�X�R�X�.�.�.���Q�x�x�~���+�+�+�+��H�X�R�X�.�.�.���Q�x�x�~���+�+�+�+�+�+r"c�V�tjddgddggtj���}t|��jtjksJ�tjddgddggtj���}t|��jtjksJ�tjddgddggtj���}t|��jtjksJ�tjddgddggtj���}t|��jtj	ksJ�dS)Nr�rmr���r)
rrrrr�	complex64rrr�
complex128rs  r �+test_data_size_preservation_int_in_comp_outz5TestSqrtM.test_data_size_preservation_int_in_comp_out�s���H�q�!�f�q�"�g�&�b�g�6�6�6���Q�x�x�~���-�-�-�-��H�q�!�f�q�"�g�&�b�h�7�7�7���Q�x�x�~���-�-�-�-��H�q�!�f�q�"�g�&�b�h�7�7�7���Q�x�x�~���-�-�-�-��H�q�!�f�q�"�g�&�b�h�7�7�7���Q�x�x�~���.�.�.�.�.�.r"c�T�tjdtj���}t|��jtjksJ�tjdtj���}t|��jtjksJ�tjdtj���}t|��jtjksJ�ttd��rDtjdtj���}t|��jtjksJ�dSdS)Nrr�float128)	rr�rrrrr
�hasattrrrs  r �.test_data_size_preservation_float_in_float_outz8TestSqrtM.test_data_size_preservation_float_in_float_out�s����H�X�R�Z�0�0�0���Q�x�x�~���+�+�+�+��H�X�R�Z�0�0�0���Q�x�x�~���+�+�+�+��H�X�R�Z�0�0�0���Q�x�x�~���+�+�+�+��2�z�"�"�	1������5�5�5�A���8�8�>�R�[�0�0�0�0�	1�	1�0�0r"c��tjddgddggtj���}t|��jtjksJ�tjddgddggtj���}t|��jtjksJ�tjddgddggtj���}t|��jtjksJ�ttd��r_ttd��rLtjddgddggtj
���}t|��jtjksJ�dSdSdS)Nr�rmrrrr�
complex256)rrrrrrrr
rrrrrs  r �-test_data_size_preservation_float_in_comp_outz7TestSqrtM.test_data_size_preservation_float_in_comp_out�s7���H�q�!�f�q�"�g�&�b�j�9�9�9���Q�x�x�~���-�-�-�-��H�q�!�f�q�"�g�&�b�j�9�9�9���Q�x�x�~���-�-�-�-��H�q�!�f�q�"�g�&�b�j�9�9�9���Q�x�x�~���.�.�.�.��2�z�"�"�	3�w�r�<�'@�'@�	3���1�a�&�1�b�'�*�"�+�>�>�>�A���8�8�>�R�]�2�2�2�2�	3�	3�	3�	3�2�2r"c���tjddgddggtj���}t|��jtjksJ�t
td��r�tjddgddggtj���}t|��jtjksJ�tjddgddggtj���}t|��jtjksJ�dSdS)Nr�rmrr�rr)rrrrrrrrrs  r �,test_data_size_preservation_comp_in_comp_outz6TestSqrtM.test_data_size_preservation_comp_in_comp_out�s����H�r�1�g��3�x�(���=�=�=���Q�x�x�~���.�.�.�.��2�|�$�$�	3���2�q�'�A�s�8�,�B�M�B�B�B�A���8�8�>�R�]�2�2�2�2���2�q�'�A�s�8�,�B�M�B�B�B�A���8�8�>�R�]�2�2�2�2�		3�	3�3�2r"N)rQrRrSr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr rTr"r r�r��s@������7�7�7�7�7�7�2�2�2�*?�?�?�>?�?�?�*	>�	>�	>�;�;�;�	-�	-�	-�-�-�-�"%�%�%�1�1�1�
1�
1�
1�1�1�1�1�1�1�	,�	,�	,�	,�	,�	,�
/�
/�
/�	1�	1�	1�
3�
3�
3�3�3�3�3�3r"r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
ej�
d	�
��d���Zd�Zd
S)�TestFractionalMatrixPowerc���tj�d��tdd��D]�}tdd��D]�}tj�||��dtj�||��zz}tjddd��D]J}||z}t
|d|z��}tj�||��}t||���K����dS)Nrjr:�r�rlrmrn�
rrprqrrrsrtrrur�r�r3�prxryrzr{�M_rootr�s        r r�z8TestFractionalMatrixPower.test_round_trip_random_complex�s���
�	���t�����q�!���	5�	5�A��1�a�[�[�
5�
5���Y�_�_�Q��2�2�R�"�)�/�/�!�Q�:O�:O�5O�O�
��[��Q��2�2�5�5�E�"�U�*�A�4�Q��!��<�<�F�#%�9�#9�#9�&�!�#D�#D�L�#�L�!�4�4�4�4�	5�
5�	5�	5r"c��tj�d��tdd��D]�}tdd��D]�}tj�||��}tjddd��D]J}||z}t
|d|z��}tj�||��}t||���K����dS)Nrjr:r$rlrmrnr%r&s        r r�z6TestFractionalMatrixPower.test_round_trip_random_float�s���
	�	���t�����q�!���	5�	5�A��1�a�[�[�
5�
5���Y�_�_�Q��2�2�
��[��Q��2�2�5�5�E�"�U�*�A�4�Q��!��<�<�F�#%�9�#9�#9�&�!�#D�#D�L�#�L�!�4�4�4�4�	5�
5�	5�	5r"c��tj�d��dD�]}td��D�]}tj�||��dtj�||��zz}t|d��}tj�|d��}t||��t|d��}tj�|d��}t||��t|d	��}tj�|d
��}t||����	��dS)Nrj)r�r�r$r�r�皙�����?r$g�������i��gffffff@�)	rrprqrrrsrrur�r)r3rx�ir{�M_one_fifthr�r�r�s        r �(test_larger_abs_fractional_matrix_powerszBTestFractionalMatrixPower.test_larger_abs_fractional_matrix_powers�s��
�	���t�����	&�	&�A��2�Y�Y�

&�

&���I�O�O�A�q�)�)�B������A�1F�1F�,F�F��5�a��=�=��!�y�5�5�k�1�E�E����<�0�0�0�+�A�t�4�4���I�*�*�;��<�<����1�%�%�%�+�A�s�3�3���I�*�*�;��;�;����1�%�%�%�%�

&�	&�	&r"c�n�tj�d��d}t|��D�]}tjdd��}tj���}tjtjdd����}tj�||��}tjd��r&|dtj�||��zz}||z}t||��}t|d�	��\}}	t||z��}
t||
����dS)
Nrj�r:r$rl)TFr�Fr<)rrprqrr�	randrangers�exp�choicerrrr)r3�nsamplesr-rxr'�matrix_scaler�A_powerr_r`�A_power_expm_logms           r �test_random_matrices_and_powersz9TestFractionalMatrixPower.test_random_matrices_and_powers
s��	�	���t�������x���	8�	8�A�� ��A�&�&�A��	���!�!�A��6�&�"2�2�q�"9�"9�:�:�L��	����1�%�%�A��}�]�+�+�
3���R�Y�_�_�Q��2�2�2�2���L� �A�
.�a��3�3�G����.�.�.�L�F�D� $�V�a�Z� 0� 0���G�%6�7�7�7�7�%	8�	8r"c��t��}t|tjd���\}}t	|d���\}}tj|d��}t|d��}t||��t||��t||��dD]m}t||��}t|d|z��}t||d���ttj
|d��tj
|d�����ndS)NFr<r�)r�g�������?r:r�r�)r!r
rrrr�_remainder_matrix_powerrrrr�)	r3r�A_funm_sqrtr`r��A_rem_powerr7r'ras	         r r�z?TestFractionalMatrixPower.test_al_mohy_higham_2012_experiment_1&s��1�3�3��!��B�G�%�8�8�8���T��a�e�,�,�,�
���'�?��3�G�G��)�!�S�1�1���;��0�0�0����)�)�)����-�-�-��	E�	E�A�-�a��3�3�G�2�7�A�a�C�@�@�L��L�!�$�7�7�7�7��B�G�L�!�4�4�b�g�a��m�m�D�D�D�D�		E�	Er"c�r�tj�d��tj�d��dtj�d��zzD]T}t	d��D]B}tj||��}|tj|��zdz
}t||���C�UdS)Nrjr�r�r$r:)	rrprqrsrrr�_briggs_helper_function�exp2r)r3r4�k�
x_observed�
x_expecteds     r �test_briggs_helper_functionz5TestFractionalMatrixPower.test_briggs_helper_function:s���
�	���t���������$�$�r�B�I�O�O�B�,?�,?�'?�?�	8�	8�A��1�X�X�
8�
8��.�F�q�!�L�L�
��"�'�1�"�+�+�-��1�
��
�J�7�7�7�7�
8�	8�	8r"c��d}ddgddggddgddggddgddggddgddggfD�]!}tj�|��}tt	d�|D������dD]�}tj|t���}t||��}t|j	j
|v��tj|t���}t||��}t|j	j
|v��tj|t���}t||��}t|j	j
|v���֐�#dS)	Nr�r:rr�r�c3�:K�|]}|jp
|jdkV��dSr�r�r�s  r r�zRTestFractionalMatrixPower.test_type_preservation_and_conversion.<locals>.<genexpr>Pr�r"��333333���������r+gffffff
@r)r�rurvr	r�rrrrrr�r��r3r�r�r|r'rr7s       r �%test_type_preservation_and_conversionz?TestFractionalMatrixPower.test_type_preservation_and_conversionBs���
.���Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� �	"�	C�	C�N���$�$�^�4�4�A���<�<�!�<�<�<�<�<�<�=�=�=�,�
C�
C���H�^�5�9�9�9��1�!�Q�7�7����
�*�2E�E�F�F�F��H�^�7�;�;�;��1�!�Q�7�7����
�*�.A�A�B�B�B��X�n�E�:�:�:�:��1�!�Q�7�7����
�*�.A�A�B�B�B�B�
C�	C�	Cr"c���d}ddgddggddgddgggd�gd�gd�gfD]�}tj�|��}tt	d�|D������d	D]�}tj|t�
��}t||��}t|j	j
|v��tj|t�
��}t||��}t|j	j
|v������dS)Nr�r:rr�r�r�r�c3�:K�|]}|jp
|jdkV��dSr�r�r�s  r r�z`TestFractionalMatrixPower.test_type_conversion_mixed_sign_or_complex_spectrum.<locals>.<genexpr>nr�r"rGr)r�rurvr	r�rrr�rrr�rrJs       r �3test_type_conversion_mixed_sign_or_complex_spectrumzMTestFractionalMatrixPower.test_type_conversion_mixed_sign_or_complex_spectrumes1��-���Q��!�R��!��Q��!�Q�� ����I�I�I�y�y�y�1�3�	C�	C�N���$�$�^�4�4�A��C�8�8�a�8�8�8�8�8�9�9�9�,�

C�

C���H�^�7�;�;�;��1�!�Q�7�7����
�*�.A�A�B�B�B��H�^�5�9�9�9��1�!�Q�7�7����
�*�.A�A�B�B�B�B�

C�	C�	Cr"zToo unstable across LAPACKs.��reasonc��ddgddggddgddggddgddgggd�gd�gd�gfD]�}ttfD]�}tj||�	��}d
D]E}t	||��}ttj|��������FdD]5}t	||��}t	|d|z��}t||���6����dS)Nrr:r�r�rkr�)rr:r:)rr�r:r)gffffff�rIrHg�������)r+g�z�G�?)	rr�rrrr	r�r�r)r3r��newtyperr'r7ras       r �
test_singularz'TestFractionalMatrixPower.test_singular~s"���Q��!�Q�� ��Q��!�Q�� ��Q��!�Q�� ����I�I�I�z�z�z�2�	4�	5�	5�N�"�7�+�
5�
5���H�^�7�;�;�;��1�5�5�A�5�a��;�;�G��B�H�W�-�-�1�1�3�3�4�4�4�4�$�5�5�A�5�a��;�;�G�#:�7�A�a�C�#H�#H�L�#�L�!�4�4�4�4�5�
5�	5�	5r"c��ddgddgg}ddgddgg}ttj||��|d�	��tt|d
��|d�	��dS)Nr�rmrr�r�r�r�r[r�r�)rrrrr�s   r r�z@TestFractionalMatrixPower.test_opposite_sign_complex_eigenvalues�sk���!�W�q�#�h����A�Y��D�	�"�����q�!���a�e�4�4�4�4��/��3�7�7���G�G�G�G�G�Gr"N)rQrRrSr�r�r/r9r�rDrKrN�pytest�mark�xfailrSr�rTr"r r"r"�s�������	5�	5�	5�
5�
5�
5�&�&�&�$8�8�8�2E�E�E�(8�8�8�!C�!C�!C�FC�C�C�2�[���<��=�=�5�5�>�=�5�&H�H�H�H�Hr"r"c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestExpMc�v�tddgddgg��}tt|��ddgddgg��dS)Nr9rr:)rrrr?s  r �	test_zerozTestExpM.test_zero�sC���B�q�6�1�Q�%�.�!�!��!�$�q�'�'�A�a�5�!�A��-�8�8�8�8�8r"c��td��}t|tjtjgg����dS)Nr:)rrrrr�)r3�elts  r �test_single_eltzTestExpM.test_single_elt�s3���1�g�g����R�X���v�h�/�/�0�0�0�0�0r"c�f�tjd��}t|��}|jdksJ�dS)N�rrr)rr�r�size)r3r�results   r �test_empty_matrix_inputz TestExpM.test_empty_matrix_input�s5���H�V�����a�����{�a������r"c���tj}tddgddgg��}|dzdzd|zz}|dzdz
|z}tt	|��t||g|dz|gg����t	|�tj����jjdksJ�t	|�tj	����jjdksJ�dS)Nr:rmr�r��f)
rr�rrr�astyperrr�r)r3r�r4�aa�bbs     r �test_2x2_inputzTestExpM.test_2x2_input�s����D���A�q�6�A�q�6�"�#�#����d�Q�h��1��
����d�Q�h��\����Q�����R��2�a�4��*�'=�!>�!>�?�?�?��A�H�H�R�\�*�*�+�+�1�6�#�=�=�=�=��A�H�H�R�Z�(�(�)�)�/�4��;�;�;�;�;�;r"c���tj}tjddgddggddgddggddgddggddgddggddgddgggd�	��}tj|dzdzd
|zz|dzdz
|zg|dzdz
dz|z|dzdzd
|zzggdd|d
zzzd|d
zzdzzd|d
zzdzdd|d
zzzz
g|d
zdzdd|d
zzzz
dd|d
zzz|d
zdzzggdd|zz|dzdzzdd|zzd|dzzdzzgdd
|zz|dzd
zzdd|zzd|dzzdzzggdd|d
zzzd|d
zzdzzdd|d
zzzd|d
zzdzzgdd|d
zzzd|d
zzdzzdd|d
zzzd|d
zzdzzggdd
|zzd|zd
zzdd
|zzd|zd
zzgdd
|zzd|zd
zz
dd
|zzd|zd
zz
ggg��}tt	|��|��dS)Nr:rmr�r�r$���rlr�)�orderr�rXr�rk���)rr�rrr)r3r�r4�a_ress    r �test_nx2x2_inputzTestExpM.test_nx2x2_input�s����D���H��1�v��1�v�&��1�v��2�w�'��1�v��1�v�&��1�v��1�v�&��1�v��B�x�(�	*�25�	
6�
6�
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"N)rQrRrSr[r^rcrirorTr"r rYrY�s_������9�9�9�1�1�1� � � �<�<�<�(�(�(�(�(r"rYc��eZdZd�Zd�Zd�Zd�Zejj	ej�
d���d�����ZdS)	�TestExpmFrechetc���tjgd�gd�gd�gd�gt���}tjddgdd	ggt���}tjd
dgdd
ggt���}tj�|��}tj�|��dd�dd�f}iddiddifD]3}t
||fi|��\}}t||��t||���4dS)N�r:r�r�rm�r$rkrXr��rrr:r��rrr$rkrr:r�r$rkr�rmrXr��method�SPS�blockEnlarge)rrrr�rurrr)	r3r{rr��
expected_expm�expected_frechet�kwargs�
observed_expm�observed_frechets	         r �test_expm_frechetz!TestExpmFrechet.test_expm_frechet�sL���H��L�L��L�L��L�L��L�L�	�
�
�
�
��
�H�
��F�
��F���
�
�
��
�H�
��F�
��F���
�
�
����)�)�!�,�,�
� �<�,�,�Q�/�/����A�B�B��7���H�U�+�h�~�-F�G�	@�	@�F�.:�1�a�.J�.J�6�.J�.J�+�M�+��M�=�9�9�9��,�.>�?�?�?�?�	@�	@r"c��tjgd�gd�gd�gd�gt���}tjddgdd	ggt���}tjd
dgdd
ggt���}tj�|d��}gd�}t
|dd�|dd���}|D]�\}}tjjj|}	tjjj|}
d|	|
zz}||z}||z}
||z}||z}tj�	|��}tj�	|
��dd�dd�f}t||��\}}t||��t||����dS)Nrsrtrurvrr:r�r$rkr�rmrXr�)r:r�r$rXrn��
�r�r�)rrrr�rur�zip�
_expm_frechet�ell_table_61rrr)r3�
M_original�
A_original�
E_original�A_original_norm_1�selected_m_list�m_neighbor_pairs�ma�mb�ell_a�ell_b�
target_norm_1rzr{rr�rzr{r}r~s                    r �test_small_norm_expm_frechetz,TestExpmFrechet.test_small_norm_expm_frechet�s����X��L�L��L�L��L�L��L�L�	�
����
��X�
��F�
��F������
��X�
��F�
��F������
�"�L�-�-�j�!�<�<��5�5�5����s��s�3�_�Q�R�R�5H�I�I��&�	@�	@�F�B���L�.�;�B�?�E��L�.�;�B�?�E��5�5�=�1�M�!�$5�5�E��
�"�A��
�"�A��
�"�A�!�L�-�-�a�0�0�M�$�|�0�0��3�3�B�Q�B����F�;��.:�1�a�.@�.@�+�M�+��M�=�9�9�9��,�.>�?�?�?�?�	@�	@r"c	�h�tjjtjjtjjtjjf}d}t
|��D�]\}tj|��}tjd��}tj	dd��}|||f���}|||f���}tj�|d��}	||	z}
|
|z}|
|z}tj
tj||g��tjtj|��|g��g��}
tj�|��}tj�|
��d|�|d�f}t#||��\}}t%||d���t%||d	�����^dS)
N�dr�r���rar:gH�����j>r�gH�����z>)rrp�uniform�normal�standard_cauchy�exponentialrrr4�expovariater2r�rur�vstack�hstack�
zeros_likerrr)r3�rfuncs�ntestsr-�rfuncr�rxr�r�r�rzrr�r{rzr{r}r~s                  r �	test_fuzzzTestExpmFrechet.test_fuzzs����	�!��	� ��	�)��	�%�	'��
���v���	K�	K�A��M�&�)�)�E�"�.�s�3�3�M�� ��B�'�'�A���Q�q�E�*�*�*�J���Q�q�E�*�*�*�J� %�� 1� 1�*�a� @� @��!�$5�5�E��
�"�A��
�"�A��	��	�1�a�&�!�!��	�2�=��+�+�Q�/�0�0�2�3�3�A�"�L�-�-�a�0�0�M�$�|�0�0��3�3�B�Q�B����F�;��.:�1�a�.@�.@�+�M�+��M�=�t�D�D�D�D��,�.>�T�J�J�J�J�J�#	K�	Kr"c�^�tjddgddggt���}tjddgdd	ggt���}tj�|d
��t
||d���\}}t
||d
���\}}t||��t||��dS)Ng]�؉?�?g�v�P��?g��^�?guÝ���?rg��S,��?g���|�@gJ��t�?g~3����?r:rx�rwry)rrrr�rurrr)r3rr��sps_expm�sps_frechet�blockEnlarge_expm�blockEnlarge_frechets       r �test_problematic_matrixz'TestExpmFrechet.test_problematic_matrixs����H��Z�(��Z�(���
 �
 �
 ��
�H��Z�(��Z�(���
 �
 �
 ��	����!�Q���� ,��1�U�!$�!$�!$���+�2>��1�^�3-�3-�3-�/��/���"3�4�4�4���%9�:�:�:�:�:r"zthis test is deliberately slowrOc�&�d}tj�||f���}tj�||f���}t||d���\}}t||d���\}}t	||��t	||��dS)Ni�r�rxr�ry)rrpr�rr)r3rxrr�r�r�r�r�s        r �test_medium_matrixz"TestExpmFrechet.test_medium_matrix0s���
���I�!�!��1�v�!�.�.���I�!�!��1�v�!�.�.�� ,��1�U�!$�!$�!$���+�2>��1�^�3-�3-�3-�/��/���"3�4�4�4���%9�:�:�:�:�:r"N)rQrRrSrr�r�r�rUrV�slow�skipr�rTr"r rqrq�s�������@�@�@�.@�@�@�BK�K�K�6;�;�;�$�[���[���=��>�>�
;�
;�?�>���
;�
;�
;r"rqc���tj||j��}t|��}||z||zz}t	||z��}t||z
��||zz}	|	S�N)r�reshaper�rr)
r�A_normr��X_norm�epsr'�p_norm�perturbation�X_prime�scaled_relative_errors
          r �_help_expm_cond_searchr�?sh��
�
�1�a�g���A�
�!�W�W�F���7�f�v�o�.�L��1�|�#�$�$�G� ��1��-�-��#��>��!�!�!r"c��|tj�|��tj�|��zzSr�)r�rur)rr�s  r �_normalized_liker�Hs2�����!�!�!�$�$�u�|�'8�'8��';�';�;�<�<r"c�x�||��}|||z��}t||z
��t|��zSr�)r)rerr�r�r�s     r �_relative_errorr�Ls@��	��!���A��a��L� �!�!�G���!����t�A�w�w�&�&r"c�J�eZdZd�Zd�Zd�Zejjd���Z	dS)�TestExpmConditionNumberc���tj�d��tdd��D]A}tj�||��}t|��}t
d|���BdS)Nrjr:rmr)rrprqrrrsrr
)r3rxr�kappas    r �test_expm_cond_smokez,TestExpmConditionNumber.test_expm_cond_smokeSsj��
�	���t�����q�!���	(�	(�A��	����1�%�%�A��a�L�L�E��a��'�'�'�'�	(�	(r"c��tjgd�gd�gd�gd�g��}t|��}td|��dS)N)g��(��gٙBg�x�@g�=��g�Zd��B)rgzN�V7�g�����@g2p�)rrgᙥ�T �g?W[��E�@)rrrgT��!��g� y�hG)rrrr
)r3rr�s   r �test_expm_bad_condition_numberz6TestExpmConditionNumber.test_expm_bad_condition_numberZs_���H�I�I�I�<�<�<�/�/�/�#�#�#�	�
�
���!�����$��&�&�&�&�&r"c�z�tj�d��tjddd���D]B}tj|gg��}tt
|��t|�����Ctjddd���D]B}tj|gg��}tt
|��t|�����Ctd��D]W}tj�
d	d	��}tt
|��tj|��d
���XdS)N�90rmr$r�)�numrr�r�r:r`)rrprq�linspacerrr�absrtrrrsr�)r3�xrr-s    r �test_univariatez'TestExpmConditionNumber.test_univariateds��
�	���u������R���+�+�+�	2�	2�A���1�#����A��I�a�L�L�#�a�&�&�1�1�1�1���R���+�+�+�	2�	2�A���1�#����A��I�a�L�L�#�a�&�&�1�1�1�1��r���	@�	@�A��	����1�%�%�A��I�a�L�L�"�+�a�.�.��*>�?�?�?�?�	@�	@r"c	�V�tj�d��d}d}t|��D�]�}tj�dd��}tj�||��}tj�|��}t|��}tj�|��}t|��}	tjt|||||��}
tj||z��}t|
|d���}|j}
|
|
��}|t#tj|
|j��|��z}t)t||��}t+|||z��td��D]{}|t#tjj|j�|��z}t+t|��t|����t)t||��}t-||���|t-|dd|zz|z|	z�����dS)	Nr�rdr�r�r$zL-BFGS-Br�r:)rrprqrr�randintrsr�rurrr�	functools�partialr��onesrr�r�r�r�r�rr
)r3r�r5r-rxrr�r�r�r�re�guess�out�xopt�yopt�p_best�
p_best_relerr�j�p_rand�
p_rand_relerrs                    r �test_expm_cond_fuzzz+TestExpmConditionNumber.test_expm_cond_fuzzps���
�	���u���������x���	H�	H�A��	�!�!�!�Q�'�'�A��	����1�%�%�A��\�&�&�q�)�)�F��Q���A��\�&�&�q�)�)�F��a�L�L�E��!�"8��v�q�&�#�/�/�A��G�A�a�C�L�L�E��1�e�J�7�7�7�C��5�D��1�T�7�7�D��+�B�J�t�Q�W�,E�,E�q�I�I�I�F�+�D�!�V�<�<�M��M�D�5�3�;�7�7�7��1�X�X�
@�
@���/��	����0I�1�M�M�M����V���d�6�l�l�;�;�;� /��a�� @� @�
�!�-��?�?�?�?�

�m�a�!�C�%�i�3�->��-F�G�G�G�G�?	H�	Hr"N)
rQrRrSr�r�r�rUrVr�r�rTr"r r�r�Rsj������(�(�(�'�'�'�
@�
@�
@��[��#H�#H���#H�#H�#Hr"r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�
TestKhatriRaoc
�^�ttddgddgg��tddgddgg����}t|tdd	gdd
gddgd
dgg����ttjddg��tjddg����}t|jd��dS)Nr:r�r�rmr$rkrXr��r�r���� )rmr�)rrrr�emptyr��r3r4�bs   r �
test_basiczTestKhatriRao.test_basic�s����u�q�!�f�q�!�f�-�.�.��q�!�f�q�!�f�-�.�.�
0�
0��	�1�e�a��W�&'��W�&(�"�X�&(�"�X�%/�0�0�	1�	1�	1�

�r�x��A��'�'���1�a�&�)9�)9�:�:���1�7�F�+�+�+�+�+r"c���tjt��5tgd�gd�g��}tddgddgg��}t	||��ddd��dS#1swxYwYdS)N�r:r�r��rmr$rkr:r�r�rm�rU�raises�
ValueErrorrrr�s   r �test_number_of_columns_equalityz-TestKhatriRao.test_number_of_columns_equality�s���
�]�:�
&�
&�	�	��y�y�y� �y�y�"�#�#�A���1�v��1�v�� � �A��q�!����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�;A"�"A&�)A&c�j�tjt��5tgd���}tgd���}t	||��ddd��n#1swxYwYtjt��5tgd���}tgd�gd�g��}t	||��ddd��n#1swxYwYtjt��5tgd�gd�g��}tgd���}t	||��ddd��dS#1swxYwYdS)Nr�r�)rXr�rnr�r�s   r �test_to_assure_2d_arrayz%TestKhatriRao.test_to_assure_2d_array�s��
�]�:�
&�
&�	�	��i�i�i� � �A��i�i�i� � �A��q�!����		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��]�:�
&�
&�	�	��i�i�i� � �A���	�	��	�	����A�
�q�!����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��]�:�
&�
&�	�	���	�	��	�	����A��i�i�i� � �A��q�!����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�3A�A� A�=7C�C�C�$7D(�(D,�/D,c����tddgddgg���tddgddgg���t����}tj��fd	�t	�jd��D����j}t||��dS)
Nr:r�r�rmr$rkrXr�c�b��g|]+}tj�dd�|f�dd�|f����,Sr�)r�kron)r�rAr4r�s  ��r �
<listcomp>z@TestKhatriRao.test_equality_of_two_equations.<locals>.<listcomp>�sM���6�6�6���'�!�A�A�A�q�D�'�1�Q�Q�Q��T�7�3�3�6�6�6r")rrrr�rrr�r�r)r3�res1�res2r4r�s   @@r �test_equality_of_two_equationsz,TestKhatriRao.test_equality_of_two_equations�s������A�q�6�A�q�6�"�#�#���A�q�6�A�q�6�"�#�#���!�Q�����y�6�6�6�6�6�#(�����#4�#4�6�6�6�7�7�78�	
�	�4��&�&�&�&�&r"N)rQrRrSr�r�r�r�rTr"r r�r��sP������
,�
,�
,�������2'�'�'�'�'r"r�)-�__doc__rpr��numpyrrrrr�
numpy.testingrrr	r
rrrU�scipy.linalgr�r
rrrrrrrrrr�scipy.linalg._expm_frechet�scipy.optimizerr!r$rVr�r"rYrqr�r�r�r�r�rTr"r �<module>r�sP�����
�
�
���������,�,�,�,�,�,�,�,�,�,�,�,�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�
�
�
�
�����K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�*�*�*�*�*�*�!�!�!�!�#�#�#�#�#�#�
�
�
�*'�'�'�'�'�'�'�'�VO0�O0�O0�O0�O0�O0�O0�O0�dr3�r3�r3�r3�r3�r3�r3�r3�jvH�vH�vH�vH�vH�vH�vH�vH�r-(�-(�-(�-(�-(�-(�-(�-(�`s;�s;�s;�s;�s;�s;�s;�s;�l"�"�"�=�=�=�'�'�'�BH�BH�BH�BH�BH�BH�BH�BH�J7'�7'�7'�7'�7'�7'�7'�7'�7'�7'r"

Youez - 2016 - github.com/yon3zu
LinuXploit