§
    µ³Ùg°  ã                   óâ  — d dl Z d dlZd dlmZ d dlZd dlmZ d dl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( G d„ d¦  «        Z) G d„ d¦  «        Z* G d„ d ¦  «        Z+dS )"é    N)Úsuppress_warnings)Úraises)Úassert_almost_equalÚxp_assert_equalÚxp_assert_close)Ú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          úT/granary/edev/quantum/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                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zej        j	        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“¨?rA   g°rh‘í|õ?g¢E¶óýÔ Àé   )r   çžï§ÆK·@ç“V-ò?rD   r   r   ç^ºI+	Àr   é   ©çš™™™™™É¿ç      à¿g}Ð³Yõ9ÀgÐDØðT!ÀÚKNV0©ÚmethodÚYTÚignore)Úinvalid)rF   rF   é   rP   )r   ÚarrayÚreshaper>   Úerrstate)r6   r7   r8   r9   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   é   )éýÿÿÿéÿÿÿÿù       À      ð¿ù       À      ð?rN   )ÚdividerO   )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ÂùÿÿrF   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@)é   rd   rd   )rd   r_   r_   )r^   éìÿÿÿéâÿÿÿé(   é2   é<   éF   y      4À      Ày      4À      @y      @      @y      @      À)
r^   re   rf   éØÿÿÿiÎÿÿÿéÄÿÿÿéºÿÿÿi°ÿÿÿi¦ÿÿÿiœÿÿÿrZ   )
y      $À      $@y      4À      4@y      >À      >@y      DÀ      D@y      IÀ      I@y      $À      $Ày      4À      4Ày      >À      >Ày      DÀ      DÀy      IÀ      IÀ)r   rV   r   r   r   r   r   rW   r   r   r   r   r   r   r   r   r   r   r   rc   r   r   r   r   é	   )
r   r   r   r   rX   r   r   rX   rF   rP   rF   )éþÿÿÿy      À      ð?y      À      ð¿ù      ð¿      ð?ù      ð¿      ð¿)ro   rY   éüÿÿÿrp   rq   )	r   rQ   rS   r>   rR   ÚonesÚeyeÚdiagr   )r6   r7   r8   r9   Ú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 )Nr@   rB   )r   rC   rD   rD   r   r   rE   r   rX   rF   rP   rB   rc   rb   rV   é   rG   )r\   r[   rY   ro   r   rX   )r   rQ   rR   r>   Úisnanr%   Únb_iter)r6   r7   r8   r9   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   rV   r   r   r   r   r   rW   r   r   r   r   r   r   r   r   rB   )r   r   r   r   rX   r   r   rX   rF   )çÍÌÌÌÌÌ Àçš™™™™™ÀçffffffÀç333333ÀÚfoorK   rX   )r   r€   r�   r‚   rY   )r   r€   r�   é*   ©r%   iÖÿÿÿr`   )ro   ro   ro   ro   )rB   rB   )rB   rF   ©rX   rF   rP   rB   T)ÚrecordÚalways)rZ   ro   rY   rr   g¼‰Ø—²Òœ<)r%   ra   rZ   z4Convergence was not reached after maxiter iterations)r\   r[   ù       À      @ro   rP   )ro   rY   rr   éûÿÿÿ)r\   r[   r‰   y       À      ÀrJ   )r   rQ   rR   Úassert_raisesr!   r   Únewaxisrs   ÚwarningsÚcatch_warningsÚsimplefilterÚlenÚ
issubclassÚcategoryÚUserWarningr"   Úmessager|   )r6   r7   r8   Ú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>   rT   rx   r}   ÚpytestÚmarkÚthread_unsafer–   © r,   r*   r.   r.   (   s€   € € € € € ð
ð 
ð 
ð)ð )ð )ð,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©r6   Ú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))rP   rP   rP   )rX   rP   rP   ©rX   rX   rX   )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¬   ç       ÀrY   rX   r   ç‚vIhÂ%<=r…   r«   rF   ç›+¡†›„=)r   rQ   r	   r   r   )	r6   ÚbÚar7   r8   Ú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)rF   rX   ç        r°   r…   r®   r   r«   rc   rF   rX   r­   )r	   r   r   ©r6   Útfr7   r8   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 )%NrX   rF   r¯   r°   r…   r«   rº   ç      ð¿r®   )rX   r   rX   r¨   )r«   rº   r«   )r«   r«   r«   )rX   rF   rP   r†   )r¯   rY   rr   )rX   r   r   ©r   rX   r   r   )r«   rF   rP   )rº   rX   rF   rP   )r   rX   rF   rP   )r«   rF   rP   rB   rP   )Údtyperb   g      Àg€h‰eÖ9€9i÷ÿÿÿrY   )rX   rb   rc   rŠ   rr   ro   )rº   rX   rY   )r«   rb   rc   )r	   r   r   r   rQ   Úobjectr»   s           r*   Útest_simo_round_tripzTestSS2TF.test_simo_round_trip7  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   rX   )rY   rr   ro   r   rX   )rc   rX   r   )rº   rº   r«   r­   r°   r±   ©r%   r&   )r«   r®   ç      @r¬   r…   )r   r   )r6   r7   r8   r´   rµ   r½   r¾   s          r*   Útest_all_int_arrayszTestSS2TF.test_all_int_arraysp  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   rX   rF   r°   r…   r±   rÇ   )r   rQ   r   r   Úvstack)r6   r7   r8   r´   rµ   Úb_allr³   Úb0Úa0Úb1Úa1Úb2Úa2s                r*   Útest_multioutputzTestSS2TF.test_multioutputy  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 )ÚTestLsimrV   c                 ó˜   — t          ¦   «         5 }|                     t          ¦  «         t          |Ž }d d d ¦  «         n# 1 swxY w Y   |S ©N)r   Úfilterr   r
   )r6   ÚargsÚsupÚsystems       r*   Ú
lti_nowarnzTestLsim.lti_nowarn£  s‚   € ÝÑ Ô ð 	  CØ�JŠJ•Ñ'Ô'Ð'Ý˜$�ZˆFð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð ˆs   �$?¿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   rc   ©ÚX0©rÞ   r   ÚlinspaceÚ
zeros_liker   Úexpr   ©r6   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   )r6   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   rc   ç      à?rF   ©Ú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«   ©rX   rF   r   g      $@é   rF   )ÚUÚTrâ   rX   ©	r   rQ   r¡   rÞ   rä   r�   r   ræ   r   ©r6   r7   r8   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   rc   ró   rF   rô   )	r   rQ   rÞ   rä   Ú	ones_liker   Ú	transposer   rö   )r6   r7   r8   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   rQ   rÞ   rä   rå   r   ræ   r   )r6   r7   r8   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   rF   rá   rX   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º   rX   rF   rá   rã   )r6   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   rQ   r‹   r!   r   )r6   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   ©r6   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æ   ©r6   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_initial5  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_integratorI  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_orderP  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ð   rP   rc   rb   ©râ   rü   ©r   ©r6   rÝ   rê   rë   s       r*   Útest_array_likezTestImpulse.test_array_likeY  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ð   rP   rc   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_orderf  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  rX   )r   rä   r   r   r   ræ   r  s          r*   r  z$TestStep.test_first_order_fixed_timen  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á   rX   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 r1  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ð   rX   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ð   rc   rb   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 )NrZ   y      ð?        r6  ©r6   s    r*   Útest_complex_inputzTestStep.test_complex_input§  s!   € õ 	ˆb�2�$˜ÐÑÔÐÐÐr,   N)r—   r˜   r™   rî   r  r  r   r÷   rñ   r(  r9  r�   r,   r*   r,  r,  e  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 )NrX   rZ   rP   )	r
   Ú
isinstancer   r   Údtr   rQ   r   r   ©r6   Ú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™   rA  r�   r,   r*   r;  r;  ®  s#   € € € € € ðð ð ð ð r,   r;  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 )NrX   rF   rP   rB   r   )r   r   rQ   r8  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 )NrX   rF   rP   rB   )r   r=  Ú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 )NrX   r«   rº   )r   r   Úpolesr¡   r>  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*   ÚBadTyperP  ê  s   € € € € € ØˆDr,   rQ  rI   gffffffæ?rÌ   gš™™™™™é¿rX   r   rH   gš™™™™™¹¿gš™™™™™Ù?çš™™™™™¹?gš™™™™™É?éd   rF   )rû   rü   gñhãˆµøä>)r&   rP   rB   ro   )r   r   rQ   Úto_discreterä   rå   ÚintÚfloatÚcomplexÚfloat32Ú
complex128r   r   r‹   Ú	TypeErrorr!   r>  )r6   rQ  Ú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™   rE  rJ  rM  ra  r�   r,   r*   rC  rC  Ê  sU   € € € € € ð8ð 8ð 8ð	"ð 	"ð 	"ðð ð ð~ð ~ð ~ð ~ð ~r,   rC  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 ©NrX   rF   )r   r   rQ   r8  s    r*   rE  z(TestTransferFunction.test_initializationh  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 )NrX   r   rZ   )r   r=  rG  r   rH  rI  r   r?  s     r*   rJ  z$TestTransferFunction.test_conversionn  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 )NrX   r   rZ   r«   rº   )r   r   rL  r¡   r?  s     r*   rM  z$TestTransferFunction.test_propertiesy  sI   € õ
 ˜a ˜V a¨ WÑ-Ô-ˆÝ˜œ " Ñ&Ô&Ð&Ý˜œ " Ñ&Ô&Ð&Ð&Ð&r,   N)r—   r˜   r™   rE  rJ  rM  r�   r,   r*   rc  rc  g  sA   € € € € € ð7ð 7ð 7ð	"ð 	"ð 	"ð'ð 'ð 'ð 'ð 'r,   rc  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 re  )r   r   rQ   r8  s    r*   rE  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 )NrX   rF   rP   )r   r=  rG  r   rH  r   rI  r?  s     r*   rJ  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™   rE  rJ  r�   r,   r*   ri  ri  ƒ  s2   € € € € € ð8ð 8ð 8ð	#ð 	#ð 	#ð 	#ð 	#r,   ri  c                   ó’   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_abcd_normalizec                 óì   — 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 )Nr«   r®   r¬   rÈ   rÁ   r­   ç      @)r   rQ   r7   r8   r´   rµ   r8  s    r*   Úsetup_methodz Test_abcd_normalize.setup_method—  si   € Ý”˜C ˜:¨¨S zÐ2Ñ3Ô3ˆŒÝ”˜D˜6 C 5˜/Ñ*Ô*ˆŒÝ”˜C ˜:˜,Ñ'Ô'ˆŒÝ”˜C˜5˜'Ñ"Ô"ˆŒˆˆr,   c                 ó:   — t          t          t          ¦  «         d S rÙ   )r‹   r!   r   r8  s    r*   Útest_no_matrix_failsz(Test_abcd_normalize.test_no_matrix_fails�  s   € Ý•j¥.Ñ1Ô1Ð1Ð1Ð1r,   c                 ód   — t          t          t          ddg| j        | j        | j        ¦  «         d S )NrX   rZ   )r‹   r!   r   r8   r´   rµ   r8  s    r*   Útest_A_nosquare_failsz)Test_abcd_normalize.test_A_nosquare_fails   s5   € Ý•j¥.°1°b°'Ø”f˜dœf d¤fñ	.ô 	.ð 	.ð 	.ð 	.r,   c                 ód   — t          t          t          | j        ddg| j        | j        ¦  «         d S ©NrZ   rc   ©r‹   r!   r   r7   r´   rµ   r8  s    r*   Útest_AB_mismatch_failsz*Test_abcd_normalize.test_AB_mismatch_fails¤  ó5   € Ý•j¥.°$´&¸2¸q¸'Ø”f˜dœfñ	&ô 	&ð 	&ð 	&ð 	&r,   c                 óh   — t          t          t          | j        | j        dgdgg| j        ¦  «         d S )NrÈ   r­   )r‹   r!   r   r7   r8   rµ   r8  s    r*   Útest_AC_mismatch_failsz*Test_abcd_normalize.test_AC_mismatch_fails¨  s9   € Ý•j¥.°$´&¸$¼&Ø�u˜s˜e�n d¤fñ	.ô 	.ð 	.ð 	.ð 	.r,   c           	      ód   — t          t          t          | j        | j        | j        ddg¦  «         d S )Nro  r   )r‹   r!   r   r7   r8   r´   r8  s    r*   Útest_CD_mismatch_failsz*Test_abcd_normalize.test_CD_mismatch_fails¬  s5   € Ý•j¥.°$´&¸$¼&Ø”f˜s A˜hñ	(ô 	(ð 	(ð 	(ð 	(r,   c                 ód   — t          t          t          | j        ddg| j        | j        ¦  «         d S rv  rw  r8  s    r*   Útest_BD_mismatch_failsz*Test_abcd_normalize.test_BD_mismatch_fails°  ry  r,   c                 ó  — t          | j        | j        | j        | j        ¦  «        \  }}}}t          || j        ¦  «         t          || j        ¦  «         t          || j        ¦  «         t          || j        ¦  «         d S rÙ   )r   r7   r8   r´   rµ   r   ©r6   r7   r8   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�Ý˜˜4œ6Ñ"Ô"Ð"Ý˜˜4œ6Ñ"Ô"Ð"Ý˜˜4œ6Ñ"Ô"Ð"Ý˜˜4œ6Ñ"Ô"Ð"Ð"Ð"r,   c                 óÈ  — t          | j        | j        ddgd¦  «        \  }}}}t          |j        d         |j        d         ¦  «         t          |j        d         |j        d         ¦  «         t          |j        d         |j        d         ¦  «         t          |j        d         |j        d         ¦  «         t          |j        d         |j        d         ¦  «         d S )NrX   r   )r   r7   r8   r   r   r�  s        r*   r©   zTest_abcd_normalize.test_shapes»  s·   € Ý# D¤F¨D¬F°Q¸°F¸AÑ>Ô>‰
ˆˆ1ˆa�Ý˜œ œ
 A¤G¨A¤JÑ/Ô/Ð/Ý˜œ œ
 A¤G¨A¤JÑ/Ô/Ð/Ý˜œ œ
 A¤G¨A¤JÑ/Ô/Ð/Ý˜œ œ
 A¤G¨A¤JÑ/Ô/Ð/Ý˜œ œ
 A¤G¨A¤JÑ/Ô/Ð/Ð/Ð/r,   c                 óz  — t          j        d¦  «        }t          j        d¦  «        }t          | j        ||¬¦  «        \  }}}}t	          || j        ¦  «         t	          ||¦  «         t	          ||¦  «         |j        d         |j        d         k    sJ ‚|j        d         | j        j        d         k    sJ ‚d S )N©rF   r   )r   r   ©r7   r8   rµ   r   rX   ©r   r¡   r   r7   r   r   )r6   ÚB_ÚD_r7   r8   r´   rµ   s          r*   Ú test_zero_dimension_is_not_none1z4Test_abcd_normalize.test_zero_dimension_is_not_none1Ã  s²   € ÝŒX�fÑÔˆÝŒX�fÑÔˆÝ# d¤f°°bÐ9Ñ9Ô9‰
ˆˆ1ˆa�Ý˜˜4œ6Ñ"Ô"Ð"Ý˜˜2ÑÔÐÝ˜˜2ÑÔÐØŒw�qŒz˜RœX aœ[Ò(Ð(Ð(Ð(ØŒw�qŒz˜TœVœ\¨!œ_Ò,Ð,Ð,Ð,Ð,Ð,r,   c                 óp  — t          j        d¦  «        }t          j        d¦  «        }t          | j        ||¬¦  «        \  }}}}t	          || j        ¦  «         t	          ||¦  «         t	          ||¦  «         |j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚d S )Nr…  )r   rF   ©r7   r8   r´   r   rX   r‡  )r6   rˆ  ÚC_r7   r8   r´   rµ   s          r*   Ú test_zero_dimension_is_not_none2z4Test_abcd_normalize.test_zero_dimension_is_not_none2Í  s°   € ÝŒX�fÑÔˆÝŒX�fÑÔˆÝ# d¤f°°bÐ9Ñ9Ô9‰
ˆˆ1ˆa�Ý˜˜4œ6Ñ"Ô"Ð"Ý˜˜2ÑÔÐÝ˜˜2ÑÔÐØŒw�qŒz˜RœX aœ[Ò(Ð(Ð(Ð(ØŒw�qŒz˜RœX aœ[Ò(Ð(Ð(Ð(Ð(Ð(r,   c                 ó(  — t          | j        | j        | j        ¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )N)r8   r´   rµ   r   rX   )r   r8   r´   rµ   r   r�  s        r*   Útest_missing_Az"Test_abcd_normalize.test_missing_A×  óŒ   € Ý# d¤f°´¸$¼&ÐAÑAÔA‰
ˆˆ1ˆa�ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<Ð<Ð<r,   c                 ó(  — t          | j        | j        | j        ¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )N)r7   r´   rµ   r   rX   )r   r7   r´   rµ   r   r�  s        r*   Útest_missing_Bz"Test_abcd_normalize.test_missing_BÝ  r‘  r,   c                 ó(  — t          | j        | j        | j        ¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )Nr†  r   rX   )r   r7   r8   rµ   r   r�  s        r*   Útest_missing_Cz"Test_abcd_normalize.test_missing_Cã  r‘  r,   c                 ó(  — t          | j        | j        | j        ¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )NrŒ  r   rX   )r   r7   r8   r´   r   r�  s        r*   Útest_missing_Dz"Test_abcd_normalize.test_missing_Dé  r‘  r,   c                 ó¶  — t          | j        | j        ¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )N)r´   rµ   r   rX   )r   r´   rµ   r   r�  s        r*   Útest_missing_ABz#Test_abcd_normalize.test_missing_ABï  sÍ   € Ý# d¤f°´Ð7Ñ7Ô7‰
ˆˆ1ˆa�ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw�qŒz˜QœW QœZÒ'Ð'Ð'Ð'ØŒw˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<ØŒw˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<Ð<Ð<r,   c                 óò  — t          | j        | 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 ‚|j        | j        j        d         | j        j        d         fk    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )N)r8   rµ   r   rX   )r   r8   rµ   r   r�  s        r*   Útest_missing_ACz#Test_abcd_normalize.test_missing_AC÷  óê   € Ý# d¤f°´Ð7Ñ7Ô7‰
ˆˆ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˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<ØŒw˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<Ð<Ð<r,   c                 óò  — t          | j        | 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 ‚|j        | j        j        d         | j        j        d         fk    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )N)r8   r´   r   rX   )r   r8   r´   r   r�  s        r*   Útest_missing_ADz#Test_abcd_normalize.test_missing_AD   rœ  r,   c                 óú  — t          | j        | j        ¬¦  «        \  }}}}|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚|j        d         sJ |j        d         ¦   «         ‚|j        | j        j        d         | j        j        d         fk    sJ ‚|j        | j        j        d         | j        j        d         fk    sJ ‚d S )N)r7   rµ   r   rX   )r   r7   rµ   r   r�  s        r*   Útest_missing_BCz#Test_abcd_normalize.test_missing_BC	  sí   € Ý# d¤f°´Ð7Ñ7Ô7‰
ˆˆ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Ð%Ð%˜1œ7 1œ:Ñ%Ô%Ð%ØŒw˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<ØŒw˜4œ6œ<¨œ?¨D¬F¬L¸¬OÐ<Ò<Ð<Ð<Ð<Ð<Ð<r,   c                 óH   — t          t          t          | j        ¬¦  «         d S )N)rµ   )r‹   r!   r   rµ   r8  s    r*   Útest_missing_ABC_failsz*Test_abcd_normalize.test_missing_ABC_fails  s   € Ý•j¥.°D´FÐ;Ñ;Ô;Ð;Ð;Ð;r,   c                 óT   — t          t          t          | j        | j        ¬¦  «         d S )N)r7   r´   )r‹   r!   r   r7   r´   r8  s    r*   Útest_missing_BD_failsz)Test_abcd_normalize.test_missing_BD_fails  ó#   € Ý•j¥.°D´F¸d¼fÐEÑEÔEÐEÐEÐEr,   c                 óT   — t          t          t          | j        | j        ¬¦  «         d S )N)r7   r8   )r‹   r!   r   r7   r8   r8  s    r*   Útest_missing_CD_failsz)Test_abcd_normalize.test_missing_CD_fails  r¥  r,   N)r—   r˜   r™   rp  rr  rt  rx  r{  r}  r  r‚  r©   rŠ  rŽ  r�  r“  r•  r—  r™  r›  rž  r   r¢  r¤  r§  r�   r,   r*   rm  rm  –  sf  € € € € € ð#ð #ð #ð2ð 2ð 2ð.ð .ð .ð&ð &ð &ð.ð .ð .ð(ð (ð (ð&ð &ð &ð#ð #ð #ð0ð 0ð 0ð-ð -ð -ð)ð )ð )ð=ð =ð =ð=ð =ð =ð=ð =ð =ð=ð =ð =ð=ð =ð =ð=ð =ð =ð=ð =ð =ð=ð =ð =ð<ð <ð <ðFð Fð FðFð Fð Fð Fð Fr,   rm  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 )NrX   ©rR  rX   r_   rS  ©r•   )r   rY   re   rk   rô   ©r
   r   r   )r6   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 )NrX   ©rR  rX   r_   r¬  )gÍÌÌÌÌÌÀiÓÿÿÿg33333UÀrô   r­  )r6   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 )NrX   r«  r¬  ù              ð?g      4@)	r
   r   r   Úpolyvalr½   r¾   Úlog10Úabsr   )r6   rÝ   r•   r®  r¯  Újwrë   r°  s           r*   Útest_03zTest_bode.test_038  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 )NrX   r«  r¬  r·  g     €f@)r
   r   r   r¸  r½   r¾   Úarctan2r   r   Úpir   )r6   rÝ   r•   r®  r¯  r»  rë   r´  s           r*   Útest_04zTest_bode.test_04C  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 ©NrX   r_   ro   ©r  )r
   r   Úlogspacer   r   )r6   rÝ   r  Ú
expected_wr•   r®  r¯  s          r*   Útest_05zTest_bode.test_05N  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 ©NrX   r   rF   rÃ  g{®Gáz„?©r
   r   ©r6   rÝ   r•   r®  r¯  s        r*   Útest_06zTest_bode.test_06X  sF   € õ �a�S˜1˜a˜&Ñ!Ô!ˆÝ˜V qÐ)Ñ)Ô)‰ˆˆ3�Ø�Œt�tŠ|ˆ|ˆ|ˆ|ˆ|ˆ|r,   c                 óV   — t          dgg d¢¦  «        }t          |d¬¦  «        \  }}}d S )NrX   )rX   r   rS  rF   rÃ  rÉ  rÊ  s        r*   Útest_07zTest_bode.test_07_  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^   rf   rk   rl   rm   rX   rY   rg   rS  r¬  i>þÿÿé   rô   )r
   r   r   rÄ  r   ÚminrÊ  s        r*   Útest_08zTest_bode.test_08e  sb   € å�RÐ2Ð2Ð2°AÑ6Ô6ˆØŸš¥b¤k°"°b¸#Ñ&>Ô&>˜Ñ?Ô?‰ˆˆ3�Ý�C ™JœJ¨°bÐ9Ñ9Ô9Ð9Ð9Ð9r,   c           	      óD  — 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          ¦   «         5 }|                     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º   rS  rÃ  é   rb   )r   rQ   r0   Ú	companionrü   r   rÚ   r   r
   r   r¹  Úsqrtr   )r6   r³   r7   r8   r´   rµ   rÜ   rÝ   r•   r®  r¯  Úexpected_magnitudes               r*   Útest_from_state_spacezTest_bode.test_from_state_spacek  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   Â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 )NrX   r³  r¬  )g®Gáz®ï?ró   gõÛ×�sF„?)çòÒMbX¹¿rI   rÝ  rô   ©r
   r   r   r   r   )r6   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 )NrX   r«  r¬  r·  )	r
   r   r   r¸  r½   r¾   r   r   r   ©r6   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   )r6   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   )r6   rÝ   r•   rß  s       r*   Útest_pole_zerozTest_freqresp.test_pole_zero¥  sD   € õ �a�S˜1˜a˜&Ñ!Ô!ˆÝ˜ !Ð$Ñ$Ô$‰ˆˆ1Ø�Œt�tŠ|ˆ|ˆ|ˆ|ˆ|ˆ|r,   c                 ód  — 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          ¦   «         5 }|                     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Ô  rS  rÃ  r·  rF   rP   )r   rQ   r0   rÖ  rü   r   rÚ   r   r
   r   r   r   r   )r6   r³   r7   r8   r´   rµ   rÜ   rÝ   r•   rß  r@  r<   s               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   Â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 )NrZ   rB   rX   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Û  )r   r   ),r�   Únumpyr   Únumpy.testingr   rš   r   r‹   Úscipy._lib._array_apir   r   r   Úscipy.signalr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   Úscipy.signal._filter_designr   Úscipy.linalgr0   r+   r.   rŸ   r×   r  r,  r;  rC  rc  ri  rm  r©  rÛ  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ð*W@ð W@ð W@ð W@ð W@ñ W@ô W@ð W@ðt[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#ð #ð #ð #ð #ñ #ô #ð #ð&CFð CFð CFð CFð CFñ CFô CFð CFðL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ð I3ð I3r,   