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_basic.cpython-311.pyc
�

d�c���|�ddlZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZddl
mZddlmZddlmZmZmZmZmZmZmZddlZddlmZddlmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1dd	l2m3Z3dd
l4m5Z5ejej6ej7fZ8ej9ej:ej;fZ<e8e<zZ=d�Z>Gd�d
��Z?Gd�d��Z@Gd�d��ZAGd�d��ZBGd�d��ZCGd�d��ZDd-d�ZEGd�d��ZFGd�d��ZGGd�d��ZHejI�Jdd ��ejI�Jd!e#e$f��d"�����ZKGd#�d$��ZLGd%�d&��ZMGd'�d(��ZNGd)�d*��ZOGd+�d,��ZPdS).�N)�arange�array�dot�zeros�identity�	conjugate�	transpose�float32)�random)�assert_equal�assert_almost_equal�assert_�assert_array_almost_equal�assert_allclose�assert_array_equal�suppress_warnings)�raises)�_pep440)�solve�inv�det�lstsq�pinv�pinvh�norm�solve_banded�
solveh_banded�solve_triangular�solve_circulant�	circulant�LinAlgError�
block_diag�matrix_balance�qr�
LinAlgWarning��assert_no_overwrite)�check_free_memory)�	HAS_ILP64c��|}|tjkr
tj}n|tjkrtj}tj|��jS)z;Get the epsilon for dtype, possibly downcast to BLAS types.)�np�
longdouble�float64�clongdouble�
complex128�finfo�eps)�dtyp�dts  �?/usr/lib/python3/dist-packages/scipy/linalg/tests/test_basic.py�	_eps_castr5 sB��	
�B�	�R�]���
�Z���	�r�~�	�	�
�]��
�8�B�<�<���c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestSolveBandedc��tgd�gd�gd�gd�g��}tgd�gd�gd�gd�g��}d	\}}tgd
���}|�dd��}td
dgddgd
dgddgg��}tgd�gd�gd�gd�g��}||||fD]3}	t||f||	��}
tt	||
��|	���4dS)N���?�rr������r���r<rB�r�������r<r@rB�rCr?r<rG�r>rCrFr�rBrErr�rBrC��$@rI�@g,@rErCrBr>r?��rCrrr�rrrrC�rrCrr�r�reshaperrr��self�a�ab�l�u�b4�b4by1�b4by2�b4by4�b�xs           r4�	test_realzTestSolveBanded.test_real,sH���?�?�?�!�>�>� �=�=�!�>�>�#�
$�
$���O�O�O�"�N�N�"�N�N�!�M�M�#�$�$�����1�
�)�)�)�
*�
*���
�
�2�q�!�!����1�v��Q�x��1�v��1�v�� � ���|�|�|�#�|�|�#�|�|�#�|�|�%�&�&���e�U�E�*�	4�	4�A��a��V�R��+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��tgd�gd�gd�gd�g��}tgd�gd�gd�gd�g��}d	\}}tgd
���}|�dd��}td
dgddgd
dgddgg��}tgd�gd�gd�gd�g��}||||fD]3}	t||f||	��}
tt	||
��|	���4dS)Nr:r=)�@rCr<rerD�rIr<r@rerJrK)rerErrrM�rOrIrPy,@rErCrBr>r?rQrR)rrr��?rTrUrWs           r4�test_complexzTestSolveBanded.test_complexDsK���?�?�?�!�>�>�"�?�?�!�>�>�#�
$�
$���$�$�$�"�N�N�"�N�N�"�N�N�$�%�%�����1�
�*�*�*�
+�
+���
�
�2�q�!�!����1�v��Q�x��1�v��1�v�� � ���|�|�|�$�}�}�#�|�|�#�|�|�%�&�&���e�U�E�*�	4�	4�A��a��V�R��+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��tgd�gd�gd�g��}tj|ddd�fd��tj|ddd�fd��ztj|ddd�fd��z}tgd���}|�dd��}tddgd	d
gddgddgg��}tgd�gd
�gd�gd�g��}||||fD]1}t	d||��}tt
||��|���2dS)NrHrJrKrrCrBrErNr>r?rQrRrSrT�rCrC�rr+�diagrVrrr�	rXrZrYr]r^r_r`rarbs	         r4�test_tridiag_realz!TestSolveBanded.test_tridiag_real\sd��
�O�O�O�!�>�>�!�>�>�#�$�$��
�G�B�q�!�"�"�u�I�q�!�!�B�G�B�q�!�!�!�t�H�a�$8�$8�8�2�7�@B�1�c�r�c�6�
�B�<P�<P�
P��
�)�)�)�
*�
*���
�
�2�q�!�!����1�v��Q�x��1�v��1�v�� � ���|�|�|�#�|�|�#�|�|�#�|�|�%�&�&���e�U�E�*�	4�	4�A��V�R��+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��tgd�gd�gd�g��}tj|ddd�fd��tj|ddd�fd��ztj|ddd�fd��z}tgd���}|�dd��}tddgd	d
gddgddgg��}tgd�gd
�gd�gd�g��}||||fD]1}t	d||��}tt
||��|���2dS)NrfrJrKrrCrBrErgr>r?rQrRrSrTrkrlrns	         r4�test_tridiag_complexz$TestSolveBanded.test_tridiag_complexpsg��
�$�$�$�!�>�>�!�>�>�#�$�$��
�G�B�q�!�"�"�u�I�q�!�!�B�G�B�q�!�!�!�t�H�a�$8�$8�8�2�7�?A�!�S�b�S�&�z�2�<O�<O�
O��
�*�*�*�
+�
+���
�
�2�q�!�!����1�v��Q�x��1�v��1�v�� � ���|�|�|�#�|�|�#�|�|�#�|�|�%�&�&���e�U�E�*�	4�	4�A��V�R��+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��tgd�gd�gd�gd�g��}tgd�gd�gd�gd�g��}d	\}}tgd
���}t||f||d���}tt||��|��dS)
Nr:r=rArDrHrJrKrLrMrNF��check_finite)rrrr)rXrYrZr[r\r]rbs       r4�test_check_finitez!TestSolveBanded.test_check_finite�s����?�?�?�!�>�>� �=�=�!�>�>�#�
$�
$���O�O�O�"�N�N�"�N�N�!�M�M�#�$�$�����1�
�)�)�)�
*�
*���!�Q���R�e�<�<�<��!�#�a��)�)�R�0�0�0�0�0r6c�N�tgd�gd�gd�gd�g��}d\}}tgd����dd��}ttt||f||��ttt||f|d	d
g��tttd|d	d
g��dS)NrHrJrKrLrM)r;rP�@�@rEr?r;rPrk)rrV�
assert_raises�
ValueErrorr)rXrZr[r\�bads     r4�test_bad_shapezTestSolveBanded.test_bad_shape�s���
�O�O�O�"�N�N�"�N�N�!�M�M�#�$�$�����1��(�(�(�)�)�1�1�"�a�8�8���j�,��A���C�@�@�@��j�,��A���S�#�J�G�G�G�	�j�,���S�#�J�G�G�G�G�Gr6c���tgd�g��}tddgdgdgg|��}t|gd�g��t|jtjd����t|gd�g��dS)N�r;rPrwrkrrB)��?r;g�?�f8)rrrr�dtyper+)rXrarbs   r4�test_1x1zTestSolveBanded.test_1x1�s����<�<�<�.�!�!����1�#��s�Q�C��!�4�4���1����/�0�0�0��Q�W�b�h�t�n�n�-�-�-��1����/�0�0�0�0�0r6c��gd�gd�gd�gd�g}gd�gd�gd�gd�g}d	\}}gd
�}t||f||��}tt||��|��dS)Nr:r=rArDrHrJrKrLrMrN)rrr)rXrYrZr[r\rarbs       r4�test_native_list_argumentsz*TestSolveBanded.test_native_list_arguments�s���
�_�_�
�^�^�
�]�]�
�^�^�
���o�o��n�n��n�n��m�m������1�"�"�"���!�Q���Q�'�'��!�#�a��)�)�Q�/�/�/�/�/r6N)�__name__�
__module__�__qualname__rcrirorqrur|r�r��r6r4r8r8*s�������4�4�4�04�4�4�04�4�4�(4�4�4�(1�1�1�H�H�H�1�1�1�0�0�0�0�0r6r8c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestSolveHBandedc��tgd�gd�gd�g��}tgd���}t||��}t|gd���dS�N�rIrIrPrP����r;r;r;�rxrxrxrx�r;rxr;rP�rIr;rIrI�rrr�rXrZrarbs    r4�
test_01_upperzTestSolveHBanded.test_01_upper�su���(�(�(�(�(�(�(�(�(�*�+�+��
�&�&�&�'�'���"�a� � ��!�!�%9�%9�%9�:�:�:�:�:r6c���tgd�gd�gd�g��}tddgddgddgddgg��}t||��}tddgddgddgddgg��}t||��dS)	Nr�r�r�r;�@rxrPrIr��rXrZrarb�expecteds     r4�
test_02_upperzTestSolveHBanded.test_02_upper�s����(�(�(�(�(�(�(�(�(�*�+�+��
�C��:���:���:���:��
 �
 ��
�"�a� � ���3��*���*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�gd�g��}tgd����dd��}t||��}t|tgd����dd����dS)Nr�r�r�r�rErCr��rrVrrr�s    r4�
test_03_upperzTestSolveHBanded.test_03_upper�s����(�(�(�(�(�(�(�(�(�*�+�+��
�&�&�&�'�'�/�/��A�6�6���"�a� � ��!�!�U�+;�+;�+;�%<�%<�%D�%D�R��%K�%K�L�L�L�L�Lr6c��tgd�gd�gd�g��}tgd���}t||d���}t|gd���dS)Nr��r;r;r;r��rPrPrIrIr�T��lowerr�r�r�s    r4�
test_01_lowerzTestSolveHBanded.test_01_lower�sz���(�(�(�(�(�(�(�(�(�*�+�+��
�&�&�&�'�'���"�a�t�,�,�,��!�!�%9�%9�%9�:�:�:�:�:r6c���tgd�gd�gd�g��}tddgddgddgddgg��}t||d�	��}td
dgdd
gd
dgd
d
gg��}t||��dS)Nr�r�r�r;r�rxrPTr�rIr�r�s     r4�
test_02_lowerzTestSolveHBanded.test_02_lower�s����(�(�(�(�(�(�(�(�(�*�+�+��
�C��:���:���:���:��
 �
 ��
�"�a�t�,�,�,���3��*���*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�gd�gt���}tgd�t���}t||��}t|gd���dS)Nr�r�r��r�r�r��rr
rrr�s    r4�test_01_float32z TestSolveHBanded.test_01_float32s����(�(�(�(�(�(�(�(�(�*�18�:�:�:��
�&�&�&�g�6�6�6���"�a� � ��!�!�%9�%9�%9�:�:�:�:�:r6c��tgd�gd�gd�gt���}tddgddgddgddggt���}t||��}td	dgdd	gd	dgd	d	gg��}t||��dS)
Nr�r�r�r�r;r�rxrPrIr�r�s     r4�test_02_float32z TestSolveHBanded.test_02_float32s����(�(�(�(�(�(�(�(�(�*�18�:�:�:��
�C��:���:���:���:��'.�
/�
/�
/��
�"�a� � ���3��*���*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�gd�g��}tgd���}t||��}t|gd���dS)Nr��r����r�r�r�)�@�@�@�?�@�?)rIr;r;rIr�r�s    r4�test_01_complexz TestSolveHBanded.test_01_complex.su���(�(�(�.�.�.�(�(�(�*�+�+��
�.�.�.�/�/���"�a� � ��!�!�%9�%9�%9�:�:�:�:�:r6c���tgd�gd�gd�g��}tddgddgdd	gd
dgg��}t||��}tddgd
dgd
d
gddgg��}t||��dS)Nr�r�r�r��@@r����r�y@@r�rhrIr;r�r�s     r4�test_02_complexz TestSolveHBanded.test_02_complex<s����(�(�(�.�.�.�(�(�(�*�+�+��
�D�$�<��E�?��D�>��"�:��
 �
 ��
�"�a� � ���3��+���*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�g��}tgd���}t||��}t|gd���dS)N�r�r;r;�rxrxrx�r;rxr;�rIr;rIr�r�s    r4�test_tridiag_01_upperz&TestSolveHBanded.test_tridiag_01_upperQsX���O�O�O�_�_�_�5�
6�
6���/�/�/�"�"���"�a� � ��!�!�_�_�_�5�5�5�5�5r6c���tgd�gd�g��}tddgddgddgg��}t||��}tddgddgddgg��}t||��dS)Nr�r�r;rxrPrIr�r�s     r4�test_tridiag_02_upperz&TestSolveHBanded.test_tridiag_02_upper\s����O�O�O�#�O�O�%�&�&���C��:���:���:��
 �
 ��
�"�a� � ���3��*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�g��}tgd����dd��}t||��}t|tgd����dd����dS)Nr�r�r�rErCr�r�r�s    r4�test_tridiag_03_upperz&TestSolveHBanded.test_tridiag_03_upperms����O�O�O�_�_�_�5�
6�
6���/�/�/�"�"�*�*�2�q�1�1���"�a� � ��!�!�U�?�?�?�%;�%;�%C�%C�B��%J�%J�K�K�K�K�Kr6c��tgd�gd�g��}tgd���}t||d���}t|gd���dS)Nr��r;r;r�r�Tr�r�r�r�s    r4�test_tridiag_01_lowerz&TestSolveHBanded.test_tridiag_01_lowerxsd���O�O�O�#�O�O�%�&�&���/�/�/�"�"���"�a�t�,�,�,��!�!�_�_�_�5�5�5�5�5r6c���tgd�gd�g��}tddgddgddgg��}t||d���}tddgddgddgg��}t||��dS)	Nr�r�r;rxrPTr�rIr�r�s     r4�test_tridiag_02_lowerz&TestSolveHBanded.test_tridiag_02_lower�s����O�O�O�#�O�O�%�&�&���C��:���:���:��
 �
 ��
�"�a�t�,�,�,���3��*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�gt���}tgd�t���}t||��}t|gd���dS)Nr�r�r�r�r�r�r�s    r4�test_tridiag_01_float32z(TestSolveHBanded.test_tridiag_01_float32�sb���O�O�O�_�_�_�5�W�
E�
E�
E���/�/�/��1�1�1���"�a� � ��!�!�_�_�_�5�5�5�5�5r6c���tgd�gd�gt���}tddgddgddggt���}t||��}tddgddgddgg��}t||��dS)Nr�r�r�r;rxrPrIr�r�s     r4�test_tridiag_02_float32z(TestSolveHBanded.test_tridiag_02_float32�s����O�O�O�#�O�O�%�,3�5�5�5���C��:���:���:��&-�
/�
/�
/��
�"�a� � ���3��*���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�g��}tgd���}t||��}t|gd���dS)N�r�r�r�r�)r�r�r�)rIr;r;r�r�s    r4�test_tridiag_01_complexz(TestSolveHBanded.test_tridiag_01_complex�s^���'�'�'����9�
:�
:���'�'�'�(�(���"�a� � ��!�!�_�_�_�5�5�5�5�5r6c���tgd�gd�g��}tddgddgddgg��}t||��}td	d
gdd	gddgg��}t||��dS)Nr�r�r��@r�r�r�rxrIrhr;r�r�s     r4�test_tridiag_02_complexz(TestSolveHBanded.test_tridiag_02_complex�s����'�'�'�#�O�O�%�&�&���C��;��G�$��C�=�"�
#�
#��
�"�a� � ���3��+���*���*�&�'�'��	"�!�X�.�.�.�.�.r6c��tgd�gd�g��}tgd���}t||d���}t|gd���dS)Nr�r�r�Frsr�r�r�s    r4ruz"TestSolveHBanded.test_check_finite�s]���O�O�O�_�_�_�5�
6�
6���/�/�/�"�"���"�a�e�4�4�4��!�!�_�_�_�5�5�5�5�5r6c��tgd�gd�g��}tddgddgg��}ttt||��ttt|ddg��ttt|dg��dS)Nr�r�r;rxrP)rryrzr)rXrZras   r4�test_bad_shapesz TestSolveHBanded.test_bad_shapes�s���
�O�O�O�#�O�O�%�&�&���C��:���:��
 �
 ���j�-��Q�7�7�7��j�-��c�3�Z�@�@�@��j�-��c�U�;�;�;�;�;r6c��tdgggd�g��}t|gd�g��t|jt	jd����dS)NrC�rCrBrQr~r�)rrrr�r+)rXrbs  r4r�zTestSolveHBanded.test_1x1�sR���A�3�%�)�)�)��-�-���1����/�0�0�0��Q�W�b�h�t�n�n�-�-�-�-�-r6c�h�gd�gd�gd�g}gd�}t||��}t|gd���dSr�)rrr�s    r4r�z+TestSolveHBanded.test_native_list_arguments�s]��"�"�"�"�"�"�"�"�"�$��
!� � ���"�a� � ��!�!�%9�%9�%9�:�:�:�:�:r6N)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rur�r�r�r�r6r4r�r��sd������;�;�;�/�/�/�*M�M�M�;�;�;�/�/�/�*;�;�;�/�/�/�*;�;�;�/�/�/�*	6�	6�	6�/�/�/�"	L�	L�	L�
6�
6�
6�/�/�/�"	6�	6�	6�/�/�/�"	6�	6�	6�/�/�/�"	6�	6�	6�<�<�<�.�.�.�
;�;�;�;�;r6r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"e#j$�%d!�"��d#���Z&d$S)%�	TestSolvec�D�tj�d��dS�N���r+r�seed�rXs r4�setup_methodzTestSolve.setup_method����
�	���t�����r6c���ddgddgg}t|ddg��}tt||��ddg��ddgddgg}ddg}t||��}tt||��ddg��dS)NrCr;r��333333�?�rrr)rXrY�x0ras    r4�test_20Feb04_bugzTestSolve.test_20Feb04_bug�s�����V�c�1�X���
�1�q�"�g�
�
��!�#�a��*�*�q�!�f�5�5�5���V�c�1�X���
��G��
�1�a�[�[��!�#�a��*�*�q�!�f�5�5�5�5�5r6c��ddgddgg}ddgddggddgddgddggfD]0}t||��}tt||��|���1dS)NrCr<r>r?rrBr��rXrYrarbs    r4�test_simplezTestSolve.test_simple�s�����W�s�A�h����q�6�A�q�6�"��a�&��q�6�C��8�$��	4�	4�A��a����A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c���tddgddggd��}ddgddgddggdd	gtddgd��fD]0}t||��}tt||��|���1dS)
N�rBrer?�DrhrrCr�)rrrrr�s    r4�test_simple_complexzTestSolve.test_simple_complexs����A�q�6�B��7�#�S�)�)���q�'���8�a��V�$��b�'���A���$�$��	4�	4�A�
�a����A�%�c�!�Q�i�i��3�3�3�3�
	4�	4r6c��ddgddgg}dD]B}ddgddggddgfD]3}t||d|���}tt||��|���4�CdS)	NrBrQr��rrCrCr�pos��assume_ar�r��rXrYr�rarbs     r4�test_simple_poszTestSolve.test_simple_poss�����V�a��V����	8�	8�E��1�v��1�v�&��!�f��
8�
8���!�Q��e�<�<�<��)�#�a��)�)�Q�7�7�7�7�	
8�	8�	8r6c��ddgddgg}ddgddgddggfD]2}t||d���}tt||��|���3dS)Nr�rBr?rhrr��r�r�r�s    r4�test_simple_pos_complexbz"TestSolve.test_simple_pos_complexbsw����V�a��V����q�'���8�a��V�$��	4�	4�A��a��U�+�+�+�A�%�c�!�Q�i�i��3�3�3�3�		4�	4r6c��ddgddgg}dD]B}ddgddggddgfD]3}t||d|���}tt||��|���4�CdS)	NrBrQ���r�rCr�symr�r�r�s     r4�test_simple_symzTestSolve.test_simple_sym#s�����V�a��W����	8�	8�E��1�v��1�v�&��!�f��
8�
8���!�Q��e�<�<�<��)�#�a��)�)�Q�7�7�7�7�	
8�	8�	8r6c��ddgddgg}ddgddgddggfD]2}t||d���}tt||��|���3dS)Nr�rB���rhrr�r�r�r�s    r4�test_simple_sym_complexbz"TestSolve.test_simple_sym_complexb,sw����V�a��W����q�'���8�Q��F�#��	4�	4�A��a��U�+�+�+�A�%�c�!�Q�i�i��3�3�3�3�		4�	4r6c��ddgddgg}ddgddgddgddggfD]2}t||d�	��}tt||��|���3dS)
Nr�r�r�rhrrCrBr�r�r�r�s    r4�test_simple_sym_complexz!TestSolve.test_simple_sym_complex4�~����Y��r�
�#���q�'��a�&���8�a��V�$��	4�	4�A��a��U�+�+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��ddgddgg}dD]E}ddgddggddgddgfD]3}t||d|�	��}tt||��|���4�FdS)
NrBrQr�r�rCrrh�herr�r�r�s     r4�test_simple_her_actuallysymz%TestSolve.test_simple_her_actuallysym=s�����V�a��W����	8�	8�E��1�v��1�v�&��!�f��1�g��
8�
8���!�Q��e�<�<�<��)�#�a��)�)�Q�7�7�7�7�
8�	8�	8r6c��ddgddgg}ddgddgddgddggfD]2}t||d	�
��}tt||��|���3dS)Nr�r�r�r�rhrrCrBrr�r�r�s    r4�test_simple_herzTestSolve.test_simple_herGrr6c�h�d}t||g��t||g��dzz}t||fd��}t|��}t|��t|��dzz}t	d|��D]%}|dd�|f}t||��|dd�|f<�&t
||��dS)NrBrhr�r�r)rrrrrrr)rX�n�A�X�Ainv�R�i�rs        r4�test_nils_20Feb04zTestSolve.test_nils_20Feb04Ps���
���A�q�6�N�N�6�1�a�&�>�>�"�,�,���1�a�&�#�����1�v�v���Q�K�K�����B��&����1���	"�	"�A��!�!�!�Q�$��A��A�q�k�k�A�a�a�a��d�G�G�!�!�T�*�*�*�*�*r6c��d}t||g��}t|��D]}dd|||fzz|||f<�td��D]A}t|dg��}t||��}tt	||��|���BdS)Nr<皙�����?r?rQ�r�rangerrr�rXrrYr
rarbs      r4�test_randomzTestSolve.test_random[s������A�q�6�N�N���q���	&�	&�A��"�Q�q�!�t�W�*�o�A�a��d�G�G��q���	4�	4�A���1�v���A��a����A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c�F�d}t||g��dt||g��zz}t|��D]}dd|||fzz|||f<�td��D]A}t|dg��}t||��}tt	||��|���BdS)Nr<rhrrBrQrrs      r4�test_random_complexzTestSolve.test_random_complexfs������A�q�6�N�N�R�&�!�Q��.�.�0�0���q���	&�	&�A��"�Q�q�!�t�W�*�o�A�a��d�G�G��q���	4�	4�A���1�v���A��a����A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��tjtd���5tdggdgd���ddd��dS#1swxYwYdS)Nz#The 'sym_pos' keyword is deprecated)�matchr;rCT)�sym_pos)�pytest�warns�DeprecationWarningrr�s r4�test_sym_pos_depzTestSolve.test_sym_pos_depps���
�\�"�;�
�
�
�	-�	-�
�B�4�&�1�#�t�,�,�,�,�		-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�?�A�Ac�z�d}t||g��}t|��D]E}tdd|||fzz��|||f<t|��D]}|||f|||f<��Ftd��D]B}t|g��}t||d���}t	t||��|���CdS)Nr<rr?r�r�)rr�absrrr�rXrrYr
�jrarbs       r4�test_random_symzTestSolve.test_random_symws������A�q�6�N�N���q���	"�	"�A��"�b��1�a�4��j�/�*�*�A�a��d�G��1�X�X�
"�
"���A�q�D�'��!�Q�$���
"��q���	4�	4�A���s���A��a��U�+�+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c���d}t||g��}|dt||g��zz}t|��D]R}tdd|||fzz��|||f<t|��D]}t|||f��|||f<��St|g��dt|g��zz}td��D]2}t	||d���}tt
||��|���3dS)Nr<rhrrerBr�r�)rrr rrrrr!s       r4�test_random_sym_complexz!TestSolve.test_random_sym_complex�s�����A�q�6�N�N��
��6�1�a�&�>�>�!�!���q���	-�	-�A��"�b��1�a�4��j�/�*�*�A�a��d�G��1�X�X�
-�
-��#�A�a��d�G�,�,��!�Q�$���
-��A�3�K�K��6�1�#�;�;��&���q���	4�	4�A��a��U�+�+�+�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��ddgddgg}ddgddggddgddgddggfD]2}t||d���}tt||��|���3dS)	NrCr<r>r?rrBFrsr�r�s    r4ruzTestSolve.test_check_finite�s�����W�s�A�h����q�6�A�q�6�"�Q��F��q�6�C��8�$�&�	4�	4�A��a���/�/�/�A�%�c�!�Q�i�i��3�3�3�3�	4�	4r6c��d}gd�}t||��}t|���|��t|jdkd��dS)NrCr��rQz'Scalar_a_1D_b test returned wrong shape)rr�ravelr�shaper�s    r4�test_scalar_a_and_1D_bz TestSolve.test_scalar_a_and_1D_b�sR��
���I�I���!�Q�K�K��!�!�'�'�)�)�Q�/�/�/����4��!J�K�K�K�K�Kr6c��tjgd�gd�gd�gd�g��}tjddgddgd	d
gddgg��}t||��}t|tjgd
�gd�g��j��dS)N)�������?g
ףp=
@gffffff@g{�G�z�)gh�@gpr�g�W�g�w�)gH�z�G�?g��Q���g333333�g�p=
ף�)g�(\���g��Q��g�z�G��g�������?g
ףp=
#@g���Qx2@g�@g l@g�p=
ף�?g��(\�*�g�z�G��gףp=
��)r;rErQr�)rQrBr?rC)r+rrr�Tr�s    r4�test_simple2zTestSolve.test_simple2�s����H�/�/�/�8�8�8�1�1�1�1�1�1�3�
4�
4��

�H�t�U�m���'��V�n��e�n�&�
'�
'��

�!�Q�K�K��!�!�R�X����/;�|�|�/=�&>�&>�>?�	A�	A�	A�	A�	Ar6c
��tjgd�gd�gd�gd�g��}tjddgddgd	d
gddgg��}t||��}t|tjd
dgddgddgddgg����dS)N)yq=
ףp��ffffff@y�Q����?\��(\	@y��(\���������y
ףp=
�?q=
ףp�)y333333��333333,�y����̌@@��y��������*@y������)@������+@)yR���Q
���Q��y��(\����G�z�@y�Q�����������y��Q���?�������?)yH�z�G@�(\���?y�Q���῅�Q���?y��(\���G�z�y\��(\��q=
ףp�?y�(\�B:@�p=
��I@yR���Q?@�������y33333P@33333�U�y33333�c@ffffff,�y���(\O9@y333333�q=
ף0>@y��(\��?��(\�@y{�G�z�333333@��?�?y��y@�y@�?y��y�@y@)r+rrrr�s    r4�test_simple_complex2zTestSolve.test_simple_complex2�s����H�H�H�H�M�M�M�I�I�I�I�I�I�K�
L�
L��

�H�|�[�1�#�]�3�#�\�2�!�;�/�1�
2�
2��

�!�Q�K�K��!�!�R�Y����16���17��0@�14�e��0>�&?�&?�	@�	@�	@�	@�	@r6c�~�tjgd�gd�gd�gd�g��}tjddgddgd	d
gddgg��}tjd
dgddgddgddgg��}t||d���}t||��t|���j|dd���}t||��dS)N)gq=
ףp��y)\��(�?)\��(��y{�G�z���z�G��yH�z�G@��)rg��Q���yq=
ףp�����Q��?y�G�z�@�z�G��?)rrg=
ףp�!�yH�z�G�?�������)rrrg�(\���yףp=
�@\��(\$�y�G�z�<@R����C�y)\��(#�
ףp=
@y
ףp=�8������� �y�p=
ף������0�y�Q���@�z�G�Q�y)\��(@�Q���@yR���A��(\�2@r�y �@y@�y@�y�@y�@y�?�y@�rr�Tr�)r+rrr�conjr.)rXrYra�resrbs     r4�test_hermitianzTestSolve.test_hermitian�s���H�B�B�B�9�9�9�/�/�/�&�&�&�(�
)�
)��
�H�{�L�1�"�L�1�#�[�1�!�=�1�3�
4�
4���h������
������
�'�(�(��
�!�Q��'�'�'��!�!�S�)�)�)��!�&�&�(�(�*�a�%�t�<�<�<��!�!�S�)�)�)�)�)r6c��tjdd���dd��}ttj|��dztjd��d���}t
|gd���ttj|��dztjd��d���}t
|gd���dS)	NrC�
rQ�	r�r�)g"@r-r;r��r+rrVr�tril�onesr�rXr	rbs   r4�test_pos_and_symzTestSolve.test_pos_and_sym�s����I�a����$�$�Q��*�*���"�'�!�*�*�Q�,����
�
�U�;�;�;��!�!�]�]�]�3�3�3��"�'�!�*�*�Q�,����
�
�U�;�;�;��!�!�]�]�]�3�3�3�3�3r6c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	��}tjd��dd�df}ttt
||��dS)N)	rCrrrrrrCrrC)	rCrCrCrrrrCrrC)	rrCrCrrrrCrrC)	rCrrCrCrCrCrrr)	rCrCrCrCrCrCrCrCrCr9)r+rrryr!r�rXrYras   r4�test_singularityzTestSolve.test_singularity�s����H�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�3�
4�
4��
�I�a�L�L����D��!���k�5�!�Q�/�/�/�/�/r6c��tjddgddgg��}tjd��}tj��5tjd��t
tt||��ddd��dS#1swxYwYdS)NrCr;g�������?rB�error)	r+rr<�warnings�catch_warnings�simplefilterryr%rr@s   r4�test_ill_condition_warningz$TestSolve.test_ill_condition_warning�s����H�q�!�f�w��0�1�2�2���G�A�J�J��
�
$�
&�
&�	6�	6��!�'�*�*�*��-���1�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�1B�B�Bc��tjd��}ggg}t||��}t|jdkd��t|jdkd��dS)NrBrzReturned array is not empty)rBrz#Returned empty array shape is wrong)r+�eyerr�sizer*r�s    r4�test_empty_rhszTestSolve.test_empty_rhs�sZ���F�1�I�I��
��H���!�Q�K�K�����!��:�;�;�;����6�!�#H�I�I�I�I�Ir6c��tjd��}tj�ddd��}t	||��}t||��dS)NrBrQr?)r+rIr�randrrr�s    r4�test_multiple_rhszTestSolve.test_multiple_rhs�sI���F�1�I�I���I�N�N�1�a��#�#���!�Q�K�K��!�!�Q�'�'�'�'�'r6c��tjd���dd��dz}ttj|��dztjd��d���}t
|gd���ttj|��dztjd��d���}t
|gd���dS)	Nr9rQrCT��
transposed)r�g�������?rCF)r9g�������g333333�r:r=s   r4�test_transposed_keywordz!TestSolve.test_transposed_keyword�s����I�a�L�L� � ��A�&�&��*���"�'�!�*�*�Q�,����
�
�t�<�<�<��!�!�]�]�]�3�3�3��"�'�!�*�*�Q�,����
�
�u�=�=�=��!�!�_�_�_�5�5�5�5�5r6c���tjd���t��}t	t
��5t
||d���ddd��dS#1swxYwYdS)NrQTrP)r+rI�astype�complexry�NotImplementedErrorr�rXrYs  r4�test_transposed_notimplementedz(TestSolve.test_transposed_notimplementeds����F�1�I�I���W�%�%��
�.�
/�
/�	)�	)��!�Q�4�(�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s�A!�!A%�(A%c�B�tttddgd��dS)NrCrB�ryrzrr�s r4�test_nonsquare_azTestSolve.test_nonsquare_as ���j�%�!�Q���3�3�3�3�3r6c�.�tttjd��tjd����tjd����ttttjd��tjd����dS)NrQr?)rrr+rIr<ryrzr�s r4�test_size_mismatch_with_1D_bz&TestSolve.test_size_mismatch_with_1D_b	s^��!�%���q�	�	�2�7�1�:�:�">�">����
�
�K�K�K��j�%������B�G�A�J�J�?�?�?�?�?r6c�B�tttddd���dS)NrC�zxcvr�rZr�s r4�test_assume_a_keywordzTestSolve.test_assume_a_keyword
s!���j�%��A��?�?�?�?�?�?r6z5Failure on OS X (gh-7500), crash on Windows (gh-8064)��reasonc� �ddg}gd�}tjtjtjtjg}tj|||��D�]?\}}}|tjtjfv}|dkr|s�*d�|||��}tj�	||���
|��}	tj�	|���
|��}
|r9|	dtj�	||��z�
|��z}	|dkr|	|	jz}	nm|dkr|	|	j���z}	nJ|dkrD|	���j�
|	��d	tj|��zz}	|tjtjfvrd
nd}|dvr|tjtjfvr|dz}t|	|
|�
��}t!|	�
|��|
||z||z|���|dkrZ|tjtjfvr@t|	|
|d���}t!|	�
|��|
||z||z|�����AdS)Nr8�d)�genr�r�rrz+Failed for size: {}, assume_a: {},dtype: {}rhr�r�r��-���q=g���ư>)rer�rr���atol�rtol�err_msgT)r�rQ)r+r
r-�	complex64r/�	itertools�product�formatr�randnrTr.r4rrIrr)
rX�sizes�	assume_as�dtypesrJr�r��
is_complexrjrYra�tolrbs
             r4�'test_all_type_size_routine_combinationsz1TestSolve.test_all_type_size_routine_combinationss����S�	��0�0�0�	��*�b�j�"�,��
�F��%.�%6�u�i�7=�&?�&?�)	1�)	1�!�D�(�E��2�<���"?�?�J��5� � �� ��#�#)�6�$��%�#@�#@�
��	����d�+�+�2�2�5�9�9�A��	����%�%�,�,�U�3�3�A��
G���B�I�O�O�D�$�7�7�7�?�?��F�F�F���5� � ����G����U�"�"������
�
�N����U�"�"��F�F�H�H�J�N�N�1�%�%��B�F�4�L�L�(8�8�� �R�Z���$?�?�?�%�%�T�C��0�0�0��R�Z���6�6�6��2�I�C��a��X�.�.�.�A��A�E�E�!�H�H�a�!$�t��!$�t��$+�
-�
-�
-�
-�
�5� � �U�2�<�35�=�3B�&B�&B��!�Q��d�C�C�C������a���!�%(�4�Z�%(�4�Z�(/�1�1�1�1��M)	1�)	1r6N)'r�r�r�r�r�r�r�r�r�r�r�rrrrrrrr#r%rur+r/r2r6r>rArGrKrNrRrXr[r]r`r�mark�skiprur�r6r4r�r��s>���������	6�	6�	6�4�4�4�4�4�4�8�8�8�4�4�4�8�8�8�4�4�4�4�4�4�8�8�8�4�4�4�	+�	+�	+�	4�	4�	4�4�4�4�-�-�-�
4�
4�
4�4�4�4�4�4�4�L�L�L�
A�
A�
A�@�@�@�"*�*�*�(4�4�4�0�0�0�6�6�6�J�J�J�(�(�(�6�6�6�)�)�)�
4�4�4�@�@�@�@�@�@��[���:��;�;�-1�-1�;�;�-1�-1�-1r6r�c� �eZdZd�Zd�Zd�ZdS)�TestSolveTriangularc��tddgddgg��}ddg}t||d���}t|ddg��t|j|d���}t|ddg��t||dd���}t|ddg��t	d��}t||dd���}t|d	d
gddgg��dS)�:
        solve_triangular on a simple 2x2 matrix.
        rCrrBTr�Fr�r��transr;��N)rrrr.r�rXr	ra�sols    r4r�zTestSolveTriangular.test_simpleDs���
�A�q�6�A�q�6�"�#�#��
��F���q�!�4�0�0�0��!�#��1�v�.�.�.��q�s�A�U�3�3�3��!�#��B�x�0�0�0��q�!�4�q�9�9�9��!�#��B�x�0�0�0��Q�K�K���q�!�4�q�9�9�9��!�#��S�	�A�s�8�'<�=�=�=�=�=r6c���tddgddgg��}td��}t||dd���}t|dd	gdd
gg��t	jddg��}t||dd���}t|ddgdd
gg��t||dd���}t|ddgdd
gg��t||dd���}t|ddgdd
gg��t|j|dd���}t|ddgdd
gg��t|j|dd���}t|ddgdd
gg��t|j|dd���}t|ddgdd
gg��dS)zA
        solve_triangular on a simple 2x2 complex matrix
        r1rrhrBTrCr|y�?�yппr��?@y��y�?�?y�?�y�пFr~N)rrrrr+rmr.rs    r4r�z'TestSolveTriangular.test_simple_complexYs���
�D�!�9�r�1�g�&�'�'���Q�K�K���q�!�4�q�9�9�9��!�#���(;�a��X�'F�G�G�G�
�G�T�4�L�!�!���q�!�4�q�9�9�9��!�#��A�����'@�A�A�A��q�!�4�q�9�9�9��!�#��J��!�V��'E�F�F�F��q�!�4�q�9�9�9��!�#��[�(9�A�v�;�'G�H�H�H��q�s�A�U�!�<�<�<��!�#��J��!�V��'E�F�F�F��q�s�A�U�!�<�<�<��!�#��A�����'@�A�A�A��q�s�A�U�!�<�<�<��!�#��Q��$���'@�A�A�A�A�Ar6c��tddgddgg��}ddg}t||dd���}t|ddg��dS)r{rCrrBTF)r�rtN)rrrrs    r4ruz%TestSolveTriangular.test_check_finitevsW��
�A�q�6�A�q�6�"�#�#��
��F���q�!�4�e�D�D�D��!�#��1�v�.�.�.�.�.r6N)r�r�r�r�r�rur�r6r4ryryBsD������>�>�>�*B�B�B�:/�/�/�/�/r6ryc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestInvc�D�tj�d��dSr�r�r�s r4r�zTestInv.setup_method�r�r6c�(�ddgddgg}t|��}tt||��tjd����gd�gd�gd�g}t|��}tt||��tjd����dS)NrCrBrQr?r��r?r�r@�rF�r8)rrrr+rI�rXrY�a_invs   r4r�zTestInv.test_simple�s�����V�a��V����A����!�#�a��-�-������;�;�;�
�Y�Y�	�	�	�:�:�:�.���A����!�#�a��-�-������;�;�;�;�;r6c��d}td��D]t}t||g��}t|��D]}dd|||fzz|||f<�t|��}tt	||��t|�����udS)Nr<r?r�rrrrrr�rXrr
rYr�s     r4rzTestInv.test_random�s������q���	3�	3�A���1�v���A��1�X�X�
*�
*���b��1�a�4��j�/��!�Q�$�����F�F�E�%�c�!�U�m�m�&.�q�k�k�
3�
3�
3�
3�	3�	3r6c�|�ddgddgg}t|��}tt||��ddgddgg��dS)NrCrBrQr�r�rrrr�s   r4r�zTestInv.test_simple_complex�sJ����V�a��W����A����!�#�a��-�-�1�a�&�1�a�&�1A�B�B�B�B�Br6c�<�d}td��D]�}t||g��dt||g��zz}t|��D]}dd|||fzz|||f<�t|��}tt	||��t|������dS)Nr<r?rerr�r�s     r4rzTestInv.test_random_complex�s������q���	3�	3�A���1�v���r�&�!�Q��.�.�0�0�A��1�X�X�
*�
*���b��1�a�4��j�/��!�Q�$�����F�F�E�%�c�!�U�m�m�&.�q�k�k�
3�
3�
3�
3�	3�	3r6c��ddgddgg}t|d���}tt||��ddgddgg��dS)NrCrBrQr?Frsrr�r�s   r4ruzTestInv.test_check_finite�sQ����V�a��V����A�E�*�*�*��!�#�a��-�-�1�a�&�1�a�&�1A�B�B�B�B�Br6N)	r�r�r�r�r�rr�rrur�r6r4r�r��sv���������<�<�<�3�3�3�C�C�C�
3�3�3�C�C�C�C�Cr6r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestDetc�D�tj�d��dSr�r�r�s r4r�zTestDet.setup_method�r�r6c�T�ddgddgg}t|��}t|d��dS)NrCrBrQr?���rr
�rXrY�a_dets   r4r�zTestDet.test_simple�s5����V�a��V����A�����E�4�(�(�(�(�(r6c�T�ddgddgg}t|��}t|d��dS)NrCrBrQr�y�@r�r�s   r4r�zTestDet.test_simple_complex�s5����V�a��W����A�����E�5�)�)�)�)�)r6c��tj}d}td��D]=}t||g��}t|��}||��}t	||���>dS)Nr<r?)�linalgrrrr
�rX�	basic_detrr
rY�d1�d2s       r4rzTestDet.test_random�sg���J�	����q���	(�	(�A���1�v���A��Q���B���1���B���B�'�'�'�'�		(�	(r6c���tj}d}td��D]T}t||g��dt||g��zz}t|��}||��}t	||d����UdS)Nr<r?reg�vIh�%<=�ri)r�rrrrr�s       r4rzTestDet.test_random_complex�s����J�	����q���	0�	0�A���1�v����F�A�q�6�N�N�!2�2�A��Q���B���1���B��B���/�/�/�/�/�		0�	0r6c�X�ddgddgg}t|d���}t|d��dS)NrCrBrQr?Frsr�r�r�s   r4ruzTestDet.test_check_finite�s<����V�a��V����A�E�*�*�*���E�4�(�(�(�(�(r6N)	r�r�r�r�r�r�rrrur�r6r4r�r��sn���������)�)�)�
*�*�*�
(�(�(�0�0�0�)�)�)�)�)r6r�c��t|��}|rt|��}t||��}t||��}t||��S)N)r	rrr)rYra�cmplx�at�a1�b1s      r4�direct_lstsqr��sH��	�1���B���
�r�]�]��	�R����B�	�R����B���R�=�=�r6c�T�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�	TestLstsq)�gelsd�gelss�gelsyNc�D�tj�d��dSr�r�r�s r4r�zTestLstsq.setup_method�r�r6c
��tD�]}tjddgddgg|���}tjD]�}dD]�}dD]�}|���}tj||���}|���}t
|||||���}	|	d	}
|	d
}t|d
kd|z��tt||
��|dt|j��zdt|j��zd
|z����ˌЌՐ�dS)NrCr<r>r?r��TF�)�rCrr�r�)rM�r>r?��
lapack_driver�overwrite_a�overwrite_brrB�!expected efficient rank 2, got %s��
driver: %srg)�REAL_DTYPESr+rr��lapack_drivers�copyrrrrr5r�)rXr�rYr��	overwrite�btr�rar��outrbrs            r4�test_simple_exactzTestLstsq.test_simple_exact�sk�� �	N�	N�E���1�b�'�C��8�,�E�:�:�:�A�!*�!9�
N�
N�
�!.�N�N�I�3�N�N���V�V�X�X���H�R�u�5�5�5���V�V�X�X��#�B��2?�09�09�;�;�;�� ��F����F����Q�� C�a� G�I�I�I�'��A�q�	�	�1�-/�)�B�H�2E�2E�-E�-/�)�B�H�2E�2E�-E�0<�}�0L�N�N�N�N�N�N�N�
N�	N�	Nr6c�h�tD�]�}tjddgddgddgg|���}tjgd�|���}tjD�]`}dD�]Y}|���}|���}t
|||||�	��}|d
}	|dkr.tj||�|	��z
dz��}
n|d}
|d}t|dkd|z��ttt||	��|z
dz���d
�
��|
dt|j
��zdt|j
��zd|z���t|	ddt|j
��zdt|j
��zd|z�����[��b���dS)NrCrBr?r�rQr�r�r�r�rr�r���axisr�r��rirhrj)g�m۶mۿg��m۶m�?)r�r+rr�r�r�r�sumrrrr r5r�)rXr�rYrar�r�r�r�r�rb�	residualsrs            r4�test_simple_overdetzTestLstsq.test_simple_overdet�s��� �	J�	J�E���1�a�&�1�a�&�1�a�&�1��?�?�?�A������%�0�0�0�A�!*�!9�
J�
J�
�!.�J�J�I������B������B���B�m�,5�,5�7�7�7�C��A��A�$��/�/�$&�F�A����a���L�1�+<�$=�$=�	�	�$'��F�	��A��A��A��F�$G�!�$K�L�L�L�#�C��Q����Q���(:�$;�$;�$?�$?�Q�$?�$G�$G�$-�)+�i���.A�.A�)A�)+�i���.A�.A�)A�,8�=�,H�	J�J�J�J�
$�A�'M�)+�i���.A�.A�)A�)+�i���.A�.A�)A�,8�=�,H�J�J�J�J�J�'J�
J�	J�	Jr6c��tD�]�}tjddgddgddgg|���}tjgd�|���}tjD�]t}dD�]m}|���}|���}t
|||||�	��}|d
}	|dkrB||�|	��z
}
tj|
|
�	��z��}n|d}|d}t|dkd
|z��ttt||	��|z
dz���d
���|dt|j��zdt|j��zd|z���t|	ddt|j��zdt|j��zd|z�����o��v���dS)Nr�rBr?r�rQr�)rCr�rQr�r�rr�rCr�r�r�r�r�)y�u�{��޿E(B��?yӽ�u�{�?(Y�JV��?)�COMPLEX_DTYPESr+rr�r�r�rrr�r4rrr r5r�)
rXr�rYrar�r�r�r�r�rbr5r�rs
             r4�test_simple_overdet_complexz%TestLstsq.test_simple_overdet_complexs
��#�	F�	F�E���4��)�a��V�a��V�4�E�B�B�B�A������U�3�3�3�A�!*�!9�
F�
F�
�!.�F�F�I������B������B���B�m�,5�,5�7�7�7�C��A��A�$��/�/��!�%�%��(�(�l��$&�F�3������+;�$<�$<�	�	�$'��F�	��A��A��A��F�$G�!�$K�L�L�L�#�C��Q����Q���(:�$;�$;�$?�$?�Q�$?�$G�$G�$-�)+�i���.A�.A�)A�)+�i���.A�.A�)A�,8�=�,H�	J�J�J�J�
$� !�$L�%'�)�B�H�*=�*=�%=�%'�)�B�H�*=�*=�%=�(4�}�(D�F�F�F�F�F�+F�
F�	F�	Fr6c���tD]�}tjgd�gd�g|���}tjddg|���}tjD]�}dD]�}|���}|���}t
|||||���}|d}	|d}
t|
dkd	|
z��t|	d
dt|j
��zdt|j
��zd|z�
��������dS)Nr�r�r�rCrBr�r�rr�)g��q�q��g�q�q�?gd�q��?r�r�r�)r�r+rr�r�r�rrrr5r�)rXr�rYrar�r�r�r�r�rbrs           r4�test_simple_underdetzTestLstsq.test_simple_underdet8sE�� �	J�	J�E���)�)�)�Y�Y�Y�/�u�=�=�=�A���!�Q��u�-�-�-�A�!*�!9�
J�
J�
�!.�J�J�I������B������B���B�m�,5�,5�7�7�7�C��A��A��A��A��A��F�$G�!�$K�L�L�L�#�A�(;�)+�i���.A�.A�)A�)+�i���.A�.A�)A�,8�=�,H�	J�J�J�J�J�J�
J�	J�	Jr6c��tD�]�}dD�]�}tjD�]�}dD�]�}tjt||g��|���}t
|��D]}dd|||fzz|||f<�t
d��D�];}tjt|dg��|���}|���}|���}	t||	|||���}
|
d	}|
d
}t||kd|�d|����|tj
urPtt||��|d
t|j��zd
t|j��zd|z�����tt||��|dt|j��zdt|j��zd|z�����=������������dS)N�r<��r�r�r<rr?rQr�rrB�expected efficient rank �, got i�r�r���)r�r�r�r+�asarrayrrr�rrr
rrr5r�)
rXr�rr�r�rYr
rar�r�r�rbrs
             r4�test_random_exactzTestLstsq.test_random_exactNs1�� �	P�	P�E��
P�
P��%.�%=�P�P�M�%2�P�P�	��J�v�q�!�f�~�~�U�C�C�C��!&�q���;�;�A�&(�C�!�A�q�D�'�M�&:�A�a��d�G�G�!&�q���P�P�A� "�
�6�1�a�&�>�>�� G� G� G�A�!"�����B�!"�����B�"'��B�6C�4=�4=�#?�#?�#?�C�!$�A��A� #�A��A�#�A��F�F�01���1�1�-6�7�7�7�$��
�2�2� /�*-�a��)�)�Q�/2�Y�r�x�5H�5H�/H�/2�Y�r�x�5H�5H�/H�2>��2N�	!P�!P�!P�!P�!P�!0�*-�a��)�)�Q�/3�i���6I�6I�/I�/3�i���6I�6I�/I�2>��2N�	!P�!P�!P�!P�!P�)P�	P�P�
P�	P�	Pr6c��tj��dkrgtjtj��tjd��kr3tj��d}|dkrtj	d��tD�]�}dD�]�}tjD�]�}dD�]�}t	j
t||g��dt||g��zz|�	��}t|��D]}d
d|||fzz|||f<�td��D�];}t	j
t|d
g��|�	��}|���}	|���}
t#|	|
|||���}|d}|d}
t%|
|kd|�d|
����|tjurPt)t+||��|dt-|	j��zdt-|	j��zd|z�����t)t+||��|dt-|	j��zdt-|	j��zd|z�����=��������ʐ��dS)N�Windowsz1.24.0r�glibcz(segfault observed on alpine per gh-17630r�r�rhr�r<rrBrQr�r�r�i�r�r�r�)�platform�systemr�parser+�__version__�Version�libc_verrrwr�r�r�r�rrr�rrrkrrr5r�)rX�libc_flavorr�rr�r�rYr
rar�r�r�rbrs              r4�test_random_complex_exactz#TestLstsq.test_random_complex_exactps����?���	�)�)��}�R�^�,�,����0I�0I�I�I�&�/�1�1�!�4���'�)�)��K� J�K�K�K�#�	P�	P�E��
P�
P��%.�%=�P�P�M�%2�P�P�	��J�v�q�!�f�~�~��6�1�a�&�>�>�8I�'I�-2�4�4�4��!&�q���;�;�A�&(�C�!�A�q�D�'�M�&:�A�a��d�G�G�!&�q���P�P�A� "�
�6�1�a�&�>�>�� G� G� G�A�!"�����B�!"�����B�"'��B�m�4=�4=�#?�#?�#?�C�!$�A��A� #�A��A�#�A��F�F�01���1�1�-6�7�7�7�$���4�4� /�*-�a��)�)�Q�/2�Y�r�x�5H�5H�/H�/2�Y�r�x�5H�5H�/H�2>��2N�	!P�!P�!P�!P�!P�!0�*-�a��)�)�Q�/3�i���6I�6I�/I�/3�i���6I�6I�/I�2>��2N�	!P�!P�!P�!P�!P�'P�P�P�
P�	P�	Pr6c���tD�]_}dD�]X\}}tjD�]D}dD�]=}tjt||g��|���}t
|��D]}dd|||fzz|||f<�t
d��D]�}tjt|dg��|���}|���}	|���}
t|	|
|||���}|d	}|d
}
t|
|kd|�d|
����t|t||d	�
��dt|	j
��zdt|	j
��zd|z����ߐ�?��F��Z��adS)N�)r<�)r�rBr�r�r<rr?rQr�rrBr�r��r�r�r�r�)r�r�r�r+r�rrr�rrrr�r5r��rXr�r�mr�r�rYr
rar�r�r�rbrs              r4�test_random_overdetzTestLstsq.test_random_overdet�s��� �	P�	P�E�.�
P�
P���A�%.�%=�P�P�M�%2�P�P�	��J�v�q�!�f�~�~�U�C�C�C��!&�q���;�;�A�&(�C�!�A�q�D�'�M�&:�A�a��d�G�G�!&�q���P�P�A� "�
�6�1�a�&�>�>�� G� G� G�A�!"�����B�!"�����B�"'��B�6C�4=�4=�#?�#?�#?�C�!$�A��A� #�A��A�#�A��F�F�01���1�1�-6�7�7�7�+�*+�\�!�Q�a�-H�-H�-H�/1�I�b�h�4G�4G�/G�/1�I�b�h�4G�4G�/G�2>��2N�	P�P�P�P�P�P�	P�P�
P�	P�	Pr6c��tD�]t}dD�]m\}}tjD�]Y}dD�]R}tjt||g��dt||g��zz|���}t
|��D]}dd|||fzz|||f<�t
d��D]�}tjt|dg��|���}|���}	|���}
t|	|
|||�	��}|d
}|d}
t|
|kd|�d|
����t|t||d
���dt|	j
��zdt|	j
��zd|z����ߐ�T��[��o��vdS)Nr�r�rhr�r<rrBrQr�rr�r�rCr�r�r�r�)r�r�r�r+r�rrr�rrrr�r5r�r�s              r4�test_random_complex_overdetz%TestLstsq.test_random_complex_overdet�s���#�	L�	L�E�.�
L�
L���A�%.�%=�L�L�M�%2�L�L�	��J�v�q�!�f�~�~��6�1�a�&�>�>�8I�'I�-2�4�4�4��!&�q���;�;�A�&(�C�!�A�q�D�'�M�&:�A�a��d�G�G�!&�q���L�L�A� "�
�6�1�a�&�>�>�� G� G� G�A�"#�����B�!"�����B�"'��B�6C�4=�4=�#?�#?�#?�C�!$�A��A� #�A��A�#�A��F�F�01���1�1�-6�7�7�7�+�&'��a��!�)D�)D�)D�+-�	�"�(�0C�0C�+C�+-�	�"�(�0C�0C�+C�.:�]�.J�	L�L�L�L�L�L�L�L�
L�	L�	Lr6c
���t��5}|�td��ddd��n#1swxYwYtjd��}tjtdtj	dd��D]�\}}}}}|�
|��}tj||���}	|���}
|	���}t|
|||||���}|d}
|d}t|dkd	|z��tt||
��|	d
t!|j��zd
t!|j��zd|z�����dS)
NzIinternal gelsd driver lwork query error,.*Falling back to 'gelss' driver.))rCr<r�r�r�r�)r�rtr�r�rrBr�r�r�r�)r�filter�RuntimeWarningr+rrlrmr�r�r�rTr�rrrrr5r�)rX�supr�r�r�r�r�rtrYrar�r�r�rbrs               r4ruzTestLstsq.test_check_finite�s���
�
 �
 �	:�C��J�J�~�9�
:�
:�
:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:��X�)�
*�
*����k�L�'�6�+�+�	
-�
-�	B�	B�=�E�2�}�i���	�	�%� � �A����5�)�)�)�A������B������B���B�m�%1�y�$-�/�/�/�C��A��A��A��A��A��F�?�!�C�D�D�D��C��1�I�I�q�!#�i���&8�&8�!8�!#�i���&8�&8�!8�$0�=�$@�
B�
B�
B�
B�
B�'	B�	Bs�7�;�;c
��dD]�\}}tj|��}ttj|��|��\}}}}t	|tj|df|dd�z����|drtjd��n#tj�|d���dz}t	||��t|dkd��t	|tjd������dS)N))�rrB�r))rr?r�)�r?r)r?)r�)r?rBrCr�rr�rBzexpected rank 0)	r+r<rrr�emptyr�rr)	rX�a_shape�b_shaperarb�residues�rank�s�residues_should_bes	         r4�test_zero_sizezTestLstsq.test_zero_size�s���!3�	,�	,��G�W���� � �A�#(���'�):�):�A�#>�#>� �A�x��q���B�H�g�a�j�]�W�Q�R�R�[�%@�A�A�B�B�B�4;�A�J�#D�"�(�4�.�.�.�')�y�~�~�a�a�~�'@�'@�!�'C�
���#5�6�6�6��D�A�I�0�1�1�1���B�H�T�N�N�+�+�+�+�	,�	,r6N)r�r�r�r�r�r�r�r�r�r�r�r�r�rur�r�r6r4r�r��s�������6�N����N�N�N�2J�J�J�:F�F�F�BJ�J�J�, P� P� P�D%P�%P�%P�NP�P�P�6L�L�L�:B�B�B�@,�,�,�,�,r6r�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestPinvc�D�tj�d��dSr�r�r�s r4r�zTestPinv.setup_method�r�r6c���tgd�gd�gd�gt���}t|��}tt	||��tjd����dS�Nr�r�r�r�rQ�r�floatrrrr+rI�rXrY�a_pinvs   r4�test_simple_realzTestPinv.test_simple_realsX���9�9�9�i�i�i����4�E�B�B�B���a����!�#�a��.�.�"�&��)�)�<�<�<�<�<r6c��tgd�gd�gd�gt���dtgd�gd�gd�gt���zz}t|��}tt	||��tjd	����dS�
Nr�r�r�r�rh)r8r�rF)r@r�r?)rQrBrCrQrrs   r4r�zTestPinv.test_simple_complexs���
�I�I�I�y�y�y�*�*�*�5�������
�
�
�I�I�I�y�y�y�'I�-2�"4�"4�"4�4�4���a����!�#�a��.�.�"�&��)�)�<�<�<�<�<r6c��tgd�gd�gd�gt���}t|��}tgd�gd�gd�g��}t||��dS)Nr�r��rFr�r9r��g|��q�gԕVUUſg�c�8��?�g���q��g��^�0��<g���q�?�g�9���?gԕVUU�?g:8�7��ȿ�rrrr�rXrYrr�s    r4�test_simple_singularzTestPinv.test_simple_singulars|���9�9�9�i�i�i����3�5�A�A�A���a�����L�L�L�K�K�K�K�K�K�M�N�N��	"�&�(�3�3�3�3�3r6c��tgd�gd�gt���}t|��}tddgddgdd	gg��}t||��dS)
Nr�r�r�g�֋�8�g#��q�?g#��q��g#��q�?gI��q�?g#��q̿rrs    r4�test_simple_colszTestPinv.test_simple_colsso���9�9�9�i�i�i�(��6�6�6���a�����;�
�3�&�
�3�%�{�3�5�6�6��	"�&�(�3�3�3�3�3r6c��tddgddgddggt���}t|��}tgd�gd	�g��}t||��dS)
NrCrBrQr?r�r@r�)g�DpTUU��g��QUUտg�vWUU�?)g�DpTUU�?g��QUU�?g&�>���ڿrrs    r4�test_simple_rowszTestPinv.test_simple_rowssq���A�q�6�A�q�6�A�q�6�*�%�8�8�8���a�����@�@�@�?�?�?�A�B�B��!�&�(�3�3�3�3�3r6c��tgd�gd�gd�g��}t|d���}tt||��t	jd����dS)Nr�)r?r�r�r�FrsrQ)rrrrr+rIrs   r4ruzTestPinv.test_check_finite%sZ���9�9�9�j�j�j�*�*�*�5�6�6���a�e�,�,�,��!�#�a��.�.�"�&��)�)�<�<�<�<�<r6c��gd�gd�gd�g}t|��}tgd�gd�gd�g��}t||��dS)Nr�r�r
rrr
)rrrrs    r4�test_native_list_argumentz"TestPinv.test_native_list_argument*so��
�Y�Y�	�	�	�9�9�9�-���a�����L�L�L�K�K�K�K�K�K�M�N�N��	"�&�(�3�3�3�3�3r6c��d}ttj�||����\}}tjd���dd��}|���}d|d<d}d}t||d	�
��}||z|z|z
}	||z|z|z
}
ttj	�
|	��dd���ttj	�
|
��d
d
���t|||�
��}||z|z|z
}	||z|z|z
}
ttj	�
|	��dd���ttj	�
|
��dd���dS)N�g�A@rFr�g����MbP?)rr��h㈵��>g�������?rI�rhrig����Mb@?�rhg�vIh�%,=g;�O���@�{�G�z�?r�)r$r+rrMrrVr�rrr�r)rXr�q�_�a_mrYrhri�a_p�adiff1�adiff2s           r4�test_atol_rtolzTestPinv.test_atol_rtol2sk�����"�)�.�.��A�&�&�'�'���1��i��o�o�%�%�a��*�*���H�H�J�J����#�������3�T��+�+�+���S��1��q����s��S��3�&��	��	���v�.�.��5�A�A�A�A���	���v�.�.��F�C�C�C�C��3�T��-�-�-���S��1��q����s��S��3�&����	���v�.�.��D�A�A�A�A���	���v�.�.��D�A�A�A�A�A�Ar6N)r�r�r�r�rr�rrrrurr$r�r6r4r�r��s����������=�=�=�
=�=�=�4�4�4�4�4�4�4�4�4�=�=�=�
4�4�4�B�B�B�B�Br6r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestPinvSymmetricc�D�tj�d��dSr�r�r�s r4r�zTestPinvSymmetric.setup_methodPr�r6c��tgd�gd�gd�gt���}tj||j��}t|��}t
tj||��tjd����dSr)rrr+rr.rrrIrs   r4rz"TestPinvSymmetric.test_simple_realSsm���9�9�9�i�i�i����4�E�B�B�B���F�1�a�c�N�N���q����!�"�&��F�"3�"3�R�V�A�Y�Y�?�?�?�?�?r6c�j�tgd�gd�gd�gt���}tj||j��}tj�|��\}}}|dxxdzcc<tj||z|��}t|��}t|��}t||��dS)Nr�r�r
r�rrE)
rrr+rr.r��svdrrr)rXrYr\r��vtr�a_pinvhs       r4�test_nonpositivez"TestPinvSymmetric.test_nonpositiveYs����9�9�9�i�i�i����3�5�A�A�A���F�1�a�c�N�N���9�=�=��#�#���1�b�	�!�����
�����F�1�q�5�"�����a������(�(��!�&�'�2�2�2�2�2r6c�j�tgd�gd�gd�gt���dtgd�gd�gd�gt���zz}tj||���j��}t
|��}ttj||��tjd	����dSr)	rrr+rr4r.rrrIrs   r4r�z%TestPinvSymmetric.test_simple_complexcs���
�I�I�I�y�y�y�*�*�*�5�������
�
�
�I�I�I�y�y�y�'I�-2�"4�"4�"4�4�4��
�F�1�a�f�f�h�h�j�!�!���q����!�"�&��F�"3�"3�R�V�A�Y�Y�?�?�?�?�?r6c�$�tgd�gd�gd�gt���}tj||j��}t|�����}ttj||��tjd����dSr)	rrr+rr.r�tolistrrIrs   r4rz+TestPinvSymmetric.test_native_list_argumentksw���9�9�9�i�i�i����4�E�B�B�B���F�1�a�c�N�N���q�x�x�z�z�"�"��!�"�&��F�"3�"3�R�V�A�Y�Y�?�?�?�?�?r6c��d}ttj�||����\}}tjgd�dg|dz
zz��}|j|z|z}tjgd�dg|dz
zz��}|j|z|z}d}d}t
||d�	��}||z|z|z
}	||z|z|z
}
tt|	��|d
���tt|
��dd
���t
|||�	��}||z|z|z
}	||z|z|z
}
tt|	��dd
���tt|
��dd
���dS)Nr)r?rQrBrC�vk���?g�ﭣ��>gu����>r@)r?rQrBrCr2rIrIrg���1��?rrr�rfg�dy���=r�-C��6?)	r$r+rrMrmr.rrr)rXrrrrYr rhrir!r"r#s           r4r$z TestPinvSymmetric.test_atol_rtolqs~�����"�)�.�.��A�&�&�'�'���1��G�2�2�2�g�Y��!��_�D�E�E��
�C�!�G�a�K���g�/�/�/�2�$��!��*�<�=�=���c�C�i�!�m����!���A�D�r�*�*�*���S��1��q����s��S��3�&��	��V���d��5�5�5�5���V���e�%�8�8�8�8��A�D�t�,�,�,���S��1��q����s��S��3�&����V���d��5�5�5�5���V���d��5�5�5�5�5�5r6N)	r�r�r�r�rr-r�rr$r�r6r4r&r&Nsw���������@�@�@�3�3�3�@�@�@�@�@�@�6�6�6�6�6r6r&�scale)g#B����;r;�@��x�D�pinv_c���tjddgddgg��|z}tjdtj|��z��}||��}t||��dS)NrCrg�����|�=r;)r+rrmr)r4r6rbr��x_invs     r4�test_auto_rcondr9�sc��	��1�a�&�1�e�*�%�&�&��.�A��w�r�B�G�A�J�J��'�'�H��E�!�H�H�E��E�8�$�$�$�$�$r6c�~�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	j
�ed���d	���Z
d
S)�TestVectorNormsc��tjdD]�}tjgd�|���}tdtj|��jjdz��}tt|��tj	d��|���tt|d��tj	d��|�����tjd	D]�}tjgd
�|���}tdtj|��jjdz��}tt|��tj	d��|���tt|d��tj	d��|�����dS)N�AllFloatr�r�gV瞯�<r<rGr�rB�Complex)rhrey@)
r+�	typecodesr�maxr0r1�realrr�sqrt)rXr�rbrts    r4�
test_typeszTestVectorNorms.test_types�sB���\�*�-�	?�	?�E������%�0�0�0�A��e�R�X�e�_�_�0�5��:�;�;�C��D��G�G�R�W�R�[�[�s�;�;�;�;��D��A�J�J������#�>�>�>�>�>��\�)�,�	?�	?�E������U�3�3�3�A��e�R�X�e�_�_�0�5��:�;�;�C��D��G�G�R�W�R�[�[�s�;�;�;�;��D��A�J�J������#�>�>�>�>�>�		?�	?r6c�n�tdgt���}tt|��|��dS)Nr5r�)rr
r
rrWs  r4�
test_overflowzTestVectorNorms.test_overflow�s4��
�4�&��(�(�(���D��G�G�Q�'�'�'�'�'r6c���tdgdgdzzt���}	tt|��dz
dd���dS#t$r(d}tt|��dz
d	|�
��YdSwxYw)N���@rCi'r�rrrzO: Result should equal either 0.0 or 0.5 (depending on implementation of snrm2).rI)rj)rr
rr�AssertionErrorr
)rXrY�msgs   r4�test_stablezTestVectorNorms.test_stable�s����3�%�1�#�e�)�#�7�3�3�3��	A�
�D��G�G�c�M�3�T�:�:�:�:�:�:���	A�	A�	A�.�C���Q���#�
�s�C�@�@�@�@�@�@�@�		A���s�"A�.A6�5A6c��ttgd�d��d��ttgd�d��d��dS)N)rCrrQrrBr�rQ)rrr�s r4�test_zero_normzTestVectorNorms.test_zero_norm�sD���T�)�)�)�Q�'�'��+�+�+��T�)�)�)�Q�'�'��+�+�+�+�+r6c���tjddgddgggdzd��}tt|d���ddggdz��tt|dd���d	gdzgdz��dS)
NrBrCrQr?�dr��5�D+�@��6�f~@g@)r+rrrrWs  r4�
test_axis_kwdzTestVectorNorms.test_axis_kwd�s����H��1�v��1�v�&�'�!�+�S�1�1����Q�Q����:�z�*B�)C�a�)G�H�H�H���Q���*�*�*�b�T�A�X�J��N�;�;�;�;�;r6c��tjddgddgggdzd��}t|dd���}t|dd	gggdz��t	|jd
k��tt|ddd���dgdgggdz��dS)
NrBrCrQr?rNT)r��keepdimsrOrP)rBrCrBrwg@)r+rrrrr*r@s   r4�test_keepdims_kwdz!TestVectorNorms.test_keepdims_kwd�s����H��1�v��1�v�&�'�!�+�S�1�1�����T�*�*�*����j�*�5�6�7�!�;�<�<�<����9�$�%�%�%���Q���D�9�9�9�b�T�B�4�L�>�A�;M�N�N�N�N�Nr6z64-bit BLAS requiredrac��td���tjdgtj���}d|d<t	|��}~t|d��dS)NihB)�free_mblr�rCrEr;)r(r+rr-rr)rXrbr5s   r4�test_large_vectorz!TestVectorNorms.test_large_vector�sX���%�(�(�(�(��H�e�W�B�J�/�/�/����"���1�g�g��
���S�!�!�!�!�!r6N)r�r�r�rCrErJrLrQrTrrv�skipifr)rWr�r6r4r;r;�s�������?�?�?�(�(�(�A�A�A�,�,�,�<�<�<�
O�O�O��[���I�
�.D��E�E�"�"�F�E�"�"�"r6r;c� �eZdZd�Zd�Zd�ZdS)�TestMatrixNormsc
��tj�d��dD�]�\}}tjtjtjtjtjfD�]\}dtj�||���	|��z}tj
|jtj��rF|dtj�||��zz�	|��}tj}ntj}dddddd	tj
tj
fD]�}t||�
��}tj�||�
��}tj||��sDtj�|�	|��|�
��}t#||������^���dS)Nr�)rk)rCrQ)rQrC)r?r?)r?r�)r�r?r8y$@�frorCrErB���)�ord)r+rr��single�double�csingle�cdouble�int64rorT�
issubdtyper��complexfloating�infrr��allcloser)	rXrr��tr	�t_high�order�actual�desireds	         r4�test_matrix_normsz!TestMatrixNorms.test_matrix_norms�sx��
�	���t����B�	9�	9�D�A�q��Y��	�2�:�r�z�2�8�K�
9�
9��������A�.�.�5�5�a�8�8�8���=���"�*<�=�=�'��S�2�9�?�?�1�a�#8�#8�8�8�@�@��C�C�A��Z�F�F��Y�F�"�E�1�b�!�R���"�&��I�9�9�E�!�!��/�/�/�F� �i�n�n�Q�E�n�:�:�G��;�v�w�7�7�9�"$�)�.�.����&�1A�1A�u�.�"M�"M��'���8�8�8��9�
9�	9�	9r6c��tjddgddgggdzd��}t|tjd���}ttj|dd��tjd	���}t|dd	���}t||��t||��t||��t
|j|jcxko
|jknc��t|dd���}ttj|dd��dd	���}t|tjd	���}t||��t||��t||��t
|j|jcxko
|jknc��dS)
NrBrCrQr?rNr�)r^r�rr�)r+rrrf�swapaxesrrr*)rXrYra�crNs     r4rQzTestMatrixNorms.test_axis_kwd�s����H��1�v��1�v�&�'�!�+�S�1�1������V�,�,�,�����Q��1�%�%�2�6��?�?�?������'�'�'����1������1������1�������1�7�-�-�-�-�a�g�-�-�-�-�.�.�.�����'�'�'�����Q��1�%�%�1�6�:�:�:������V�,�,�,����1������1������1�������1�7�-�-�-�-�a�g�-�-�-�-�.�.�.�.�.r6c��tjdd����dddd��}t|tjdd	�
��}t|ddd	�
��}t||��t
|j|jk��dS)
N�xrNr�rBrQr?r�r�T)r^r�rSrCr�)r+rrVrrfrrr*)rXrYrarps    r4rTz!TestMatrixNorms.test_keepdims_kwd�s����I�c��%�%�%�-�-�a��A�q�9�9������V�d�;�;�;�������6�6�6����1�������1�7�"�#�#�#�#�#r6N)r�r�r�rmrQrTr�r6r4rZrZ�sA������9�9�9�(/�/�/�"$�$�$�$�$r6rZc�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�
TestOverwritec�4�ttddg��dS�N�rQrQr()r'rr�s r4�
test_solvezTestOverwrite.test_solve����E�F�D�>�2�2�2�2�2r6c�4�ttddg��dSrv)r'rr�s r4�test_solve_triangularz#TestOverwrite.test_solve_triangulars���,�v�t�n�=�=�=�=�=r6c�,�td�ddg��dS)Nc�$�td||��S)NrM)r)rZras  r4�<lambda>z1TestOverwrite.test_solve_banded.<locals>.<lambda>	s��,�v�r�1�*E�*E�r6)r?r@�r@r&r�s r4�test_solve_bandedzTestOverwrite.test_solve_bandeds+���E�E�#�T�N�	,�	,�	,�	,�	,r6c�4�ttddg��dS)N)rBr@r)r'rr�s r4�test_solveh_bandedz TestOverwrite.test_solveh_bandeds���M�F�D�>�:�:�:�:�:r6c�2�ttdg��dS�Nrw)r'rr�s r4�test_invzTestOverwrite.test_inv����C�&��*�*�*�*�*r6c�2�ttdg��dSr�)r'rr�s r4�test_detzTestOverwrite.test_detr�r6c�4�ttddg��dS)N)rQrBr()r'rr�s r4�
test_lstsqzTestOverwrite.test_lstsqryr6c�2�ttdg��dSr�)r'rr�s r4�	test_pinvzTestOverwrite.test_pinvs���D�6�(�+�+�+�+�+r6c�2�ttdg��dSr�)r'rr�s r4�
test_pinvhzTestOverwrite.test_pinvhs���E�F�8�,�,�,�,�,r6N)r�r�r�rxr{r�r�r�r�r�r�r�r�r6r4rtrts�������3�3�3�>�>�>�,�,�,�;�;�;�+�+�+�+�+�+�3�3�3�,�,�,�-�-�-�-�-r6rtc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestSolveCirculantc���tjgd���}tjgd���}t||��}tt	|��|��}t||��dS�N)rCrBrQr�)rCrErCr)r+rrrr r�rXrprarb�ys     r4�test_basic1zTestSolveCirculant.test_basic1!sb���H�\�\�\�"�"���H�]�]�]�#�#���A�q�!�!���)�A�,�,��"�"����1�����r6c��tjgd���}tjd���dd��}t	||��}tt
|��|��}t||��dS)N�rCrB���r�rr?rQ�r+rrrVrrr rr�s     r4�test_basic2zTestSolveCirculant.test_basic2(sl���H�^�^�^�$�$���I�b�M�M�!�!�!�Q�'�'���A�q�!�!���)�A�,�,��"�"����1�����r6c��tjgd���}tjd���ddd��}t	||��}tt
|��|��}t||��dS)Nr��r?rQrBr�r�s     r4�test_basic3zTestSolveCirculant.test_basic30sn���H�^�^�^�$�$���I�b�M�M�!�!�!�Q��*�*���A�q�!�!���)�A�,�,��"�"����1�����r6c��tjgd���}tjd���dd��dz}t	||��}tt
|��|��}t||��dS)N)r�r�r�r�r�r?rBy�?r�r�s     r4rizTestSolveCirculant.test_complex8st���H�&�&�&�'�'���I�a�L�L� � ��A�&�&��-���A�q�!�!���)�A�,�,��"�"����1�����r6c�:�tj�d��tj�d��}tj�d��}t	||��}tt
|��|��}t||��dS)Ni1��2)r+rr�rorrr rr�s     r4�test_random_b_and_cz&TestSolveCirculant.test_random_b_and_c@sv��
�	���u�����I�O�O�B�����I�O�O�B�����A�q�!�!���)�A�,�,��"�"����1�����r6c��tjgd���}tjgd���}t||d���}tt	|��|��\}}}}t||��t
tt||��dS)N�rCrCrr)rCrBrQr?r)�singular)r+rrrr rryr!)rXrprarbr�r5�rnkr�s        r4�
test_singularz TestSolveCirculant.test_singularIs����H�\�\�\�"�"���H�\�\�\�"�"���A�q�7�3�3�3���y��|�|�Q�/�/���3��Q���1�����k�?�A�q�9�9�9�9�9r6c��tjgd�ggd�gg��}tjgd�gd�gd�g��}t||d���}t|jd��tj|��}t
t|d	��|j��|dd�d	dd�f<t
t|d��|j��|dd�ddd�f<t||��t||dd
���}t|jd��ttj
|d
d	��|��ttj|dd
��|jd���}t|jd��t||��dS)N)rEg@rQg@)rCr@r@g@)rrrCrCr�)rCrErrrC)�baxis)r?rBrQrrE)r��outaxis)rBrQr?rB)�caxis)r+rrrr*�
empty_likerr r.r�moveaxisro)rXrprarbr�s     r4�test_axis_argsz!TestSolveCirculant.test_axis_argsRs���
�H�(�(�(�)�N�N�N�+;�<�=�=��
�H�l�l�l�L�L�L�-�-�-�@�A�A���A�q��*�*�*���Q�W�i�(�(�(��=��#�#��!�)�A�a�D�/�/�1�3�7�7�����A�q�q�q���!�)�A�a�D�/�/�1�3�7�7�����A�q�q�q�����8�$�$�$��A�q��2�6�6�6���Q�W�i�(�(�(����A�r�1�-�-�x�8�8�8�
�B�K��1�a�0�0�!�#�Q�?�?�?���Q�W�i�(�(�(���8�$�$�$�$�$r6c��gd�}gd�}t||��}tt|��|��}t||��dSr�)rrr rr�s     r4r�z-TestSolveCirculant.test_native_list_argumentsksN���L�L���M�M���A�q�!�!���)�A�,�,��"�"����1�����r6N)r�r�r�r�r�r�rir�r�r�r�r�r6r4r�r�s����������������������:�:�:�%�%�%�2����r6r�c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�TestMatrix_Balancec�<�tttd��dS)NzSome string for fail)ryrzr#r�s r4�test_string_argz"TestMatrix_Balance.test_string_argvs���j�.�2H�I�I�I�I�Ir6c	��ttttjddgdtjgg����ttttjddgdtjgg����dS)NrCrBrQ)ryrzr#r+rrf�nanr�s r4�test_infnan_argz"TestMatrix_Balance.test_infnan_argysp���j�.��h��A���B�F��4�5�5�	7�	7�	7��j�.��h��A���B�F��4�5�5�	7�	7�	7�	7�	7r6c	���ttjddgddgg����\}}ttjtjtj|������dg��dS)Nr�rCrr�)r#r+rr�diff�log2rm)rXrr�s   r4�test_scalingzTestMatrix_Balance.test_scalings`���b�h��q�	�D�!�9�'=�>�>�?�?���1�	��������
�
� 3� 3�4�4�q�c�:�:�:�:�:r6c���tjgd�gd�gd�g��}t|��\}}tt	||���|��|��dS)N)rCrr3)rCrCr)rGgY@rC)r+rr#rrr)rXr	rbr�s    r4�test_scaling_orderz%TestMatrix_Balance.test_scaling_order�s_���H�l�l�l�L�L�L�-�-�-�@�A�A���a� � ���1���a�������*�*�A�.�.�.�.�.r6c��ttjddgddgg��d���\}\}}ttjtj|����dg��t
|tjd����dS)Nr�rCr��separater�rB)r#r+rrr�r�rr)rXrr��zs    r4�
test_separatez TestMatrix_Balance.test_separate�s|��"�2�8�d�A�Y��q�	�,B�#C�#C�,-�/�/�/�	��6�A�q��R�W�R�W�Q�Z�Z�(�(�1�#�.�.�.���2�9�Q�<�<�(�(�(�(�(r6c�r�ttjd��tjtjd����tjd����}t	|d���\}\}}t|tj|����t|tjgd�����dS)N)rBrBrwrCr�)rrCr@r�r?rQrB)r"r+r<r;r#r�	ones_liker)rXr	rbr�r�s     r4�test_permutationz#TestMatrix_Balance.test_permutation�s����r�w�v����������(@�(@��w�v���
(�
(��"�1�q�1�1�1�	��6�A�q���2�<��?�?�+�+�+���2�8�$9�$9�$9�:�:�;�;�;�;�;r6c	�L�tjgd�gd�gd�gd�gd�g��tjgd�gd�gd�gd�g��tjgd	�gd
�gd�gd�g��f}|D]�}t|��\}}t|d
���\}\}}tj|��}tj|jd��||<t
|tj|��|dd�f��t
t||���	|��|����dS)N)rIrIrIrI����>)rIrIrIrIrI)rPrPrIrIrI)rIrIr�rIrI)r~rIrIrI)rI��rIrI)r;rIr~rI)rIr;rIr�)��rIr;rI)r�r���r;)r�r�r�rI)r�r�r;r�rCr�r)
r+rr#r�rr*rrmrr)rX�casesr	rbr�r��p�ips        r4�test_perm_and_scalingz(TestMatrix_Balance.test_perm_and_scaling�sz����5�5�5�/�/�/�/�/�/�/�/�/�5�5�5�	7�8�8���-�-�-�,�,�,�-�-�-�,�,�,�.�/�/�
��,�,�,�.�.�.�.�.�.�.�.�.�0�1�1���$�	3�	3�A�!�!�$�$�D�A�q�&�q�1�5�5�5�I�A�v��1���q�!�!�B��I�a�g�a�j�)�)�B�q�E��A�r�w�q�z�z�"�a�a�a�%�0�1�1�1��E�!�Q�K�K�O�O�A�.�.��2�2�2�2�
	3�	3r6N)
r�r�r�r�r�r�r�r�r�r�r�r6r4r�r�ts�������J�J�J�7�7�7�;�;�;�/�/�/�
)�)�)�<�<�<�3�3�3�3�3r6r�r�)Qr�rlrD�numpyr+rrrrrrr	r
�numpy.linalgr��numpy.randomr�
numpy.testingrr
rrrrrrrry�
scipy._libr�scipy.linalgrrrrrrrrrrrr r!r"r#r$r%�scipy.linalg._testutilsr'�scipy._lib._testutilsr(�scipy.linalg.blasr)r-r,r�rkr/r.r��DTYPESr5r8r�r�ryr�r�r�r�r�r&rv�parametrizer9r;rZrtr�r�r�r6r4�<module>r�so��������������������������������������������������B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B��
�
�
�*�*�*�*�*�*�������=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�=�
8�7�7�7�7�7�3�3�3�3�3�3�'�'�'�'�'�'��z�2�:�r�}�5���,��
�r�~�>��	�~�	%�����H0�H0�H0�H0�H0�H0�H0�H0�Vx;�x;�x;�x;�x;�x;�x;�x;�v	O1�O1�O1�O1�O1�O1�O1�O1�d
;/�;/�;/�;/�;/�;/�;/�;/�|(C�(C�(C�(C�(C�(C�(C�(C�V#)�#)�#)�#)�#)�#)�#)�#)�L����a,�a,�a,�a,�a,�a,�a,�a,�H	MB�MB�MB�MB�MB�MB�MB�MB�`<6�<6�<6�<6�<6�<6�<6�<6�~�����"3�4�4������4��-�0�0�%�%�1�0�5�4�%�9"�9"�9"�9"�9"�9"�9"�9"�x,$�,$�,$�,$�,$�,$�,$�,$�^-�-�-�-�-�-�-�-�<R�R�R�R�R�R�R�R�j>3�>3�>3�>3�>3�>3�>3�>3�>3�>3r6

Youez - 2016 - github.com/yon3zu
LinuXploit