+
    LV-j&‡  ã                   óD  € ^ RI t ^ RIt^ RIHtHt ^ RIt^ RIHt ^ RI	H
t
 ^ RI	HtHt ^ RI	HtHt ^ RI	HtHtHt ^ RIHt ^ R	IHt ]]]P0                  ]]P4                  .tR
 t ! R R4      t ! R R4      t ! R R4      t ! R R4      t R t!R t"R t# ! R R4      t$R# )é    N)Úassert_array_almost_equalÚassert_allclose)Úraises)Úsolve_sylvester)Úsolve_continuous_lyapunovÚsolve_discrete_lyapunov)Úsolve_continuous_areÚsolve_discrete_are)Ú
block_diagÚsolveÚLinAlgError)Úmatrix)Úskip_xp_invalid_argc                ól  € \         P                  P                  \         P                  P                  \         P                  P	                  \
        4      4      RV 4      p\        P                  ! V4      ;_uu_ 4       p\        VP                  4       4      uuRRR4       #   + '       g   i     R# ; i)zc
Load npz data file under data/
Returns a copy of the data, rather than keeping the npz file open.
ÚdataN)
ÚosÚpathÚjoinÚabspathÚdirnameÚ__file__ÚnpÚloadÚdictÚitems)ÚnameÚfilenameÚfs   &  Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/linalg/tests/test_solvers.pyÚ
_load_datar       sd   € ô
 �w‰w�|‰|œBŸG™GŸO™O¬B¯G©G¯O©O¼HÓ,EÓFØ" Dó*€Hä	�Š�×	Ô	˜aÜ�A—G‘G“I‹÷ 
×	×	Ó	ús   Á>B"Â"B3	c                   óÄ  a € ] tR t^t o ]P
                  ! R4      ]P
                  ! R4      3]P                  ! ^^.^^..4      ]P                  ! ^	^
.^^..4      3]P                  ! RR.RR..4      ]P                  ! RR.RR..4      3]P                  ! RR.RR..4      ]P                  ! RR.RR..4      3]P                  ! RR.RR..4      ]P                  ! RR.RR..4      3]P                  ! . RO. RO. RO. RO. RO.4      ]P                  ! . RO. RO. RO. RO. RO.4      3]P                  ! . RO. R O. R!O. R"O. R#O. R$O. R%O. R&O. R'O. R(O. R)O.4      ]P                  ! ^4      3]! ^ ^.R+R*..4      ]! ^ ^.4      P                  ]! ^ ^.4      P                  P                  ,          3]! ^ ^.R+R*..4      ]P                  ! ]! ^ ^.4      P                  ]! ^ ^.4      P                  P                  ,          4      3.	t
R tR tR,R lt]R	 4       t]P"                  P%                  R
]4      ]P"                  P%                  R]4      R 4       4       tRtV tR# )-ÚTestSolveLyapunovç      ð?ç       @ç      @ç      @c                ó  € \         P                  ! R4      p\         P                  ! ^4      p\        \        \
        W4       \        \        \
        W!4       \        \        \
        V\         P                  ! ^4      4       R# ©é   N©r)   é   )r   ÚonesÚeyeÚassert_raisesÚ
ValueErrorr   )ÚselfÚnsqÚsqs   &  r   Ú$test_continuous_squareness_and_shapeÚ6TestSolveLyapunov.test_continuous_squareness_and_shape`   sM   € Ü�gŠg�f‹oˆÜ�VŠV�A‹YˆÜ”jÔ";¸SÔEÜ”jÔ";¸RÔEÜ”jÔ";¸RÄÇÂÈÃÖKó    c                óÊ   € \        W4      p\        \        P                  ! W4      \        P                  ! W1P	                  4       P                  4       4      ,           V4       R # ©N)r   r   r   ÚdotÚconjÚ	transpose)r0   ÚaÚqÚxs   &&& r   Úcheck_continuous_caseÚ'TestSolveLyapunov.check_continuous_caseg   s?   € Ü% aÓ+ˆÜ!ÜŸ&š& ›,¬¯ª°·6±6³8×3EÑ3EÓ3GÓ)HÕHÈ!ö	Mr5   Nc                óÞ   € \        WVR 7      p\        \        P                  ! \        P                  ! W4      VP	                  4       P                  4       4      V,
          RV,          4       R# )©ÚmethodNç      ð¿)r   r   r   r8   r9   r:   )r0   r;   r<   rB   r=   s   &&&& r   Úcheck_discrete_caseÚ%TestSolveLyapunov.check_discrete_casel   sG   € Ü# A°Ô8ˆÜ!Ü—f’fœRŸVšV A›\¨1¯6©6«8×+=Ñ+=Ó+?Ó@À1ÕDÀdÈ1Åfö	Nr5   c                ó4  € V P                    F‡  pV P                  V^ ,          V^,          4       V P                  V^ ,          V^,          4       V P                  V^ ,          V^,          RR7       V P                  V^ ,          V^,          RR7       K‰  	  R# )r   ÚdirectrA   ÚbilinearN)Úcasesr>   rD   ©r0   Úcases   & r   Ú
test_casesÚTestSolveLyapunov.test_casesq   sz   € à—J”JˆDØ×&Ñ& t¨A¥w°°QµÔ8Ø×$Ñ$ T¨!¥W¨d°1­gÔ6Ø×$Ñ$ T¨!¥W¨d°1­g¸hÐ$ÔGØ×$Ñ$ T¨!¥W¨d°1­g¸jÐ$ÖIó	 r5   Údtype_aÚdtype_qc                óÌ  € \         P                  P                  R 4      p\         P                  ! RVR7      p\         P                  ! RVR7      p\	        WE4      pVP                  R4      ^d,          P                  V4      pVP                  R4      ^d,          P                  V4      p\	        WE4      pVP                  R8X  g   Q hVP                  VP                  8X  g   Q hR# )i[¯û©ÚdtypeN©r   r   ©é   rU   )r   ÚrandomÚdefault_rngÚzerosr   ÚastypeÚshaperR   )r0   rN   rO   Úrngr;   r<   ÚresÚrefs   &&&     r   Útest_size_0ÚTestSolveLyapunov.test_size_0y   s°   € ô �i‰i×#Ñ# IÓ.ˆä�HŠH�V 7Ô+ˆÜ�HŠH�V 7Ô+ˆÜ'¨Ó-ˆà�Z‰Z˜Ó Õ#×+Ñ+¨GÓ4ˆØ�Z‰Z˜Ó Õ#×+Ñ+¨GÓ4ˆÜ'¨Ó-ˆà�y‰y˜FÔ"Ð"Ð"Ø�y‰y˜CŸI™IÔ%Ð%Ò%r5   © rS   ù      ð?      ð?ù      @      Àù       @       Àù       @       @rC   ù      ð¿      ð¿)r)   é	   rU   é   é   )rg   r+   r)   é   rh   )rh   é   rj   rj   r)   )rg   rU   r+   r   é   )rU   r)   r)   rg   rU   )r+   rh   rg   r   rg   )rh   rg   r   r+   r   )rg   r   r)   r   r)   )r   r+   r   rg   r   )rg   r   r)   r   rh   )yš™™™™™¹?        y²�ï§ÆK·?        yË¡E¶óý´?        yã¥›Ä °²?        yü©ñÒMb°?        y)\�Âõ(¬?        yZd;ßO�§?        y‹lçû©ñ¢?        yyé&1¬œ?        yÛù~j¼t“?        y{®Gáz„?        )ù      ð?        ù                rm   rm   rm   rm   rm   rm   rm   rm   rm   )rm   rl   rm   rm   rm   rm   rm   rm   rm   rm   rm   )rm   rm   rl   rm   rm   rm   rm   rm   rm   rm   rm   )rm   rm   rm   rl   rm   rm   rm   rm   rm   rm   rm   )rm   rm   rm   rm   rl   rm   rm   rm   rm   rm   rm   )rm   rm   rm   rm   rm   rl   rm   rm   rm   rm   rm   )rm   rm   rm   rm   rm   rm   rl   rm   rm   rm   rm   )rm   rm   rm   rm   rm   rm   rm   rl   rm   rm   rm   )rm   rm   rm   rm   rm   rm   rm   rm   rl   rm   rm   )rm   rm   rm   rm   rm   rm   rm   rm   rm   rl   rm   éÿÿÿÿg      à¿r7   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   ÚemptyÚarrayr-   r   ÚTrI   r3   r>   rD   r   rL   ÚpytestÚmarkÚparametrizeÚdtypesr^   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r"   r"      sª  ø‡ € ð 
�Š�&Ó	Ø	�Š�&Ó	ð	à	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�r�7˜R ˜HÐ%Ó	&ð	(ð 
�Š�F˜C�= 8¨S /Ð2Ó	3Ø	�Š�F˜FÐ# g¨s ^Ð4Ó	5ð	7ð 
�Š�C˜�:  S˜zÐ*Ó	+Ø	�Š�F˜FÐ# g¨s ^Ð4Ó	5ð	7ð 
�Š�F˜C�= 8¨S /Ð2Ó	3Ø	�Š�C˜�:  c˜{Ð+Ó	,ð	.ð 
�Š’?¢O²_Ú"¢Oð5ó 
6à	�Š’?¢O²_Ú"¢Oð5ó 
6ð	7ð
 
�Šò òòòòòòòòòòð=  ó  
!ðB 
�Š�‹ðC!	ñF 
�!�Q�˜$ ˜Ð$Ó	%Ù
�!�Q�‹.×
Ñ
™V Q¨ F›^×-Ñ-×/Ñ/Õ
/ð	2ñ 
�!�Q�˜$ ˜Ð$Ó	%Ø
�(Š(‘6˜1˜a˜&“>×#Ñ#¡f¨a°¨V£n×&6Ñ&6×&8Ñ&8Õ8Ó
9ð	<ðw=
€Eò~LòMô
Nð
 ñJó ðJð ‡[�[×Ñ˜Y¨Ó/Ø‡[�[×Ñ˜Y¨Ó/ñ&ó 0ó 0ö&r5   r"   c                   ó°  a € ] tR t^Št o ]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t	]
P                  ! R.^4      ]
P                  ! ^ .^..4      ]! RR4      ^R3]
P                  ! ^^.RR ..4      ]
P                  ! ^.R!..4      ]
P                  ! ^	^.^R	..4      ^R3]
P                  ! . R"O. R#O. R$O. R%O.4      ]
P                  ! ^ ^ .R
R&.R'R(.R^ ..4      ]
P                  ! . R)O. R*O. R+O. R,O.4      ]
P                  ! ^4      R3]
P                  ! . R-O. R.O. R/O. R0O. R1O. R2O. R3O. R4O.4      ]
P                  ! . R5O. R6O.4      P                  R,          ]
P                  ! . R7O. R8O. R9O. R:O. R;O. R<O. R=O. R>O.4      ]
P                  ! ^4      R3]
P                  ! . R?O. R@O. RAO. RBO. RCO. RDO. REO. RFO. RGO.	4      ]
P                  ! . RHO. RIO. RJO. RKO. RLO. RMO. RMO. RMO. RMO.	4      ]
P                  ! ^	4      ]
P                  ! ^4      R3]R,          ]R,          ]R,          ]R,          R3]
P                  ! ^^ .^ RN..4      ]
P                  ! R.^ ..4      ]
P                   ! RO4      RR3]! RPRQ4      ]
P                  ! RR.RR..4      ]
P                  ! ^dR.RR..4      ]
P                   ! RO4      ]! R^ 4      ,           R3]
P                  ! ^ R.^ ^ ..4      ]
P                  ! ^ .R..4      ]
P                  ! ^4      RR3]
P                  ! R^.RR..4      ]
P                  ! ^4      ]
P                  ! ^4      ]
P                  ! ^4      R3]
P                  ! ^R.^^..4      ]
P                  ! ^.^..4      ]
P                  ! RRRS.RSRN..4      RR3]
P                  ! . RTO. RUO. RVO.4      ^,          ]
P                  ! ^4      ]
P                  ! . RWO. RXO. RYO.4      P#                  ]
P                  ! . RZO4      4      P#                  ]
P                  ! . RWO. RXO. RYO.4      4      ^	,          ]
P                  ! ^4      R,          R3]
P                  ! . R[O. R\O. R]O. R^O.4      ]
P                  ! . R_O.4      P                  ]
P                  ! . R`O4      RR3]
P                  ! . RaO. RbO. RcO. RdO.4      ]
P                   ! Re4      ]
P                   ! Rf4      RR3]R,          ]R,          ]R,          ]R,          R3]
P                  ! ^@^@R!R7      ]
P                  ! ^@^@4      RN,          ,           ]
P$                  ! ]! ^]
P&                  ! Rg4      ^4      4      ,           ]
P                  ! ^@^@^R7      ,           ]
P                  ! ^@4      ]
P                  ! ^@4      ]
P                  ! ^@4      R3]
P                  ! ]
P                   ! Rh4      ^4      ]
P(                  ! ]
P                  ! ^^4      4      ]
P                  ! ^^4      ]
P                  ! ^^4      P                  ,          ^R3]R,          ]R,          ]R,          ]R,          R3]R,          ]R,          ]R,          ]R,          R3]	R,          ]	R,          ]	R,          ]	R,          R3.tRit]P0                  P3                  R]! ]4      4      R 4       tRtV tR# )jÚTestSolveContinuousArezcarex_6_data.npzzcarex_15_data.npzzcarex_18_data.npzzcarex_19_data.npzzcarex_20_data.npzr#   r$   Nç      @g
×£p=
×?g¸…ëQ¸ž?çü©ñÒMbP?ç        çš™™™™™¹?ç{®Gáz„?ÚAÚBÚQÚRç�íµ ÷Æ°>zBad residual accuracyiè  i'  ç    €„.Ag›ò×  ð?zBad Residual Accuracy©Úkúj, casec                óÖ  € Vw  r4rVpV'       d   \         P                  ! VR7       V P                  V,          p\        W4WV4      p	W“,          VP	                  4       P
                  V	,          ,           V,           p
W”,          pW«\        \        P                  ! V4      VP	                  4       P
                  4      ,          ,          p
\        V
\        P                  ! V
4      VR7       R# )z3Checks if 0 = XA + A'X - XB(R)^{-1} B'X + Q is true©Úreason©ÚdecimalN)rv   ÚxfailÚmin_decimalr	   r9   ru   r   r   Ú
atleast_2dr   Ú
zeros_like)r0   ÚjrK   r;   Úbr<   ÚrÚknownfailureÚdecr=   r\   Úout_facts   &&&         r   Útest_solve_continuous_areÚ0TestSolveContinuousAre.test_solve_continuous_are?  sŸ   € ð $(Ñ ˆˆa�LßÜ�LŠL Õ-à×Ñ˜qÕ!ˆÜ   qÓ,ˆØ�e�a—f‘f“h—j‘j 1•nÕ$ qÕ(ˆØ•5ˆØœ%¤§¢¨aÓ 0°(·-±-³/×2CÑ2CÓDÕDÕDˆÜ! #¤r§}¢}°SÓ'9À3×Gr5   r`   ç      Àç      Àrn   ©r   rg   r   r   )r   g=
×£p=þ¿gö(\�ÂõØ?g…ëQ¸À)r   gœÄ °rh¡¿g×£p=
×Àgq=
×£p@)gœÄ °rh¡?g/n£¼R¿g®Gáz®ï¿gáz®GáÊ¿gš™™™™™ù¿gffffffî¿gü©ñÒMb ¿)g/Ý$�@ç7‰A`åÐ@çj¼t“æ?çZd;ßO�—?)r¢   g/Ý$�@ç‘í|?5^ò?çyé&1¬Ô?)r£   r¥   gÕxé&1Ô?çé&1¬º?)r¤   r¦   r§   gsh‘í|?µ?)gƒÀÊ¡E¶ï¿g!°rh‘íà?r   r   r   r   r   r   )çNbX9´à?g7‰A`åÐð¿çßO�—nã?r   r   r   r   r   )r   r¨   gÙÎ÷Sãñ¿r©   r   r   r   r   )r   r   r¨   gøSã¥›Äø¿g`åÐ"Ûùæ?r   r   r   )r   r   r   ç/Ý$�í?g=
×£p=ú¿gÅ °rh‘é?r   r   )r   r   r   r   rª   gð§ÆK7‰û¿g¢E¶óýÔì?r   )r   r   r   r   r   rª   g^ºI+ý¿g¼t“Vð?)r   r   r   r   r   r   rª   gJ+‡ÿ¿)g¸…ëQ¸@r€   gÍÌÌÌÌÌB@ç¤p=
×£@gáz®Gá@g
×£p=
@r«   r%   )g
×£p=
ÀgR¸…ëQÀgffffffÀg�Âõ(\�Àg�Âõ(\�
Àg�Âõ(\�Àg{®GázÀg®Gáz®À)r#   r‚   r‚   r‚   ç      à?r‚   r‚   rƒ   )r‚   r#   r‚   r‚   rƒ   r‚   r‚   r‚   )r‚   r‚   r#   r‚   r‚   r¬   r‚   r‚   )r‚   r‚   r‚   r#   r‚   r‚   r‚   r‚   )r¬   rƒ   r‚   r‚   rƒ   r‚   r‚   r‚   )r‚   r‚   r¬   r‚   r‚   rƒ   r‚   r‚   )r‚   r‚   r‚   r‚   r‚   r‚   rƒ   r‚   )rƒ   r‚   r‚   r‚   r‚   r‚   r‚   rƒ   )	gú~j¼tÀg{®Gáz@r‚   r‚   g-²�ï§ Àr‚   r‚   r‚   g×£p=
×ë?)	g¾Ÿ/Ý$Ö¿gZd;ßO�ï?r‚   r‚   g¸…ëQ¸Àr‚   r‚   r‚   g
×£p=
ï?)	g‰A`åÐ¢ÀgªñÒMbÐ.@g-²�ï§FÀr‚   gÍÌÌÌÌÌÀr‚   r‚   r‚   gq=
×£p@)	g7‰A`åÐ5Àg!°rh‘ÍA@gV-²Õ¿gö(\�ÂõÀgÍÌÌÌÌÌ1Àr‚   r‚   r‚   g�Âõ(\�@)	g+‡NÀgyé&1ŒX@gTã¥›Ä ÀgÃõ(\�ÂÕ?g/Ý$�JÀr‚   r‚   r‚   gffffff4@)	r   r   r   r   ç     €W@çffffffbÀr‚   gš™™™™™J@r‚   )	r   r   r   r   r   r­   r®   r   r   )	r   r   r   r   r   çš™™™™™)@r‚   çš™™™™™?Àr   )	r   r   r   r   r¯   r‚   r‚   gÍÌÌÌÌÌ2@r°   )r„   gºI+‡†¿g‡ÙÎ÷SÃ¿)gú~j¼t“h?g/Ý$�•¿r‚   )g;ßO�—n‚?gh‘í|?5®¿r‚   )gú~j¼t“˜?g#Ûù~j¼Ä¿r‚   )gœÄ °rh±?g{®GázÜ¿r‚   )r‚   r‚   r‚   ç       À©r+   r+   gš™™™™™¹¿g{®Gáz”¿iõÿÿÿéûÿÿÿ)g    ð³ZAç    €„>Ag       €)r´   g    `ãVAç    €„>Á)r‚   rµ   g    ÐSA)r#   r±   r±   )r±   r#   r±   )r±   r±   r#   )r‰   rg   rŠ   )r   gš™™™™™Ù?r   r   )r   r   g®GázÖ?r   )r   g    €ûÁg     aÁg    €ûA)r   r   r   g    €„.Á)r   r   r   rŠ   )rg   r   rg   r   )ç�íµ ÷Æ°¾rg   r   r   )rn   r¶   r   r   )r   r   r‰   rg   )r   r   rn   r‰   )rh   rg   )rh   rh   )é>   r·   )é   )é   é   é   r¹   é   rj   NrU   rk   r¹   r¹   Nrf   r¹   r»   r¹   Nrº   NN)ro   rp   rq   rr   r    Úmat6Úmat15Úmat18Úmat19Úmat20r   Údiagrt   r   r-   ru   r,   r8   Úrot90rX   ÚflipudrI   r”   rv   rw   rx   Ú	enumerater�   rz   r{   r|   s   @r   r   r   Š   s·  ø‡ € ÙÐ(Ó)€DÙÐ*Ó+€EÙÐ*Ó+€EÙÐ*Ó+€EÙÐ*Ó+€Eð 
�Š�"��qÓ	Ø	�Š�A�3˜˜�*Ó	Ù	�B˜Ó	Ø	
Ø	ð		ð 
�Š�A�q�6˜D $˜<Ð(Ó	)Ø	�Š�A�3˜˜�+Ó	Ø	�Š�A�q�6˜A˜r˜7Ð#Ó	$Ø	
Ø	ð		ð 
�Š’<Ú*Ú+Ú1ð3ó 
4ð 
�Š�A�q�6˜D $˜<¨%°¨¸4À¸)ÐDÓ	EØ	�ŠÒ/Ú/Ú/Ú/ð1ó 
2ð 
�Š�‹Ø	ð
	ð 
�ŠÒ4Ú8Ú8Ú8Ú7Ú8Ú8Ú4ð6ó 
7ð 
�ŠÒDÚKðMó 
ç‘A˜õ
ð 
�ŠÒ;Ú;Ú;Ú;Ú;Ú;Ú;Ú;ð=ó 
>ð 
�Š�‹Ø	ð)	ð, 
�ŠÚ=Ú=ÚBÚHÚHÚ9Ú2Ú5Ú>ð@ó	
Að 
�ŠÒ*Ú)Ú)Ú)Ú)Ú(Ú(Ú(Ú(ð*ó 
+ð 
�Š�‹Ø	�Š�‹Ø	ð+	ð. 
ˆc��D˜•I˜t C�y¨$¨s­)°TÐ:à	�Š�A�q�6˜A˜s˜8Ð$Ó	%Ø	�Š�D�6˜A˜3�-Ó	 Ø	�Š�‹Ø	Ø	 ð		"ñ 
�D˜%Ó	 Ø	�Š�E˜5�> E¨5 >Ð2Ó	3Ø	�Š�C˜�;  u Ð.Ó	/Ø	�Š�‹™: d¨AÓ.Õ	.Ø	ð		ð 
�Š�A�s�8˜a ˜VÐ$Ó	%Ø	�Š�A�3˜˜�+Ó	Ø	�Š�‹Ø	Ø	ð		ð 
�Š�I˜q�> B¨	 ?Ð3Ó	4Ø	�Š�‹Ø	�Š�‹Ø	�Š�‹Ø	ð		ð 
�Š�A�r�7˜Q ˜FÐ#Ó	$Ø	�Š�A�3˜˜�*Ó	Ø	�Š�C˜�9˜r 3˜iÐ(Ó	)Ø	Ø	ð		ð 
�ŠÒ,Ú2Ú,ð.ó 
/à12õ
3ð 
�Š�‹Ø	�Š’>¢>²>ÐBÓ	C×	GÑ	GØ—’šÓ'ó
)ß),©Ø�HŠH’n¢n²nÐEÓFó*HØJKõ
Lð 
�Š�‹�S�Ø	 ð	"ð 
�Š’>Ú#Ú3Ú"ð$ó 
%ð 
�Š’>Ð"Ó	#×	%Ñ	%Ø	�Š’Ó	Ø	Ø	ð	ð 
�ŠÒ#Ú$Ú"Ú#ð%ó 
&ð 
�Š�‹Ø	�Š�‹Ø	Ø	ð	ð 
ˆs��U˜3•Z  s¥¨U°3­Z¸Ð>à	�Š��B˜"Ô	 §¢ r¨2£°Õ 4Õ	4°r·x²xÙ˜A˜rŸxšx¨Ó1°1Ó5ó87õ 
7Ø9;¿ºÀÀBÈ!Ô9Lõ
Mà	�Š�‹Ø	�Š�‹Ø	�Š�‹Ø	ð	ð 
�Š�—’˜“ !Ó	$Ø	�Š�2—6’6˜"˜a“=Ó	!Ø	�Š��A‹˜Ÿš  A›Ÿ™Õ	(Ø	
Ø	 ð		"ð 
ˆs��U˜3•Z  s¥¨U°3­Z¸Ð>à	ˆs��U˜3•Z  s¥¨U°3­ZØ	 ð	"ð 
ˆs��U˜3•Z  s¥¨U°3­ZØ	 ð	"ðCc
€EðX>€Kð ‡[�[×Ñ˜Y©	°%Ó(8Ó9ñHó :öHr5   r   c                   óä  a€ ] tR tRt o]P
                  ! ^R(.^ R)..4      ]P
                  ! ^ .^..4      ]P
                  ! ^^ .^ ^..4      ]P
                  ! ^..4      R3]P
                  ! ^^.^ R*..4      ]P
                  ! R+.R..4      ]P
                  ! ^^ .^ ^..4      ]P
                  ! ^..4      R3]P
                  ! ^^.^ R*..4      ]P
                  ! ^^.^^..4      ]P
                  ! ^R,.R-^..4      ]P
                  ! ^R+.R^..4      R3]P
                  ! . R.O. R/O. R0O.4      ]P
                  ! R.R.R..4      ]P                  ! ^4      ]P                  ! ^4      R3]P
                  ! ^^.R1R2..4      ]P
                  ! ^.R*..4      ]P
                  ! ^	^.^^..4      ]P
                  ! ^..4      R3]P
                  ! R^ .^ R	..4      ]P
                  ! R
R
.R3R..4      ]P
                  ! R^ .^ R..4      ]P
                  ! R4^ .^ ^..4      R3]P
                  ! ^R*.^^ ..4      ]P
                  ! ^.^ ..4      ]P
                  ! ^ ^ .^ ^..4      ]P
                  ! ^ ..4      R3]P
                  ! ^ ^.^ R*..4      ]P
                  ! ^^ .^^..4      ]P
                  ! R5R5.R5^..4      R6,          ]P
                  ! ^	^.^^..4      R3]P
                  ! ^ ^.^ ^ ..4      ]P
                  ! ^ .^..4      ]P
                  ! ^^.^^..4      ]P
                  ! ^..4      R3]P
                  ! . R7O. R8O. R9O. R:O.4      ]P
                  ! RR.RR;.RR.R<R..4      ]P
                  ! . R=O. R>O. R?O. R@O.4      ]P                  ! ^4      R3]P
                  ! . RAO. RBO. RCO. RDO.4      ]P
                  ! RR.RER.RFRG.RHR..4      ]P                  ! ^4      R,          ]P                  ! ^4      R3]P
                  ! . RIO. RJO. RKO. RLO.4      ]P
                  ! . RMO. RNO. ROO. RPO.4      ]P
                  ! . RQO. RRO. RSO. RTO.4      ]P                  ! ^4      R3]P
                  ! . RUO. RVO. RWO. RXO. RYO.4      R,          ]P
                  ! RRZ.RR[.RR\.RR].RR^..4      R,          ]P                  ! ^4      ]P                  ! ^4      R3]P                  ! ]P                  ! ^4      ]P                  ! ^^.^R7      4      ]P                  ! ]P                  ! ^4      ]P
                  ! ^ .^ .^..4      4      ]P
                  ! . R_O. R_O. R`O. RaO. RbO. R`O.4      ]P
                  ! ^^ .^ ^..4      R3R]P
                  ! . RcO. RdO. ReO. RfO. RgO. RhO. RiO. RjO. RkO.	4      ,          ]P
                  ! . RlO. RmO. RnO. RoO. RpO. RqO. RrO. RsO. RtO.	4      R,          ]P                  ! . RuO4      ]P                  ! ^4      R3]P
                  ! ^ R.^ ^ ..4      ]P
                  ! ^ .^..4      ]P                  ! ^4      ]P
                  ! ^..4      R3]P
                  ! . RvO. RwO. RxO.4      Ry,          ]P                  ! ^4      R]P                  ! ^4      ,          R]P                  ! ^4      ,          R3]P
                  ! . RzO. R{O. R|O. R}O.4      ]P
                  ! R.^ .^ .^ ..4      ]P                  ! . R~O4      ]P
                  ! R ..4      R3]P                  ! ^d^R7      ]P                  ! ]P                  ! ^d^4      4      ]P                  ! ^d4      ]P
                  ! ^..4      R3.t
Rt] U u. uF  p R!^
V ) ,          ,          NK  	  up tR"]^&   R]^&   R#]^&   ]P                  P                  R$]! ]
4      4      R% 4       tR& tR'tVtR# u up i )€ÚTestSolveDiscreteAreiN  ù               @Nù              ð?g•=Sùèþî?gÃþ>%ßS¬?gˆåòFBé?g ‘~û:pî?g2w-!ôì?g5^ºI‚@gZd;ßO�@g{®Gázt?g{®Gáz”?gF%ušk?rƒ   g{®Gáz¤?gŸ<,Ôšæ}?gÅ Tófn?g`[š¶ÚH?g	v÷–ã>gOšaþeRN?r„   gñôJY†8¦?g›æ§èH@g /Ý$@g•eˆc]Ü@gx$(~ŒÝ?r‹   r�   rŠ   g:Œ0âŽyE>ç      Ð?g      ø?gê-�™—Q=g-Cëâ6*?r�   c                ó  € Vw  r4rVpV'       d   \         P                  ! VR7       V P                  V,          p\        W4WV4      p	VP	                  4       P
                  p
W“,          W”,          rËVP	                  4       P
                  V,          V	,
          V,           pWÓP	                  4       P
                  V,          \        WjV,          ,           V
4      V,          ,          ,          p\        V\        P                  ! V4      VR7       R# )ú5Checks if X = A'XA-(A'XB)(R+B'XB)^-1(B'XA)+Q) is truer�   ©ÚatolN)
rv   r“   Úmax_tolr
   r9   ru   r   r   r   r–   )r0   r—   rK   r;   r˜   r<   r™   rš   rÎ   r=   ÚbHÚxaÚxbr\   s   &&&           r   Útest_solve_discrete_areÚ,TestSolveDiscreteAre.test_solve_discrete_are$  s³   € ð $(Ñ ˆˆa�LßÜ�LŠL Õ-à�|‰|˜A�ˆä˜q QÓ*ˆØ�V‰V‹X�Z‰ZˆØ•˜�ˆBà�f‰f‹h�j‰j˜2�o Õ! AÕ%ˆØ�v‰v‹x�z‰z˜B�¤%¨°­G­°RÓ"8¸2Õ"=Õ>Õ>ˆô 	˜œRŸ]š]¨3Ó/°d×;r5   c                ót  € \         P                  ! \         P                  ! R4      4      pRVR&   \         P                  ! . RO. RO.4      P                  p\         P
                  ! VR4      \         P                  ! . R	O4      ,           p\         P                  ! R
R.4      p\        \        \        WW44       R# )r)   rƒ   N©r)   r)   rn   )r   rg   )rg   rg   r   )r   r   rg   éþÿÿÿ)ri   rn   gffffffþ¿iöÿÿÿ)
r   Útriur,   rt   ru   Ú	full_likerÂ   r.   r   r	   )r0   r…   r†   r‡   rˆ   s   &    r   Útest_infeasibleÚ$TestSolveDiscreteAre.test_infeasible:  sy   € ä�GŠG”B—G’G˜F“OÓ$ˆØˆˆ$‰Ü�HŠH’i¢Ð+Ó,×.Ñ.ˆÜ�LŠL˜˜BÓ¤"§'¢'ª-Ó"8Õ8ˆÜ�GŠG�S˜#�JÓˆÜ”kÔ#7¸¸qÖDr5   r`   y      ð?       Ày       €      Àrn   y       €       Àra   y      ð?      ð¿)gÑX=X­Iä?gPÂŽ÷‘á?g¿'9Ô­fè?)gú»Ò�Ká?gõèhÚ2á?g¸N¯Ö�Z¶?)gSÒŠ�Ñ?gè½s Ò,ë?g^LŽ–^öÝ?rŸ   r    gÕxé&1ó¿gUUUUUUÕ?éüÿÿÿgF]tÑE·?)çV-²�ïï?gôýÔxé&±?r   r   )gôýÔxé&±¿rÝ   r   r   )r   r   rÝ   g/Ý$�•Ã?)r   r   g/Ý$�•Ã¿rÝ   gÇº¸�ðF¿gÇº¸�ðf¿)gìQ¸…ëý?r   r   ç¬Zd;Ï¿)r   g+‡ÙÎç?ç=
×£p=Ê?r   )r   rß   g+‡Ùâ?r   )rÞ   r   r   gøSã¥›Äð?)gP�—nƒï?gŒ/Úã…t´¿gúéä±«M?g[AÓ+£Q¿)g†åÏ·K¥?gHþ`à¹÷ï?g$ÑË(–[¢¿g°¯u©ú‰?)gYÝê9é}á¿g¦_"Þ:ÿ¦?g!å'Õ>Õ¿gCâKºÈ?)g”ö_˜L@geâX·¹¿g ‰°áé•í¿g+‡ÙÐ¿gQ‡nùH¶¿gé}ãkÏ,ó¿gÒUW‘;¿g{ƒ/L¦Š	À)g333333ã¿gš™™™™™ÀgÍÌÌÌÌÌÀgÍ>�Qž™À)r#   g333333ã?gš™™™™™é?gÍèGÃ)3@)r‚   r#   gÍÌÌÌÌÌü?g {ö\f@)r‚   r‚   r‚   ggÖR@Úÿï¿)r#   rC   rC   rC   )r‚   r#   rC   rC   )r‚   r‚   r#   rC   )r‚   r‚   r‚   r#   )r+   rg   r)   rj   )rg   r+   r+   rU   )r)   r+   rj   r¼   )rj   rU   r¼   é   )g5^ºIÚW@gY†8ÖÅmÿ?g¾Á&S×?g&S£’:±?gÛù~j¼t“?)gé&1¬lD@gj¼t“¨D@g/Ý$�0@g�1w-!ß@geª`TR'ó?)gÉv¾Ÿo(@gú~j¼tS:@gP�—nB@g\�Âõ(Ü/@gj¼t“Ä(@)gmÅþ²{r@gžï§ÆK·)@g/Ý$�5;@gþÔxé&q5@g°rh‘í|D@)gNbX9´À?g ‰°áé•â?g      þ?g’\þCúí@gR¸…ë‘W@gðHPüˆ¿g$(~Œ¹ð¿g
×£p=
ÀgffffffÀgƒ/L¦
Fí¿)rg   rg   r   r   r   r   )r   r   r   r   r   r   )r   r   r   rg   rn   r   )r   r   r   rn   rg   r   )	gÍÌÌÌÌ0‹@g     à`@g®Gáz.'@g]ÜFxà?g\�Âõ(œBÀg#J{ƒ/LÖ?r   g+‡ÙÎ÷@gåÐ"Ûùþ@)	g33333#S@g33333Œ@gq=
×£p)@g"ýöuàœá?g®GázDÀg£#¹ü‡ô×?r   g…ëQ¸@gåÐ"Ûùþ@)	gÍÌÌÌÌÌ_Àg     Xv@i1  gHáz®G÷?g33333³YÀg/Ý$�•ï?r   g33333³'@g¸…ëQ¸2@)	g     ¸vÀg33333Ïƒ@g
×£p=ºR@gÍÌÌÌÌäˆ@g     qÀgÓMbX9@r   g¸…ëQ¸?@g)\�ÂõhH@)	i@üÿÿgš™™™™·™@gÍÌÌÌÌ`ÀgÙÎ÷ScÀg{®GáÚQ@g;ßO�—n@r   gáz®G!U@gš™™™™y_@)	g33333Ã„Àg=
×£p=\@g)\�Âõ8VÀg¢E¶óýÔÀg®GázU@g333333+@r   gš™™™™	b@gffffffY@)	g33333£yÀiµ  g{®GáZKÀg+‡ÙÎ÷Àg�Âõ(\ŸP@g{®Gáú(@g¼–�z6»?g®GázþX@g{®GájQ@)	gÍÌÌÌÌ|fÀg33333Ûr@g®Gázî7Àg�Âõ(\�ð¿gìQ¸…KN@g)\�Âõ(6@r   gÍÌÌÌÌ¼j@g…ëQ¸ÅA@)	gš™™™™‘uÀg33333#‚@g{®GáúFÀgmçû©ñÒÿ¿gffffffZ@g\�Âõ(Ü3@r   g33333ck@gfffffæj@)g
×£p=
@g cîZB>â¿gìQ¸…ëTÀ)gTã¥›Ä ì?gd;ßO�Àg×£p=
×À)gƒÀÊ¡E¶÷?g=
×£p=*Àg�—nƒÀ!@)g‰A`åÐ"@gq=
×£�AÀgÍÌÌÌÌÌ8@)g®Gáz®$@g     0WÀg33333³P@)gZd;ßÏ@gìQ¸…ËNÀgìQ¸…+C@)g7‰A`åÐ@g
×£p=jBÀg
×£p=J4@)gð§ÆK7‰ÿ?g®Gáz/Àgsh‘í|¿@)gÉv¾Ÿ/@gHáz®G>Àgáz®Ga-@)	é2   r   r   r   rá   r   r   r   r   )é   é
   r×   )rã   r»   éøÿÿÿ)r×   rä   rk   gÇqÇq¼?)gGœ¡úÿÿï?r   r   r   )rg   r   r   r   r¡   )r   r   rg   r   )r   r   r   rg   )rº   r¹   r»   r¹   r»   râ   é   r¹   r¹   r»   r¹   r»   r»   r¹   rº   r+   rh   rj   rã   )ro   rp   rq   rr   r   rt   r-   ÚkronrÂ   rÄ   rI   r”   rÏ   rv   rw   rx   rÅ   rÓ   rÚ   rz   r{   )Úindr}   s   0@r   rÇ   rÇ   N  s‹  ø‡ € ð  
�Š�A�t�9˜q #˜hÐ'Ó	(Ø	�Š�A�3˜˜�*Ó	Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�3�%‹Ø	ð		ð 
�Š�A�q�6˜A˜r˜7Ð#Ó	$Ø	�Š�C�5˜2˜$�-Ó	 Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�3�%‹Ø	ð		ð 
�Š�A�q�6˜A˜r˜7Ð#Ó	$Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�t�9˜t Q˜iÐ(Ó	)Ø	�Š�A�s�8˜b !˜WÐ%Ó	&Ø	ð		ð 
�ŠÒ7Ú6Ú6ð8ó 
9ð 
�Š�J�< * °
¨|Ð<Ó	=Ø	�Š�‹Ø	�Š�‹Ø	ð	ð 
�Š�A�q�6˜D $˜<Ð(Ó	)Ø	�Š�A�3˜˜�+Ó	Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�3�%‹Ø	ð		ð 
�Š�F˜A�;  F Ð,Ó	-Ø	�Š�E˜5�> G¨UÐ#3Ð4Ó	5Ø	�Š�E˜1�:  4˜yÐ)Ó	*Ø	�Š�C˜�8˜a ˜VÐ$Ó	%Ø	ð		ð 
�Š�A�r�7˜Q ˜FÐ#Ó	$Ø	�Š�A�3˜˜�*Ó	Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�3�%‹Ø	ð		ð 
�Š�A�q�6˜A˜r˜7Ð#Ó	$Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�B˜�8˜b !˜WÐ%Ó	&¨$Õ	/Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	ð		ð 
�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�3˜˜�*Ó	Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�3�%‹Ø	ð		ð 
�ŠÒ'Ú'Ú'Ú'ð)ó 
*ð 
�Š�F˜FÐ#Ø˜FÐ#Ø˜FÐ#Ø˜FÐ#ð%ó 
&ð 
�ŠÒ'Ú'Ú'Ú(ð*ó 
+ð 
�Š�‹Ø	ð	ð 
�ŠÒ=Ú=Ú=Ú=ð?ó 
@ð 
�Š�I˜yÐ)Ø˜yÐ)Ø˜zÐ*Ø˜yÐ)ð+ó 
,ð 
�Š�‹�4�Ø	�Š�‹Ø	ð
	ð 
�ŠÒCÚ?Ú?Ú@ðBó 
Cð 
�ŠÒ*Ú)Ú(Ú'ð)ó 
*ð 
�Š’<ÚÚ Ú!ð#ó 
$ð 
�Š�‹Ø	ð	ð 
�ŠÒ<Ú>Ú@Ú?Ú<ð	>ó 
?ð BFõ	
Fð
 
�Š�F˜GÐ$Ø˜GÐ$Ø˜GÐ$Ø˜GÐ$Ø˜GÐ$ð	&ó 
'ð *.õ	
.ð
 
�Š�‹Ø	�Š�‹Ø	ð	ð 
�Š�—’˜“˜BŸGšG Q¨ F¨aÔ0Ó	1Ø	�Š�—’˜“˜BŸHšH q c¨A¨3°° _Ó5Ó	6Ø	�ŠÒ%Ú%Ú%Ú&Ú&Ú%ð'ó 
(ð 
�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	ð		ð 
�—’Ú
FÚ
FÚ
DÚ
GÚ
GÚ
HÚ
JÚ
HÚ
Hð
Jó	Kõ 	
Kð 
�ŠÒ.Ú-Ú-Ú.Ú/Ú.Ú.Ú-Ú.ð0ó 
1ð 49õ
9ð 
�ŠÒ.Ó	/Ø	�Š�‹Ø	ð+	ð. 
�Š�A�s�8˜a ˜VÐ$Ó	%Ø	�Š�A�3˜˜�*Ó	Ø	�Š�‹Ø	�Š�A�3�%‹Øð		ð 
�Š’<ÚÚðó 
 à#&õ
(ð 
�Š�‹Ø	ˆr�vŠv�a‹y�Ø	ˆr�vŠv�a‹y�Øð	ð 
�ŠÒ'ÚÚÚð ó 
!ð 
�Š�E�7˜Q˜C !  q cÐ*Ó	+Ø	�Š’Ó	Ø	�Š�D�6�(Ó	Ø	ð	ð 
�Š��qÔ	Ø	�Š�2—6’6˜#˜q“>Ó	"Ø	�Š�‹Ø	�Š�A�3�%‹Ø	ð		ðq}
€EðN4€Ká)4Ó5© #ˆs�R˜#˜•X�~ˆ~©Ñ5€Gà€GˆB�Kð €GˆB�Kð €GˆB�Kà‡[�[×Ñ˜Y©	°%Ó(8Ó9ñ<ó :ð<÷*Eð EùòE 6s   Þ_-rÇ   c                   óh   a € ] tR tRt o ]P
                  P                  R]].4      R 4       t	Rt
V tR# )ÚTestSolveCommonAreiD  Úsolverc                ó’  € \         P                  ! RR.^ R	..4      p\         P                  ! R.R..4      p\         P                  ! ^4      p\         P                  ! R4      p\         P                  ! ^4      p\         P                  ! R.R..4      pV! W#WEVR7      pV! W#WEWg4      p	\         P                  P                  W‰4       R# )
gÍÌÌÌÌÌì?rÊ   gq=
×£pÍ?gÍÌÌÌÌÌÜ?rƒ   gš™™™™™É?)ÚsNgÍÌÌÌÌÌì¿gš™™™™™ñ¿)r   rt   r-   r•   Útestingr   )
r0   rê   r…   r†   r‡   rˆ   ÚEÚSr\   r]   s
   &&        r   Ú(test_with_skipped_array_argument_gh23336Ú;TestSolveCommonAre.test_with_skipped_array_argument_gh23336E  s¢   € ô �HŠH�t˜T�l Q¨ IÐ.Ó/ˆÜ�HŠH�t�f˜t˜fÐ%Ó&ˆÜ�FŠF�1‹IˆÜ�MŠM˜$ÓˆÜ�FŠF�1‹IˆÜ�HŠH�s�e˜c˜U�^Ó$ˆá�Q˜1 1Ô%ˆÙ�Q˜1 Ó&ˆÜ
�
‰
×"Ñ" 3Ö,r5   r`   N)ro   rp   rq   rr   rv   rw   rx   r	   r
   rð   rz   r{   r|   s   @r   ré   ré   D  s0   ø‡ € Ø‡[�[×Ñ˜XÐ(<Ð>PÐ'QÓRñ-ó Sö-r5   ré   c                  óÆ  € \         P                  ! . R	O. R
O. RO.4      \         P                  ! RR.RR.RR..4      \         P                  ! ^4      \         P                  ! ^4      \         P                  ! . RO. RO. RO.4      \         P                  ! R4      R3\         P                  ! . R	O. R
O. RO.4      \         P                  ! RR.RR.RR..4      \         P                  ! ^4      \         P                  ! ^4      \         P                  ! . RO. RO. RO.4      \         P                  ! R4      R3.p RpR p\        V 4       F  w  r4V! WAV,          4       K  	  R# )ç?§ ?¹Ñ?ç6±ÀWtkØ?çÞ]ÂüpëÇ?çý;‘è?ç¯/ÈLXß?çÿ	‰Gré?çm!#û{„Ü?Nc                óÀ  € V w  r#rErgpV'       d   \         P                  ! VR7       \        W#WEWg4      p	VP                  4       P                  P                  V	P                  V4      4      VP                  4       P                  P                  V	P                  V4      4      ,           V,           p
VP                  4       P                  P                  V	4      P                  V4      V,           pW«P                  \        \        P                  ! V4      VP                  4       P                  4      4      ,          p
\        V
\        P                  ! V
4      VR7       R# )rÌ   r�   r‘   N)rv   r“   r	   r9   ru   r8   r   r   r•   r   r–   )rK   r›   r;   r˜   r<   r™   Úerì   rš   r=   r\   rœ   s   &&          r   Ú_test_factoryÚ<test_solve_generalized_continuous_are.<locals>._test_factoryv  sÜ   € à)-Ñ&ˆˆa�A˜,ßÜ�LŠL Õ-ä   q¨QÓ2ˆØ�f‰f‹h�j‰j�n‰n˜QŸU™U 1›XÓ&¨¯©«¯©¯©¸¿¹¸a»Ó)AÕAÀAÕEˆØ—6‘6“8—:‘:—>‘> !Ó$×(Ñ(¨Ó+¨aÕ/ˆØ�|‰|œE¤"§-¢-°Ó"2°H·M±M³O×4EÑ4EÓFÓGÕGˆÜ! #¤r§}¢}°SÓ'9À3×Gr5   ©ró   g[,ÄYê?g¾÷7hî?©g;)ÄÆ£§?g7j*0	<æ?gÉš&¦ê¢¡?©g�”€Ú Ý¸?g*ý„³[KÔ?g¯fSdcÜ?©gGY¿™˜®ä?g X.eªÑ?g6¹ÎuÐÄ?©gåßÏ³æ?gÀpàÀå?g¡™Ì¢v¾?©g»<ç¸d&è?gª™µ�öä?gÂÀ‰2åß?r*   )rã   rã   )r   rt   r-   rX   r,   rÅ   )rI   r”   rü   rç   rK   s        r   Ú%test_solve_generalized_continuous_arer  T  sU  € ô 
�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�L ,Ð/Ø  ,Ð/Ø  ,Ð/ð1ó 
2ô 
�Š�‹Ü	�Š�‹Ü	�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�&Ó	Ø	ð	ô 
�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�L ,Ð/Ø  ,Ð/Ø  ,Ð/ð1ó 
2ô 
�Š�‹Ü	�Š�‹Ü	�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�‹Ø	ð	ð!
€Eð> €Kò
Hô ˜uÖ%‰	ˆÙ�d¨Õ,Ö-ó &r5   c                  ó2  € \        R 4      p \        P                  ! . RO. RO. RO.4      \        P                  ! RR.RR.RR..4      \        P                  ! ^4      \        P                  ! ^4      \        P                  ! . RO. RO. RO.4      \        P                  ! R4      R3\        P                  ! . RO. RO. RO.4      \        P                  ! RR.RR.RR..4      \        P                  ! ^4      \        P                  ! ^4      \        P                  ! . RO. RO. RO.4      \        P
                  ! R4      R3V R,          V R	,          V R
,          V R,          RV R,          R3.pRpR p\        V4       F  w  rEV! WRV,          4       K  	  R# )zgendare_20170120_data.npzrô   rõ   rö   r÷   rø   rù   Nr…   r†   r‡   rˆ   rï   c                ó  € V w  r#rErgpV'       d   \         P                  ! VR7       \        W#WEWg4      p	Vf(   \        P                  ! VP
                  ^ ,          4      pVf   \        P                  ! V4      pVP                  4       P                  P                  V	P                  V4      4      VP                  4       P                  P                  V	P                  V4      4      ,
          V,           p
W¢P                  4       P                  P                  V	P                  V4      4      V,           P                  \        WSP                  4       P                  P                  V	P                  V4      4      ,           VP                  4       P                  P                  V	P                  V4      4      VP                  4       P                  ,           4      4      ,          p
\        V
\        P                  ! V
4      VR7       R# )rÌ   r�   NrÍ   )rv   r“   r
   r   r-   rZ   r–   r9   ru   r8   r   r   )rK   rÎ   r;   r˜   r<   r™   rû   rì   rš   r=   r\   s   &&         r   rü   Ú:test_solve_generalized_discrete_are.<locals>._test_factory³  sA  € à)-Ñ&ˆˆa�A˜,ßÜ�LŠL Õ-ä˜q Q¨1Ó0ˆØŠ9Ü—’�q—w‘w˜q•zÓ"ˆAØŠ9Ü—’˜aÓ ˆAØ�f‰f‹h�j‰j�n‰n˜QŸU™U 1›XÓ&¨¯©«¯©¯©¸¿¹¸a»Ó)AÕAÀAÕEˆØ—‘“—
‘
—‘˜qŸu™u Q›xÓ(¨1Õ,×1Ñ1Ü˜!ŸF™F›HŸJ™JŸN™N¨1¯5©5°«8Ó4Õ4ØŸ6™6›8Ÿ:™:Ÿ>™>¨!¯%©%°«(Ó3°a·f±f³h·j±jÕ@óóõ 	ˆô 	˜œRŸ]š]¨3Ó/°d×;r5   rþ   rÿ   r   r  r  r  r*   )çpé~°=r  g…xÝD\8¹<)r    r   rt   r-   rX   r,   rÅ   )Úmat20170120rI   Úmax_atolrü   rç   rK   s         r   Ú#test_solve_generalized_discrete_arer  †  s”  € ÜÐ8Ó9€Kô
 
�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�L ,Ð/Ø  ,Ð/Ø  ,Ð/ð1ó 
2ô 
�Š�‹Ü	�Š�‹Ü	�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�&Ó	Ø	ð	ô 
�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�L ,Ð/Ø  ,Ð/Ø  ,Ð/ð1ó 
2ô 
�Š�‹Ü	�Š�‹Ü	�ŠÒ=Ú=Ú=ð?ó 
@ô 
�Š�‹Ø	ð	ð 
�SÕ	Ø	�SÕ	Ø	�SÕ	Ø	�SÕ	Ø	Ø	�SÕ	Ø	ð	ð?&
€EðP +€Hò<ô, ˜uÖ%‰	ˆÙ�d S�MÖ*ó &r5   c                  ó$   € R  p R pR pR pR pR# )c            
      ó  € \         P                  ! R4      p \         P                  ! ^4      p\        \        3 FL  p\        \        W ^^^4       \        \        W!W^4       \        \        W!WV 4       \        \        W!WW4       KN  	  R# r(   ©r   r,   r-   r	   r
   r.   r/   ©r1   r2   r=   s      r   Útest_square_shapeÚ1test_are_validate_args.<locals>.test_square_shapeÏ  sf   € Ü�gŠg�f‹oˆÜ�VŠV�A‹YˆÜ&Ô(:Ó;ˆAÜœ* a¨a°°AÔ6Üœ* a¨R°aÔ8Üœ* a¨R°SÔ9Üœ* a¨R°RÖ=ó	 <r5   c                  ó¸  € \         P                  ! R4      p \         P                  ! ^4      p\        \        3 F�  p\        \        W!V ^^4       \        \        W!WWV 4       \        \        W!V\         P                  ! ^4      V4       \        \        W!W\         P                  ! ^4      4       \        \        W!WV\         P                  ! ^4      4       KŸ  	  R# r(   r  r  s      r   Útest_compatible_sizesÚ5test_are_validate_args.<locals>.test_compatible_sizesØ  s’   € Ü�gŠg�f‹oˆÜ�VŠV�A‹YˆÜ&Ô(:Ó;ˆAÜœ* a¨S°!°QÔ7Üœ* a¨R°R¸SÔAÜœ* a¨R´·²¸³¸BÔ?Üœ* a¨R´R·V²V¸A³YÔ?Üœ* a¨R°R¼¿ºÀ»ÖCó <r5   c            	      óì   € \         P                  ! ^	4      P                  ^^4      p \         P                  ! ^4      p\        \
        3 F'  p\        \        W!WV4       \        \        W!WV 4       K)  	  R# )rf   N)r   ÚarangeÚreshaper-   r	   r
   r.   r/   )ÚnsymÚsymr=   s      r   Útest_symmetryÚ-test_are_validate_args.<locals>.test_symmetryâ  sU   € Ü�yŠy˜‹|×#Ñ# A qÓ)ˆÜ�fŠf�Q‹iˆÜ&Ô(:Ó;ˆAÜœ* a¨c¸Ô=Üœ* a¨c¸Ö=ó <r5   c            
      ó   € \         P                  ! RR4      p V R;;,          ^,          uu&   \         P                  ! ^4      p\        \        3 F  p\        \        W!WW4       K  	  \        \        \        WW4       R# )r)   g   ¢”mBNrÖ   r²   )r   Úfullr-   r	   r
   r.   r/   )Úsingr2   r=   s      r   Útest_singularityÚ0test_are_validate_args.<locals>.test_singularityé  s[   € Ü�wŠw�v˜tÓ$ˆØˆT�
�a�‹
Ü�VŠV�A‹YˆÜ&Ô(:Ó;ˆAÜœ* a¨R°RÖ>ñ <ô 	”jÔ"6¸ÀÖIr5   c                  ó|  € \         P                  ! R\         P                  4      p \         P                  ! ^4      p\        \
        3 Fp  p\        \        W WV4       \        \        W!WV4       \        \        W!WV4       \        \        W!WV 4       \        \        W!WW4       \        \        W!WWV 4       Kr  	  R# )r+   Nr²   )r   r  Únanr-   r	   r
   r.   r/   )Únmr2   r=   s      r   Útest_finitenessÚ/test_are_validate_args.<locals>.test_finitenessò  s‰   € Ü�WŠW�VœRŸV™VÓ$ˆÜ�VŠV�A‹YˆÜ&Ô(:Ó;ˆAÜœ* a¨R°RÔ8Üœ* a¨R°RÔ8Üœ* a¨R°RÔ8Üœ* a¨R°RÔ8Üœ* a¨R°RÔ<Üœ* a¨R°R¸RÖ@ó <r5   Nr`   )r  r  r  r  r$  s        r   Útest_are_validate_argsr&  Í  s   € ò>òDò>òJô	Ar5   c                   óN  a € ] tR tRt o ]P
                  ! R4      ]P
                  ! R4      ]P
                  ! R4      3]P
                  ! R4      ]P
                  ! R4      ]P
                  ! R4      3]P
                  ! R4      ]P
                  ! R4      ]P
                  ! R4      3]P                  ! ^^.^ ^..4      ]P                  ! ^^.^ ^..4      ]P                  ! ^	^
.^^..4      3]P                  ! . RO. RO. RO. RO.4      ]P                  ! . RO. RO. RO. R O.4      ]P                  ! . RO. R!O. R"O. R#O.4      3]P                  ! R$R.R%R..4      ]P                  ! R&R.RR..4      ]P                  ! R'R(.R)R..4      3]P                  ! RR.RR..4      ]P                  ! R&^ .RR..4      ]P                  ! R'R(.R)R..4      3]P                  ! R$R.R%R..4      ]P                  ! R&^ .RR..4      ]P                  ! R'R(.R)R..4      3]P                  ! R$R.R%R..4      ]P                  ! R&^ .RR..4      ]P                  ! RR.R&R..4      3]P                  ! . R*O. R+O. R,O.4      ]P                  ! ^^.^^..4      ]P                  ! ^^.^^.^^..4      3]P                  ! . R-O. R+O. R,O.4      ]P                  ! ^^.^R...4      ]P                  ! ^R.^R.R	R/..4      3.tR
 tR t	R t
]P                  P                  R]4      ]P                  P                  R]4      ]P                  P                  R]4      ]P                  P                  R^ ^.4      ]P                  P                  R^ ^.4      R 4       4       4       4       4       tRtV tR# )0ÚTestSolveSylvesteriþ  r#   r$   r%   y              @r&   rÈ   r€   y              @c                ó”   € \        WV4      p\        \        P                  ! W4      \        P                  ! WB4      ,           V4       R # r7   )r   r   r   r8   ©r0   r;   r˜   Úcr=   s   &&&& r   Ú
check_caseÚTestSolveSylvester.check_case6  s-   € Ü˜A !Ó$ˆÜ!¤"§&¢&¨£,´·²¸³Õ"=¸qÖAr5   c                ó|   € V P                    F+  pV P                  V^ ,          V^,          V^,          4       K-  	  R# )r   N)rI   r,  rJ   s   & r   rL   ÚTestSolveSylvester.test_cases:  s,   € Ø—J”JˆDØ�O‰O˜D �G T¨!¥W¨d°1­gÖ6ó r5   c                ó:  € \         P                  ! R R.RR ..4      p\         P                  ! R ..4      p\         P                  ! RR.4      P                  R^4      p\        WV4      p\	        V\         P                  ! R R .4      P                  R^4      4       R# )r#   r‚   r$   Nrn   )r   rt   r  r   r   r*  s   &    r   Útest_trivialÚTestSolveSylvester.test_trivial>  s~   € Ü�HŠH�s˜C�j 3¨ *Ð-Ó.ˆÜ�HŠH�s�e�WÓˆÜ�HŠH�c˜3�ZÓ ×(Ñ(¨¨QÓ/ˆÜ˜A !Ó$ˆÜ! !¤R§X¢X¨s°C¨jÓ%9×%AÑ%AÀ"ÀaÓ%HÖIr5   rN   Údtype_brO   ÚmÚnc                ó¤  € Yu;8X  d   ^ 8w  d   M M\         P                  ! R4       \        P                  P	                  R4      p\        P
                  ! W3VR7      p\        P
                  ! W"3VR7      p\        P
                  ! W3VR7      p	\        WxV	4      p
VP                  R4      ^d,          P                  V4      pVP                  R4      ^d,          P                  V4      pVP                  R4      ^d,          P                  V4      p	\        WxV	4      pV
P                  W38X  g   Q hV
P                  VP                  8X  g   Q hR# )r   z6m = n != 0 is not a case that needs to be tested here.l   >¿& rQ   NrT   )rj   rj   )rU   rj   )
rv   Úskipr   rV   rW   rX   r   rY   rZ   rR   )r0   r4  r5  rN   r3  rO   r[   r;   r˜   r<   r\   r]   s   &&&&&&      r   r^   ÚTestSolveSylvester.test_size_0H  s   € ð Ž;�Q�;Ü�KŠKÐPÔQä�i‰i×#Ñ# OÓ4ˆä�HŠH�a�V 7Ô+ˆÜ�HŠH�a�V 7Ô+ˆÜ�HŠH�a�V 7Ô+ˆÜ˜a AÓ&ˆà�Z‰Z˜Ó Õ#×+Ñ+¨GÓ4ˆØ�Z‰Z˜Ó Õ#×+Ñ+¨GÓ4ˆØ�Z‰Z˜Ó Õ#×+Ñ+¨GÓ4ˆÜ˜a AÓ&ˆà�y‰y˜Q˜FÔ"Ð"Ð"Ø�y‰y˜CŸI™IÔ%Ð%Ò%r5   r`   NrS   r²   )r   r+   )r+   r   )r#   r   r   r   )r   r#   r$   r‚   )r   r   r%   rÜ   )r   r   r+   rU   )r$   r   r   r#   )r   r#   r‚   r‚   )r   r   r#   rn   )r   r   rg   rg   )r   r#   r   r   )r   r   r#   r   )r   r   r   r#   ra   rb   rC   rc   rd   re   )ri   rg   rj   )r)   rU   rk   )rh   rf   r+   )ri   rÉ   y      @       @y      @      ð¿y      @      @)ro   rp   rq   rr   r   rs   rt   rI   r,  rL   r1  rv   rw   rx   ry   r^   rz   r{   r|   s   @r   r(  r(  þ  sÒ  ø‡ € ð 
�Š�&Ó	Ø	�Š�&Ó	Ø	�Š�&Ó	ð	ð �(Š(�6Ó
Ø	�Š�&Ó	Ø	�Š�&Ó	ð
ð �(Š(�6Ó
Ø	�Š�&Ó	Ø	�Š�&Ó	ð
ð 
�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�r�7˜R ˜HÐ%Ó	&ð	(ð
 
�Š’>Ú%Ú"Úð!ó 
"ð 
�ŠÒ#Ú%Ú"Úð!ó 
"ð 
�Š’>Ú!Ú!Ú!ð#ó 
$ð	%ð 
�Š�F˜C�= 8¨S /Ð2Ó	3Ø	�Š�D˜"�:  S˜zÐ*Ó	+Ø	�Š�F˜FÐ# g¨s ^Ð4Ó	5ð	7ð 
�Š�C˜�:  S˜zÐ*Ó	+Ø	�Š�D˜!�9˜s C˜jÐ)Ó	*Ø	�Š�F˜FÐ# g¨s ^Ð4Ó	5ð	7ð 
�Š�F˜C�= 8¨S /Ð2Ó	3Ø	�Š�D˜!�9˜s C˜jÐ)Ó	*Ø	�Š�F˜FÐ# g¨s ^Ð4Ó	5ð	7ð 
�Š�F˜C�= 8¨S /Ð2Ó	3Ø	�Š�D˜!�9˜s C˜jÐ)Ó	*Ø	�Š�C˜�:  c˜{Ð+Ó	,ð	.ð 
�Š’9šiªÐ3Ó	4Ø	�Š�A�q�6˜A˜q˜6Ð"Ó	#Ø	�Š�A�q�6˜A˜q˜6 A q 6Ð*Ó	+ð	-ð 
�Š’=¢)ªYÐ7Ó	8Ø	�Š�A�q�6˜A˜t˜9Ð%Ó	&Ø	�Š�A�r�7˜Q ˜G b¨$ ZÐ0Ó	1ð	3ðe5€EònBò7òJð ‡[�[×Ñ˜Y¨Ó/Ø‡[�[×Ñ˜Y¨Ó/Ø‡[�[×Ñ˜Y¨Ó/Ø‡[�[×Ñ˜S 1 a &Ó)Ø‡[�[×Ñ˜S 1 a &Ó)ñ&ó *ó *ó 0ó 0ó 0ö
&r5   r(  )%r   Únumpyr   Únumpy.testingr   r   rv   r   r.   Úscipy.linalgr   r   r   r	   r
   r   r   r   Úscipy.sparse._sputilsr   Úscipy.conftestr   ÚintÚfloatÚfloat32ÚcomplexÚ	complex64ry   r    r"   r   rÇ   ré   r  r  r&  r(  r`   r5   r   Ú<module>rC     s�   ðÛ 	Û ç DÛ Ý *å (ß Kß Aß 7Ñ 7Ý (Ý .ð ˆu�b—j‘j '¨2¯<©<Ð	8€ò÷h&ñ h&÷VAHñ AH÷HsEñ sE÷l-ñ -ò /.òdD+òN.A÷b`&ó `&r5   