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/signal/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

d�cݸ��x�ddlZddlZddlmZmZmZmZmZddl	m
Zddlm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZddl m!Z!ddl"m#Z#d+d�Z$Gd	�d
��Z%Gd�d��Z&Gd
�d��Z'Gd�d��Z(Gd�d��Z)Gd�de)��Z*Gd�de)��Z+Gd�d��Z,Gd�de,��Z-Gd�de,��Z.Gd�d��Z/Gd�d ��Z0Gd!�d"��Z1Gd#�d$��Z2Gd%�d&��Z3Gd'�d(��Z4Gd)�d*��Z5dS),�N)�assert_almost_equal�assert_equal�assert_allclose�assert_�suppress_warnings)�raises)�ss2tf�tf2ss�lsim2�impulse2�step2�lti�dlti�bode�freqresp�lsim�impulse�step�abcd_normalize�place_poles�TransferFunction�
StateSpace�ZerosPolesGain)�BadCoefficients)�matrix�:�0�yE>c
���|���}|D]�}d}t|jd��D]�}tjtj|��tj|��gtj||��tj||��g||��rd}tj||��n��|s2tdt|��zdzt|��z�����dS)a
    Check each pole in P1 is close to a pole in P2 with a 1e-8
    relative tolerance or 1e-8 absolute tolerance (useful for zero poles).
    These tolerances are very strict but the systems tested are known to
    accept these poles so we should not be far from what is requested.
    FrTzCan't find pole z in N)
�copy�range�shape�np�allclose�real�imag�delete�
ValueError�str)�P1�P2�rtol�atol�p1�found�p2_idxs       �@/usr/lib/python3/dist-packages/scipy/signal/tests/test_ltisys.py�_assert_poles_closer0s��
�����B��
N�
N�����B�H�Q�K�(�(�	�	�F��{�B�G�B�K�K������5��G�B�v�J�/�/����F��1D�1D�E���'�'�
����	�"�f�%�%�%���
��	N��/�#�b�'�'�9�F�B�S��W�W�L�M�M�M�	N�
N�
N�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestPlacePolesc��t|||fi|��}tj�|tj||j��z
��\}}t
||j��t
||j��t
||j��|S)z�
        Perform the most common tests on the poles computed by place_poles
        and return the Bunch object for further specific tests
        )	rr!�linalg�eig�dot�gain_matrixr0�requested_poles�computed_poles)�self�A�B�P�kwargs�fsf�expected�_s        r/�_checkzTestPlacePoles._check(s���
�!�Q��,�,�V�,�,���i�m�m�A���q�#�/�(B�(B�$B�C�C���!��H�c�&9�:�:�:��H�c�&8�9�9�9��A�c�1�2�2�2��
r1c���tjgd����dd��}tjgd����dd��}tjgd���}|�|||d���|�|||d���tjd	�
��5|�||d��ddd��dS#1swxYwYdS)N�g�G�z�?g�����ʿg\��(�@gNbX9��g�<,Ԛ�g)\��(�rg�������?g�O��n�?�d;�O�@gV-���g�O��n�@g�~j�t��?rFg�rh��|�?g�E�����)r���K�@�V-�?rIrr�^�I+	�r��皙����ɿ��g}гY�9�g�D��T!��KNV0��method�YT�ignore)�invalid)rKrK�rU)r!�array�reshaperC�errstate)r;r<r=r>s    r/�	test_realzTestPlacePoles.test_real4s7��
�H�%�%�%�
&�
&�&-�g�a��m�m�	
�
�H�=�=�=�>�>�F�F�q�!�L�L���H�3�3�3�4�4��	
���A�q�!�F��+�+�+����A�q�!�D��)�)�)��[��
*�
*�
*�	)�	)��K�K��1�i�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s�2C�C�Cc�
�tjgd�gd�gd�gd�g��}tjddgddgddgddgg��}tjgd���}tjdd���5|�|||��ddd��n#1swxYwYgd	�}tjdd���5|�|||d
���ddd��n#1swxYwYtjgd����d
d
��}tjgd����d
d��}gd�}|�|||��tjd��tjd��z
}tjd��tjdgdzd��dd�dd�fz
}||dd
�dd
�f<||dd
�dd�f<gd�}tjdd���5|�|||��ddd��n#1swxYwYgd�}|�|dd�dd�f|dd�dd�f|��gd�}|�|dd�dd�f|dd�dd�f|��tjgd����dd��}tjgd����dd��}tjgd���}tjdd���5t|||��ddd��n#1swxYwYtjgd���}tjdd���5|�|||��ddd��dS#1swxYwYdS)N)r�rr)rrr竪����@)rrrrr�)�����������?rS)�dividerT)y���ư�y���ư>����
i���maxiter)$i����i��i%���i����iF���i���i[���i��i���iY���i���i���i��i\���i����i^�ic���i��i���i(���i~���i����i���i���i����i���rKiS���i���i����ig���i�i����ip���i����i����)i����i����i�i����i0���i_���iL���i`���i����i�i���i��i]���i�i#���i����i����i"���iH���i����i���i<���i^���iU���i��i���ic���i���i����iR����)y9�=�y9�=@y?@E�y?@E@y�@@�D�y�@@�D@)�riri)rirdrd)rc�������(�2�<�Fy4��y4�@y@@y@�)
rcrjrk����i����������i����i����i����r_)
y$�$@y4�4@y>�>@yD�D@yI�I@y$�$�y4�4�y>�>�yD�D�yI�I�)rr[rrrrrr\rrrrrrrrrrrrhrrrr�	)
rrrrr]rrr]rKrUrK)���y��?y����?���)rtr^���rurv)	r!rVrXrCrW�ones�eye�diagr)r;r<r=r>�big_A�big_Bs      r/�test_complexzTestPlacePoles.test_complexJsG��
�H�l�l�l�%�o�o�"�l�l�"�l�l�$�
%�
%��
�H�q�!�f��!�f��!�f��!�f��
�
��

�H�+�+�+�,�,���[��(�
;�
;�
;�	!�	!��K�K��1�a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
%�$�$��
�[��(�
;�
;�
;�	/�	/��K�K��1�a��K�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�H�G�G�G�
�
�
�W�Q�q�\�\�	
�
�H�(�(�(�
�
�
�w�q��|�|�	
�
K�J�J�����A�q�!����
��� � ������+����� � ���!��R���!2�!2�1�1�1�Q�R�R�4�!8�8����b�q�b��!��e����b�q�b��!��e��=�=�=��
�[��(�
;�
;�
;�	)�	)��K�K��u�a�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
7�6�6�����E�#�2�#�c�r�c�'�N�E�#�2�#�c�r�c�'�N�A�6�6�6�
6�
6�
6�����E�#�2�#�c�r�c�'�N�E�#�2�#�c�r�c�'�N�A�6�6�6�
�H�)�)�)�
*�
*�*1�'�!�A�,�,�	
��H�*�*�*�+�+�3�3�A�a�8�8���H�5�5�5�6�6��
�[��(�
;�
;�
;�	!�	!���1�a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�

�H�/�/�/�0�0��
�[��(�
;�
;�
;�	!�	!��K�K��1�a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!sZ�-B�B�B�6C�C �#C �)H
�
H�H�>L�L �#L �M8�8M<�?M<c�@�tjgd����dd��}tjgd����dd��}tjgd���}|�|||��}t	|jtj��t	|jtj��tjd��}|�|||��}t	|jtj��t	|jtj��|dd�df�dd��}tjd��}|�|||��}t	|jd��t	|jd��dS)NrErG)rrHrIrIrrrJrr]rKrUrGrhrgr[�rL)rar`r^rtrr])r!rVrWrCrr*�nan�nb_iter)r;r<r=r>r@s     r/�
test_tricky_BzTestPlacePoles.test_tricky_B�s~��
�H�%�%�%�
&�
&�&-�g�a��m�m�	
�
�H�"�"�"�
#�
#�#*�7�1�a�=�=�	
�

�H�3�3�3�4�4���k�k�!�Q��"�"��	�S�X�r�v�&�&�&��S�[�"�&�)�)�)�
�H�(�)�)���k�k�!�Q��"�"���S�X�r�v�&�&�&��S�[�"�&�)�)�)�
�a�a�a��c�F�N�N�1�Q�����H�(�)�)���k�k�!�Q��"�"��	�S�X�q�!�!�!��S�[�!�$�$�$�$�$r1c
���tjgd����dd��}tjgd����dd��}ttt
||dd���ttt
||tjd���dd����ttt
|dd�dd�tjf|d��ttt
||dd�dd�tjfd��ttt
||d	��ttt
||d
��ttt
||dd���ttt
||dd
���ttt
||d��ttt
tjd��tjd��d��tj	d���5}tj
d��t||ddd���}tt|��dk��tt|djt����tdt!|dj��v��t%|jd��ddd��n#1swxYwYttt
||d��ttt
|dd�dd�f|d��ttt
||dd�dd�fd��ttt
||dd���dS) N)rr[rrrrrr\rrrrrrrrrG)rrrrr]rrr]rK)��������皙������ffffff��333333��foorPr])r�r�r�r�r^)r�r�r��*�r*i���re)rtrtrtrt)rGrG)rGrK�r]rKrUrGT)�record�always)r_rtr^rwg��ؗ�Ҝ<)r*rfr_z4Convergence was not reached after maxiter iterations)rar`��@rtrU)rtr^rw���)rar`r�y��rO)r!rVrW�
assert_raisesr&r�newaxisrx�warnings�catch_warnings�simplefilterr�len�
issubclass�category�UserWarningr'�messagerr�)r;r<r=�wr@s     r/�test_errorszTestPlacePoles.test_errors�s����H�9�9�9�:�:�B�B�1�Q�G�G���H�&�&�&�'�'�/�/��!�4�4��	�j�+�q�!�5J�"�	$�	$�	$�	$�	�j�+�q�!��h�4�5�5�=�=�a��B�B�	D�	D�	D�	�j�+�q����1�1�1�R�Z��/@�!�+�	-�	-�	-�	�j�+�q�!�A�A�A�a�a�a��
�N�2C�+�	-�	-�	-�	�j�+�q�!�5M�N�N�N�	�j�+�q�!�5E�F�F�F�	�j�+�q�!�5J��	�	�	�	�	�j�+�q�!�5J�!�	#�	#�	#�	#�	�j�+�q�!�]�C�C�C�	�j�+�r�w�u�~�~��g�e�n�n�i�	1�	1�	1�
�
$�D�
1�
1�
1�	*�Q��!�(�+�+�+��a��M��r�J�J�J�C��C��F�F�a�K� � � ��J�q��u�~�{�;�;�<�<�<��J��1�R�5�=�)�)�*�
+�
+�
+����b�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	�j�+�q�!�5K�L�L�L�	�j�+�q����2�A�2��w��=�I�I�I�	�j�+�q�!�B�Q�B�q�q�q�D�'�=�I�I�I�	�j�+�q�!�/��	@�	@�	@�	@�	@�	@s�
B4K
�
K�KN)�__name__�
__module__�__qualname__rCrYr}r�r��r1r/r3r3&sn������
�
�
�)�)�)�,N!�N!�N!�` %� %� %�D@@�@@�@@�@@�@@r1r3c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�	TestSS2TFc	���ttj||f��tj||f��tj||f��tj||f��d��dS)Nr)r	r!�zeros�r;�p�q�rs    r/�check_matrix_shapeszTestSS2TF.check_matrix_shapessc��
�b�h��1�v����h��1�v����h��1�v����h��1�v����	#�	#�	#�	#�	#r1c�F�dD]\}}}|�|||���dS)N))rUrUrU)r]rUrU�r]r]r])r�r�s    r/�test_shapeszTestSS2TF.test_shapess>��9�	.�	.�G�A�q�!��$�$�Q��1�-�-�-�-�	.�	.r1c��tjgd���}tjgd���}t||��\}}}}t|ddgddggd���t|dgdggd���t|dd	ggd���t|dggd
���t	||||��\}}t|d|d���t||d���dS)N)��?�@�@)r��@r�rtr^r]r�vIh�%<=r�rK�+����=)r!rVr
rr	)	r;�b�ar<r=�C�D�bb�aas	         r/�
test_basiczTestSS2TF.test_basic
s����H�_�_�_�%�%���H�_�_�_�%�%���1�a�[�[�
��1�a����R��H�q�!�f�-�E�:�:�:�:���Q�C�!��:�E�2�2�2�2���Q��F�8�%�0�0�0�0���Q�C�5�u�-�-�-�-��q�!�Q��"�"���B���1��q�u�-�-�-�-���A�E�*�*�*�*�*�*r1c��d}t|�\}}}}t|dggd���t|dggd���t|dggd���t|dggd���t||||��\}}t|ddggd���t|ddgd���dgdggdf}t|�\}}}}t|dggd���t|dggd���t|dgdggd���t|dgdggd���t||||��\}}t|ddgddggd���t|ddgd���dS)N)rKr]rr�r�rKr]rh)r
rr	�r;�tfr<r=r�r��num�dens        r/�test_zero_order_round_tripz$TestSS2TF.test_zero_order_round_trips���
���B�Z�
��1�a����Q�C�5�u�-�-�-�-���Q�C�5�u�-�-�-�-���Q�C�5�u�-�-�-�-���Q�C�5�u�-�-�-�-���A�q�!�$�$���S���q�!�f�X�E�2�2�2�2���a��V�%�0�0�0�0��s�Q�C�j�!�_���B�Z�
��1�a����Q�C�5�u�-�-�-�-���Q�C�5�u�-�-�-�-���Q�C�!��:�E�2�2�2�2���Q�C�!��:�E�2�2�2�2���A�q�!�$�$���S���q�!�f�q�!�f�-�E�:�:�:�:���a��V�%�0�0�0�0�0�0r1c�v�ddgddggddgf}t|�\}}}}t|dggd���t|dggd���t|dgdggd���t|dgdggd���t||||��\}}t|ddgddggd���t|ddgd���gd�gd	�ggd	�f}t|�\}}}}t|ddgddggd���t|dgdggd���t|ddgddggd���t|dgdggd���t||||��\}}t|gd�gd	�gd���t|gd	�d���gd
�gd
�ggd�f}t|�\}}}}t|gd�gd
�gd�gd���t|dgdgdggd���t|gd
�gd
�gd���t|dgdggd���t||||��\}}t|gd�gd�gd���t|gd�d���tjdddggt
���ddgf}t|�\}}}}t|dggd���t|dggd���t|dgdggd���t|dgdggd���t||||��\}}t|ddgddggd���t|ddgd���tjddggd
�gt
���gd�f}t|�\}}}}t|ddgddggd���t|dgdggd���t|ddgddggd���t|dgdggd���t||||��\}}t|gd�gd
�gd���t|gd�d���dS)Nr]rKrtr�r�rr_)r]rr]r�)r]rKrUr�)rtr^rw)r]rr�rr]r)rr]rKrUrU)�dtypergi����g�h�e�9�9i����r^)r]rgrhr�rw)rr]r^)r
rr	r!rV�objectr�s        r/�test_simo_round_tripzTestSS2TF.test_simo_round_trip4s����1�v��1�v���A��
'���B�Z�
��1�a����R�D�6��.�.�.�.���Q�C�5�u�-�-�-�-���Q�C�"��;�U�3�3�3�3���Q�C�!��:�E�2�2�2�2���A�q�!�$�$���S���q�!�f�q�!�f�-�E�:�:�:�:���a��V�%�0�0�0�0��y�y�)�)�)�$�i�i�i�
0���B�Z�
��1�a����R��H�q�!�f�-�E�:�:�:�:���Q�C�!��:�E�2�2�2�2���R��G�a��V�,�5�9�9�9�9���Q�C�!��:�E�2�2�2�2���A�q�!�$�$���S���i�i�i����3�%�@�@�@�@���Y�Y�Y�U�3�3�3�3��y�y�)�)�)�$�l�l�l�
3���B�Z�
��1�a����L�L�L�)�)�)�Y�Y�Y�?�e�L�L�L�L���Q�C�!��q�c�?��7�7�7�7���I�I�I�y�y�y�1��>�>�>�>���Q�C�!��:�E�2�2�2�2���A�q�!�$�$���S���l�l�l�L�L�L�9��F�F�F�F���\�\�\��6�6�6�6��h��A�q�6�{�&�1�1�1�A�q�6�
:���B�Z�
��1�a����R�D�6��.�.�.�.���Q�C�5�u�-�-�-�-���Q�C�"��;�U�3�3�3�3���Q�C�!��:�E�2�2�2�2���A�q�!�$�$���S���q�!�f�q�!�f�-�E�:�:�:�:���a��V�%�0�0�0�0��h��B�����+�6�:�:�:�I�I�I�
F���B�Z�
��1�a����R��H�q�!�f�-�E�:�:�:�:���Q�C�!��:�E�2�2�2�2���Q��G�b�"�X�.�U�;�;�;�;���Q�C�!��:�E�2�2�2�2���A�q�!�$�$���S���j�j�j�)�)�)�4�5�A�A�A�A���Y�Y�Y�U�3�3�3�3�3�3r1c��gd�gd�gd�g}dgdgdgg}gd�g}dgg}t||||��\}}t|gd�gdd	�
��t|gd�d���dS)
Nr�)rrr])r^rwrtrr])rhr]r)�r�r�r�r�r��r*r+)r�r��@r�r�)r	r)r;r<r=r�r�r�r�s       r/�test_all_int_arrayszTestSS2TF.test_all_int_arraysms���
�Y�Y�	�	�	�<�<�<�0���S�1�#��s�O��
�Y�Y�K���S�E����A�q�!�$�$���S���2�2�2�3�%�e�L�L�L�L���1�1�1��>�>�>�>�>�>r1c��tjgd�gd�gd�gd�g��}tjdgdgdgdgg��}tjgd�gd	�gd
�g��}tjdgdgdgg��}t||||��\}}t|||d|d��\}}t|||d
|d
��\}	}
t|||d|d��\}}t||d���t|
|d���t||d���t|tj||	|f��dd���dS)N)��r�r�r�)r�r�r�r�)g�r�r�r�)g �� @r�r��333333�?r�g@)r�r�r�r�)r�r�r�r�)r�r�r�r�r�rr]rKr�r�r�r�)r!rVr	r�vstack)
r;r<r=r�r��b_allr��b0�a0�b1�a1�b2�a2s
             r/�test_multioutputzTestSS2TF.test_multioutputvs���
�H�+�+�+�+�+�+�+�+�+�+�+�+�-�
.�
.��
�H�s�e��e��e��e��
�
��
�H�*�*�*�*�*�*�*�*�*�,�
-�
-��
�H�s�e��e��e��
�
��
��A�q�!�$�$���q��q�!�Q�q�T�1�Q�4�(�(���B��q�!�Q�q�T�1�Q�4�(�(���B��q�!�Q�q�T�1�Q�4�(�(���B�	��A�E�*�*�*�*���A�E�*�*�*�*���A�E�*�*�*�*���r�y�"�b�"��6�6�U��O�O�O�O�O�Or1N)
r�r�r�r�r�r�r�r�r�r�r�r1r/r�r��s�������#�#�#�.�.�.�
+�
+�
+�1�1�1�074�74�74�r?�?�?�$P�$P�$P�$P�$Pr1r�c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�TestLsimc��t��5}|�t��t|�}ddd��n#1swxYwY|S�N)r�filterrr)r;�args�sup�systems    r/�
lti_nowarnzTestLsim.lti_nowarn�s���
�
 �
 �	 �C��J�J��'�'�'��$�Z�F�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��
s�$?�A�Ac�"�|�dddd��}tjdd��}tj|��}t	|||dg���\}}}tj|��}t
||��t
||��dS�Nr�r�r�rrh��X0�r�r!�linspace�
zeros_liker�expr�r;r��t�u�tout�y�x�
expected_xs        r/�test_first_orderzTestLsim.test_first_order�s�������R��2�.�.���K��!�����M�!�����&�!�Q�C�5�1�1�1�
��a���V�T�E�]�]�
��A�z�*�*�*��A�z�*�*�*�*�*r1c���|�dddd��}tjdd��}|}t|||��\}}}d|dzz}t	||��t	||��dS)Nr�r�rrh��?rK)r�r!r�rrr�s        r/�test_integratorzTestLsim.test_integrator�sy������R��R�0�0���K��!����
���&�!�Q�'�'�
��a���4��7�]�
��A�z�*�*�*��A�z�*�*�*�*�*r1c���tddgddgg��}tdgdgg��}tddgg��}|�|||d��}tjdd��}tj|��}t|||��\}}}	tjtjd|dzz|g����}
|dz}t|	|
��t||��dS)Nr�r�r�rrhr�rK)	rr�r!r��	ones_liker�	transposerVr)r;r<r=r�r�r�r�r�r�r�r��
expected_ys            r/�test_double_integratorzTestLsim.test_double_integrator�s����R��H�r�2�h�'�(�(���R�D�2�$�<� � ���R��H�:��������A�q�"�-�-���K��!�����L��O�O���&�!�Q�'�'�
��a���\�"�(�C�$��'�M�4�+@�"A�"A�B�B�
��1�W�
��A�z�*�*�*��A�z�*�*�*�*�*r1c�~�tddgddgg��}tdgdgg��}tddgg��}|�|||d��}tjdd��}tj|��}t|||ddg���\}}}	|tj|��z}
t||
��dSr�)rr�r!r�r�rr�r)r;r<r=r�r�r�r�r�r�r�r�s           r/�test_jordan_blockzTestLsim.test_jordan_block�s���
�S�"�I��C�y�)�*�*���R�D�2�$�<� � ���R��H�:��������A�q�"�-�-���K��!�����M�!�����&�!�Q�C��:�6�6�6�
��a���B�F�D�5�M�M�)�
��A�z�*�*�*�*�*r1c��tjddgddgg��}tjddgddgg��}tjddg��}tjd��}|�||||��}tjddd��}tj|��}t
|||ddg�	��\}}	}
tj|��}tj|��}tjd|z��}
t|	|��t|
dd�df|��t|
dd�d
f|
��dS)Nr�r���r��r]rKrr��er�r])	r!rVr�r�r�r�rr�r)r;r<r=r�r�r�r�r�r�r�r�r��expected_x0�expected_x1s              r/�	test_misozTestLsim.test_miso�s2���H�t�S�k�C��;�/�0�0���H�s�C�j�3��*�-�.�.���H�c�3�Z� � ���H�U�O�O������A�q�!�,�,���K��3��$�$���M�!�����&�!�Q�C��:�6�6�6�
��a���V�T�E�]�]�
��f�d�U�m�m���f�T�$�Y�'�'���A�z�*�*�*��A�a�a�a��c�F�K�0�0�0��A�a�a�a��c�F�K�0�0�0�0�0r1c��|�dddd��}tjdd��}tj|��}t	|||dg���\}}}tj|��}t
||��dS)Nr�r�r�r]rKr�r�)r;r�r�r�r�r�r�r�s        r/�test_nonzero_initial_timez"TestLsim.test_nonzero_initial_time�s|������R��2�.�.���K��!�����M�!�����&�!�Q�C�5�1�1�1�
��a���V�T�E�]�]�
��A�z�*�*�*�*�*r1N)
r�r�r�r�r�r�r�r�rrr�r1r/r�r��s}���������	+�	+�	+�+�+�+�+�+�+�+�+�+� 1�1�1�$+�+�+�+�+r1r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�
Test_lsim2c��tjddd��}tj|��}dgddgf}t|||dg���\}}}tj|��}t|dd�df|��dS)Nrrd��r�r��r!r�r�rr�r�r;r�r�r�r�r�r�r�s        r/�test_01zTest_lsim2.test_01�s����K��"�T�"�"���M�!�����%��S�	�"���6�1�a�S�E�2�2�2�
��a���V�T�E�]�]�
��A�a�a�a��c�F�J�/�/�/�/�/r1c��tjgd���}tjgd���}dgddgf}t|||dg���\}}}tjd|��}t	|dd�df|��dS)N)r�r�r�r�)r�r�r�r�r�r�r�r)r!rVr�maximumrrs        r/�test_02zTest_lsim2.test_02�s����H�)�)�)�*�*���H�)�)�)�*�*���%��S�	�"���6�1�a�S�E�2�2�2�
��a���Z��T�*�*�
��A�a�a�a��c�F�J�/�/�/�/�/r1c��tjgd���}tjgd���}dgddgf}t|||d���\}}}tjgd���}t|dd�df|��dS)	N)r�r�r�皙�����?rr�)r�r�r�r�r�r�r�r��{�G�z�?)�hmax)r�r�r�皙�����?rrr)r!rVrrrs        r/�test_03zTest_lsim2.test_03s����H�3�3�3�4�4���H�3�3�3�4�4���%��c�
�#���6�1�a�d�3�3�3�
��a���X�<�<�<�=�=�
��A�a�a�a��c�F�J�/�/�/�/�/r1c��tjddd��}tj|��}dggd�f}t|||ddg���\}}}d|z
tj|��z}t|dd�df|��dS)Nrrdrr��r�r�r�r�r�rrs        r/�test_04zTest_lsim2.test_04s����K��2�t�$�$���M�!�����%����)���6�1�a�S�#�J�7�7�7�
��a���D�j�B�F�D�5�M�M�1�
��A�a�a�a��c�F�J�/�/�/�/�/r1c��tjddgddgg��}tjddgddgg��}tjddg��}tjd��}tjddd��}t	��5}|�t��t||||f|ddg�	��\}}}	ddd��n#1swxYwYtj|��}
tj|��}tjd|z��}t||
��t|	dd�df|��t|	dd�d
f|��dS)Nr�r�r�r�r�rg$@r�)�Tr�r])
r!rVr�r�rr�rrr�r)
r;r<r=r�r�r�r�r�r�r�r�r�r�s
             r/�test_05zTest_lsim2.test_05s���
�H�t�S�k�C��;�/�0�0���H�s�C�j�3��*�-�.�.���H�c�3�Z� � ���H�V�����K��4��%�%��
�
 �
 �	>�C��J�J��'�'�'���!�A�a�y�A�3��*�=�=�=�J�D�!�Q�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>��V�T�E�]�]�
��f�d�U�m�m���f�T�D�[�)�)���A�z�*�*�*��A�a�a�a��c�F�K�0�0�0��A�a�a�a��c�F�K�0�0�0�0�0s�7C�C
�
C
c��dggd�f}t|ddg���\}}}d|z
tj|��z}t|dd�df|��dS)Nr�rr�r�r)rr!r�r)r;r�r�r�r�r�s      r/�test_06zTest_lsim2.test_062sj��
�%����)���6�s�C�j�1�1�1�
��a���D�j�B�F�D�5�M�M�1�
��A�a�a�a��c�F�J�/�/�/�/�/r1N)	r�r�r�r	rrrrrr�r1r/rr�sn������0�0�0�0�0�0�0�0�0�	0�	0�	0�1�1�1�.0�0�0�0�0r1rc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�_TestImpulseFuncsc��dgddgf}|�|��\}}tj|��}t||��dS�Nr���funcr!r�r�r;r�r�r�r�s     r/r	z_TestImpulseFuncs.test_01@sN���%�#�c��#���)�)�F�#�#���a��V�T�E�]�]�
��A�z�*�*�*�*�*r1c��dgddgf}d}tjdd|��}|�||���\}}t|j|f��t||��tj|��}t||��dS)Nr��rr��r�r!r�r rr rr��r;r��nr�r�r�r�s       r/rz_TestImpulseFuncs.test_02Hs���
�%�#�c��#�����K��3��"�"���)�)�F�a�)�(�(���a��T�Z�!��&�&�&��D�!�$�$�$��V�Q�B�Z�Z�
��A�z�*�*�*�*�*r1c��dgddgf}|�|d���\}}dtj|��z}t||��dS�Nr�r�r�r�rr!s     r/rz_TestImpulseFuncs.test_03VsW��
�%�#�c��#���)�)�F�s�)�+�+���a��2�6�4�%�=�=�(�
��A�z�*�*�*�*�*r1c��dgddgf}|�|dg���\}}dtj|��z}t||��dSr)rr!s     r/rz_TestImpulseFuncs.test_04`sY��
�%�#�c��#���)�)�F��u�)�-�-���a��2�6�4�%�=�=�(�
��A�z�*�*�*�*�*r1c��dgddgf}|�|��\}}tj|��}t||��dS�Nr�r�)r r!r�rr!s     r/rz_TestImpulseFuncs.test_05jsL���%�#�c��#���)�)�F�#�#���a��\�$�'�'�
��A�z�*�*�*�*�*r1c��dggd�f}|�|��\}}|tj|��z}t||��dS)Nr�rrr!s     r/rz_TestImpulseFuncs.test_06qsS���%����)���)�)�F�#�#���a��B�F�D�5�M�M�)�
��A�z�*�*�*�*�*r1c��dggd�f}|�|dgddg���\}}|�|dgdg���\}}dS)Nr�rrUrhrg�r�r�r �r;r�r�r�s    r/�test_array_likez!_TestImpulseFuncs.test_array_likezsV���%����)���)�)�F��s�q�!�f�)�5�5���a��)�)�F��s�q�c�)�2�2���a�a�ar1c�J�dggd�f}|�|dd���\}}dS)Nr�rrUrhr/r0r1s    r/�test_array_like2z"_TestImpulseFuncs.test_array_like2�s1���%����)���)�)�F�q�A�)�.�.���a�a�ar1N)r�r�r�r	rrrrrr2r4r�r1r/rr=s�������+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�3�3�3�/�/�/�/�/r1rc��eZdZd�ZdS)�TestImpulse2c��t|_dSr�)rr �r;s r/�setup_methodzTestImpulse2.setup_method�s
����	�	�	r1N�r�r�r�r9r�r1r/r6r6�s#����������r1r6c��eZdZd�ZdS)�TestImpulsec��t|_dSr�)rr r8s r/r9zTestImpulse.setup_method�s
����	�	�	r1Nr:r�r1r/r<r<�s#����������r1r<c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�_TestStepFuncsc��dgddgf}|�|��\}}dtj|��z
}t||��dSrrr!s     r/r	z_TestStepFuncs.test_01�sS���%�#�c��#���)�)�F�#�#���a��2�6�4�%�=�=�(�
��A�z�*�*�*�*�*r1c��dgddgf}d}tjdd|��}|�||���\}}t|j|f��t||��dtj|��z
}t||��dS)Nr�r#rr�r$r]r%r&s       r/rz_TestStepFuncs.test_02�s���
�%�#�c��#�����K��3��"�"���)�)�F�a�)�(�(���a��T�Z�!��&�&�&��D�!�$�$�$��������^�
��A�z�*�*�*�*�*r1c��dgddgf}|�|d���\}}ddtj|��zz}t||��dS�Nr�r�r�r]r�rr!s     r/rz_TestStepFuncs.test_03�s\��
�%�#�c��#���)�)�F�s�)�+�+���a���R�V�T�E�]�]�*�*�
��A�z�*�*�*�*�*r1c��dgddgf}|�|dg���\}}ddtj|��zz}t||��dSrCrr!s     r/rz_TestStepFuncs.test_04�s^��
�%�#�c��#���)�)�F��u�)�-�-���a���R�V�T�E�]�]�*�*�
��A�z�*�*�*�*�*r1c�h�dgddgf}|�|��\}}|}t||��dSr,�r rr!s     r/rz_TestStepFuncs.test_05�sD���%��S�	�"���)�)�F�#�#���a��
��A�z�*�*�*�*�*r1c��dggd�f}|�|��\}}dd|ztj|��zz
}t||��dS)Nr�rr]rr!s     r/rz_TestStepFuncs.test_06�s\���%����)���)�)�F�#�#���a��!�d�(�b�f�d�U�m�m�3�3�
��A�z�*�*�*�*�*r1c�L�dggd�f}|�|ddg���\}}dS)Nr�rrhrgr$r0r1s    r/r2z_TestStepFuncs.test_array_like�s3���%����)���)�)�F�q�!�f�)�-�-���a�a�ar1N)
r�r�r�r	rrrrrr2r�r1r/r?r?�s}������+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�.�.�.�.�.r1r?c��eZdZd�Zd�ZdS)�	TestStep2c��t|_dSr�)r
r r8s r/r9zTestStep2.setup_method�s
����	�	�	r1c�n�dgddgf}|�|dd���\}}|}t||��dS)Nr�r�g�����|�=r)r+r*rFr!s     r/rzTestStep2.test_05�sJ���%�#�c��#���)�)�F��T�)�:�:���a��
��A�z�*�*�*�*�*r1N)r�r�r�r9rr�r1r/rJrJ�s2���������
+�
+�
+�
+�
+r1rJc��eZdZd�Zd�ZdS)�TestStepc��t|_dSr�)rr r8s r/r9zTestStep.setup_method�s
����	�	�	r1c�,�tgdgdf��dS)Nr_y�?)rr8s r/�test_complex_inputzTestStep.test_complex_input�s!��	
�b�2�$��
�����r1N)r�r�r�r9rQr�r1r/rNrN�s2�������������r1rNc��eZdZd�ZdS)�TestLtic���tdgdg��}tt|t����tt|t����tt|t����t|jdu��tt
jg��t
jdg��d��}tt|t����tt|t����tt|t����t|jdu��tgdgd��}tdgdgdd��}tt|t����tt|t����tt|t����t|jdu��dS)Nr]r_rU)
rr�
isinstancerr�dtr!rVrr�r;�ss  r/�test_lti_instantiationzTestLti.test_lti_instantiation�s���

���b�T�N�N���
�1�.�/�/�0�0�0��
�1�c�"�"�#�#�#��J�q�$�'�'�'�(�(�(���������
������b�h��t�n�n�a�0�0���
�1�n�-�-�.�.�.��
�1�c�"�"�#�#�#��J�q�$�'�'�'�(�(�(���������
��R�D�!�������b�T�1�a� � ���
�1�j�)�)�*�*�*��
�1�c�"�"�#�#�#��J�q�$�'�'�'�(�(�(����������r1N)r�r�r�rYr�r1r/rSrS�s#����������r1rSc�&�eZdZd�Zd�Zd�Zd�ZdS)�TestStateSpacec�(�tdddd��tdgdgdgdg��ttjddgddgg��tjdgdgg��tjddgg��tjdgg����dS)Nr]rKrUrGr)rr!rVr8s r/�test_initializationz"TestStateSpace.test_initializations����1�a��A�����A�3���a�S�1�#�&�&�&��2�8�a��V�a��V�,�-�-�r�x�!��q�c�
�/C�/C��8�a��V�H�%�%�r�x�!�����	8�	8�	8�	8�	8r1c���tdddd��}tt|���t����tt|���t
����tt|���t����tt|��|u��t|���|u��dS)Nr]rKrUrG)rrrU�to_ss�to_tfr�to_zpkrrWs  r/�test_conversionzTestStateSpace.test_conversions����q�!�Q��"�"���
�1�7�7�9�9�j�1�1�2�2�2��
�1�7�7�9�9�&6�7�7�8�8�8��
�1�8�8�:�:�~�6�6�7�7�7�	�
�1�
�
�Q�&�'�'�'�����	�	��"�#�#�#�#�#r1c��tdddd��}t|jdg��t|jdg��t	|jdu��dS�Nr]r)rr�polesr�rrVrWs  r/�test_propertieszTestStateSpace.test_propertiessY��

�q�!�Q��"�"���Q�W�q�c�"�"�"��Q�W�q�c�"�"�"����������r1c��Gd�d��}ttjddgddgg��tjdgdgg��tjddgg��tjdgg����}ttjd	d
gdd
gg��tjdgdgg��tjddgg��tjdgg����}|�d��}|�d
��}|�d��}tjddd��}tj|��}d|d<ttttj	tj
tjfD�]9}	tt|	d��|z||���d|	d��t|||���dz��tt||	d��z||���dt|||���d|	d��z��tt||	d��z||���dt|||���d|	d��z��tt��5|	d��|zddd��n#1swxYwY��;tt|dz||���dt|d|z|���d��tt||z||���dt|t|||���d|���dd���tt��5||zddd��n#1swxYwYtt��5||zddd��n#1swxYwYtt��5||zddd��n#1swxYwYtt��5||��zddd��n#1swxYwYtt��5|��|zddd��n#1swxYwYtt��5||��zddd��n#1swxYwYtt��5|��|zddd��n#1swxYwYtt|dz||���dd|zt|||���dz��tt��5|tjddg��zddd��n#1swxYwYtt��5tjddg��|zddd��n#1swxYwYtt��5||zddd��n#1swxYwYtt��5|tjddgddgg��zddd��n#1swxYwYtt��5||zddd��n#1swxYwYtt��5||��zddd��n#1swxYwYtt��5|��|zddd��n#1swxYwYtt||z||���dt|||���dt|||���dz��tt|dz
||���dd|zt|||���dz��ttd|z
||���dd|zt|||���dz��tt||z
||���dt|||���dt|||���dz
��tt��5||��z
ddd��n#1swxYwYtt��5|��|z
ddd��n#1swxYwY||z}
t!|
jdk��||z}
t!|
jdk��d|z}
t!|
jdk��|}
t!|
jdk��dS)Nc��eZdZdS)�.TestStateSpace.test_operators.<locals>.BadTypeN)r�r�r�r�r1r/�BadTyperi+s�������Dr1rjrNgffffff�?r�g�������r]rrMg��������g�������?rg�������?�drK)�Urg�h㈵��>)r+rUrGrt)rr!rV�to_discreter�r��int�float�complex�float32�
complex128rrr��	TypeErrorr&rrV)r;rj�s1�s2�
s_discrete�s2_discrete�s3_discreter�r��typrXs           r/�test_operatorszTestStateSpace.test_operators(s
��	�	�	�	�	�	�	�	����4��+��T�{�!;�<�<���1�#��s��,�,���1�a�&��*�*���1�#����������4��,��d��!<�=�=���1�#��s��,�,���1�a�&��*�*���1�#��������^�^�C�(�(�
��n�n�S�)�)���n�n�S�)�)��
�K��1�c�"�"���M�!������!�������R�]�B�H�M�	�	�C��D���Q���"���Q�7�7�7��:��C��F�F�T�"��Q�%7�%7�%7��%:�:�
<�
<�
<�
�D��c�c�!�f�f���Q�7�7�7��:� ��q�A�.�.�.�q�1�C�C��F�F�:�
<�
<�
<�
�D��c�c�!�f�f���Q�7�7�7��:� ��q�A�.�.�.�q�1�C�C��F�F�:�
<�
<�
<��y�)�)�
�
���A������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	��R�!�V�q�A�.�.�.�q�1��R�1�q�5�A�.�.�.�q�1�	3�	3�	3�	��R�"�W��Q�/�/�/��2��R�4��a�1�#5�#5�#5�a�#8�A�>�>�>�q�A�!�	#�	#�	#�	#��9�
%�
%�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	�	���O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	%�	%���$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��9�
%�
%�	�	������N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	�	��G�I�I��N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	�	������N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	�	��G�I�I��N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	��R�!�V�q�A�.�.�.�q�1��A���R�1�� 2� 2� 2�1� 5�5�	7�	7�	7��:�
&�
&�	"�	"����1�a�&�!�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��:�
&�
&�	"�	"��H�a��V���r�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��9�
%�
%�	�	���O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��:�
&�
&�	,�	,����A�q�6�A�q�6�*�+�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��9�
%�
%�	%�	%���$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��9�
%�
%�	�	������N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	�	��G�I�I��N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	��R�"�W��Q�/�/�/��2��R�1��*�*�*�1�-��R�1��0B�0B�0B�1�0E�E�	G�	G�	G�	��R�!�V�q�A�.�.�.�q�1��Q���b�A��!3�!3�!3�A�!6�6�	8�	8�	8�	��Q��V�q�A�.�.�.�q�1��A���b�S�A�� 3� 3� 3�A� 6�6�	8�	8�	8�	��R�"�W��Q�/�/�/��2��R�1��*�*�*�1�-��R�1��0B�0B�0B�1�0E�E�	G�	G�	G��9�
%�
%�	�	������N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��9�
%�
%�	�	��G�I�I��N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
��$������������$����������
�
�N����������
�K�����������s2�J1�1J5	�8J5	�+M=�=N�N�N.�.N2�5N2�
O�O#�&O#�>P�P�P�7Q�Q�Q�0R
�
R�R�)S�S�
S�'U
�
U�U�,V�V�V�1W�W�
W�"X�X�X�+X=�=Y�Y�Y6�6Y:�=Y:�Z/�/Z3�6Z3�	`#�#`'�*`'�a�a �#a N)r�r�r�r]rbrfrzr�r1r/r[r[sU������8�8�8�	$�	$�	$����~�~�~�~�~r1r[c� �eZdZd�Zd�Zd�ZdS)�TestTransferFunctionc��tdd��tdgdg��ttjdg��tjdg����dS�Nr]rK)rr!rVr8s r/r]z(TestTransferFunction.test_initialization�sP����A�����!��q�c�"�"�"����1�#�����!��
�
�6�6�6�6�6r1c���tddgddg��}tt|���t����tt|���t����tt|���t����tt|��|u��t|���|u��dS�Nr]rr_)rrrUr_rr`rarrWs  r/rbz$TestTransferFunction.test_conversion�s����a��V�a��W�-�-���
�1�7�7�9�9�j�1�1�2�2�2��
�1�7�7�9�9�&6�7�7�8�8�8��
�1�8�8�:�:�~�6�6�7�7�7�	� ��#�#�1�,�-�-�-�����	�	��"�#�#�#�#�#r1c��tddgddg��}t|jdg��t|jdg��dSr�)rrrer�rWs  r/rfz$TestTransferFunction.test_properties�sI��

�a��V�a��W�-�-���Q�W�q�c�"�"�"��Q�W�q�c�"�"�"�"�"r1N)r�r�r�r]rbrfr�r1r/r|r|�sA������7�7�7�	$�	$�	$�#�#�#�#�#r1r|c��eZdZd�Zd�ZdS)�TestZerosPolesGainc��tddd��tdgdgd��ttjdg��tjdg��d��dSr~)rr!rVr8s r/r]z&TestZerosPolesGain.test_initialization�sV���q�!�Q������s�Q�C��#�#�#��r�x���}�}�b�h��s�m�m�Q�7�7�7�7�7r1c���tddd��}tt|���t����tt|���t����tt|���t����tt|��|u��t|���|u��dS)Nr]rKrU)rrrUr_rr`rrarWs  r/rbz"TestZerosPolesGain.test_conversion�s����1�a��#�#���
�1�7�7�9�9�j�1�1�2�2�2��
�1�7�7�9�9�&6�7�7�8�8�8��
�1�8�8�:�:�~�6�6�7�7�7�	��q�!�!��*�+�+�+�����
�
�!�#�$�$�$�$�$r1N)r�r�r�r]rbr�r1r/r�r��s2������8�8�8�	%�	%�	%�	%�	%r1r�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�ZdS)�Test_abcd_normalizec���tjddgddgg��|_tjdgdgg��|_tjddgg��|_tjdgg��|_dS)Nr�r�r�r�r�r��@)r!rVr<r=r�r�r8s r/r9z Test_abcd_normalize.setup_method�si����C��:��S�z�2�3�3�����D�6�C�5�/�*�*�����C��:�,�'�'�����C�5�'�"�"����r1c�:�ttt��dSr�)r�r&rr8s r/�test_no_matrix_failsz(Test_abcd_normalize.test_no_matrix_fails�s���j�.�1�1�1�1�1r1c�d�tttddg|j|j|j��dS)Nr]r_)r�r&rr=r�r�r8s r/�test_A_nosquare_failsz)Test_abcd_normalize.test_A_nosquare_fails�s5���j�.�1�b�'��f�d�f�d�f�	.�	.�	.�	.�	.r1c�d�ttt|jddg|j|j��dS�Nr_rh�r�r&rr<r�r�r8s r/�test_AB_mismatch_failsz*Test_abcd_normalize.test_AB_mismatch_fails��5���j�.�$�&�2�q�'��f�d�f�	&�	&�	&�	&�	&r1c�h�ttt|j|jdgdgg|j��dS)Nr�r�)r�r&rr<r=r�r8s r/�test_AC_mismatch_failsz*Test_abcd_normalize.test_AC_mismatch_fails�s9���j�.�$�&�$�&��u�s�e�n�d�f�	.�	.�	.�	.�	.r1c	�d�ttt|j|j|jddg��dS)Nr�r)r�r&rr<r=r�r8s r/�test_CD_mismatch_failsz*Test_abcd_normalize.test_CD_mismatch_fails�s5���j�.�$�&�$�&��f�s�A�h�	(�	(�	(�	(�	(r1c�d�ttt|jddg|j|j��dSr�r�r8s r/�test_BD_mismatch_failsz*Test_abcd_normalize.test_BD_mismatch_fails�r�r1c��t|j|j|j|j��\}}}}t||j��t||j��t||j��t||j��dSr�)rr<r=r�r�r�r;r<r=r�r�s     r/�"test_normalized_matrices_unchangedz6Test_abcd_normalize.test_normalized_matrices_unchanged�ss��#�D�F�D�F�D�F�D�F�C�C�
��1�a���Q�������Q�������Q�������Q�������r1c���t|j|jddgd��\}}}}t|jd|jd��t|jd|jd��t|jd|jd��t|jd|jd��t|jd|jd��dSrd)rr<r=rr r�s     r/r�zTest_abcd_normalize.test_shapes�s���#�D�F�D�F�Q��F�A�>�>�
��1�a���Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,�,�,r1c��tjd��}tjd��}t|j||���\}}}}t	||j��t	||��t	||��t	|jd|jd��t	|jd|jjd��dS)N�rKr)rr�r<r=r�rr]�r!r�rr<rr )r;�B_�D_r<r=r�r�s       r/� test_zero_dimension_is_not_none1z4Test_abcd_normalize.test_zero_dimension_is_not_none1s���
�X�f�
�
��
�X�f�
�
��#�d�f��b�9�9�9�
��1�a���Q�������Q������Q������Q�W�Q�Z���!��-�-�-��Q�W�Q�Z����a��1�1�1�1�1r1c��tjd��}tjd��}t|j||���\}}}}t	||j��t	||��t	||��t	|jd|jd��t	|jd|jd��dS)Nr�)rrK�r<r=r�rr]r�)r;r��C_r<r=r�r�s       r/� test_zero_dimension_is_not_none2z4Test_abcd_normalize.test_zero_dimension_is_not_none2s���
�X�f�
�
��
�X�f�
�
��#�d�f��b�9�9�9�
��1�a���Q�������Q������Q������Q�W�Q�Z���!��-�-�-��Q�W�Q�Z���!��-�-�-�-�-r1c�X�t|j|j|j���\}}}}t	|jd|jd��t	|jd|jd��t	|j|jjd|jjdf��dS)N)r=r�r�rr])rr=r�r�rr r�s     r/�test_missing_Az"Test_abcd_normalize.test_missing_A���#�d�f���$�&�A�A�A�
��1�a���Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�t�v�|�A�����Q��@�A�A�A�A�Ar1c�X�t|j|j|j���\}}}}t	|jd|jd��t	|jd|jd��t	|j|jjd|jjdf��dS)N)r<r�r�rr])rr<r�r�rr r�s     r/�test_missing_Bz"Test_abcd_normalize.test_missing_Br�r1c�X�t|j|j|j���\}}}}t	|jd|jd��t	|jd|jd��t	|j|jjd|jjdf��dS)Nr�rr])rr<r=r�rr r�s     r/�test_missing_Cz"Test_abcd_normalize.test_missing_C$r�r1c�X�t|j|j|j���\}}}}t	|jd|jd��t	|jd|jd��t	|j|jjd|jjdf��dS)Nr�rr])rr<r=r�rr r�s     r/�test_missing_Dz"Test_abcd_normalize.test_missing_D*r�r1c��t|j|j���\}}}}t|jd|jd��t|jd|jd��t|jd|jd��t|j|jjd|jjdf��t|j|jjd|jjdf��dS)N)r�r�rr])rr�r�rr r�s     r/�test_missing_ABz#Test_abcd_normalize.test_missing_AB0s���#�d�f���7�7�7�
��1�a���Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�t�v�|�A�����Q��@�A�A�A��Q�W�t�v�|�A�����Q��@�A�A�A�A�Ar1c�R�t|j|j���\}}}}t|jd|jd��t|jd|jd��t|jd|jd��t|jd|jd��t|j|jjd|jjdf��t|j|jjd|jjdf��dS)N)r=r�rr])rr=r�rr r�s     r/�test_missing_ACz#Test_abcd_normalize.test_missing_AC8����#�d�f���7�7�7�
��1�a���Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�Q�Z�����,�,�,��Q�W�t�v�|�A�����Q��@�A�A�A��Q�W�t�v�|�A�����Q��@�A�A�A�A�Ar1c�R�t|j|j���\}}}}t|jd|jd��t|jd|jd��t|jd|jd��t|jd|jd��t|j|jjd|jjdf��t|j|jjd|jjdf��dS)N)r=r�rr])rr=r�rr r�s     r/�test_missing_ADz#Test_abcd_normalize.test_missing_ADAr�r1c�R�t|j|j���\}}}}t|jd|jd��t|jd|jd��t|jd|jd��t|jd|jd��t|j|jjd|jjdf��t|j|jjd|jjdf��dS)N)r<r�rr])rr<r�rr r�s     r/�test_missing_BCz#Test_abcd_normalize.test_missing_BCJr�r1c�H�ttt|j���dS)N)r�)r�r&rr�r8s r/�test_missing_ABC_failsz*Test_abcd_normalize.test_missing_ABC_failsSs���j�.�D�F�;�;�;�;�;�;r1c�T�ttt|j|j���dS)N)r<r�)r�r&rr<r�r8s r/�test_missing_BD_failsz)Test_abcd_normalize.test_missing_BD_failsV�#���j�.�D�F�d�f�E�E�E�E�E�Er1c�T�ttt|j|j���dS)N)r<r=)r�r&rr<r=r8s r/�test_missing_CD_failsz)Test_abcd_normalize.test_missing_CD_failsYr�r1N)r�r�r�r9r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r1r/r�r��s~������#�#�#�2�2�2�.�.�.�&�&�&�.�.�.�(�(�(�&�&�&� � � �-�-�-�2�2�2�.�.�.�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�B�<�<�<�F�F�F�F�F�F�F�Fr1r�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�	Test_bodec��tdgddg��}gd�}t||���\}}}gd�}t||d���dS)Nr]�rr]rdrk�r�)rr^rjrp��decimal�rrr)r;r�r��mag�phase�expected_mags      r/r	zTest_bode.test_01_sb���a�S�1�a�&�!�!�������V�q�)�)�)�
��3��(�(�(���C��q�9�9�9�9�9�9r1c��tdgddg��}gd�}t||���\}}}gd�}t||d���dS)Nr]�rr]rdr�)g�������i���g33333U�r�r�)r;r�r�r�r��expected_phases      r/rzTest_bode.test_02ms`���a�S�1�a�&�!�!���L�L���V�q�)�)�)�
��3��+�+�+���E�>�1�=�=�=�=�=�=r1c�:�tdgddg��}gd�}t||���\}}}|dz}tj|j|��tj|j|��z}dtjt|����z}t||��dS)Nr]r�r���?g4@)	rrr!�polyvalr�r��log10�absr)r;r�r�r�r��jwr�r�s        r/rzTest_bode.test_03ys����a�S�1�a�&�!�!�������V�q�)�)�)�
��3��
��V���J�v�z�2�&�&���F�J��)C�)C�C���b�h�s�1�v�v�.�.�.���C��.�.�.�.�.r1c�P�tdgddg��}gd�}t||���\}}}|dz}tj|j|��tj|j|��z}tj|j|j��dztj	z}t||��dS)Nr]r�r�r�g�f@)rrr!r�r�r��arctan2r$r#�pir)r;r�r�r�r�r�r�r�s        r/rzTest_bode.test_04�s����a�S�1�a�&�!�!�������V�q�)�)�)�
��3��
��V���J�v�z�2�&�&���F�J��)C�)C�C����A�F�A�F�3�3�e�;�b�e�C���E�>�2�2�2�2�2r1c��tdgddg��}d}tjdd|��}t||���\}}}t	||��dS�Nr]rdrt�r')rr!�logspacerr)r;r�r'�
expected_wr�r�r�s       r/rzTest_bode.test_05�s_���a�S�1�a�&�!�!�����[��Q��*�*�
��V�q�)�)�)�
��3���A�z�*�*�*�*�*r1c��tdgddg��}t|d���\}}}t|dd��dS�Nr]rrKr�r)rrr�r;r�r�r�r�s     r/rzTest_bode.test_06�sK���a�S�1�a�&�!�!���V�q�)�)�)�
��3���Q�q�T�4� � � � � r1c�V�tdggd���}t|d���\}}}dS)Nr])r]rrkrKr�)rrr�s     r/�test_07zTest_bode.test_07�s5���a�S�+�+�+�&�&���V�q�)�)�)�
��3���r1c���tggd�d��}|�tjddd�����\}}}t	t|��dd�	��dS)
N)rcrkrprqrrr]r^rlrkr�i>����r�)rrr!r�r�minr�s     r/�test_08zTest_bode.test_08�sb���R�2�2�2�A�6�6�����b�k�"�b�#�&>�&>��?�?�
��3���C��J�J��b�9�9�9�9�9�9r1c	�D�tjgd���}tj|��j}tjdgdgdgg��}tjgd�g��}tjdgg��}t��5}|�t��t||||��}t|d���\}}	}
ddd��n#1swxYwYdtj
tjdd|dzzz����z}t|	|��dS)	N�r�r�r�r�r�r��r�r�r�rkr��rg)
r!rVr5�	companionrrr�rrrr��sqrtr)r;r�r<r=r�r�r�r�r�r�r��expected_magnitudes            r/�test_from_state_spacezTest_bode.test_from_state_space�sP��
�H�)�)�)�*�*����Q���!���H�s�e�c�U�S�E�*�+�+���H�o�o�o�&�'�'���H�s�e�W����
�
 �
 �	0�C��J�J��'�'�'���A�q�!�_�_�F� ��3�/�/�/�M�A�s�E�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
 �"�(�2�7�3�#��1��*�3E�+F�+F�"G�"G�G���C�!3�4�4�4�4�4s�AC�C�CN)r�r�r�r	rrrrrr�r�r�r�r1r/r�r�]s�������:�:�:�
>�
>�
>�	/�	/�	/�	3�	3�	3�+�+�+�!�!�!�*�*�*�:�:�:�5�5�5�5�5r1r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�
Test_freqrespc���tdgddg��}gd�}t||���\}}gd�}gd�}t|j|d���t|j|d���dS)Nr]r�r�)g�G�z��?r�g��ׁsF�?)���MbX��rNr�r��rrrr#r$)r;r�r��H�expected_re�expected_ims      r/�test_output_manualz Test_freqresp.test_output_manual�s����a�S�1�a�&�!�!���L�L����!�$�$�$���1�)�)�)��,�,�,���A�F�K��;�;�;�;��A�F�K��;�;�;�;�;�;r1c�8�tdgddg��}gd�}t||���\}}|dz}tj|j|��tj|j|��z}t
|j|j��t
|j|j��dS)Nr]r�r�r�)	rrr!r�r�r�rr#r$�r;r�r�r�rXrAs      r/�test_outputzTest_freqresp.test_output�s����a�S�1�a�&�!�!��������!�$�$�$���1�
��F���:�f�j�!�,�,�r�z�&�*�a�/H�/H�H���A�F�H�M�2�2�2��A�F�H�M�2�2�2�2�2r1c��tdgddg��}d}tjdd|��}t||���\}}t	||��dSr�)rr!r�rr)r;r�r'r�r�r�s      r/�test_freq_rangezTest_freqresp.test_freq_range�s]���a�S�1�a�&�!�!�����[��Q��*�*�
���!�$�$�$���1��A�z�*�*�*�*�*r1c��tdgddg��}t|d���\}}t|dd��dSr�)rrr)r;r�r�r�s    r/�test_pole_zerozTest_freqresp.test_pole_zero�sI���a�S�1�a�&�!�!����!�$�$�$���1��Q�q�T�4� � � � � r1c�d�tjgd���}tj|��j}tjdgdgdgg��}tjgd�g��}tjdgg��}t��5}|�t��t||||��}t|d���\}}	ddd��n#1swxYwY|dz}
ddd|
zzd|
dzzz|
d	zzz}t|	j|j��t|	j|j��dS)
Nr�r�r�r�rkr�r�rKrU)
r!rVr5r�rrr�rrrrr#r$)r;r�r<r=r�r�r�r�r�r�rXrAs            r/r�z#Test_freqresp.test_from_state_space�sj��
�H�)�)�)�*�*����Q���!���H�s�e�S�E�3�%�(�)�)���H�o�o�o�&�'�'���H�s�e�W����
�
 �
 �	+�C��J�J��'�'�'���A�q�!�_�_�F��F�c�*�*�*�D�A�q�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
��F���3��1��9�q��A��v�-��1��4�5���A�F�H�M�2�2�2��A�F�H�M�2�2�2�2�2s�AC�C�Cc���tgdgdzdg��}gd�}t||���\}}|dz}d|dzdzz}t|j|j��t|j|j��dS)Nr_rGr]r�r�r�r�r�s      r/�
test_from_zpkzTest_freqresp.test_from_zpks����R���Q���s�#�#��������!�$�$�$���1�
��F����A���z�>���A�F�H�M�2�2�2��A�F�H�M�2�2�2�2�2r1N)	r�r�r�r�r�r�r�r�rr�r1r/r�r��sn������<�<�<�	3�	3�	3�+�+�+�!�!�!�3�3�3�*3�3�3�3�3r1r�)rr)6r��numpyr!�
numpy.testingrrrrr�pytestrr��scipy.signalr	r
rrr
rrrrrrrrrrrr�scipy.signal._filter_designr�scipy.linalgr5�scipy.sparse._sputilsrr0r3r�r�rrr6r<r?rJrNrSr[r|r�r�r�r�r�r1r/�<module>rs�����������7�7�7�7�7�7�7�7�7�7�7�7�7�7�*�*�*�*�*�*�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�8�7�7�7�7�7�������(�(�(�(�(�(�N�N�N�N�*V@�V@�V@�V@�V@�V@�V@�V@�r[P�[P�[P�[P�[P�[P�[P�[P�|R+�R+�R+�R+�R+�R+�R+�R+�jH0�H0�H0�H0�H0�H0�H0�H0�VF/�F/�F/�F/�F/�F/�F/�F/�R�����$����
�����#����
@.�@.�@.�@.�@.�@.�@.�@.�F+�+�+�+�+��+�+�+�"�����~������������8[�[�[�[�[�[�[�[�z#�#�#�#�#�#�#�#�8%�%�%�%�%�%�%�%�&CF�CF�CF�CF�CF�CF�CF�CF�La5�a5�a5�a5�a5�a5�a5�a5�HI3�I3�I3�I3�I3�I3�I3�I3�I3�I3r1

Youez - 2016 - github.com/yon3zu
LinuXploit