+
    /i&                     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   &  ]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/linalg/tests/test_solvers.py
_load_datar       sd    
 ww||BGGOOBGGOOH,EF"D*H			aAGGI 
			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_shape6TestSolveLyapunov.test_continuous_squareness_and_shape`   sM    ggfoVVAY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+!&&,6683E3E3G)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!ffRVVA\1668+=+=+?@1Dd1f	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    JJD&&tAwQ8$$T!Wd1g6$$T!Wd1gh$G$$T!Wd1gj$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     ii##I.HHV7+HHV7+'-ZZ#++G4ZZ#++G4'-yyF"""yyCII%%%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?        yK?        yˡE?        y㥛 ?        yMb?        y)\(?        yZd;O?        yl?        yy&1?        y~jt?        y{Gz?        )      ?                        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     
&		&			Aq6Aq6"	#	Ar7RH%	&	( 
FC=8S/2	3	FF#gs^4	5	7 
C:Sz*	+	FF#gs^4	5	7 
FC=8S/2	3	C:c{+	,	. 
?O_"O5 
6	?O_"O5 
6	7
 
 =    
!B 
C!	F 
!Q$$	%
!Q.

VQF^--//
/	2 
!Q$$	%
((61a&>##faVn&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?        皙?{Gz?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_are0TestSolveContinuousAre.test_solve_continuous_are?  s     $( aLLL-q! q,eaffhjj1n$q(5%a 0(--/2C2CDDD!#r}}S'93Gr5   r`               rn   r   rg   r   r   )r   g=
ףp=g(\?gQ)r   g rhgףp=
gq=
ףp@)g rh?g/nRgGzgzGʿggffffffgMb)g/$@7A`@jt?Zd;O?)r   g/$@|?5^?y&1?)r   r   gx&1?&1?)r   r   r   gsh|??)gʡEg!rh?r   r   r   r   r   r   )NbX9?g7A`On?r   r   r   r   r   )r   r   gSr   r   r   r   r   )r   r   r   gS㥛g`"?r   r   r   )r   r   r   /$?g=
ףp=g rh?r   r   )r   r   r   r   r   gK7gE?r   )r   r   r   r   r   r   g^I+gtV?)r   r   r   r   r   r   r   gJ+)gQ@r   gB@p=
ף@gzG@g
ףp=
@r   r%   )g
ףp=
gRQgffffffg(\g(\
g(\g{GzgGz)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~jtg{Gz@r   r   g- r   r   r   gףp=
?)	g/$ֿgZd;O?r   r   gQr   r   r   g
ףp=
?)	gA`ТgMb.@g-Fr   gr   r   r   gq=
ףp@)	g7A`5g!rhA@gV-տg(\g1r   r   r   g(\@)	g+Ngy&1X@gT㥛Ġg(\?g/$Jr   r   r   gffffff4@)	r   r   r   r        W@ffffffbr   gJ@r   )	r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   皙)@r   皙?r   )	r   r   r   r   r   r   r   g2@r   )r   gI+gSÿ)g~jth?g/$r   )g;On?gh|?5r   )g~jt?g#~jĿr   )g rh?g{Gzܿr   )r   r   r          r+   r+   gg{Gzi)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Gz?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		A3*		B		
			 
Aq6D$<(	)	A3+		Aq6Ar7#	$	
			 
<*+13 
4 
Aq6D$<%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ItCy$s)T:	Aq6As8$	%	D6A3-	 			 		" 
D%	 	E5>E5>2	3	C;u.	/	:dA.	.			 
As8aV$	%	A3+						 
Iq>B	?3	4						 
Ar7QF#	$	A3*		C9r3i(	)				 
,2,. 
/12
3 
	>>>B	C	G	G'
)),HHnnnEF*HJK
L 
S	 	" 
>#3"$ 
% 
>"	#	%	%					 
#$"#% 
& 
				 
sU3ZsU3Z>	B"	r2 4	4rxxArxx11587 
79;B!9L
M					 
!	$	266"a=	!	AA	(	
	 		" 
sU3ZsU3Z>	sU3ZsU3Z	 	" 
sU3ZsU3Z	 	"Cc
EX>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{Gzt?g{Gz?gF%uk?r   g{Gz?g<,Ԛ}?g Tfn?g`[H?g	v>gOaeRN?r   gJY8?gH@g/$@gec]@gx$(~?r   r   r   g:0yE>      ?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,          rVP	                  4       P
                  V,          V	,
          V,           pWP	                  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     $( aLLL-||AqQ*VVXZZBffhjj2o!A%vvxzzB%GR"82"=>> 	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   gffffffi)
r   triur,   rt   ru   	full_liker   r.   r   r	   )r0   r   r   r   r   s   &    r   test_infeasible$TestSolveDiscreteAre.test_infeasible:  sy    GGBGGFO$$HHi+,..LLB"''-"88GGS#Jk#7qDr5   r`   y      ?       y             rn   y              ra   y      ?      )gX=XI?gP?g'9ԭf?)gҍK?gh2?gNցZ?)gS?gs ,?g^L^?r   r   gx&1gUUUUUU?gF]tE?)V-?gx&?r   r   )gx&r   r   r   )r   r   r   g/$?)r   r   g/$ÿr   gǺFgǺf)gQ?r   r   Zd;Ͽ)r   g+?=
ףp=?r   )r   r   g+?r   )r   r   r   gS㥛?)gPn?g/tgM?g[A+Q)gϷK?gH`?g$([gu?)gY9}g_":?g!'>տgCK?)g_L@geXgg+пgQnHg}k,gUW;g{/L	)g333333ggg>Q)r#   g333333?g?gG)3@)r   r#   g?g {\f@)r   r   r   ggR@)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@gY8m?g&S?g&S:?g~jt?)g&1lD@gjtD@g/$0@g1w-!@ge`TR'?)gvo(@g~jtS:@gPnB@g\(/@gjt(@)gm{r@gK)@g/$5;@gx&q5@grh|D@)gNbX9?g?g      ?g\C@gRW@gHPg$(~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   )	g0@g     `@gGz.'@g]Fx?g\(Bg#J{/L?r   g+@g"@)	g33333#S@g33333@gq=
ףp)@g"u?gGzDg#?r   gQ@g"@)	g_g     Xv@i1  gHzG?g33333Yg/$?r   g33333'@gQ2@)	g     vg33333σ@g
ףp=R@g@g     qgMbX9@r   gQ?@g)\hH@)	i@g@g`gScg{GQ@g;On@r   gzG!U@gy_@)	g33333Äg=
ףp=\@g)\8VgEgGzU@g333333+@r   g	b@gffffffY@)	g33333yi  g{GZKg+g(\P@g{G(@gz6?gGzX@g{GjQ@)	g|fg33333r@gGz7g(\gQKN@g)\(6@r   g̼j@gQA@)	gug33333#@g{GFgmgffffffZ@g\(3@r   g33333ck@gfffffj@)g
ףp=
@g cZB>gQT)gT㥛 ?gd;Ogףp=
)gʡE?g=
ףp=*gn!@)gA`"@gq=
ףAg8@)gGz$@g     0Wg33333P@)gZd;@gQNgQ+C@)g7A`@g
ףp=jBg
ףp=J4@)gK7?gGz/gsh|@)gv/@gHzG>gz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      
At9q#h'	(	A3*		Aq6Aq6"	#	A3%			 
Aq6Ar7#	$	C52$-	 	Aq6Aq6"	#	A3%			 
Aq6Ar7#	$	Aq6Aq6"	#	At9tQi(	)	As8b!W%	&			 
7668 
9 
J<*
|<	=				 
Aq6D$<(	)	A3+		Aq6Aq6"	#	A3%			 
FA;F,	-	E5>GU#34	5	E1:4y)	*	C8aV$	%			 
Ar7QF#	$	A3*		Aq6Aq6"	#	A3%			 
Aq6Ar7#	$	Aq6Aq6"	#	B8b!W%	&$	/	Aq6Aq6"	#			 
Aq6Aq6"	#	A3*		Aq6Aq6"	#	A3%			 
'''') 
* 
FF#F#F#F#% 
& 
'''(* 
+ 
		 
====? 
@ 
Iy)y)z*y)+ 
, 
4		
	 
C??@B 
C 
*)(') 
* 
< !# 
$ 
		 
<>@?<	> 
? BF	
F
 
FG$G$G$G$G$	& 
' *.	
.
 
			 
BGGQFa0	1	BHHqcA3_5	6	%%%&&%' 
( 
Aq6Aq6"	#			 

F
F
D
G
G
H
J
H
H
J	K 	
K 
.--./..-.0 
1 49
9 
.	/		+	. 
As8aV$	%	A3*			A3%		 
< 
 #&
( 
	rvvay	rvvay	 
'  
! 
E7QC!qc*	+			D6(			 
q		266#q>	"		A3%			q}
EN4K)45#sR#X~~5GGBK GBK GBK[[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                  W4       R# )
g?r   gq=
ףp?g?r   g?)sNgg)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     HHtTlQI./HHtftf%&FF1IMM$FF1IHHsecU^$Q11%Q1&


""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# )? ??6Wtk?]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WP                  \        \        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    )-&aA,LL- qQ2ffhjjnnQUU1X&a)AAAE668::>>!$((+a/||E"--"2HMMO4E4EFGG!#r}}S'93Gr5   r   g[,Y?g7h?g;)ƣ?g7j*0	<?gɚ&ꢡ?gڠݸ?g*[K?gfSdc?gGY?g X.e?g6u?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
WP                  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   )-&aA,LL-qQ109qwwqz"A9a AffhjjnnQUU1X&a)AAAE

quuQx(1,11!FFHJJNN155844668::>>!%%(3affhjj@ 	 	R]]3/d;r5   r   r   r   r  r  r  r*   )p~=r  gxD\8<)r    r   rt   r-   rX   r,   r   )mat20170120rI   max_atolr   r   rK   s         r   #test_solve_generalized_discrete_arer    s   89K
 
===? 
@ 
L,/ ,/ ,/1 
2 
		===? 
@ 
&			 
===? 
@ 
L,/ ,/ ,/1 
2 
		===? 
@ 
		 
S		S		S		S			S			?&
EP +H<, u%	dSM* &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_shape1test_are_validate_args.<locals>.test_square_shape  sf    ggfoVVAY&(:;A*aaA6*aRa8*aRS9*aRR=	 <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_sizes5test_are_validate_args.<locals>.test_compatible_sizes  s    ggfoVVAY&(:;A*aS!Q7*aRRSA*aRB?*aRRVVAY?*aRR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    yy|##Aq)ffQi&(:;A*ac=*ac= <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_singularity0test_are_validate_args.<locals>.test_singularity  s[    wwvt$T
a
VVAY&(:;A*aRR> < 	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    WWVRVV$VVAY&(:;A*aRR8*aRR8*aRR8*aRR8*aRR<*aRRR@ <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,    JJDOODGT!Wd1g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~    HHsCj3*-.HHseWHHc3Z ((Q/A!$!!RXXsCj%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;KKPQii##O4HHaV7+HHaV7+HHaV7+aA&ZZ#++G4ZZ#++G4ZZ#++G4aA&yyQF"""yyCII%%%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
	&		&	
 
Aq6Aq6"	#	Aq6Aq6"	#	Ar7RH%	&	(
 
>%"! 
" 
#%"! 
" 
>!!!# 
$	% 
FC=8S/2	3	D":Sz*	+	FF#gs^4	5	7 
C:Sz*	+	D!9sCj)	*	FF#gs^4	5	7 
FC=8S/2	3	D!9sCj)	*	FF#gs^4	5	7 
FC=8S/2	3	D!9sCj)	*	C:c{+	,	. 
9i3	4	Aq6Aq6"	#	Aq6Aq6Aq6*	+	- 
=)Y7	8	Aq6At9%	&	Ar7QGb$Z0	1	3e5EnB7J [[Y/[[Y/[[Y/[[S1a&)[[S1a&)& * * 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 ( . ubjj'2<<	8h& h&VAH AHHsE sEl- - /.dD+N.Ab`& `&r5   