+
    LV-j?T  ã                   ó  € ^ RI t ^ RIt^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHtHtHtHtHtHtHtHtHtHtHtHt  ! R R4      t ! R R4      t ! R	 R
4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      tR# )é    N)Úraises)Úassert_array_almost_equalÚassert_almost_equalÚxp_assert_closeÚxp_assert_equal)ÚdlsimÚdstepÚdimpulseÚtf2zpkÚltiÚdltiÚ
StateSpaceÚTransferFunctionÚZerosPolesGainÚ	dfreqrespÚdbodeÚBadCoefficientsc                   óJ   a € ] tR t^t o R tR tR tR tR tR t	R t
RtV tR	# )
ÚTestDLTIc                ó@  € \         P                  ! R R.RR ..4      p\         P                  ! . RO. RO.4      p\         P                  ! RR..4      p\         P                  ! . RO.4      pRp\         P                  ! \         P                  ! ^ R^R7      R\         P                  3,          \         P
                  ! RR4      \         P
                  ! RR4      34      p\         P                  ! ^ R	^R7      p\         P                  ! . RO.4      P                  p\         P                  ! ^ ^ .R
R.RR.RR.RR..4      p	\        WW4V3Wg4      w  r«p\        W‹4       \        Wœ4       \        Wz4       \        R^4       V^ ^.R3,          p\         P                  ! RR	.4      p\        WW4V3WÞ4      w  r«p\        W‹4       \        Wœ4       \        V
4      \        V4      8X  g   Q h\         P                  ! RR.4      p\         P                  ! . RO4      p\         P                  ! . RO.4      P                  p\        VVR3VR ,          V4      w  r«\        W¸4       \        Wz4       \         P                  ! VR ,          4      pVP                  R!4      p\        VVR3VV4      w  r«\        W¸4       \        Wz4       \         P                  ! RR".4      p\         P                  ! R\         P                  ! ^4      ,          R#\         P                  ! ^4      ,          .4      pRp\         P                  ! . R$O.4      P                  p\        VVVR3VR ,          V4      w  r«\        W¸4       \        Wz4       \        ^.^^.4      p\        \        \        VV4       R# )%çÍÌÌÌÌÌì?çš™™™™™¹?ç        ç333333Ó?ç      à?g      @)ÚnumºNNNg{®Gáz„?ç       @ga2U0*©S?gü©ñÒMb@?g�ÇTÆ¿Ù?gkHÜcéCG?g'h“Ã'�ò?g9¶ž!ì@ç      ð?ù              ð?Nçš™™™™™É¿çš™™™™™¹¿©gš™™™™™Ù?r   r"   ©r   çš™™™™™©?r   ©r   r"   r   )é   é   gü©ñÒMb`¿)gü©ñÒMbP¿g²c#¯ëG¿g�êD2¤?gºÑŠo·?g#£YäÀ?g5–°6ÆN´¿g°b§¨mÓ¿)r(   é   é   )r   r   çš™™™™™É?)r   r   g£ªªªªª
@gÊqÇqÀg�Ð^B{	7@©r   r   )r'   ç      à¿y       €      ð¿)r   r   r   g      @g      @)ÚnpÚasarrayÚhstackÚlinspaceÚnewaxisÚfullÚarrayÚTr   r   ÚlenÚreshapeÚsqrtr   Úassert_raisesÚAttributeError)ÚselfÚaÚbÚcÚdÚdtÚuÚt_inÚ
yout_truthÚ
xout_truthÚtoutÚyoutÚxoutÚu_sparseÚt_sparser   ÚdenÚuflatÚzdÚpdÚkÚsystems   &                     Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/signal/tests/test_dltisys.pyÚ
test_dlsimÚTestDLTI.test_dlsim   s#  € ä�JŠJ˜˜c˜
 T¨3 KÐ0Ó1ˆÜ�JŠJÒ(Ò*:Ð;Ó<ˆÜ�JŠJ˜˜c˜
�|Ó$ˆÜ�JŠJÒ(Ð)Ó*ˆØˆô �IŠI”r—{’{ 1 c¨qÔ1°!´R·Z±Z°-Õ@Ü—w’w˜v tÓ,Ü—w’w˜v vÓ.ð0ó 1ˆô �{Š{˜1˜c qÔ)ˆô —X’Xò  ,ð -ó .÷ /0©að	 	ô
 —Z’Z ! Q Ø"(¨&Ð!1Ø")¨7Ð!3Ø"*¨IÐ!6Ø"+¨ZÐ!8ð	!:ó ;ˆ
ô ! !¨¨bÐ!1°1Ó;Ñˆ�Dä! *Ô3Ü! *Ô3Ü! $Ô-ô 	ˆi˜Ôð �a˜�V˜Q�Y•<ˆÜ—:’:˜s C˜jÓ)ˆä  !¨¨bÐ!1°8ÓFÑˆ�Dä! *Ô3Ü! *Ô3Ü�4‹yœC ›IÔ%Ð%Ð%ô �jŠj˜#˜t˜Ó%ˆÜ�jŠjšÓ)ˆÜ—X’Xò  2ð 3ó 4÷ 56±Að	 	ô ˜C  c˜?¨A¨d­G°TÓ:‰
ˆä! $Ô3Ü! $Ô-ô —
’
˜1˜T�7Ó#ˆØ—‘˜dÓ#ˆÜ˜C  c˜?¨E°4Ó8‰
ˆä! $Ô3Ü! $Ô-ô �XŠX�s˜D�kÓ"ˆÜ�XŠX�sœRŸWšW Q›ZÕ'¨´·²¸³
Õ):Ð;Ó<ˆØˆÜ—X’XÒ9Ð:Ó;×=Ñ=ˆ
ä˜B  A sÐ+¨Q¨t­W°dÓ;‰
ˆä! $Ô3Ü! $Ô-ô �a�S˜1˜a˜&Ó!ˆÜ”n¤e¨V°QÖ7ó    c                óJ  € \         P                  ! R R.RR ..4      p\         P                  ! . RO. R	O.4      p\         P                  ! RR..4      p\         P                  ! . R
O.4      pRp\         P                  ! . RO4      \         P                  ! . RO4      \         P                  ! . RO4      3p\        WW4V3^
R7      w  rx\        V4      ^8X  g   Q h\	        ^ \        V4      4       FI  p	W‰,          P
                  ^ ,          ^
8X  g   Q h\        W‰,          P                  4       Wi,          4       KK  	  R.RR.R3p
\         P                  ! . RO4      p\        V
^R7      w  rx\        V4      ^8X  g   Q h\        V^ ,          P                  4       V4       \        V
^ ,          V
^,          4      R,           p\        V^R7      w  rx\        V4      ^8X  g   Q h\        V^ ,          P                  4       V4       \        ^.^^.4      p\        \        \        V4       R# )r   r   r   r   ©Únr   Nr!   r#   r$   r&   )
r   ç{®Gáz¤?g9´Èv¾Ÿª?gM„O¯¤?gùNÌz1”ƒ?g½«0™¢¿gÿÌ >°ã·¿gW	’N�3Ä¿g€±ö+(Í¿g¢ÑGÓ¿)
r"   g333333³¿gV-²­¿g,Ôšæ§¨¿g»aÛ¢Ì¦¿g±QÖo&¦§¿g*œî†~·ª¿gIØ·“ˆ¯¿gŽ‡p,%Ô²¿g’ [W¶¿)
r   ç{®Gáz„¿g9´Èv¾ŸŠ¿gM„O¯„¿gùNÌz1”c¿g½«0™‚?gÿÌ >°ã—?gW	’N�3¤?g€±ö+(­?g¢ÑG³?)r   r   r   ©r   )r.   r/   r	   r6   ÚrangeÚshaper   Úflattenr   r   r9   r:   )r;   r<   r=   r>   r?   r@   Úyout_step_truthrE   rF   ÚiÚtfinÚyout_tfstepÚzpkinrO   s   &             rP   Ú
test_dstepÚTestDLTI.test_dstepg   sÎ  € ä�JŠJ˜˜c˜
 T¨3 KÐ0Ó1ˆÜ�JŠJÒ(Ò*:Ð;Ó<ˆÜ�JŠJ˜˜c˜
�|Ó$ˆÜ�JŠJÒ(Ð)Ó*ˆØˆô Ÿ:š:ò 'Dó Eô Ÿ:š:ò '7ó 8ô Ÿ:š:ò 'Bó Cð	Dˆô ˜A !¨Ð+¨rÔ2‰
ˆä�4‹y˜AŒ~Ðˆ~ä�qœ#˜d›)Ö$ˆAØ•7—=‘= Õ# rÔ)Ð)Ð)Ü% d¥g§o¡oÓ&7¸Õ9KÖLñ %ð
 �˜˜S�z 3Ð'ˆÜ—j’j¢Ó1ˆÜ˜4 1Ô%‰
ˆÜ�4‹y˜AŒ~Ðˆ~Ü! $ q¥'§/¡/Ó"3°[ÔAä�t˜A•w  Q¥Ó(¨6Õ1ˆÜ˜5 AÔ&‰
ˆÜ�4‹y˜AŒ~Ðˆ~Ü! $ q¥'§/¡/Ó"3°[ÔAô �a�S˜1˜a˜&Ó!ˆÜ”n¤e¨VÖ4rS   c                óJ  € \         P                  ! R R.RR ..4      p\         P                  ! . RO. R	O.4      p\         P                  ! RR..4      p\         P                  ! . R
O.4      pRp\         P                  ! . RO4      \         P                  ! . RO4      \         P                  ! . RO4      3p\        WW4V3^
R7      w  rx\        V4      ^8X  g   Q h\	        ^ \        V4      4       FI  p	W‰,          P
                  ^ ,          ^
8X  g   Q h\        W‰,          P                  4       Wi,          4       KK  	  R.RR.R3p
\         P                  ! . RO4      p\        V
^R7      w  rx\        V4      ^8X  g   Q h\        V^ ,          P                  4       V4       \        V
^ ,          V
^,          4      R,           p\        V^R7      w  rx\        V4      ^8X  g   Q h\        V^ ,          P                  4       V4       \        ^.^^.4      p\        \        \        V4       R# )r   r   r   r   rU   r   Nr!   r#   r$   r&   )
r   rW   gú~j¼t“ˆ?gàœ¥½Á‡¿g†r¢]…”Ÿ¿g{¿ÑŽ~§¿gBî"LQ.­¿g°E_nƒ°¿gRPÉº1�±¿g‰ã1%Èÿ±¿)
r"   gš™™™™™™?gœÄ °rh‘?g±¿ìž<,„?gd’‘³°§m?gZÕ’Žr0[¿gÍSÂ¸ÀŠx¿g^³¦ÃTDƒ¿gg#„Ú~ˆ¿g}T`�³Œ¿)
r   rX   gú~j¼t“h¿gàœ¥½Ág?g†r¢]…”?g{¿ÑŽ~‡?gBî"LQ.�?g°E_nƒ�?gRPÉº1�‘?g‰ã1%Èÿ‘?)r   r   g      ð¿rY   )r.   r/   r
   r6   rZ   r[   r   r\   r   r   r9   r:   )r;   r<   r=   r>   r?   r@   Úyout_imp_truthrE   rF   r^   r_   Úyout_tfimpulsera   rO   s   &             rP   Útest_dimpulseÚTestDLTI.test_dimpulse”   sÑ  € ä�JŠJ˜˜c˜
 T¨3 KÐ0Ó1ˆÜ�JŠJÒ(Ò*:Ð;Ó<ˆÜ�JŠJ˜˜c˜
�|Ó$ˆÜ�JŠJÒ(Ð)Ó*ˆØˆô Ÿ*š*ò &Có Dô Ÿ*š*ò &Dó Eô Ÿ*š*ò &Aó BðCˆô ˜q Q¨2Ð.°"Ô5‰
ˆä�4‹y˜AŒ~Ðˆ~ä�qœ#˜d›)Ö$ˆAØ•7—=‘= Õ# rÔ)Ð)Ð)Ü% d¥g§o¡oÓ&7¸Õ9JÖKñ %ð
 �˜˜S�z 3Ð'ˆÜŸšÒ$4Ó5ˆÜ˜d aÔ(‰
ˆÜ�4‹y˜AŒ~Ðˆ~Ü! $ q¥'§/¡/Ó"3°^ÔDä�t˜A•w  Q¥Ó(¨6Õ1ˆÜ˜e qÔ)‰
ˆÜ�4‹y˜AŒ~Ðˆ~Ü! $ q¥'§/¡/Ó"3°^ÔDô �a�S˜1˜a˜&Ó!ˆÜ”n¤h°Ö7rS   c                ó  € \         P                  ! R ..4      p\         P                  ! R ..4      p\         P                  ! R ..4      p\         P                  ! R ..4      p^p\         P                  ! V4      P                  R^4      p\	        WW4^3V4      w  rxp	\        V\         P                  ! \        V4      4      4       \        V\         P                  ! V^34      4       \        V	\         P                  ! V^34      4       R# )r   Néÿÿÿÿ©r.   r4   Úzerosr7   r   r   ÚarangeÚfloat)
r;   r<   r=   r>   r?   rV   rA   rE   rF   rG   s
   &         rP   Útest_dlsim_trivialÚTestDLTI.test_dlsim_trivialÀ   sÅ   € Ü�HŠH�s�e�WÓˆÜ�HŠH�s�e�WÓˆÜ�HŠH�s�e�WÓˆÜ�HŠH�s�e�WÓˆØˆÜ�HŠH�Q‹K×Ñ  AÓ&ˆÜ  !¨¨a °!Ó4Ñˆ�DÜ˜œbŸiši¬¨a«Ó1Ô2Ü˜œbŸhšh¨¨1 vÓ.Ô/Ü˜œbŸhšh¨¨1 vÓ.Ö/rS   c                ó(  € \         P                  ! R ..4      p\         P                  ! R..4      p\         P                  ! R..4      p\         P                  ! R..4      p^p\         P                  ! V4      P                  R^4      p\	        WW4^3V^R7      w  rxp	\        V\         P                  ! \        V4      4      4       R \         P                  ! \        V4      4      ,          P                  R^4      p
\        WŠ4       \        Wš4       R# )r   r   r   ©Úx0Nrj   rk   )r;   r<   r=   r>   r?   rV   rA   rE   rF   rG   Úexpecteds   &          rP   Útest_dlsim_simple1dÚTestDLTI.test_dlsim_simple1dÌ   sÍ   € Ü�HŠH�s�e�WÓˆÜ�HŠH�s�e�WÓˆÜ�HŠH�s�e�WÓˆÜ�HŠH�s�e�WÓˆØˆÜ�HŠH�Q‹K×Ñ  AÓ&ˆÜ  !¨¨a °!¸Ô:Ñˆ�DÜ˜œbŸiši¬¨a«Ó1Ô2Øœ2Ÿ9š9¤U¨1£XÓ.Õ.×7Ñ7¸¸AÓ>ˆÜ˜Ô'Ü˜Ö'rS   c                ór  € R pRp\         P                  ! VR.RV..4      p\         P                  ! R.R..4      p\         P                  ! RR.RR..4      p\         P                  ! R.R..4      p^p\         P                  ! V4      P                  R^4      p\	        W4WV^3V^R7      w  ršp\        V	\         P                  ! \        V4      4      4       \         P                  ! W.4      \         P                  ! \        V4      4      P                  R^4      ,          p\        W¬4       \        W¼4       R# )r   g      Ð?r   r   rr   Nrj   rk   )r;   Úlambda1Úlambda2r<   r=   r>   r?   rV   rA   rE   rF   rG   rt   s   &            rP   Útest_dlsim_simple2dÚTestDLTI.test_dlsim_simple2dÙ   s  € ØˆØˆÜ�HŠH�w �nØ˜G�nð&ó 'ˆä�HŠH�s�eØ�eðó ˆä�HŠH�s˜C�jØ˜C�jð"ó #ˆä�HŠH�s�eØ�eðó ˆàˆÜ�HŠH�Q‹K×Ñ  AÓ&ˆÜ  !¨¨a °!¸Ô:Ñˆ�DÜ˜œbŸiši¬¨a«Ó1Ô2ä—H’H˜gÐ/Ó0Ü "§	¢	¬%°«(Ó 3× ;Ñ ;¸BÀÓ BõCˆä˜Ô'Ü˜Ö'rS   c                ó�  € R pRp\         P                  ! VR.RV..4      p\         P                  ! RR.RR..4      p\         P                  ! RR..4      p\         P                  ! RR..4      p^
p\        W4WV^3VR7      w  r‰R^V,
          ,          RV\         P                  ! V4      ,          ,
          ,          p
R^V,
          ,          RV\         P                  ! V4      ,          ,
          ,          p\	        V	^ ,          R	,          V
4       \	        V	^,          R	,          V4       \         P                  ! RR.4      p\        W4WV^3W|R7      w  rÞ\         P                  ! W.4      \         P                  ! R
V^,           4      P                  R
^4      ,          pRVR&   VRV1^ 3,          \         P                  ! V^V^,           1R3,          V4      ,           pVRV1^3,          \         P                  ! V^V^,           1R3,          V4      ,           p\	        V^ ,          R	,          V4       \	        V^,          R	,          V4       R.RR.R3p\        V^R7      w  pw  p\	        V. RO4       \        VP                  . RO.4       \        V^R7      w  pw  p\	        V. RO4       \        VP                  . RO.4       R# )r   g      è?r   r   rU   r   )rV   rs   Nr   r,   rj   )r   r   r-   )r   r   r+   )r   r   g      ø?)r   r(   r   )
r.   r4   r	   rm   r   r
   r7   Údotr   r5   )r;   rx   ry   r<   r=   r>   r?   rV   ÚtsÚysÚstp0Ústp1rs   ÚtiÚyiÚimpÚy0Úy1rO   ÚtÚys   &                    rP   Útest_more_step_and_impulseÚ#TestDLTI.test_more_step_and_impulseî   sZ  € ØˆØˆÜ�HŠH�w �nØ˜G�nð&ó 'ˆä�HŠH�s˜C�jØ˜C�jð"ó #ˆä�HŠH�s˜C�j�\Ó"ˆÜ�HŠH�s˜C�j�\Ó"ˆàˆô ˜˜a A�¨!Ô,‰ˆð �q˜7•{Õ#¨¨g¼¿ºÀ1»Õ.EÕ(EÕFˆØ�q˜7•{Õ#¨¨g¼¿ºÀ1»Õ.EÕ(EÕFˆä˜˜1�˜d� TÔ*Ü˜˜1�˜d� TÔ*ô �XŠX�s˜C�jÓ!ˆÜ˜1  q˜/¨QÔ6‰ˆô �xŠx˜Ð*Ó+ÜŸIšI b¨!¨a­%Ó0×8Ñ8¸¸QÓ?õ@ˆàˆˆD‰	à��!��Q��Zœ"Ÿ&š&  Q q¨1¥u W¨a Z¥°"Ó5Õ5ˆØ��!��Q��Zœ"Ÿ&š&  Q q¨1¥u W¨a Z¥°"Ó5Õ5ˆä˜˜1�˜d� RÔ(Ü˜˜1�˜d� RÔ(ð �%˜#˜t˜ cÐ*ˆÜ˜ !Ô$‰ˆ‰4ˆAÜ˜š=Ô)Ü˜Ÿ™šm˜_Ô-Ü˜6 QÔ'‰ˆ‰4ˆAÜ˜š=Ô)Ü˜Ÿ™šk˜]Ö+rS   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rQ   rb   rg   ro   ru   rz   r‰   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @rP   r   r      s1   ø‡ € òS8òj+5òZ*8òX
0ò(ò(÷*,,ð ,,rS   r   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestDltii  c           	     ó<  € R p\        ^.R.VR7      p\        V\        4      '       g   Q h\        V\         4      '       g   Q h\        V\        4      '       d   Q hVP                  V8X  g   Q h\        \
        P                  ! . 4      \
        P                  ! R.4      ^VR7      p\        V\        4      '       g   Q h\        V\         4      '       g   Q h\        V\        4      '       d   Q hVP                  V8X  g   Q h\        ^.R.^^VR7      p\        V\        4      '       g   Q h\        V\         4      '       g   Q h\        V\        4      '       d   Q hVP                  V8X  g   Q h\        \        \         ^4       \        \        \         ^^^^^4       R# )r%   ©r@   Nrj   )r   Ú
isinstancer   r   r@   r.   r4   r   r   r9   Ú
ValueError)r;   r@   Úss   &  rP   Útest_dlti_instantiationÚ TestDlti.test_dlti_instantiation  sU  € ð ˆä�!��r�d˜rÔ"ˆÜ˜!Ô-×.Ò.Ð.Ð.Ü˜!œT×"Ò"Ð"Ð"Ü˜a¤×%Ò%Ð%Ð%Ø�t‰t�rŒzÐˆzô ”—’˜"“œrŸxšx¨¨›~¨q°RÔ8ˆÜ˜!œ^×,Ò,Ð,Ð,Ü˜!œT×"Ò"Ð"Ð"Ü˜a¤×%Ò%Ð%Ð%Ø�t‰t�rŒzÐˆzô �!��r�d˜A˜q RÔ(ˆÜ˜!œZ×(Ò(Ð(Ð(Ü˜!œT×"Ò"Ð"Ð"Ü˜a¤×%Ò%Ð%Ð%Ø�t‰t�rŒzÐˆzô 	”j¤$¨Ô*Ü”j¤$¨¨1¨a°°AÖ6rS   r‹   N)rŒ   r�   rŽ   r�   r›   r�   r‘   r’   s   @rP   r•   r•     s   ø‡ € ÷7ð 7rS   r•   c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚTestStateSpaceDisci<  c                óP  € R p\        ^^^^VR7       \        ^.^.^.^.VR7       \        \        P                  ! ^^.^^..4      \        P                  ! ^.^..4      \        P                  ! ^^ ..4      \        P                  ! ^ ..4      VR7       \        ^^^^RR7       R# ©r%   r—   TN)r   r.   r4   ©r;   r@   s   & rP   Útest_initializationÚ&TestStateSpaceDisc.test_initialization=  s”   € àˆÜ�1�a˜˜A "Õ%Ü�A�3˜˜˜a˜S 1 #¨"Õ-Ü”2—8’8˜a ˜V a¨ VÐ,Ó-¬r¯xªx¸!¸¸q¸c¸
Ó/CÜ—8’8˜a ˜V˜HÓ%¤r§x¢x°!°°£¸2õ	?ä�1�a˜˜A $×'rS   c                óX  € \        ^^^^RR7      p\        VP                  4       \         4      '       g   Q h\        VP                  4       \        4      '       g   Q h\        VP                  4       \        4      '       g   Q h\        V4      VJg   Q hVP                  4       VJg   Q hR# ©r(   r%   r—   N)r   r˜   Úto_ssÚto_tfr   Úto_zpkr   ©r;   rš   s   & rP   Útest_conversionÚ"TestStateSpaceDisc.test_conversionF  sˆ   € ä�q˜!˜Q  dÔ+ˆÜ˜!Ÿ'™'›)¤Z×0Ò0Ð0Ð0Ü˜!Ÿ'™'›)Ô%5×6Ò6Ð6Ð6Ü˜!Ÿ(™(›*¤n×5Ò5Ð5Ð5ô ˜!‹} AÓ%Ð%Ð%Ø�w‰w‹y Ó!Ð!Ò!rS   c                ó‚   € \        ^^^^RR7      p\        VP                  R.4       \        VP                  R.4       R# )r(   r%   r—   r   r   N)r   r   Úpolesrl   r©   s   & rP   Útest_propertiesÚ"TestStateSpaceDisc.test_propertiesQ  s6   € ô
 �q˜!˜Q  dÔ+ˆÜ˜Ÿ™ " Ô&Ü˜Ÿ™ " Ö&rS   r‹   N©	rŒ   r�   rŽ   r�   r¢   rª   r®   r�   r‘   r’   s   @rP   rž   rž   <  s   ø‡ € ò(ò	"÷'ð 'rS   rž   c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚTestTransferFunctioni[  c                óÒ   € R p\        ^^VR7       \        ^.^.VR7       \        \        P                  ! ^.4      \        P                  ! ^.4      VR7       \        ^^RR7       R# r    )r   r.   r4   r¡   s   & rP   r¢   Ú(TestTransferFunction.test_initialization\  sO   € àˆÜ˜˜A "Õ%Ü˜!˜˜q˜c bÕ)ÜœŸš 1 #›¬¯ª°!°«¸"Õ=Ü˜˜A $×'rS   c                ó\  € \        ^^ .^R.RR7      p\        VP                  4       \        4      '       g   Q h\        VP	                  4       \         4      '       g   Q h\        VP                  4       \        4      '       g   Q h\        V4      VJg   Q hVP	                  4       VJg   Q hR# )r(   r%   r—   Nrj   )r   r˜   r¦   r   r§   r¨   r   r©   s   & rP   rª   Ú$TestTransferFunction.test_conversiond  s�   € ä˜a ˜V a¨ W°Ô6ˆÜ˜!Ÿ'™'›)¤Z×0Ò0Ð0Ð0Ü˜!Ÿ'™'›)Ô%5×6Ò6Ð6Ð6Ü˜!Ÿ(™(›*¤n×5Ò5Ð5Ð5ô   Ó"¨!Ó+Ð+Ð+Ø�w‰w‹y Ó!Ð!Ò!rS   c                ó†   € \        ^^ .^R.RR7      p\        VP                  R.4       \        VP                  R.4       R# )r(   r%   r—   r   r   Nrj   )r   r   r­   rl   r©   s   & rP   r®   Ú$TestTransferFunction.test_propertieso  s:   € ô
 ˜a ˜V a¨ W°Ô6ˆÜ˜Ÿ™ " Ô&Ü˜Ÿ™ " Ö&rS   r‹   Nr°   r’   s   @rP   r²   r²   [  s   ø‡ € ò(ò	"÷'ð 'rS   r²   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestZerosPolesGainiy  c                óÚ   € R p\        ^^^VR7       \        ^.^.^VR7       \        \        P                  ! ^.4      \        P                  ! ^.4      ^VR7       \        ^^^RR7       R# r    )r   r.   r4   r¡   s   & rP   r¢   Ú&TestZerosPolesGain.test_initializationz  sW   € àˆÜ�q˜!˜Q 2Õ&Ü˜�s˜Q˜C  rÕ*Ü”r—x’x  “}¤b§h¢h°¨s£m°Q¸2Õ>Ü�q˜!˜Q 4×(rS   c                óV  € \        ^^^RR7      p\        VP                  4       \        4      '       g   Q h\        VP	                  4       \
        4      '       g   Q h\        VP                  4       \         4      '       g   Q h\        V4      VJg   Q hVP                  4       VJg   Q hR# r¥   )r   r˜   r¦   r   r§   r   r¨   r©   s   & rP   rª   Ú"TestZerosPolesGain.test_conversion‚  s‡   € ä˜1˜a  tÔ,ˆÜ˜!Ÿ'™'›)¤Z×0Ò0Ð0Ð0Ü˜!Ÿ'™'›)Ô%5×6Ò6Ð6Ð6Ü˜!Ÿ(™(›*¤n×5Ò5Ð5Ð5ô ˜aÓ ¨Ó)Ð)Ð)Ø�x‰x‹z Ó"Ð"Ò"rS   r‹   N)rŒ   r�   rŽ   r�   r¢   rª   r�   r‘   r’   s   @rP   rº   rº   y  s   ø‡ € ò)÷	#ð 	#rS   rº   c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )ÚTest_dfreqrespiŽ  c                óº   € \        ^^R.RR7      p. ROp\        WR7      w  r#. ROp\        VP                  V^R7       . R	Op\        VP                  V^R7       R# )
r(   r   r—   ©Úw©ÚdecimalNr!   )r   r(   é
   )gU0*©Ðó?g;ßO�—nÚ?gÏfÕçj+è¿)g�•C‹lçÃ¿g�&Â†§Wð¿gZd;ßOÙ?)r   r   r   ÚrealÚimag)r;   rO   rÃ   ÚHÚexpected_reÚexpected_ims   &     rP   Útest_manualÚTest_dfreqresp.test_manual�  sU   € ô " ! a¨ Y°3Ô7ˆÚˆÜ˜Ô%‰ˆò 0ˆÜ˜AŸF™F K¸Õ;ò 1ˆÜ˜AŸF™F K¸×;rS   c                óš  € \        ^^R.RR7      p. ROp\        WR7      w  r#\        P                  ! VR,          4      p\        P                  ! VP
                  V4      \        P                  ! VP                  V4      ,          pVP                  p\        VP                  V4       VP                  p\        VP                  V4       R# )r(   r   r—   rÂ   r    Nr!   ©r   r(   rÆ   éd   )
r   r   r.   ÚexpÚpolyvalr   rJ   rÇ   r   rÈ   )r;   rO   rÃ   rÉ   Újwrˆ   rÊ   rË   s   &       rP   Ú	test_autoÚTest_dfreqresp.test_autoŸ  s’   € ô " ! a¨ Y°3Ô7ˆÚˆÜ˜Ô%‰ˆÜ�VŠV�A˜•F‹^ˆÜ�JŠJ�v—z‘z 2Ó&¬¯ª°F·J±JÀÓ)CÕCˆð —f‘fˆÜ˜AŸF™F KÔ0ð —f‘fˆÜ˜AŸF™F KÖ0rS   c                ó¬   € \        ^^R.RR7      p^
p\        P                  ! ^ \        P                  ^
RR7      p\	        WR7      w  rE\        WC4       R# )r(   r   r—   F©ÚendpointrU   Nr!   )r   r.   r1   Úpir   r   )r;   rO   rV   Ú
expected_wrÃ   rÉ   s   &     rP   Útest_freq_rangeÚTest_dfreqresp.test_freq_range°  sG   € ô " ! a¨ Y°3Ô7ˆØˆÜ—[’[ ¤B§E¡E¨2¸Ô>ˆ
Ü˜Ô%‰ˆÜ˜AÖ*rS   c                óH  € \        ^.^R	.RR7      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        4       \        P                  ! RR\        4       \        V^R7      w  r#RRR4       X^ ,          R8X  g   Q hR#   + '       g   i     L"; i©
r(   r   r—   Úignorezdivide by zerozinvalid value encounteredrU   Nr   rj   )r   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr   )r;   rO   rÃ   rÉ   s   &   rP   Útest_pole_oneÚTest_dfreqresp.test_pole_oneº  s   € ô " 1 #¨¨2 w°3Ô7ˆä×$Ò$×&Õ&Ü×#Ò# HÐ.>ÄÔOÜ×#Ò#ØÐ5´~ôGä˜V qÔ)‰DˆA÷	 'ð
 ��t�rŒzÐŠz÷ '×&ús   ¯ABÂB!	c                óN   € \        ^.^^.4      p\        \        \        V4       R# ©r(   N)r   r9   r:   r   ©r;   rO   s   & rP   Ú
test_errorÚTest_dfreqresp.test_errorÆ  s    € ä�a�S˜1˜a˜&Ó!ˆÜ”n¤i°Ö8rS   c                ó,  € \        ^.. RO4      p\        P                  ! . RO. RO. R	O.4      p\        P                  ! . RO.4      P                  p\        P                  ! . R
O.4      p^ p\        W#WE4      pR\        P                  ! R^ R4      ,          p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       \        WR7      w  r‰\        WgR7      w  r«RRR4       \        X	X4       R#   + '       g   i     L; i)r)   r   g      $@rß   rÂ   N)r(   r-   r   r   )r   r   r   )r(   r   r   )r   r(   r   )r   r   r)   éýÿÿÿ)r   r.   r4   r5   rm   rà   rá   Úsimplefilterr   r   r   )r;   Ú	system_TFÚAÚBÚCÚDÚ	system_SSrÃ   Úw1ÚH1Úw2ÚH2s   &           rP   Útest_from_state_spaceÚ$Test_dfreqresp.test_from_state_spaceË  sÎ   € ô ˜!˜šoÓ.ˆ	ä�HŠH’kÚÚð!ó "ˆô �HŠH’i�[Ó!×#Ñ#ˆÜ�HŠH’i�[Ó!ˆØˆä˜˜qÓ$ˆ	Ø”"—)’)˜B˜q Ó$Õ$ˆÜ×$Ò$×&Õ&Ü×!Ò! (¬OÔ<Ü˜yÔ.‰FˆBÜ˜yÔ.‰FˆB÷ 'ô
 	˜B Ö#÷ '×&ús   Â58DÄD	c                ó”   € \        . R .R4      p\        R^R.4      p. ROp\        WR7      w  rE\        W#R7      w  rg\        WW4       R# )r+   r   rÂ   Nr!   rÏ   )r   r   r   )r;   Ú
system_ZPKrî   rÃ   rô   rõ   rö   r÷   s   &       rP   Útest_from_zpkÚTest_dfreqresp.test_from_zpkà  sG   € ä˜"˜c˜U 3Ó'ˆ
Ü˜˜q $˜iÓ(ˆ	ÚˆÜ˜:Ô+‰ˆÜ˜9Ô*‰ˆÜ˜BÖ#rS   r‹   N)rŒ   r�   rŽ   r�   rÌ   rÔ   rÛ   rä   ré   rø   rü   r�   r‘   r’   s   @rP   rÀ   rÀ   Ž  s-   ø‡ € ò<ò1ò"+ò
ò9ò
$÷*$ð $rS   rÀ   c                   óD   a € ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
Ú	Test_bodeiê  c                ó  € R p\        R^R.VR7      pR R^\        P                  .p\        W#R7      w  rEp. ROp\	        WW^R7       . R	Op\	        Wh^R7       \        \        P                  ! V4      V,          V4       R# )
r   r   r—   r   rÂ   rÄ   Nr!   )g©ÐDØ!Àgvqà­!Àg$—ÿ�~;#Àg¾0™*(À)gáz®G¡ÀgŒJê¤AÀg_)ËÇþPÀg     €fÀ)r   r.   rÙ   r   r   r   r4   )	r;   r@   rO   rÃ   rö   ÚmagÚphaseÚexpected_magÚexpected_phases	   &        rP   rÌ   ÚTest_bode.test_manualì  sw   € ð ˆÜ! #¨¨4 y°RÔ8ˆØ�#�qœ"Ÿ%™%Ð ˆÜ˜vÔ+‰ˆ�ò =ˆÜ˜C°qÕ9ò BˆÜ˜E¸1Õ=ô 	œŸš › bÕ(¨"Ö-rS   c                ó(  € \        R ^R.RR7      p\        P                  ! RR^\        P                  .4      p\	        WR7      w  r4p\        P
                  ! VR,          4      p\        P                  ! VP                  V4      \        P                  ! VP                  V4      ,          pR\        P                  ! \        V4      4      ,          p\        WH4       \        P                  ! \        P                  ! V4      4      p	\        WY4       R# )	r   r   r—   r   rÂ   r    g      4@Nr!   )r   r.   r4   rÙ   r   rÑ   rÒ   r   rJ   Úlog10Úabsr   Úrad2degÚangle)
r;   rO   rÃ   rö   r  r  rÓ   rˆ   r  r  s
   &         rP   rÔ   ÚTest_bode.test_autoÿ  s¹   € ô " #¨¨4 y°SÔ9ˆÜ�HŠH�c˜3 ¤2§5¡5Ð)Ó*ˆÜ˜vÔ+‰ˆ�Ü�VŠV�A˜•F‹^ˆÜ�JŠJ�v—z‘z 2Ó&¬¯ª°F·J±JÀÓ)CÕCˆð œbŸhšh¤s¨1£vÓ.Õ.ˆÜ˜CÔ.ô Ÿš¤B§H¢H¨Q£KÓ0ˆÜ˜EÖ2rS   c                óÀ   € R p\        R^R.R R7      p^
p\        P                  ! ^ \        P                  VRR7      V,          p\	        W#R7      w  rVp\        WT4       R# )r   r   r—   Fr×   rU   Nr!   )r   r.   r1   rÙ   r   r   )r;   r@   rO   rV   rÚ   rÃ   r  r  s   &       rP   Ú
test_rangeÚTest_bode.test_range  sS   € ð ˆÜ! #¨¨4 y°SÔ9ˆØˆä—[’[ ¤B§E¡E¨1°uÔ=ÀÕBˆ
Ü˜fÔ*‰ˆ�Ü˜AÖ*rS   c                óJ  € \        ^.^R	.RR7      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        4       \        P                  ! RR\        4       \        V^R7      w  r#pRRR4       X^ ,          R8X  g   Q hR#   + '       g   i     L"; irÞ   )r   rà   rá   râ   rã   r   )r;   rO   rÃ   r  r  s   &    rP   rä   ÚTest_bode.test_pole_one  s�   € ô " 1 #¨¨2 w°3Ô7ˆä×$Ò$×&Õ&Ü×#Ò# HÐ.>ÄÔOÜ×#Ò#ØÐ5´~ôGä! &¨AÔ.‰MˆA�E÷	 'ð
 ��t�rŒzÐŠz÷ '×&ús   ¯A	BÂB"	c                óB   € \        ^.. RORR7      p\        V^R7       R# )r(   r   r—   rU   N)r(   r   rÐ   )r   r   rè   s   & rP   Útest_imaginaryÚTest_bode.test_imaginary'  s   € ô " 1 #¢{°sÔ;ˆÜˆf˜×rS   c                óN   € \        ^.^^.4      p\        \        \        V4       R# rç   )r   r9   r:   r   rè   s   & rP   ré   ÚTest_bode.test_error-  s    € ä�a�S˜1˜a˜&Ó!ˆÜ”n¤e¨VÖ4rS   r‹   N)rŒ   r�   rŽ   r�   rÌ   rÔ   r  rä   r  ré   r�   r‘   r’   s   @rP   rÿ   rÿ   ê  s(   ø‡ € ò.ò&3ò"	+ò
ò÷5ð 5rS   rÿ   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )ÚTestTransferFunctionZConversioni3  z=Test private conversions between 'z' and 'z**-1' polynomials.c                ó  € \         P                  ! . RO4      p\         P                  ! . RO4      p\        P                  ! W4      w  r4\	        W4       \	        W$4       \        P
                  ! W4      w  r4\	        W4       \	        W$4       R# )r   N©r   r*   é   )ç      @é   é   ©r.   r/   r   Ú
_z_to_zinvr   Ú
_zinv_to_z©r;   r   rJ   Únum2Úden2s   &    rP   Ú	test_fullÚ)TestTransferFunctionZConversion.test_full6  sb   € ä�jŠjšÓ%ˆÜ�jŠjšÓ%ˆÜ%×0Ò0°Ó:‰
ˆÜ˜Ô"Ü˜Ô"ä%×0Ò0°Ó:‰
ˆÜ˜Ô"Ü˜Ö"rS   c                ó*  € \         P                  ! R ^.4      p\         P                  ! . RO4      p\        P                  ! W4      w  r4\	        . ROV4       \	        W$4       \        P
                  ! W4      w  r4\	        . ROV4       \	        W$4       R# )r   N)é2   r  r  )r   r)   r*   )r   r*   r   r  r!  s   &    rP   Útest_numeratorÚ.TestTransferFunctionZConversion.test_numeratorB  sj   € ä�jŠj˜#˜q˜Ó"ˆÜ�jŠjšÓ$ˆÜ%×0Ò0°Ó:‰
ˆÜš TÔ*Ü˜Ô"ä%×0Ò0°Ó:‰
ˆÜš TÔ*Ü˜Ö"rS   c                ó*  € \         P                  ! . RO4      p\         P                  ! R^.4      p\        P                  ! W4      w  r4\	        W4       \	        . ROV4       \        P
                  ! W4      w  r4\	        W4       \	        . ROV4       R# )r   r  Nr  )r   r'   r  )r  r  r   r  r!  s   &    rP   Útest_denominatorÚ0TestTransferFunctionZConversion.test_denominatorN  sj   € ä�jŠjšÓ$ˆÜ�jŠj˜#˜q˜Ó"ˆÜ%×0Ò0°Ó:‰
ˆÜ˜Ô"Üš TÔ*ä%×0Ò0°Ó:‰
ˆÜ˜Ô"Üš TÖ*rS   r‹   N)
rŒ   r�   rŽ   r�   Ú__doc__r$  r(  r+  r�   r‘   r’   s   @rP   r  r  3  s   ø‡ € ÙGò
#ò
#÷
+ð 
+rS   r  ) rà   Únumpyr.   Úpytestr   r9   Úscipy._lib._array_apir   r   r   r   Úscipy.signalr   r	   r
   r   r   r   r   r   r   r   r   r   r   r•   rž   r²   rº   rÀ   rÿ   r  r‹   rS   rP   Ú<module>r2     s‡   ðó ã Ý *÷ó ÷=÷ =÷ =ó =÷
J,ñ J,÷Z7ñ 7÷>'ñ '÷>'ñ '÷<#ñ #÷*Y$ñ Y$÷xF5ñ F5÷R%+ó %+rS   