
    (ph                         S SK r S SKrS SKJr  S SKJrJr  S SKJr  S r	S r
S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rg)    N)exp)assert_assert_equal)rootc                  v  ^^^ Sn Sn[        [        [        SSSS9[        [        [        SSSS9[        [        [        SS	S	S9[        [        [        S
S	S	S9[        [
        [        SSSS9[        [        [        SSSS9[        [        [        SSSS9[        [        [        SSSS9[        [        [        SSSS9[        [        [        SSSS9/
n[        R                  " / SQ/ SQSS/5       GH  u  mmnU GH  mTS   nUUU4S jnU4nTS   " U5      T-  n[        R                   " U5      U -  T-  U[        R"                  R%                  U" Xt5      5      -  -   nS['        TT-  TT-  5      -  n	TT-  n
[        R(                  " SS9   [+        XWU[        SUTS   S-   XUS9S S!9nS S S 5        [-        TTUT[        R"                  R%                  U" WR.                  U5      5      XR0                  UR2                  UR4                  /	5      nUR0                  (       d   U5       eUR4                  TS   S-   ::  d   U5       eUR2                  TS"   ::  d   U5       e[        R"                  R%                  U" UR.                  U5      5      U::  a  GM   U5       e   GM     g ! , (       d  f       GN= f)#Ngh㈵>-C6?i     )Fx0nnitnfevi'     i     i  d      c         i        )      ?绽|=g    _Bcruzchengr   c                 (   > TTS   " U T-  U5      -  $ )Nr
    )xr   problemxscaleyscales     V/var/www/html/venv/lib/python3.13/site-packages/scipy/optimize/tests/test__spectral.pyfunctest_performance.<locals>.func0   s    QZ ;;;    r   r   ignore)overr   r      )ftolfatolmaxfevsigma_0	sigma_epsline_searchDF-SANE)argsoptionsmethodr   )dictF_1x0_1F_2x0_2F_6x0_6F_7x0_7F_9x0_9F_10x0_10	itertoolsproductnpsqrtlinalgnormminerrstater   reprr   successr   r   )e_ae_rtable_1r.   r   r#   r0   r   r*   r-   r,   solerr_msgr   r    r!   s                @@@r"   test_performancerO   
   sx    C
C 	stt3stu!!4sts4stt"5 	sts2strr3sts4sts4stt"5t115#G* (1'8'8.0A(# GA<4Dq!F*BGGAJ$v-biinnT"[6Q0QQEF6M6&= AAIVmG(+4$#'QeGFOVWDW074?$A #,	- , gryy~~d355RSn7USWWchh8G ;;'';88wv22;G;277gen,5g5,99>>$suua.1U:CGC:7 ( ,+s   J))
J8c                     S n SnSn[        XUSS9n[        UR                  5        [        R                  R                  U " U5      5      n[        R                  R                  U " UR                  5      5      n[        XRU-  :*  5        g )Nc                     U S-  S-
  S-   $ )Nr   r(                  @r   )zs    r"   r#   test_complex.<locals>.funcM   s    !tax"}r%   rR   r   r/   )tolr2   )r   r   rI   rB   rD   rE   r   )r#   r   r)   rM   f0fxs         r"   test_complexrX   L   si    	BD
tT)
4CCKK	R	!B	SUU	$BBr'Mr%   c                     S	S jn Sn[         R                  R                  S5        [         R                  " X-  5      R	                  X5      nX!U-  [         R
                  " S[         R                  " U5      -   5      -  -   n[        [         R                  R                  U5      R                  5       S:  5        [         R                  " U5      S-  nU " X#S5        U " X#S5        U " U* US5        U " U* US5        g )
Nr   c                 r  ^ ^ U U4S jn[         R                  R                  T T5      n[         R                  R                  U" U5      5      S-  n[	        UT[        USSUS9SS9n[        UR                  5        [        [         R                  R                  U" UR                  5      5      U:*  5        g )Nc                 ,   > TR                  U 5      T-
  $ N)dot)r   Abs    r"   r#   =test_linear_definite.<locals>.check_solvability.<locals>.funcc   s    558a<r%   g     @@r   isD  )r*   r)   r+   r.   r/   )r1   r2   )	rB   rD   solverE   r   r3   r   rI   r   )r^   r_   r.   r#   xpepsrM   s   ``     r"   check_solvability/test_linear_definite.<locals>.check_solvabilityb   s    	 YY__Q"iinnT"X&,!s5kR

 			tCEE{+s23r%   Z   i  r(   r   r   r   )r   )
rB   randomseedarangereshapediagr   rD   eigvalsrF   )rd   r   r^   r_   s       r"   test_linear_definiterm   [   s    4 	A IINN4
		!#q$A	aC"''!biil*+++ABIIa $$&*+
		!sAaF#aG$ qb!V$qb!W%r%   c                  $   S n [         [        4 H}  n[        R                  " SS/5      n[        R                  " SS/US9n[        XU4SS9n[        UR                  5        [        UR                  R                  UR                  5        M     g )Nc                 
    X-
  $ r\   r   )r   args     r"   ftest_shape.<locals>.f   s	    wr%   r   )dtyper/   )r0   r2   )floatcomplexrB   zerosonesr   r   rI   r   r   shape)rq   dtr   rp   rM   s        r"   
test_shaperz      so     gHHaUOggqe2&1sfY7SUU[[!''* r%   c                     [         R                  " U/5      n[         R                  " SUS-   5      n[        U S   S-
  5      S-
  US'   U[        U SS  S-
  5      U SS  -
  -  USS & U$ )Nr   r(   r   rB   rv   ri   r   r   r   gis       r"   r4   r4      sm    
!A
		!QqSAqtax=1AaDs1QR519~!"%&AabEHr%   c                 `    [         R                  " U /5      nUR                  X S-
  -  5        U$ Nr(   rB   emptyfillr   r   s     r"   r5   r5      s(    	1#BGGAsGIr%   c                     [         R                  " U/5      n[         R                  " SUS-   5      n[        U S   5      S-
  US'   SU-  [        U SS  5      U S S -   S-
  -  USS & U$ )Nr   r(   r   g?r|   r}   s       r"   r6   r6      sm    
!A
		!QqSAqt9q=AaDE3qu:#2&*+AabEHr%   c                 b    [         R                  " U /5      nUR                  SU S-  -  5        U$ )Nr(   r   r   r   s     r"   r7   r7      s)    	1#BGGAadFOIr%   c                    [        US-  S5        [        R                  " U/5      nSU S S S2   -  SU SS S2   S-  -  -   SU SS S2   S-  -  -
  SU SS S2   -  -   S	-
  US S S2'   S
U S S S2   -  SU SS S2   S-  -  -
  SU SS S2   S-  -  -   SU SS S2   -  -
  U SS S2   -
  SU SS S2   S-  -  -   S-   USS S2'   SU SS S2   -  SU SS S2   S-  -  -
  USS S2'   U$ )N   r   g333333?g?r(   g@r   g333333#@g333333@gQ?g
ףp=
?gQ	@gHzG@g?gHzG@g      ?g      ?)r   rB   rv   )r   r   r~   s      r"   F_4r      sS   Q
!A 1SqS6\C!ADqD'1*,,sQqt!tWaZ/??#!$Q$-ORUUAccFa!f}ta1gqj004!ADqD'1*3DDtaPQPTSTPTg~U14a414a4!+,.23AaddGQqt!tWntAaddGQJ.AaddGHr%   c                 `    [        U S-  S5        [        R                  " / SQU S-  -  5      nU$ )Nr   r   )r         ?r   r   rB   arrayr   s     r"   x0_4r      s,    Q	-1a4(	)BIr%   c                     Sn[         R                  " SUS-   5      S-
  U-  nU SSUSU-  -  US S 2S 4   U -  US S 2S 4   U-   -  R                  SS9-  -
  -  -
  $ )Ng?r(   r   r   )axis)rB   ri   sum)r   r   cmus       r"   r8   r8      sr    A
))Aqs
c
!1	$Bq!a1gAdFAAdFb!A F FA F NNNOOOr%   c                 0    [         R                  " U /5      $ r\   rB   rw   r   s    r"   r9   r9          77A3<r%   c                 
   [        US-  S5        S n[        R                  " U/5      nSU SS S2   S-  -  S-
  US S S2'   [        U S S S2   * 5      [        U SS S2   * 5      -   S-
  USS S2'   U" U SS S2   5      USS S2'   U$ )Nr   r   c                     SU -  S-
  nSU S-  -  SU S-  -  -   SU -  -   S-
  S-  U S	:     XS	:  '   SU -  S-   U S:     XS:  '   U$ )
Nr   r   ir   ix  i  i  i  r   r   )tvs     r"   phiF_7.<locals>.phi   sl    EAI1a4i#ad(*T!V3d:D@!b&Ib&	UQYQ'q&	r%   g     @r(   r   gqh ?)r   rB   rv   r   )r   r   r   r~   s       r"   r:   r:      s    Q
 	!A1QTT7A:!AccF1SqS6'lS!ADqD']*V3AaddG!ADqD'lAaddGHr%   c                 \    [        U S-  S5        [        R                  " / SQU S-  -  5      $ )Nr   r   )gMbP?r   r(   r   r   s    r"   r;   r;      s(    Q88MQT*++r%   c                 "   [         R                  " U/5      n[         R                  " SU5      nU S   S-  S-  U S   S-  S-  -   US'   U SS S-  * S-  X0SS S-  -  S-  -   U SS  S-  S-  -   USS& U S   S-  * S-  XS   S-  -  S-  -   US'   U$ )Nr   r   r   r(   r   )rB   rv   ri   r}   s       r"   r<   r<      s    
!A
		!QAQ4719qtQwqy AaD2wzk!ma!B
l1n,quaxz9AaGrUAXIaK!bE1H*Q,&AbEHr%   c                 0    [         R                  " U /5      $ r\   r   r   s    r"   r=   r=      r   r%   c                 >    [         R                  " SU -   5      X-  -
  $ r   )rB   log)r   r   s     r"   r>   r>      s    66!a%=13r%   c                 0    [         R                  " U /5      $ r\   r   r   s    r"   r?   r?      r   r%   )r@   numpyrB   r   numpy.testingr   r   scipy.optimizer   rO   rX   rm   rz   r4   r5   r6   r7   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r   r%   r"   <module>r      sr       / ?DD!&H
+ 
	
P
,r%   