§
    fŠtj´  ã                   óZ  — d dl Z d dlmZ d dlZd dlZd dlmZ d dlm	Z	m
Z
mZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d#d„Z  G d	„ d
¦  «        Z! G d„ d¦  «        Z" G d„ d¦  «        Z# G d„ d¦  «        Z$ G d„ d¦  «        Z% G d„ d¦  «        Z& G d„ d¦  «        Z' G d„ d¦  «        Z( G d„ d¦  «        Z) ee¦  «         G d„ d¦  «        ¦   «         Z* G d„ d¦  «        Z+ G d„ d ¦  «        Z,ej-         .                    d!eeeeeg¦  «        d"„ ¦   «         Z/dS )$é    N)ÚGenericAlias)Úraises)Úassert_almost_equalÚxp_assert_equalÚxp_assert_closeÚmake_xp_test_case)Úss2tfÚtf2ssÚltiÚdltiÚbodeÚfreqrespÚlsimÚimpulseÚstepÚabcd_normalizeÚplace_polesÚTransferFunctionÚ
StateSpaceÚZerosPolesGain)ÚBadCoefficientsç:Œ0âŽyE>c           
      óî  — |                      ¦   «         }| D ]Ý}d}t          |j        d         ¦  «        D ]Š}t          j        t          j        |¦  «        t          j        |¦  «        gt          j        ||         ¦  «        t          j        ||         ¦  «        g||¦  «        rd}t          j        ||¦  «          nŒ‹|s2t          dt          |¦  «        z   dz   t          |¦  «        z   ¦  «        ‚ŒÞdS )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.
    Fr   TzCan't find pole z in N)
ÚcopyÚrangeÚshapeÚnpÚallcloseÚrealÚimagÚdeleteÚ
ValueErrorÚstr)ÚP1ÚP2ÚrtolÚatolÚp1ÚfoundÚp2_idxs          ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/signal/tests/test_ltisys.pyÚ_assert_poles_closer,      s  € ð 
�Š‰Œ€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                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestPlacePolesc                 ó  — t          |||fi |¤Ž}t          j                             |t          j        ||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
        )	r   r   ÚlinalgÚeigÚdotÚgain_matrixr,   Úrequested_polesÚcomputed_poles)ÚselfÚAÚBÚPÚkwargsÚfsfÚexpectedÚ_s           r+   Ú_checkzTestPlacePoles._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Øˆ
r-   c                 óÈ  — t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «        }|                      |||d¬¦  «         |                      |||d¬¦  «         t          j        d	¬
¦  «        5  |                      ||d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©g®Gázö?g ‰°áé•Ê¿g\�Âõ(Ü@gNbX9´Àgíž<,Ôšâ¿g)\�Âõ(Àr   gš™™™™™å?gßO�—nñ?çd;ßO�@gV-²�ÀgßO�—n’@gú~j¼t“¨?rB   g°rh‘í|õ?g¢E¶óýÔ Àé   )r   çžï§ÆK·@ç“V-ò?rE   r   r   ç^ºI+	Àr   é   ©çš™™™™™É¿ç      à¿g}Ð³Yõ9ÀgÐDØðT!ÀÚKNV0©ÚmethodÚYTÚignore)Úinvalid)rG   rG   é   rQ   )r   ÚarrayÚreshaper?   Úerrstate)r7   r8   r9   r:   s       r+   Ú	test_realzTestPlacePoles.test_real6   s7  € õ Œ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   Â2CÃCÃCc                 ó
  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        ddgddgddgddgg¦  «        }t          j        g d¢¦  «        }t          j        dd¬¦  «        5  |                      |||¦  «         d d d ¦  «         n# 1 swxY w Y   g d	¢}t          j        dd¬¦  «        5  |                      |||d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «                             dd¦  «        }g d¢}|                      |||¦  «         t          j        d¦  «        t          j        d¦  «        z
  }t          j        d¦  «        t          j        dgdz  d¦  «        d d …dd …f         z
  }||d d…d d…f<   ||d d…d d…f<   g d¢}t          j        dd¬¦  «        5  |                      |||¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢}|                      |d d…d d…f         |d d…d d…f         |¦  «         g d¢}|                      |d d…d d…f         |d d…d d…f         |¦  «         t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «        }t          j        dd¬¦  «        5  t          |||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        }t          j        dd¬¦  «        5  |                      |||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   é   r   r   )r   r   r   ç«ªªªªª@)r   r   r   r   r   é   )éýÿÿÿéÿÿÿÿù       À      ð¿ù       À      ð?rO   )ÚdividerP   )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ÂùÿÿrG   iSùÿÿ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ýÿÿé   )y      9À      =Ày      9À      =@y      ?@      EÀy      ?@      E@y     €@@     €DÀy     €@@     €D@)é   re   re   )re   r`   r`   )r_   éìÿÿÿéâÿÿÿé(   é2   é<   éF   y      4À      Ày      4À      @y      @      @y      @      À)
r_   rf   rg   éØÿÿÿiÎÿÿÿéÄÿÿÿéºÿÿÿi°ÿÿÿi¦ÿÿÿiœÿÿÿr[   )
y      $À      $@y      4À      4@y      >À      >@y      DÀ      D@y      IÀ      I@y      $À      $Ày      4À      4Ày      >À      >Ày      DÀ      DÀy      IÀ      IÀ)r   rW   r   r   r   r   r   rX   r   r   r   r   r   r   r   r   r   r   r   rd   r   r   r   r   é	   )
r   r   r   r   rY   r   r   rY   rG   rQ   rG   )éþÿÿÿy      À      ð?y      À      ð¿ù      ð¿      ð?ù      ð¿      ð¿)rp   rZ   éüÿÿÿrq   rr   )	r   rR   rT   r?   rS   ÚonesÚeyeÚdiagr   )r7   r8   r9   r:   Úbig_AÚbig_Bs         r+   Útest_complexzTestPlacePoles.test_complexL   sG  € õ Œ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Â6CÃC Ã#C Ç)HÈHÈHË>LÌL Ì#L ÍM8Í8M<Í?M<c                 ó   — t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «        }|                      |||¦  «        }t          j        |j        ¦  «        sJ ‚t          j        |j        ¦  «        sJ ‚t          j        d¦  «        }|                      |||¦  «        }t          j        |j        ¦  «        sJ ‚t          j        |j        ¦  «        sJ ‚|d d …df                              dd¦  «        }t          j        d¦  «        }|                      |||¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚d S )NrA   rC   )r   rD   rE   rE   r   r   rF   r   rY   rG   rQ   rC   rd   rc   rW   é   rH   )r]   r\   rZ   rp   r   rY   )r   rR   rS   r?   Úisnanr&   Únb_iter)r7   r8   r9   r:   r<   s        r+   Útest_tricky_BzTestPlacePoles.test_tricky_Bœ   sŒ  € õ ŒHð %ð %ð %ñ &ô &ç&-¢g¨a°¡m¤mð 	
õ ŒHð "ð "ð "ñ #ô #ß#*¢7¨1¨a¡=¤=ð 	
õ
 ŒHÐ3Ð3Ð3Ñ4Ô4ˆØ�kŠk˜!˜Q Ñ"Ô"ˆõ Œx˜œÑ!Ô!Ð!Ð!Ð!ÝŒx˜œÑ$Ô$Ð$Ð$Ð$õ ŒHÐ(Ñ)Ô)ˆØ�kŠk˜!˜Q Ñ"Ô"ˆÝŒx˜œÑ!Ô!Ð!Ð!Ð!ÝŒx˜œÑ$Ô$Ð$Ð$Ð$ð ˆaˆaˆa�ˆcŒF�NŠN˜1˜QÑÔˆÝŒHÐ(Ñ)Ô)ˆØ�kŠk˜!˜Q Ñ"Ô"ˆð Œx˜1Š}ˆ}ˆ}ˆ}ØŒ{˜aÒÐÐÐÐÐr-   c           
      óz  — t          j        g d¢¦  «                             dd¦  «        }t          j        g d¢¦  «                             dd¦  «        }t          t          t
          ||dd¬¦  «         t          t          t
          ||t          j        d¦  «                             dd¦  «        ¦  «         t          t          t
          |d d …d d …t           j        f         |d¦  «         t          t          t
          ||d d …d d …t           j        f         d¦  «         t          t          t
          ||d	¦  «         t          t          t
          ||d
¦  «         t          t          t
          ||dd¬¦  «         t          t          t
          ||dd¬¦  «         t          t          t
          ||d¦  «         t          t          t
          t          j        d¦  «        t          j        d¦  «        d¦  «         t          j	        d¬¦  «        5 }t          j
        d¦  «         t          ||ddd¬¦  «        }t          |¦  «        dk    sJ ‚t          |d         j        t          ¦  «        sJ ‚dt          |d         j        ¦  «        v sJ ‚|j        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          t          t
          ||d¦  «         t          t          t
          |d d …d d…f         |d¦  «         t          t          t
          ||d d…d d …f         d¦  «         t          t          t
          ||dd¬¦  «         d S ) N)r   rW   r   r   r   r   r   rX   r   r   r   r   r   r   r   r   rC   )r   r   r   r   rY   r   r   rY   rG   )çÍÌÌÌÌÌ Àçš™™™™™ÀçffffffÀç333333ÀÚfoorL   rY   )r€   r�   r‚   rƒ   rZ   )r€   r�   r‚   é*   ©r&   iÖÿÿÿra   )rp   rp   rp   rp   )rC   rC   )rC   rG   ©rY   rG   rQ   rC   T)ÚrecordÚalways)r[   rp   rZ   rs   g¼‰Ø—²Òœ<)r&   rb   r[   z4Convergence was not reached after maxiter iterations)r]   r\   ù       À      @rp   rQ   )rp   rZ   rs   éûÿÿÿ)r]   r\   rŠ   y       À      ÀrK   )r   rR   rS   Úassert_raisesr"   r   Únewaxisrt   ÚwarningsÚcatch_warningsÚsimplefilterÚlenÚ
issubclassÚcategoryÚUserWarningr#   Úmessager}   )r7   r8   r9   Úwr<   s        r+   Útest_errorszTestPlacePoles.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Ý�q‘6”6˜Q’;�;�;�;Ý˜a œeœn­kÑ:Ô:Ð:Ð:Ð:ØJÝ˜1˜Rœ5œ=Ñ)Ô)ð*ð *ð *ð *à”; "Ò$Ð$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ 	•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   È
BJ"Ê"J&Ê)J&N)Ú__name__Ú
__module__Ú__qualname__r?   rU   ry   r~   r—   © r-   r+   r/   r/   (   sn   € € € € € ð
ð 
ð 
ð)ð )ð )ð,N!ð N!ð N!ð`  ð   ð   ðD@@ð @@ð @@ð @@ð @@r-   r/   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú	TestSS2TFc           	      óÌ   — t          t          j        ||f¦  «        t          j        ||f¦  «        t          j        ||f¦  «        t          j        ||f¦  «        d¦  «         d S )Nr   )r	   r   Úzeros©r7   ÚpÚqÚrs       r+   Úcheck_matrix_shapeszTestSS2TF.check_matrix_shapes  sc   € Ý�bŒh˜˜1�vÑÔÝŒh˜˜1�vÑÔÝŒh˜˜1�vÑÔÝŒh˜˜1�vÑÔ ñ	#ô 	#ð 	#ð 	#ð 	#r-   c                 óF   — dD ]\  }}}|                       |||¦  «         Œd S )N))rQ   rQ   rQ   )rY   rQ   rQ   ©rY   rY   rY   )r¤   r    s       r+   Útest_shapeszTestSS2TF.test_shapes	  s>   € ð 9ð 	.ð 	.‰GˆAˆq�!Ø×$Ò$ Q¨¨1Ñ-Ô-Ð-Ð-ð	.ð 	.r-   c                 ó´  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        \  }}}}t          |ddgddggd¬¦  «         t          |d	gdggd¬¦  «         t          |d	d
ggd¬¦  «         t          |d	ggd¬¦  «         t	          ||||¦  «        \  }}t          |d         |d¬¦  «         t          ||d¬¦  «         d S )N)ç      ð?ç      @ç      @)r©   ç       @rª   ç       ÀrZ   rY   r   ç‚vIhÂ%<=r†   r©   rG   ç›+¡†›„=)r   rR   r
   r   r	   )	r7   ÚbÚar8   r9   ÚCÚDÚbbÚaas	            r+   Ú
test_basiczTestSS2TF.test_basic  sû   € åŒH�_�_�_Ñ%Ô%ˆÝŒH�_�_�_Ñ%Ô%ˆå˜1˜a‘[”[‰
ˆˆ1ˆa�Ý˜˜S "˜I¨¨1 vÐ.°UÐ;Ñ;Ô;Ð;Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3Ý˜˜R ˜G˜9¨5Ð1Ñ1Ô1Ð1Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.å�q˜!˜Q Ñ"Ô"‰ˆˆBÝ˜˜1œ˜q uÐ-Ñ-Ô-Ð-Ý˜˜A EÐ*Ñ*Ô*Ð*Ð*Ð*r-   c                 ó˜  — d}t          |Ž \  }}}}t          |dggd¬¦  «         t          |dggd¬¦  «         t          |dggd¬¦  «         t          |dggd¬¦  «         t          ||||¦  «        \  }}t          |ddggd¬¦  «         t          |ddgd¬¦  «         dgd	ggd
f}t          |Ž \  }}}}t          |dggd¬¦  «         t          |dggd¬¦  «         t          |dgdggd¬¦  «         t          |dgd	ggd¬¦  «         t          ||||¦  «        \  }}t          |ddgd	dggd¬¦  «         t          |ddgd¬¦  «         d S )N)rG   rY   ç        r®   r†   r¬   r   r©   rd   rG   rY   r«   )r
   r   r	   ©r7   Útfr8   r9   r²   r³   ÚnumÚdens           r+   Útest_zero_order_round_tripz$TestSS2TF.test_zero_order_round_trip  s­  € àˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜r 1˜g˜Y¨UÐ3Ñ3Ô3Ð3Ý˜˜b !˜W¨5Ð1Ñ1Ô1Ð1àˆs�Q�Cˆj˜!ˆ_ˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜r 1˜g¨¨1 vÐ.°UÐ;Ñ;Ô;Ð;Ý˜˜b !˜W¨5Ð1Ñ1Ô1Ð1Ð1Ð1r-   c                 óv  — ddgddggddgf}t          |Ž \  }}}}t          |dggd¬¦  «         t          |dggd¬¦  «         t          |dgdggd¬¦  «         t          |dgdggd¬¦  «         t          ||||¦  «        \  }}t          |dd	gddggd¬¦  «         t          |dd	gd¬¦  «         g d
¢g d¢gg d¢f}t          |Ž \  }}}}t          |ddgddggd¬¦  «         t          |dgdggd¬¦  «         t          |ddgddggd¬¦  «         t          |dgdggd¬¦  «         t          ||||¦  «        \  }}t          |g d¢g d¢gd¬¦  «         t          |g d¢d¬¦  «         g d¢g d¢gg d¢f}t          |Ž \  }}}}t          |g d¢g d¢g d¢gd¬¦  «         t          |dgdgdggd¬¦  «         t          |g d¢g d¢gd¬¦  «         t          |dgdggd¬¦  «         t          ||||¦  «        \  }}t          |g d¢g d¢gd¬¦  «         t          |g d¢d¬¦  «         t          j        dddggt
          ¬¦  «        ddgf}t          |Ž \  }}}}t          |dggd¬¦  «         t          |dggd¬¦  «         t          |dgdggd¬¦  «         t          |dgdggd¬¦  «         t          ||||¦  «        \  }}t          |ddgddggd¬¦  «         t          |ddgd¬¦  «         t          j        ddgg d¢gt
          ¬¦  «        g d¢f}t          |Ž \  }}}}t          |dd gddggd¬¦  «         t          |dgdggd¬¦  «         t          |ddgd!d"ggd¬¦  «         t          |dgdggd¬¦  «         t          ||||¦  «        \  }}t          |g d#¢g d¢gd¬¦  «         t          |g d$¢d¬¦  «         d S )%NrY   rG   r­   r®   r†   r©   r¸   ç      ð¿r¬   )rY   r   rY   r¦   )r©   r¸   r©   )r©   r©   r©   )rY   rG   rQ   r‡   )r­   rZ   rs   )rY   r   r   ©r   rY   r   r   )r©   rG   rQ   )r¸   rY   rG   rQ   )r   rY   rG   rQ   )r©   rG   rQ   rC   rQ   )Údtyperc   g      Àg€h‰eÖ9€9i÷ÿÿÿrZ   )rY   rc   rd   r‹   rs   rp   )r¸   rY   rZ   )r©   rc   rd   )r
   r   r	   r   rR   Úobjectr¹   s           r+   Útest_simo_round_tripzTestSS2TF.test_simo_round_trip6  sô  € à�1ˆv˜˜1�vÐ  A Ð'ˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜S˜E˜7¨Ð/Ñ/Ô/Ð/Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D 3 %˜=¨uÐ5Ñ5Ô5Ð5Ý˜˜R˜D 2 $˜<¨eÐ4Ñ4Ô4Ð4å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜r 2˜h¨¨R¨Ð1¸Ð>Ñ>Ô>Ð>Ý˜˜b "˜X¨EÐ2Ñ2Ô2Ð2àˆyˆy˜)˜)˜)Ð$ i i iÐ0ˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜S #˜J¨¨R¨Ð1¸Ð>Ñ>Ô>Ð>Ý˜˜R˜D 2 $˜<¨eÐ4Ñ4Ô4Ð4Ý˜˜S "˜I¨¨B xÐ0°uÐ=Ñ=Ô=Ð=Ý˜˜R˜D 2 $˜<¨eÐ4Ñ4Ô4Ð4å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜l˜l˜l¨L¨L¨LÐ9ÀÐFÑFÔFÐFÝ˜˜\˜\˜\°Ð6Ñ6Ô6Ð6àˆyˆy˜)˜)˜)Ð$ l l lÐ3ˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜M˜M˜M¨9¨9¨9°i°i°iÐ@ÀuÐMÑMÔMÐMÝ˜˜R˜D 1 #¨ sÐ+°%Ð8Ñ8Ô8Ð8Ý˜˜J˜J˜J¨	¨	¨	Ð2¸Ð?Ñ?Ô?Ð?Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜m˜m˜m¨\¨\¨\Ð:ÀÐGÑGÔGÐGÝ˜˜]˜]˜]°Ð7Ñ7Ô7Ð7åŒh˜˜A˜q˜6�{­&Ð1Ñ1Ô1°A°q°6Ð:ˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜S˜E˜7¨Ð/Ñ/Ô/Ð/Ý˜˜R˜D˜6¨Ð.Ñ.Ô.Ð.Ý˜˜R˜D 2 $˜<¨eÐ4Ñ4Ô4Ð4Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜r 1˜g¨¨1 vÐ.°UÐ;Ñ;Ô;Ð;Ý˜˜b !˜W¨5Ð1Ñ1Ô1Ð1åŒh˜˜B˜   Ð+µ6Ð:Ñ:Ô:¸I¸I¸IÐFˆÝ˜B�Z‰
ˆˆ1ˆa�Ý˜˜S "˜I¨¨1 vÐ.°UÐ;Ñ;Ô;Ð;Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3Ý˜˜R ˜H r¨2 hÐ/°eÐ<Ñ<Ô<Ð<Ý˜˜R˜D 1 #˜;¨UÐ3Ñ3Ô3Ð3å˜˜A˜q !Ñ$Ô$‰ˆˆSÝ˜˜k˜k˜k¨9¨9¨9Ð5¸EÐBÑBÔBÐBÝ˜˜Z˜Z˜Z¨eÐ4Ñ4Ô4Ð4Ð4Ð4r-   c                 ó¼   — g d¢g d¢g d¢g}dgdgdgg}g d¢g}dgg}t          ||||¦  «        \  }}t          |g d¢gdd	¬
¦  «         t          |g d¢d¬¦  «         d S )NrÀ   )r   r   rY   )rZ   rs   rp   r   rY   )rd   rY   r   )r¸   r¸   r©   r«   r®   r¯   ©r&   r'   )r©   r¬   ç      @rª   r†   )r	   r   )r7   r8   r9   r²   r³   r»   r¼   s          r+   Útest_all_int_arrayszTestSS2TF.test_all_int_arrayso  s™   € Øˆ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¸Ð>Ñ>Ô>Ð>Ð>Ð>r-   c                 ó˜  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        dgdgdgdgg¦  «        }t          j        g d¢g d	¢g d
¢g¦  «        }t          j        dgdgdgg¦  «        }t          ||||¦  «        \  }}t          |||d         |d         ¦  «        \  }}t          |||d         |d         ¦  «        \  }	}
t          |||d         |d         ¦  «        \  }}t          ||d¬¦  «         t          |
|d¬¦  «         t          ||d¬¦  «         t          |t          j        ||	|f¦  «        dd¬¦  «         d S )N)r¿   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©   r   rY   rG   r®   r†   r¯   rÅ   )r   rR   r	   r   Úvstack)r7   r8   r9   r²   r³   Úb_allr±   Úb0Úa0Úb1Úa1Úb2Úa2s                r+   Útest_multioutputzTestSS2TF.test_multioutputx  s¨  € õ Œ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ÐOr-   N)
r˜   r™   rš   r¤   r§   r¶   r½   rÃ   rÇ   rÓ   r›   r-   r+   r�   r�     sƒ   € € € € € ð#ð #ð #ð.ð .ð .ð+ð +ð +ð2ð 2ð 2ð075ð 75ð 75ðr?ð ?ð ?ð$Pð $Pð $Pð $Pð $Pr-   r�   c                   óN   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚTestLsimrW   c                 ó¢   — t          j        ¦   «         5  t          j        dt          ¦  «         t	          |Ž }d d d ¦  «         n# 1 swxY w Y   |S )NrO   )rŽ   r�   r�   r   r   )r7   ÚargsÚsystems      r+   Ú
lti_nowarnzTestLsim.lti_nowarn¢  s‰   € ÝÔ$Ñ&Ô&ð 	 ð 	 ÝÔ! (­OÑ<Ô<Ð<Ý˜$�ZˆFð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð ˆs   ”$AÁAÁAc                 ó"  — |                       dddd¦  «        }t          j        dd¦  «        }t          j        |¦  «        }t	          |||dg¬¦  «        \  }}}t          j        | ¦  «        }t          ||¦  «         t          ||¦  «         d S ©Nr¿   r©   r¸   r   rd   ©ÚX0©rÙ   r   ÚlinspaceÚ
zeros_liker   Úexpr   ©r7   rØ   ÚtÚuÚtoutÚyÚxÚ
expected_xs           r+   Útest_first_orderzTestLsim.test_first_order¨  sŽ   € ð —’  R¨¨2Ñ.Ô.ˆÝŒK˜˜!ÑÔˆÝŒM˜!ÑÔˆÝ˜& ! Q¨C¨5Ð1Ñ1Ô1‰
ˆˆa�Ý”V˜T˜E‘]”]ˆ
Ý˜A˜zÑ*Ô*Ð*Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó(  — t          j        ddd¦  «        }t          j        |¦  «        }|                      dgg d¢¦  «        }t	          |||ddg¬¦  «        \  }}}d|z
  t          j        | ¦  «        z  }t          |d d …df         |¦  «         d S )Nr   r`   ié  r©   ©r©   r¬   r©   r¸   rÜ   )r   rß   rà   rÙ   r   rá   r   )r7   rã   rä   rØ   rå   ræ   rç   rè   s           r+   Útest_second_orderzTestLsim.test_second_order³  s™   € ÝŒK˜˜2˜tÑ$Ô$ˆÝŒM˜!ÑÔˆð —’ # ¨¨¨Ñ8Ô8ˆÝ˜& ! Q¨C°¨:Ð6Ñ6Ô6‰
ˆˆa�Ø˜D‘j¥B¤F¨D¨5¡M¤MÑ1ˆ
Ý˜A˜a˜a˜a ˜dœG ZÑ0Ô0Ð0Ð0Ð0r-   c                 óú   — |                       dddd¦  «        }t          j        dd¦  «        }|}t          |||¦  «        \  }}}d|dz  z  }t	          ||| j        ¬¦  «         t	          ||| j        ¬¦  «         d S )Nr¸   r©   r   rd   ç      à?rG   ©Údecimal)rÙ   r   rß   r   r   Údigits_accuracyrâ   s           r+   Útest_integratorzTestLsim.test_integrator¾  s‰   € à—’  R¨¨RÑ0Ô0ˆÝŒK˜˜!ÑÔˆØˆÝ˜& ! QÑ'Ô'‰
ˆˆa�Ø˜4 ™7‘]ˆ
Ý˜A˜z°4Ô3GÐHÑHÔHÐHÝ˜A˜z°4Ô3GÐHÑHÔHÐHÐHÐHr-   c                 ó   — t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          j        d¦  «        }|                      ||||¦  «        }t          j        ddd¦  «        }t          j        t          |¦  «        d	f¦  «        }t          |||ddg¬
¦  «        \  }}	}
t          j        | ¦  «        }t          j        | ¦  «        }t          j        d|z  ¦  «        }t          |	|¦  «         t          |
d d …df         |¦  «         t          |
d d …df         |¦  «         d S )Nr¿   r¸   r­   r©   ©rY   rG   r   g      $@é   rG   )ÚUÚTrÝ   rY   ©	r   rR   rŸ   rÙ   rß   r‘   r   rá   r   ©r7   r8   r9   r²   r³   rØ   rã   rä   rå   ræ   rç   Ú
expected_yÚexpected_x0Úexpected_x1s                 r+   Útest_two_stateszTestLsim.test_two_statesÈ  s>  € åŒH�t˜S�k C¨ ;Ð/Ñ0Ô0ˆÝŒH�s˜C�j 3¨ *Ð-Ñ.Ô.ˆÝŒH�c˜3�ZÑ Ô ˆÝŒH�VÑÔˆà—’  A q¨!Ñ,Ô,ˆåŒK˜˜4 Ñ$Ô$ˆÝŒH•c˜!‘f”f˜a�[Ñ!Ô!ˆÝ˜& A¨°°S¨zÐ:Ñ:Ô:‰
ˆˆa�Ý”V˜T˜E‘]”]ˆ
Ý”f˜d˜U‘m”mˆÝ”f˜T D™[Ñ)Ô)ˆÝ˜A˜zÑ*Ô*Ð*Ý˜A˜a˜a˜a ˜dœG [Ñ1Ô1Ð1Ý˜A˜a˜a˜a ˜dœG [Ñ1Ô1Ð1Ð1Ð1r-   c                 ó  — t          j        ddgddgg¦  «        }t          j        dgdgg¦  «        }t          j        ddgg¦  «        }|                      |||d¦  «        }t          j        dd¦  «        }t          j        |¦  «        }t          |||¦  «        \  }}}	t          j        t          j        d|dz  z  |g¦  «        ¦  «        }
|dz  }t          |	|
| j        ¬¦  «         t          ||| j        ¬¦  «         d S )	Nr¸   r©   r¬   r   rd   rî   rG   rï   )	r   rR   rÙ   rß   Ú	ones_liker   Ú	transposer   rñ   )r7   r8   r9   r²   rØ   rã   rä   rå   ræ   rç   rè   rú   s               r+   Útest_double_integratorzTestLsim.test_double_integratorÛ  sû   € åŒH�r˜2�h  R Ð)Ñ*Ô*ˆÝŒH�r�d˜R˜D�\Ñ"Ô"ˆÝŒH�r˜2�h�ZÑ Ô ˆØ—’  A q¨"Ñ-Ô-ˆÝŒK˜˜!ÑÔˆÝŒL˜‰OŒOˆÝ˜& ! QÑ'Ô'‰
ˆˆa�Ý”\¥"¤(¨C°$¸±'©M¸4Ð+@Ñ"AÔ"AÑBÔBˆ
Ø˜1‘Wˆ
Ý˜A˜z°4Ô3GÐHÑHÔHÐHÝ˜A˜z°4Ô3GÐHÑHÔHÐHÐHÐHr-   c                 óœ  — t          j        ddgddgg¦  «        }t          j        dgdgg¦  «        }t          j        ddgg¦  «        }|                      |||d¦  «        }t          j        dd¦  «        }t          j        |¦  «        }t          |||ddg¬¦  «        \  }}}	|t          j        | ¦  «        z  }
t          ||
¦  «         d S rÛ   )r   rR   rÙ   rß   rà   r   rá   r   )r7   r8   r9   r²   rØ   rã   rä   rå   ræ   rç   rú   s              r+   Útest_jordan_blockzTestLsim.test_jordan_blocké  sÍ   € õ ŒH�s˜B�i " c Ð+Ñ,Ô,ˆÝŒH�r�d˜R˜D�\Ñ"Ô"ˆÝŒH�r˜2�h�ZÑ Ô ˆØ—’  A q¨"Ñ-Ô-ˆÝŒK˜˜!ÑÔˆÝŒM˜!ÑÔˆÝ˜& ! Q¨C°¨:Ð6Ñ6Ô6‰
ˆˆa�Ø�BœF D 5™MœMÑ)ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó   — t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          j        d¦  «        }|                      ||||¦  «        }t          j        ddd¦  «        }t          j        t          |¦  «        d	f¦  «        }t          |||ddg¬
¦  «        \  }}	}
t          j        | ¦  «        }t          j        | ¦  «        }t          j        d|z  ¦  «        }t          |	|¦  «         t          |
d d …df         |¦  «         t          |
d d …df         |¦  «         d S )Nr¿   r¸   r­   r©   rô   r   r«   ée   rG   rÜ   rY   rø   rù   s                 r+   Ú	test_misozTestLsim.test_misoù  s<  € åŒH�t˜S�k C¨ ;Ð/Ñ0Ô0ˆÝŒH�s˜C�j 3¨ *Ð-Ñ.Ô.ˆÝŒH�c˜3�ZÑ Ô ˆÝŒH�U‰OŒOˆØ—’  A q¨!Ñ,Ô,ˆåŒK˜˜3 Ñ$Ô$ˆÝŒH•c˜!‘f”f˜a�[Ñ!Ô!ˆÝ˜& ! 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Ð0r-   c                 ó  — |                       dddd¦  «        }t          j        dd¦  «        }t          j        |¦  «        }t	          |||dg¬¦  «        \  }}}t          j        | ¦  «        }t          ||¦  «         d S )Nr¿   r©   r¸   rY   rG   rÜ   rÞ   )r7   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Ñ*Ô*Ð*Ð*Ð*r-   c                 óú   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }dgddgf}t          t          d¬¦  «        5  t	          |||dg¬¦  «        \  }}}d d d ¦  «         d S # 1 swxY w Y   d S )N)r¸   r©   r©   rª   )r¸   r¸   r©   r©   r©   r¸   z"Time steps are not equally spaced.)ÚmatchrÜ   )r   rR   rŒ   r"   r   )r7   rã   rä   rØ   rå   ræ   rç   s          r+   Útest_nonequal_timestepsz TestLsim.test_nonequal_timesteps  sÝ   € ÝŒHÐ)Ð)Ð)Ñ*Ô*ˆÝŒHÐ)Ð)Ð)Ñ*Ô*ˆà�%˜#˜s˜Ð$ˆÝ�:Ø!EðGñ Gô Gð 	6ð 	6å˜f a¨°¨uÐ5Ñ5Ô5‰JˆD�!�Qð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6s   Á
A0Á0A4Á7A4N)r˜   r™   rš   rñ   rÙ   ré   rì   rò   rý   r  r  r  r  r  r›   r-   r+   rÕ   rÕ   Ÿ  sµ   € € € € € Ø€Oðð ð ð	+ð 	+ð 	+ð	1ð 	1ð 	1ðIð Ið Ið2ð 2ð 2ð&Ið Ið Ið+ð +ð +ð 1ð 1ð 1ð$+ð +ð +ð6ð 6ð 6ð 6ð 6r-   rÕ   c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestImpulsec                 ó‚   — dgddgf}t          |¦  «        \  }}t          j        | ¦  «        }t          ||¦  «         d S ©Nr©   ©r   r   rá   r   ©r7   rØ   rå   ræ   rú   s        r+   ré   zTestImpulse.test_first_order  sH   € ð �%˜#˜c˜Ð#ˆÝ˜&‘/”/‰ˆˆaÝ”V˜T˜E‘]”]ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 óò   — dgddgf}d}t          j        dd|¦  «        }t          ||¬¦  «        \  }}|j        |fk    sJ ‚t	          ||¦  «         t          j        | ¦  «        }t	          ||¦  «         d S )Nr©   rõ   r   r¬   ©r÷   )r   rß   r   r   r   rá   ©r7   rØ   Únrã   rå   ræ   rú   s          r+   Útest_first_order_fixed_timez'TestImpulse.test_first_order_fixed_time&  sŒ   € ð
 �%˜#˜c˜Ð#ˆØˆÝŒK˜˜3 Ñ"Ô"ˆÝ˜& AÐ&Ñ&Ô&‰ˆˆaØŒz˜a˜TÒ!Ð!Ð!Ð!Ý˜D !Ñ$Ô$Ð$Ý”V˜Q˜B‘Z”Zˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 óŒ   — dgddgf}t          |d¬¦  «        \  }}dt          j        | ¦  «        z  }t          ||¦  «         d S ©Nr©   rª   rÜ   rÆ   r  r  s        r+   Útest_first_order_initialz$TestImpulse.test_first_order_initial4  sT   € ð
 �%˜#˜c˜Ð#ˆÝ˜& SÐ)Ñ)Ô)‰ˆˆaØ�2œ6 4 %™=œ=Ñ(ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 óŽ   — dgddgf}t          |dg¬¦  «        \  }}dt          j        | ¦  «        z  }t          ||¦  «         d S r  r  r  s        r+   Útest_first_order_initial_listz)TestImpulse.test_first_order_initial_list>  sV   € ð
 �%˜#˜c˜Ð#ˆÝ˜& c UÐ+Ñ+Ô+‰ˆˆaØ�2œ6 4 %™=œ=Ñ(ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó€   — dgddgf}t          |¦  «        \  }}t          j        |¦  «        }t          ||¦  «         d S ©Nr©   r¸   )r   r   rÿ   r   r  s        r+   rò   zTestImpulse.test_integratorH  sF   € à�%˜#˜c˜Ð#ˆÝ˜&‘/”/‰ˆˆaÝ”\ $Ñ'Ô'ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 óˆ   — dgg d¢f}t          |¦  «        \  }}|t          j        | ¦  «        z  }t          ||¦  «         d S )Nr©   rë   r  r  s        r+   rì   zTestImpulse.test_second_orderO  sM   € ð �%˜˜˜Ð)ˆÝ˜&‘/”/‰ˆˆaØ�BœF D 5™MœMÑ)ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ór   — dgg d¢f}t          |dgddg¬¦  «        \  }}t          |dgdg¬¦  «        \  }}d S )Nr©   rë   rQ   rd   rc   ©rÝ   r÷   ©r   ©r7   rØ   rå   ræ   s       r+   Útest_array_likezTestImpulse.test_array_likeX  sP   € à�%˜˜˜Ð)ˆå˜& a S¨Q°¨FÐ3Ñ3Ô3‰ˆˆaÝ˜& a S¨Q¨CÐ0Ñ0Ô0‰ˆˆaˆaˆar-   c                 ó>   — dgg d¢f}t          |dd¬¦  «        \  }}d S )Nr©   rë   rQ   rd   r   r!  r"  s       r+   Útest_array_like2zTestImpulse.test_array_like2_  s.   € Ø�%˜˜˜Ð)ˆÝ˜& Q¨!Ð,Ñ,Ô,‰ˆˆaˆaˆar-   N)r˜   r™   rš   ré   r  r  r  rò   rì   r#  r%  r›   r-   r+   r  r    sŒ   € € € € € ð+ð +ð +ð+ð +ð +ð+ð +ð +ð+ð +ð +ð+ð +ð +ð+ð +ð +ð1ð 1ð 1ð-ð -ð -ð -ð -r-   r  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestStepc                 óˆ   — dgddgf}t          |¦  «        \  }}dt          j        | ¦  «        z
  }t          ||¦  «         d S r  ©r   r   rá   r   r  s        r+   ré   zTestStep.test_first_ordere  sM   € ð �%˜#˜c˜Ð#ˆÝ�v‘,”,‰ˆˆaØ�2œ6 4 %™=œ=Ñ(ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 óø   — dgddgf}d}t          j        dd|¦  «        }t          ||¬¦  «        \  }}|j        |fk    sJ ‚t	          ||¦  «         dt          j        | ¦  «        z
  }t	          ||¦  «         d S )Nr©   rõ   r   r¬   r  rY   )r   rß   r   r   r   rá   r  s          r+   r  z$TestStep.test_first_order_fixed_timem  s�   € ð
 �%˜#˜c˜Ð#ˆØˆÝŒK˜˜3 Ñ"Ô"ˆÝ�v Ð#Ñ#Ô#‰ˆˆaØŒz˜a˜TÒ!Ð!Ð!Ð!Ý˜D !Ñ$Ô$Ð$Ø�œ  ™œ‘^ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó’   — dgddgf}t          |d¬¦  «        \  }}ddt          j        | ¦  «        z  z   }t          ||¦  «         d S ©Nr©   rª   rÜ   rY   r¬   r)  r  s        r+   r  z!TestStep.test_first_order_initial{  sY   € ð
 �%˜#˜c˜Ð#ˆÝ�v #Ð&Ñ&Ô&‰ˆˆaØ˜�RœV T E™]œ]Ñ*Ñ*ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó”   — dgddgf}t          |dg¬¦  «        \  }}ddt          j        | ¦  «        z  z   }t          ||¦  «         d S r,  r)  r  s        r+   r  z&TestStep.test_first_order_initial_list…  s[   € ð
 �%˜#˜c˜Ð#ˆÝ�v 3 %Ð(Ñ(Ô(‰ˆˆaØ˜�RœV T E™]œ]Ñ*Ñ*ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó\   — dgddgf}t          |¦  «        \  }}|}t          ||¦  «         d S r  )r   r   r  s        r+   rò   zTestStep.test_integrator�  s>   € ð �%˜˜S˜	Ð"ˆÝ�v‘,”,‰ˆˆaØˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó”   — dgg d¢f}t          |¦  «        \  }}dd|z   t          j        | ¦  «        z  z
  }t          ||¦  «         d S )Nr©   rë   rY   r)  r  s        r+   rì   zTestStep.test_second_order—  sV   € ð �%˜˜˜Ð)ˆÝ�v‘,”,‰ˆˆaØ˜!˜d™(¥b¤f¨d¨U¡m¤mÑ3Ñ3ˆ
Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ó@   — dgg d¢f}t          |ddg¬¦  «        \  }}d S )Nr©   rë   rd   rc   r  ©r   r"  s       r+   r#  zTestStep.test_array_like   s0   € à�%˜˜˜Ð)ˆå�v ! Q Ð(Ñ(Ô(‰ˆˆaˆaˆar-   c                 ó,   — t          g dgdf¦  «         d S )Nr[   y      ð?        r1  ©r7   s    r+   Útest_complex_inputzTestStep.test_complex_input¦  s!   € õ 	ˆb�2�$˜ÐÑÔÐÐÐr-   N)r˜   r™   rš   ré   r  r  r  rò   rì   r#  r4  r›   r-   r+   r'  r'  d  sŒ   € € € € € ð+ð +ð +ð+ð +ð +ð+ð +ð +ð+ð +ð +ð+ð +ð +ð+ð +ð +ð)ð )ð )ðð ð ð ð r-   r'  c                   ó   — e Zd Zd„ ZdS )ÚTestLtic                 ó¶  — t          dgdg¦  «        }t          |t          ¦  «        sJ ‚t          |t           ¦  «        sJ ‚t          |t          ¦  «        rJ ‚|j        �J ‚t          t          j        g ¦  «        t          j        dg¦  «        d¦  «        }t          |t          ¦  «        sJ ‚t          |t           ¦  «        sJ ‚t          |t          ¦  «        rJ ‚|j        �J ‚t          g dgd¦  «        }t          dgdgdd¦  «        }t          |t          ¦  «        sJ ‚t          |t           ¦  «        sJ ‚t          |t          ¦  «        rJ ‚|j        �J ‚d S )NrY   r[   rQ   )	r   Ú
isinstancer   r   Údtr   rR   r   r   ©r7   Úss     r+   Útest_lti_instantiationzTestLti.test_lti_instantiation®  sR  € õ
 ���b�T‰NŒNˆÝ˜!Õ-Ñ.Ô.Ð.Ð.Ð.Ý˜!�SÑ!Ô!Ð!Ð!Ð!Ý˜a¥Ñ&Ô&Ð&Ð&Ð&ØŒtˆ|ˆ|ˆ|õ •”˜‘”�bœh¨ t™nœn¨aÑ0Ô0ˆÝ˜!�^Ñ,Ô,Ð,Ð,Ð,Ý˜!�SÑ!Ô!Ð!Ð!Ð!Ý˜a¥Ñ&Ô&Ð&Ð&Ð&ØŒtˆ|ˆ|ˆ|õ ��R�D˜!ÑÔˆÝ���b�T˜1˜aÑ Ô ˆÝ˜!�ZÑ(Ô(Ð(Ð(Ð(Ý˜!�SÑ!Ô!Ð!Ð!Ð!Ý˜a¥Ñ&Ô&Ð&Ð&Ð&ØŒtˆ|ˆ|ˆ|ˆ|ˆ|r-   N)r˜   r™   rš   r<  r›   r-   r+   r6  r6  ­  s#   € € € € € ðð ð ð ð r-   r6  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestStateSpacec                 ó(  — t          dddd¦  «         t          dgdgdgdg¦  «         t          t          j        ddgddgg¦  «        t          j        dgdgg¦  «        t          j        ddgg¦  «        t          j        dgg¦  «        ¦  «         d S )NrY   rG   rQ   rC   r   )r   r   rR   r3  s    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ð 	8r-   c                 óv  — t          dddd¦  «        }t          |                     ¦   «         t           ¦  «        sJ ‚t          |                     ¦   «         t          ¦  «        sJ ‚t          |                     ¦   «         t          ¦  «        sJ ‚t          |¦  «        |usJ ‚|                     ¦   «         |usJ ‚d S )NrY   rG   rQ   rC   )r   r8  Úto_ssÚto_tfr   Úto_zpkr   r:  s     r+   Útest_conversionzTestStateSpace.test_conversionÑ  s¨   € å�q˜!˜Q Ñ"Ô"ˆÝ˜!Ÿ'š'™)œ)¥ZÑ0Ô0Ð0Ð0Ð0Ý˜!Ÿ'š'™)œ)Õ%5Ñ6Ô6Ð6Ð6Ð6Ý˜!Ÿ(š(™*œ*¥nÑ5Ô5Ð5Ð5Ð5õ ˜!‰}Œ} AÐ%Ð%Ð%Ð%Ø�wŠw‰yŒy Ð!Ð!Ð!Ð!Ð!Ð!r-   c                 ó”   — t          dddd¦  «        }t          |j        dg¦  «         t          |j        dg¦  «         |j        �J ‚d S )NrY   r©   r¸   )r   r   ÚpolesrŸ   r9  r:  s     r+   Útest_propertieszTestStateSpace.test_propertiesÜ  sN   € õ
 �q˜!˜Q Ñ"Ô"ˆÝ˜œ " Ñ&Ô&Ð&Ý˜œ " Ñ&Ô&Ð&ØŒtˆ|ˆ|ˆ|ˆ|ˆ|r-   c                 ó^  —  G d„ d¦  «        }t          t          j        ddgddgg¦  «        t          j        dgdgg¦  «        t          j        ddgg¦  «        t          j        dgg¦  «        ¦  «        }t          t          j        d	d
gdd
gg¦  «        t          j        dgdgg¦  «        t          j        ddgg¦  «        t          j        dgg¦  «        ¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        ddd¦  «        }t          j        |¦  «        }d|d<   t          t          t          t          j	        t          j
        t          j        fD �]9}	t          t           |	d¦  «        |z  ||¬¦  «        d          |	d¦  «        t          |||¬¦  «        d         z  ¦  «         t          t          | |	d¦  «        z  ||¬¦  «        d         t          |||¬¦  «        d          |	d¦  «        z  ¦  «         t          t          | |	d¦  «        z  ||¬¦  «        d         t          |||¬¦  «        d          |	d¦  «        z  ¦  «         t          t          ¦  «        5   |	d¦  «        |z   d d d ¦  «         n# 1 swxY w Y   �Œ;t          t          |dz  ||¬¦  «        d         t          |d|z  |¬¦  «        d         ¦  «         t          t          ||z  ||¬¦  «        d         t          |t          |||¬¦  «        d         |¬¦  «        d         d¬¦  «         t          t          ¦  «        5  ||z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  ||z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  ||z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | |¦   «         z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5   |¦   «         |z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | |¦   «         z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5   |¦   «         |z   d d d ¦  «         n# 1 swxY w Y   t          t          |dz   ||¬¦  «        d         d|z  t          |||¬¦  «        d         z   ¦  «         t          t          ¦  «        5  |t          j        ddg¦  «        z    d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  t          j        ddg¦  «        |z    d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  ||z    d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |t          j        ddgddgg¦  «        z   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  ||z    d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  | |¦   «         z    d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5   |¦   «         |z    d d d ¦  «         n# 1 swxY w Y   t          t          ||z   ||¬¦  «        d         t          |||¬¦  «        d         t          |||¬¦  «        d         z   ¦  «         t          t          |dz
  ||¬¦  «        d         d|z  t          |||¬¦  «        d         z   ¦  «         t          t          d|z
  ||¬¦  «        d         d|z  t          | ||¬¦  «        d         z   ¦  «         t          t          ||z
  ||¬¦  «        d         t          |||¬¦  «        d         t          |||¬¦  «        d         z
  ¦  «         t          t          ¦  «        5  | |¦   «         z
   d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5   |¦   «         |z
   d d d ¦  «         n# 1 swxY w Y   ||z   }
|
j        dk    sJ ‚||z  }
|
j        dk    sJ ‚d|z  }
|
j        dk    sJ ‚| }
|
j        dk    sJ ‚d S )Nc                   ó   — e Zd ZdS )ú.TestStateSpace.test_operators.<locals>.BadTypeN)r˜   r™   rš   r›   r-   r+   ÚBadTyperK  é  s   € € € € € ØˆDr-   rL  rJ   gffffffæ?rÊ   gš™™™™™é¿rY   r   rI   gš™™™™™¹¿gš™™™™™Ù?çš™™™™™¹?gš™™™™™É?éd   rG   )rö   r÷   gñhãˆµøä>)r'   rQ   rC   rp   )r   r   rR   Úto_discreterß   rà   ÚintÚfloatÚcomplexÚfloat32Ú
complex128r   r   rŒ   Ú	TypeErrorr"   r9  )r7   rL  Ús1Ús2Ú
s_discreteÚs2_discreteÚs3_discreterã   rä   Útypr;  s              r+   Útest_operatorszTestStateSpace.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ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˜Ñ$ˆØŒt�sŠ{ˆ{ˆ{ˆ{à˜Ñ$ˆØŒt�sŠ{ˆ{ˆ{ˆ{à�
‰NˆØŒt�sŠ{ˆ{ˆ{ˆ{àˆKˆØŒt�sŠ{ˆ{ˆ{ˆ{ˆ{ˆ{s2  ÊJ1Ê1J5	Ê8J5	Í+M=Í=NÎNÎN.Î.N2Î5N2ÏOÏO#Ï&O#Ï>PÐPÐPÐ7QÑQÑQÑ0R
Ò
RÒRÒ)SÓSÓ
SÔ'UÕUÕUÕ,VÖVÖVÖ1W×W×
W×"XØXØXØ+X=Ø=YÙYÙY6Ù6Y:Ù=Y:ÚZ/Ú/Z3Ú6Z3à	`#à#`'à*`'áaáa á#a N)r˜   r™   rš   r@  rE  rH  r\  r›   r-   r+   r>  r>  É  sU   € € € € € ð8ð 8ð 8ð	"ð 	"ð 	"ðð ð ð~ð ~ð ~ð ~ð ~r-   r>  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestTransferFunctionc                 ó¶   — t          dd¦  «         t          dgdg¦  «         t          t          j        dg¦  «        t          j        dg¦  «        ¦  «         d S ©NrY   rG   )r   r   rR   r3  s    r+   r@  z(TestTransferFunction.test_initializationg  sP   € å˜˜AÑÔÐÝ˜!˜˜q˜cÑ"Ô"Ð"Ý�œ 1 #™œ­¬°!°©¬Ñ6Ô6Ð6Ð6Ð6r-   c                 óz  — t          ddgddg¦  «        }t          |                     ¦   «         t          ¦  «        sJ ‚t          |                     ¦   «         t           ¦  «        sJ ‚t          |                     ¦   «         t          ¦  «        sJ ‚t          |¦  «        |usJ ‚|                     ¦   «         |usJ ‚d S )NrY   r   r[   )r   r8  rB  r   rC  rD  r   r:  s     r+   rE  z$TestTransferFunction.test_conversionm  s®   € å˜a ˜V a¨ WÑ-Ô-ˆÝ˜!Ÿ'š'™)œ)¥ZÑ0Ô0Ð0Ð0Ð0Ý˜!Ÿ'š'™)œ)Õ%5Ñ6Ô6Ð6Ð6Ð6Ý˜!Ÿ(š(™*œ*¥nÑ5Ô5Ð5Ð5Ð5õ   Ñ"Ô"¨!Ð+Ð+Ð+Ð+Ø�wŠw‰yŒy Ð!Ð!Ð!Ð!Ð!Ð!r-   c                 ó†   — t          ddgddg¦  «        }t          |j        dg¦  «         t          |j        dg¦  «         d S )NrY   r   r[   r©   r¸   )r   r   rG  rŸ   r:  s     r+   rH  z$TestTransferFunction.test_propertiesx  sI   € õ
 ˜a ˜V a¨ WÑ-Ô-ˆÝ˜œ " Ñ&Ô&Ð&Ý˜œ " Ñ&Ô&Ð&Ð&Ð&r-   N)r˜   r™   rš   r@  rE  rH  r›   r-   r+   r^  r^  f  sA   € € € € € ð7ð 7ð 7ð	"ð 	"ð 	"ð'ð 'ð 'ð 'ð 'r-   r^  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestZerosPolesGainc                 ó¼   — t          ddd¦  «         t          dgdgd¦  «         t          t          j        dg¦  «        t          j        dg¦  «        d¦  «         d S r`  )r   r   rR   r3  s    r+   r@  z&TestZerosPolesGain.test_initializationƒ  sV   € å�q˜!˜QÑÔÐÝ˜�s˜Q˜C Ñ#Ô#Ð#Ý•r”x  ‘}”}¥b¤h°¨s¡m¤m°QÑ7Ô7Ð7Ð7Ð7r-   c                 ót  — t          ddd¦  «        }t          |                     ¦   «         t          ¦  «        sJ ‚t          |                     ¦   «         t
          ¦  «        sJ ‚t          |                     ¦   «         t           ¦  «        sJ ‚t          |¦  «        |usJ ‚|                     ¦   «         |usJ ‚d S )NrY   rG   rQ   )r   r8  rB  r   rC  r   rD  r:  s     r+   rE  z"TestZerosPolesGain.test_conversion‰  s¨   € å˜1˜a Ñ#Ô#ˆÝ˜!Ÿ'š'™)œ)¥ZÑ0Ô0Ð0Ð0Ð0Ý˜!Ÿ'š'™)œ)Õ%5Ñ6Ô6Ð6Ð6Ð6Ý˜!Ÿ(š(™*œ*¥nÑ5Ô5Ð5Ð5Ð5õ ˜aÑ Ô ¨Ð)Ð)Ð)Ð)Ø�xŠx‰zŒz Ð"Ð"Ð"Ð"Ð"Ð"r-   N)r˜   r™   rš   r@  rE  r›   r-   r+   rd  rd  ‚  s2   € € € € € ð8ð 8ð 8ð	#ð 	#ð 	#ð 	#ð 	#r-   rd  c                   óº   — e Zd ZddgddggZdgdggZddggZdggZd„ Zd	„ Zd
„ Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_abcd_normalizer©   r¬   rª   rÆ   r¿   r«   ç      @c                 ó:   — t          t          t          ¦  «         d S ©N)rŒ   r"   r   r3  s    r+   Útest_no_matrix_failsz(Test_abcd_normalize.test_no_matrix_failsœ  s   € Ý•j¥.Ñ1Ô1Ð1Ð1Ð1r-   c           
      óü   — t          t          t          |                     ddg¦  «        |                     | j        ¦  «        |                     | j        ¦  «        |                     | j        ¦  «        ¦  «         d S )NrY   r[   )rŒ   r"   r   Úasarrayr9   r²   r³   ©r7   Úxps     r+   Útest_A_nosquare_failsz)Test_abcd_normalize.test_A_nosquare_failsŸ  sj   € Ý•j¥.°"·*²*¸aÀ¸WÑ2EÔ2EØ—j’j ¤Ñ(Ô(¨"¯*ª*°T´VÑ*<Ô*<¸b¿jºjÈÌÑ>PÔ>Pñ	Rô 	Rð 	Rð 	Rð 	Rr-   c           
      óü   — t          t          t          |                     | j        ¦  «        |                     ddg¦  «        |                     | j        ¦  «        |                     | j        ¦  «        ¦  «         d S ©Nr[   rd   ©rŒ   r"   r   rn  r8   r²   r³   ro  s     r+   Útest_AB_mismatch_failsz*Test_abcd_normalize.test_AB_mismatch_fails£  ój   € Ý•j¥.°"·*²*¸T¼VÑ2DÔ2DØ—j’j " a Ñ)Ô)¨2¯:ª:°d´fÑ+=Ô+=¸r¿zºzÈ$Ì&Ñ?QÔ?Qñ	Sô 	Sð 	Sð 	Sð 	Sr-   c           
      ó   — t          t          t          |                     | j        ¦  «        |                     | j        ¦  «        |                     dgdgg¦  «        |                     | j        ¦  «        ¦  «         d S )NrÆ   r«   )rŒ   r"   r   rn  r8   r9   r³   ro  s     r+   Útest_AC_mismatch_failsz*Test_abcd_normalize.test_AC_mismatch_fails§  sj   € Ý•j¥.°"·*²*¸T¼VÑ2DÔ2DØ—j’j ¤Ñ(Ô(¨"¯*ª*°s°e¸c¸U°^Ñ*DÔ*DØ—j’j ¤Ñ(Ô(ñ	*ô 	*ð 	*ð 	*ð 	*r-   c                 óü   — t          t          t          |                     | j        ¦  «        |                     | j        ¦  «        |                     | j        ¦  «        |                     ddg¦  «        ¦  «         d S )Nri  r   )rŒ   r"   r   rn  r8   r9   r²   ro  s     r+   Útest_CD_mismatch_failsz*Test_abcd_normalize.test_CD_mismatch_fails¬  sj   € Ý•j¥.°"·*²*¸T¼VÑ2DÔ2DØ—j’j ¤Ñ(Ô(¨"¯*ª*°T´VÑ*<Ô*<¸b¿jºjÈ#ÈqÈÑ>RÔ>Rñ	Tô 	Tð 	Tð 	Tð 	Tr-   c           
      óü   — t          t          t          |                     | j        ¦  «        |                     ddg¦  «        |                     | j        ¦  «        |                     | j        ¦  «        ¦  «         d S rs  rt  ro  s     r+   Útest_BD_mismatch_failsz*Test_abcd_normalize.test_BD_mismatch_fails°  rv  r-   c                 ó  — t          |j        | j        | j        | j        | j        f¦  «        \  }}}}t          ||||¬¦  «        \  }}}}	t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |	|¦  «         d S )N)r8   r9   r²   r³   )Úmaprn  r8   r9   r²   r³   r   r   )
r7   rp  ÚA_ÚB_ÚC_ÚD_r8   r9   r²   r³   s
             r+   Ú"test_normalized_matrices_unchangedz6Test_abcd_normalize.test_normalized_matrices_unchanged´  s�   € Ý˜RœZ¨$¬&°$´&¸$¼&À$Ä&Ð)IÑJÔJ‰ˆˆB��BÝ# b¨B°"¸Ð;Ñ;Ô;‰
ˆˆ1ˆa�Ý˜˜2ÑÔÐÝ˜˜2ÑÔÐÝ˜˜2ÑÔÐÝ˜˜2ÑÔÐÐÐr-   c                 ó  — t          |                     | j        ¦  «        |                     | j        ¦  «        |                     ddg¦  «        |                     d¦  «        ¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚d S )NrY   r   )r   rn  r8   r9   r   )r7   rp  r8   r9   r²   r³   s         r+   r§   zTest_abcd_normalize.test_shapes¼  sñ   € Ý# B§J¢J¨t¬vÑ$6Ô$6¸¿
º
À4Ä6Ñ8JÔ8JØ$&§J¢J°°1¨vÑ$6Ô$6¸¿
º
À1¹¼ñGô G‰
ˆˆ1ˆa�àŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'Ð'Ð'r-   c                 ó”  — |                      | j        ¦  «        }|                     d¦  «        }|                     d¦  «        }t          |||¬¦  «        \  }}}}t	          ||¦  «         t	          ||¦  «         t	          ||¦  «         |j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚d S )N©rG   r   )r   r   ©r8   r9   r³   r   rY   ©rn  r8   rŸ   r   r   r   ©	r7   rp  r  r€  r‚  r8   r9   r²   r³   s	            r+   Ú test_zero_dimension_is_not_none1z4Test_abcd_normalize.test_zero_dimension_is_not_none1Å  óÃ   € Ø�ZŠZ˜œÑÔˆØ�XŠX�fÑÔˆØ�XŠX�fÑÔˆÝ# b¨B°"Ð5Ñ5Ô5‰
ˆˆ1ˆa�Ý˜˜2ÑÔÐÝ˜˜2ÑÔÐÝ˜˜2ÑÔÐØŒw�qŒz˜RœX aœ[Ò(Ð(Ð(Ð(ØŒw�qŒz˜RœX aœ[Ò(Ð(Ð(Ð(Ð(Ð(r-   c                 ó”  — |                      | j        ¦  «        }|                     d¦  «        }|                     d¦  «        }t          |||¬¦  «        \  }}}}t	          ||¦  «         t	          ||¦  «         t	          ||¦  «         |j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚d S )Nr†  )r   rG   ©r8   r9   r²   r   rY   rˆ  ©	r7   rp  r  r€  r�  r8   r9   r²   r³   s	            r+   Ú test_zero_dimension_is_not_none2z4Test_abcd_normalize.test_zero_dimension_is_not_none2Ð  r‹  r-   c                 óL  — t          |j        | j        | j        | j        f¦  «        \  }}}t          |||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )N)r9   r²   r³   r   rY   )r~  rn  r9   r²   r³   r   r   )	r7   rp  r€  r�  r‚  r8   r9   r²   r³   s	            r+   Útest_missing_Az"Test_abcd_normalize.test_missing_AÛ  ó¦   € Ý˜œ d¤f¨d¬f°d´fÐ%=Ñ>Ô>‰
ˆˆB�Ý# b¨B°"Ð5Ñ5Ô5‰
ˆˆ1ˆa�ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw˜2œ8 Aœ;¨¬°¬Ð4Ò4Ð4Ð4Ð4Ð4Ð4r-   c                 óL  — t          |j        | j        | j        | j        f¦  «        \  }}}t          |||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )N)r8   r²   r³   r   rY   )r~  rn  r8   r²   r³   r   r   )	r7   rp  r  r�  r‚  r8   r9   r²   r³   s	            r+   Útest_missing_Bz"Test_abcd_normalize.test_missing_Bâ  r’  r-   c                 óL  — t          |j        | j        | j        | j        f¦  «        \  }}}t          |||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )Nr‡  r   rY   )r~  rn  r8   r9   r³   r   r   r‰  s	            r+   Útest_missing_Cz"Test_abcd_normalize.test_missing_Cé  r’  r-   c                 óL  — t          |j        | j        | j        | j        f¦  «        \  }}}t          |||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )Nr�  r   rY   )r~  rn  r8   r9   r²   r   r   rŽ  s	            r+   Útest_missing_Dz"Test_abcd_normalize.test_missing_Dð  r’  r-   c                 óÂ  — t          |j        | j        | j        f¦  «        \  }}t	          ||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )N)r²   r³   r   rY   )r~  rn  r²   r³   r   r   )r7   rp  r�  r‚  r8   r9   r²   r³   s           r+   Útest_missing_ABz#Test_abcd_normalize.test_missing_AB÷  sß   € Ý�R”Z $¤&¨$¬&Ð!1Ñ2Ô2‰ˆˆBÝ# b¨BÐ/Ñ/Ô/‰
ˆˆ1ˆa�ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw˜2œ8 Aœ;¨¬°¬Ð4Ò4Ð4Ð4Ð4ØŒw˜2œ8 Aœ;¨¬°¬Ð4Ò4Ð4Ð4Ð4Ð4Ð4r-   c                 óþ  — t          |j        | j        | j        f¦  «        \  }}t	          ||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )N)r9   r³   r   rY   )r~  rn  r9   r³   r   r   )r7   rp  r€  r‚  r8   r9   r²   r³   s           r+   Útest_missing_ACz#Test_abcd_normalize.test_missing_AC   óü   € Ý�R”Z $¤&¨$¬&Ð!1Ñ2Ô2‰ˆˆBÝ# b¨BÐ/Ñ/Ô/‰
ˆˆ1ˆa�ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw˜2œ8 Aœ;¨¬°¬Ð4Ò4Ð4Ð4Ð4ØŒw˜2œ8 Aœ;¨¬°¬Ð4Ò4Ð4Ð4Ð4Ð4Ð4r-   c                 óþ  — t          |j        | j        | j        f¦  «        \  }}t	          ||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )N)r9   r²   r   rY   )r~  rn  r9   r²   r   r   )r7   rp  r€  r�  r8   r9   r²   r³   s           r+   Útest_missing_ADz#Test_abcd_normalize.test_missing_AD
  r�  r-   c                 óþ  — t          |j        | j        | j        f¦  «        \  }}t	          ||¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        |j        d         |j        d         fk    sJ ‚|j        |j        d         |j        d         fk    sJ ‚d S )N)r8   r³   r   rY   )r~  rn  r8   r³   r   r   )r7   rp  r  r‚  r8   r9   r²   r³   s           r+   Útest_missing_BCz#Test_abcd_normalize.test_missing_BC  r�  r-   c                 ón   — t          t          t          |                     | j        ¦  «        ¬¦  «         d S )N)r³   )rŒ   r"   r   rn  r³   ro  s     r+   Útest_missing_ABC_failsz*Test_abcd_normalize.test_missing_ABC_fails  s+   € Ý•j¥.°B·J²J¸t¼vÑ4FÔ4FÐGÑGÔGÐGÐGÐGr-   c                 ó    — t          t          t          |                     | j        ¦  «        |                     | j        ¦  «        ¬¦  «         d S )N)r8   r²   )rŒ   r"   r   rn  r8   r²   ro  s     r+   Útest_missing_BD_failsz)Test_abcd_normalize.test_missing_BD_fails!  óH   € Ý•j¥.°B·J²J¸t¼vÑ4FÔ4FØŸ
š
 4¤6Ñ*Ô*ð	,ñ 	,ô 	,ð 	,ð 	,ð 	,r-   c                 ó    — t          t          t          |                     | j        ¦  «        |                     | j        ¦  «        ¬¦  «         d S )N)r8   r9   )rŒ   r"   r   rn  r8   r9   ro  s     r+   Útest_missing_CD_failsz)Test_abcd_normalize.test_missing_CD_fails%  r¦  r-   N)r˜   r™   rš   r8   r9   r²   r³   rl  rq  ru  rx  rz  r|  rƒ  r§   rŠ  r�  r‘  r”  r–  r˜  rš  rœ  rŸ  r¡  r£  r¥  r¨  r›   r-   r+   rh  rh  •  s‘  € € € € € à
ˆsˆ�c˜3�ZÐ €AØ
ˆ�#�ˆ€AØ
ˆsˆˆ€AØ
ˆˆ€Að2ð 2ð 2ðRð Rð RðSð Sð Sð*ð *ð *ð
Tð Tð TðSð Sð Sðð ð ð(ð (ð (ð	)ð 	)ð 	)ð	)ð 	)ð 	)ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ðHð Hð Hð,ð ,ð ,ð,ð ,ð ,ð ,ð ,r-   rh  c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )Ú	Test_bodec                 óŠ   — t          dgddg¦  «        }g d¢}t          ||¬¦  «        \  }}}g d¢}t          ||d¬¦  «         d S )NrY   ©rM  rY   r`   rN  ©r–   )r   rZ   rf   rl   rï   ©r   r   r   )r7   rØ   r–   ÚmagÚphaseÚexpected_mags         r+   Útest_01zTest_bode.test_01,  sb   € õ �a�S˜1˜a˜&Ñ!Ô!ˆØÐÐˆÝ˜V qÐ)Ñ)Ô)‰ˆˆ3�Ø(Ð(Ð(ˆÝ˜C °qÐ9Ñ9Ô9Ð9Ð9Ð9r-   c                 óŠ   — t          dgddg¦  «        }g d¢}t          ||¬¦  «        \  }}}g d¢}t          ||d¬¦  «         d S )NrY   ©rM  rY   r`   r­  )gÍÌÌÌÌÌÀiÓÿÿÿg33333UÀrï   r®  )r7   rØ   r–   r¯  r°  Úexpected_phases         r+   Útest_02zTest_bode.test_02:  s`   € õ �a�S˜1˜a˜&Ñ!Ô!ˆØˆLˆLˆÝ˜V qÐ)Ñ)Ô)‰ˆˆ3�Ø+Ð+Ð+ˆÝ˜E >¸1Ð=Ñ=Ô=Ð=Ð=Ð=r-   c                 ó:  — t          dgddg¦  «        }g d¢}t          ||¬¦  «        \  }}}|dz  }t          j        |j        |¦  «        t          j        |j        |¦  «        z  }dt          j        t          |¦  «        ¦  «        z  }t          ||¦  «         d S )NrY   r¬  r­  ù              ð?g      4@)	r   r   r   Úpolyvalr»   r¼   Úlog10Úabsr   )r7   rØ   r–   r¯  r°  Újwræ   r±  s           r+   Útest_03zTest_bode.test_03F  s›   € õ �a�S˜1˜a˜&Ñ!Ô!ˆØÐÐˆÝ˜V qÐ)Ñ)Ô)‰ˆˆ3�Ø�‰VˆÝŒJ�v”z 2Ñ&Ô&­¬°F´JÀÑ)CÔ)CÑCˆØ�bœh¥s¨1¡v¤vÑ.Ô.Ñ.ˆÝ˜C Ñ.Ô.Ð.Ð.Ð.r-   c                 óP  — t          dgddg¦  «        }g d¢}t          ||¬¦  «        \  }}}|dz  }t          j        |j        |¦  «        t          j        |j        |¦  «        z  }t          j        |j        |j        ¦  «        dz  t          j	        z  }t          ||¦  «         d S )NrY   r¬  r­  r¸  g     €f@)r   r   r   r¹  r»   r¼   Úarctan2r    r   Úpir   )r7   rØ   r–   r¯  r°  r¼  ræ   rµ  s           r+   Útest_04zTest_bode.test_04Q  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Ð2r-   c                 ó¦   — t          dgddg¦  «        }d}t          j        dd|¦  «        }t          ||¬¦  «        \  }}}t	          ||¦  «         d S ©NrY   r`   rp   ©r  )r   r   Úlogspacer   r   )r7   rØ   r  Ú
expected_wr–   r¯  r°  s          r+   Útest_05zTest_bode.test_05\  s_   € õ �a�S˜1˜a˜&Ñ!Ô!ˆØˆå”[  Q¨Ñ*Ô*ˆ
Ý˜V qÐ)Ñ)Ô)‰ˆˆ3�Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 ór   — t          dgddg¦  «        }t          |d¬¦  «        \  }}}|d         dk    sJ ‚d S ©NrY   r   rG   rÄ  g{®Gáz„?©r   r   ©r7   rØ   r–   r¯  r°  s        r+   Útest_06zTest_bode.test_06f  sF   € õ �a�S˜1˜a˜&Ñ!Ô!ˆÝ˜V qÐ)Ñ)Ô)‰ˆˆ3�Ø�Œt�tŠ|ˆ|ˆ|ˆ|ˆ|ˆ|r-   c                 óV   — t          dgg d¢¦  «        }t          |d¬¦  «        \  }}}d S )NrY   )rY   r   rN  rG   rÄ  rÊ  rË  s        r+   Útest_07zTest_bode.test_07m  s5   € õ �a�S˜+˜+˜+Ñ&Ô&ˆÝ˜V qÐ)Ñ)Ô)‰ˆˆ3���r-   c                 óÆ   — t          g g d¢d¦  «        }|                     t          j        ddd¦  «        ¬¦  «        \  }}}t	          t          |¦  «        dd¬	¦  «         d S )
N)r_   rg   rl   rm   rn   rY   rZ   rh   rN  r­  i>þÿÿé   rï   )r   r   r   rÅ  r   ÚminrË  s        r+   Útest_08zTest_bode.test_08s  sb   € å�RÐ2Ð2Ð2°AÑ6Ô6ˆØŸš¥b¤k°"°b¸#Ñ&>Ô&>˜Ñ?Ô?‰ˆˆ3�Ý�C ™JœJ¨°bÐ9Ñ9Ô9Ð9Ð9Ð9r-   c           	      óN  — t          j        g d¢¦  «        }t          j        |¦  «        j        }t          j        dgdgdgg¦  «        }t          j        g d¢g¦  «        }t          j        dgg¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         t          ||||¦  «        }t          |d¬¦  «        \  }}}	d d d ¦  «         n# 1 swxY w Y   dt          j        t          j        dd|d	z  z   z  ¦  «        ¦  «        z  }
t          ||
¦  «         d S )
N©r©   r¬   r¬   r©   r¸   r©   ©r©   r¸   r¸   rO   rN  rÄ  é   rc   )r   rR   r1   Ú	companionr÷   rŽ   r�   r�   r   r   r   rº  Úsqrtr   )r7   r±   r8   r9   r²   r³   rØ   r–   r¯  r°  Úexpected_magnitudes              r+   Útest_from_state_spacezTest_bode.test_from_state_spacey  sW  € õ ŒHÐ)Ð)Ð)Ñ*Ô*ˆÝÔ˜QÑÔÔ!ˆÝŒH�s�e˜c˜U S EÐ*Ñ+Ô+ˆÝŒH�o�o�oÐ&Ñ'Ô'ˆÝŒH�s�e�WÑÔˆÝÔ$Ñ&Ô&ð 	0ð 	0ÝÔ! (­OÑ<Ô<Ð<Ý˜˜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   Â
ACÃCÃCN)r˜   r™   rš   r²  r¶  r½  rÁ  rÇ  rÌ  rÎ  rÒ  rÚ  r›   r-   r+   rª  rª  *  s›   € € € € € ð:ð :ð :ð
>ð 
>ð 
>ð	/ð 	/ð 	/ð	3ð 	3ð 	3ð+ð +ð +ðð ð ð*ð *ð *ð:ð :ð :ð5ð 5ð 5ð 5ð 5r-   rª  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_freqrespc                 óÈ   — t          dgddg¦  «        }g d¢}t          ||¬¦  «        \  }}g d¢}g d¢}t          |j        |d¬¦  «         t          |j        |d¬¦  «         d S )NrY   r´  r­  )g®Gáz®ï?rî   gõÛ×�sF„?)çòÒMbX¹¿rJ   rÞ  rï   ©r   r   r   r   r    )r7   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¸Ð;Ñ;Ô;Ð;Ð;Ð;r-   c                 ó8  — t          dgddg¦  «        }g d¢}t          ||¬¦  «        \  }}|dz  }t          j        |j        |¦  «        t          j        |j        |¦  «        z  }t          |j        |j        ¦  «         t          |j        |j        ¦  «         d S )NrY   r¬  r­  r¸  )	r   r   r   r¹  r»   r¼   r   r   r    ©r7   rØ   r–   rà  r;  r=   s         r+   Útest_outputzTest_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Ð2r-   c                 ó¤   — t          dgddg¦  «        }d}t          j        dd|¦  «        }t          ||¬¦  «        \  }}t	          ||¦  «         d S rÃ  )r   r   rÅ  r   r   )r7   rØ   r  rÆ  r–   rà  s         r+   Útest_freq_rangezTest_freqresp.test_freq_range©  s]   € õ �a�S˜1˜a˜&Ñ!Ô!ˆØˆÝ”[  Q¨Ñ*Ô*ˆ
Ý˜ !Ð$Ñ$Ô$‰ˆˆ1Ý˜A˜zÑ*Ô*Ð*Ð*Ð*r-   c                 óp   — t          dgddg¦  «        }t          |d¬¦  «        \  }}|d         dk    sJ ‚d S rÉ  )r   r   )r7   rØ   r–   rà  s       r+   Útest_pole_zerozTest_freqresp.test_pole_zero³  sD   € õ �a�S˜1˜a˜&Ñ!Ô!ˆÝ˜ !Ð$Ñ$Ô$‰ˆˆ1Ø�Œt�tŠ|ˆ|ˆ|ˆ|ˆ|ˆ|r-   c                 ón  — t          j        g d¢¦  «        }t          j        |¦  «        j        }t          j        dgdgdgg¦  «        }t          j        g d¢g¦  «        }t          j        dgg¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         t          ||||¦  «        }t          |d¬¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   |dz  }	ddd	|	z  z   d	|	d	z  z  z   |	d
z  z   z  }
t          |j        |
j        ¦  «         t          |j        |
j        ¦  «         d S )NrÔ  r¸   r©   rÕ  rO   rN  rÄ  r¸  rG   rQ   )r   rR   r1   r×  r÷   rŽ   r�   r�   r   r   r   r   r   r    )r7   r±   r8   r9   r²   r³   rØ   r–   rà  r;  r=   s              r+   rÚ  z#Test_freqresp.test_from_state_spaceº  sq  € õ ŒHÐ)Ð)Ð)Ñ*Ô*ˆÝÔ˜QÑÔÔ!ˆÝŒH�s�e˜S˜E 3 %Ð(Ñ)Ô)ˆÝŒH�o�o�oÐ&Ñ'Ô'ˆÝŒH�s�e�WÑÔˆÝÔ$Ñ&Ô&ð 	+ð 	+ÝÔ! (­OÑ<Ô<Ð<Ý˜˜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   Â
ACÃCÃCc                 óê   — t          g dgdz  dg¦  «        }g d¢}t          ||¬¦  «        \  }}|dz  }d|dz   dz  z  }t          |j        |j        ¦  «         t          |j        |j        ¦  «         d S )Nr[   rC   rY   r¬  r­  r¸  rß  rå  s         r+   Útest_from_zpkzTest_freqresp.test_from_zpkÏ  s„   € å�R˜˜˜Q™ ˜sÑ#Ô#ˆØÐÐˆÝ˜ !Ð$Ñ$Ô$‰ˆˆ1Ø�‰FˆØ˜˜A™ ‘z‘>ˆÝ˜AœF H¤MÑ2Ô2Ð2Ý˜AœF H¤MÑ2Ô2Ð2Ð2Ð2r-   N)	r˜   r™   rš   rã  ræ  rè  rê  rÚ  rí  r›   r-   r+   rÜ  rÜ  Ž  sn   € € € € € ð<ð <ð <ð	3ð 	3ð 	3ð+ð +ð +ðð ð ð3ð 3ð 3ð*3ð 3ð 3ð 3ð 3r-   rÜ  Úclsc                 óT   — t          | t          j                 t          ¦  «        sJ ‚d S rk  )r8  r   Úfloat64r   )rî  s    r+   Ú test_subscriptable_generic_typesrñ  Ù  s&   € õ �c�"œ*”o¥|Ñ4Ô4Ð4Ð4Ð4Ð4Ð4r-   )r   r   )0rŽ   Útypesr   Únumpyr   Úpytestr   rŒ   Úscipy._lib._array_apir   r   r   r   Úscipy.signalr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úscipy.signal._filter_designr   Úscipy.linalgr1   r,   r/   r�   rÕ   r  r'  r6  r>  r^  rd  rh  rª  rÜ  ÚmarkÚparametrizerñ  r›   r-   r+   ú<module>rû     s%  ðØ €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð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ð|{6ð {6ð {6ð {6ð {6ñ {6ô {6ð {6ð|D-ð D-ð D-ð D-ð D-ñ D-ô D-ð D-ðNFð Fð Fð Fð Fñ Fô Fð FðRð ð ð ð ñ ô ð ð8[ð [ð [ð [ð [ñ [ô [ð [ðz'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ð8#ð #ð #ð #ð #ñ #ô #ð #ð& Ð�>Ñ"Ô"ðQ,ð Q,ð Q,ð Q,ð Q,ñ Q,ô Q,ñ #Ô"ðQ,ðha5ð a5ð a5ð a5ð a5ñ a5ô a5ð a5ðHI3ð I3ð I3ð I3ð I3ñ I3ô I3ð I3ðV „×ÒØ	ˆJÐ(¨.¸#¸tÐDñô ð5ð 5ñô ð5ð 5ð 5r-   