
    (ph1                         S r SSKrSSKJrJrJrJr  SSKrSSK	J
r
JrJrJrJr  SSKJrJrJrJrJrJrJr   " S S5      r " S	 S
5      r " S S5      r " S S5      rg)z%
Unit test for constraint conversion
    N)assert_array_almost_equalassert_allcloseassert_warnssuppress_warnings)NonlinearConstraintLinearConstraintOptimizeWarningminimizeBFGS   )MaratosHyperbolicIneq
RosenbrockIneqRosenbrockEqIneqRosenbrockBoundedRosenbrockElecc                   2    \ rS rSrSrSrSrS rS rS r	Sr
g	)
TestOldToNew   )   r   )r   Nr   trust-constrc           	      L   S nSS S.SS S.SS S.4n[        5        nUR                  [        S5        [        XR                  U R
                  U R                  US9nS S S 5        [        WR                  S	S
/SS9  [        UR                  SSS9  g ! , (       d  f       N;= f)Nc                 0    U S   S-
  S-  U S   S-
  S-  -   $ Nr   r   r         @ xs    b/var/www/html/venv/lib/python3.13/site-packages/scipy/optimize/tests/test_constraint_conversion.pyfun6TestOldToNew.test_constraint_dictionary_1.<locals>.fun   &    aD1H?adSjQ%666    ineqc                 $    U S   SU S   -  -
  S-   $ Nr   r   r   r   r   s    r!   <lambda>;TestOldToNew.test_constraint_dictionary_1.<locals>.<lambda>       !A$QqT/A2Er%   typer"   c                 &    U S   * SU S   -  -
  S-   $ )Nr   r   r      r   r   s    r!   r)   r*          1Q4%!ad(2BQ2Fr%   c                 &    U S   * SU S   -  -   S-   $ r(   r   r   s    r!   r)   r*      r0   r%   delta_grad == 0.0methodboundsconstraintsffffff?g333333?-C6?rtol皙?
r   filterUserWarningr
   x0r4   bndsr   r    r"   selfr"   conssupress        r!   test_constraint_dictionary_1)TestOldToNew.test_constraint_dictionary_1   s    	7(EF(FG(FGI  CJJ{$783"&))?C ! 	Sz540 ! s   AB
B#c           	      @   S nSS SS S.n[        5        nUR                  [        S5        [        XR                  U R
                  U R                  US9nS S S 5        [        WR                  S	S
/5        [        UR                  S5        g ! , (       d  f       N== f)Nc                 0    U S   S-
  S-  U S   S-
  S-  -   $ r   r   r   s    r!   r"   6TestOldToNew.test_constraint_dictionary_2.<locals>.fun$   r$   r%   eqc                      XS   -  X S   -  -
  $ Nr   r   r   r    p1p2s      r!   r)   ;TestOldToNew.test_constraint_dictionary_2.<locals>.<lambda>'   s    aD2d7):r%   )r   皙?c                 4    [         R                  " X* //5      $ )N)nparrayrN   s      r!   r)   rQ   )   s    B9+)>r%   )r-   r"   argsjacr2   r3   g>[p?gr7?g,,?r<   rA   s        r!   test_constraint_dictionary_2)TestOldToNew.test_constraint_dictionary_2#   s    	7: >@  CJJ{$783"&))?C ! 		:67!34 ! s   AB
Bc           	      R   S nSS S.[        S SS5      /n[        5        nUR                  [        S5        [	        XR
                  U R                  U R                  US9nS S S 5        [        WR                  S	S	/S
S9  [        UR                  SS
S9  g ! , (       d  f       N;= f)Nc                 0    U S   S-
  S-  U S   S-
  S-  -   $ r   r   r   s    r!   r"   6TestOldToNew.test_constraint_dictionary_3.<locals>.fun2   r$   r%   r&   c                 $    U S   SU S   -  -
  S-   $ r(   r   r   s    r!   r)   ;TestOldToNew.test_constraint_dictionary_3.<locals>.<lambda>4   r+   r%   r,   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r^   5   s    adQqTkr%   r   r2   r3   g      ?r8   r9   g      ?)r   r   r=   r>   r
   r?   r4   r@   r   r    r"   rA   s        r!   test_constraint_dictionary_3)TestOldToNew.test_constraint_dictionary_31   s    	7(EF#$91a@B  CJJ{$783"&))?C ! 	d|$7T2 ! s   AB
B&r   N)__name__
__module____qualname____firstlineno__r?   r@   r4   rF   rX   r`   __static_attributes__r   r%   r!   r   r      s     	B!DF153r%   r   c                       \ rS rSr\R
                  R                  S5      S 5       r\R
                  R                  S5      S 5       rSr	g)TestNewToOld?   r   c           
         S n/ SQn/ n/ SQnUR                  SS S.[        S SS	5      /5        UR                  [        / S
QS[        R                  5      [        S SS	5      /5        UR                  [        S S[        R                  5      [        S SS	5      /5        U H  n0 nU HC  n[        5        n	U	R                  [        5        [        X#XS9n
U
R                  Xx'   S S S 5        ME     [        US   US   SS9  [        US   US   SS9  US	:X  d  Mx  [        US   US   SS9  M     g ! , (       d  f       M  = f)Nc                 H    U S   S-
  S-  U S   S-
  S-  -   U S   S-
  S-  -   $ Nr   r   r   r   g      ?r   r   s    r!   r"   :TestNewToOld.test_multiple_constraint_objects.<locals>.funB   8    aD1H?adSjQ%66!A$+!9KKKr%   r   r   r   slsqpcobylacobyqar   r&   c                 $    U S   SU S   -  -
  S-   $ r(   r   r   s    r!   r)   ?TestNewToOld.test_multiple_constraint_objects.<locals>.<lambda>I   s    qta!A$h7Jr%   r,   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   ru   J       1Q4!A$;r%   r   )r   r   ry   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   ru   M   rw   r%   c                 $    U S   SU S   -  -
  S-   $ r(   r   r   s    r!   r)   ru   O   s    1Q4!ad(?Q3Fr%   r   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   ru   P   rw   r%   r4   r6   rq   r   r8   r9   rr   rs   )appendr   r   rT   infr   r=   r>   r
   r"   r   )rB   num_parallel_threadsr"   r?   conimethodsconfunsr4   rD   results              r!    test_multiple_constraint_objects-TestNewToOld.test_multiple_constraint_objects@   sI   	L? 	f-JK()>AFH 	I 	%j"bff=()>AFH 	I 	()F266R()>AFH 	I CD!&(CJJ{+%cfNF#)::DL )( "
 DM4+?dKDND,@tL#q(X^0D%)+  )(s   :.D44
E   c           
         S n/ SQn/ n/ n/ SQnUR                  [        S SS5      5        UR                  [        S S/S/5      5        UR                  [        S S[        R                  " S/5      5      5        UR                  [        S	 SS5      5        UR                  [        S
 SS/SS/5      5        UR                  [        S SS/S5      5        UR                  [        S S[        R                  * /S[        R                  /5      5        UR                  [        S S[        R                  5      5        UR                  [        S S/[        R                  5      5        UR                  [        S S[        R                  " [        R                  /5      5      5        UR                  [        S [        R                  * S5      5        UR                  [        S [        R                  " [        R                  * 5      S5      5        UR                  [        S S[        R                  5      5        UR                  [        S S[        R                  * /SS/5      5        UR                  [        S SS/SS/5      5        UR                  [        S SS/SS/5      5        UR                  [        / SQSS5      5        UR                  [        / SQ/ S Q/SS5      5        UR                  [        / SQ/ S Q/S[        R                  * /SS/5      5        U H  n0 nU HC  n	[        5        n
U
R                  [        5        [        X#XS!9nUR                  X'   S S S 5        ME     [        US"   US#   S$S%9  [        US&   US#   S$S%9  US:X  d  Mx  [        US'   US#   S$S%9  M     U H  n0 nU V	s/ s H  oS&:w  d  M
  U	PM     sn	 HC  n	[        5        n
U
R                  [        5        [        X#XS!9nUR                  X'   S S S 5        ME     [        US"   US#   S$S%9  US:X  d  M  [        US'   US#   S$S%9  M     g ! , (       d  f       GM-  = fs  sn	f ! , (       d  f       M  = f)(Nc                 H    U S   S-
  S-  U S   S-
  S-  -   U S   S-
  S-  -   $ rl   r   r   s    r!   r"   <TestNewToOld.test_individual_constraint_objects.<locals>.funa   rn   r%   ro   rp   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   ATestNewToOld.test_individual_constraint_objects.<locals>.<lambda>j       !A$1+r%   r   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r   k   r   r%   g\(\?c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r   l   r   r%   c                 .    U S   U S   -
  U S   U S   -
  /$ Nr   r   r   r   r   s    r!   r)   r   q   !    qtad{AaD1Q4K8r%   c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r   t   r   r%   r7   c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r   w   r   r%   c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r   z   r   r%   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r   ~   r   r%   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r      r   r%   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r      r   r%   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r      r   r%   c                     U S   U S   -
  $ rM   r   r   s    r!   r)   r      r   r%   c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r      r   r%   c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r      r   r%   c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r      r   r%   rR   r;   g333333?c                 .    U S   U S   -
  U S   U S   -
  /$ r   r   r   s    r!   r)   r      r   r%   g333333gffffffgg)r   rx   r   )r   r   rx   r}   rq   r   MbP?r9   rr   rs   )r~   r   rT   rU   r   r   r   r=   r>   r
   r"   r   )rB   r   r"   r?   coner   r   r   r   r4   rD   r   s               r!   "test_individual_constraint_objects/TestNewToOld.test_individual_constraint_objects_   s   	L? 	'(=q!DE'(=vvNO'(=(,bhhv.>@ 	A 	'8$  	! 	'83K$. 	/ 	'84L$( 	) 	'8BFF7OdBFF^5 	6
 	'(=tRVVLM'(=vrvvNO'(=(,bhhx.@B 	C'(=wKL'(=(*"&&(92? 	@ 	'8"&&" 	# 	'8BFF7OdC[2 	3 	'8"ISz+ 	, 	'84L4+/ 	0
 	$Zt<=$j*%=tTJK$j*%=&*RVVG_tSkC 	D CD!&(CJJ{+%cfNF#)::DL )( "
 DM4+?dKDND,@tL#q(X^0D%)+  CD07NfX;M6N&(CJJ{+%cfNF#)::DL )( O
 DM4+?dK#q(X^0D%)+  )( O((s$   .Q	Q'Q'+.Q,
Q$,
Q;r   N)
rb   rc   rd   re   pytestmark	fail_slowr   r   rf   r   r%   r!   rh   rh   ?   sH    [[1+ +< [[2Q+ Q+r%   rh   c                   0   \ rS rSrSr\" SS9r\R                  " / SQ5      \l	        \
" 5       rSS/\l	        \" 5       \" 5       \" 5       \" 5       \" 5       \\/rS r\R(                  R*                  S 5       r\R(                  R*                  S	 5       rS
rg)TestNewToOldSLSQP   rq   r   n_electrons)gEGg}_uG?go?ghSg	 )?g8M)տr   c           
      X   U R                    H  n[        5        nUR                  [        5        [	        UR
                  UR                  U R                  UR                  UR                  S9nS S S 5        [        WR                  UR                  SS9  M     g ! , (       d  f       N2= f)Nr3      )decimal)list_of_problemsr   r=   r>   r
   r"   r?   r4   r5   constrr   r    x_opt)rB   probrD   r   s       r!   test_list_of_problems'TestNewToOldSLSQP.test_list_of_problems   ss    ))D"$

;'!$((DGG)-)-.2kk; % &fhh

AF *$$s   AB
B)	c                     S n[        S SS/SS/5      nSn[        5        nUR                  [        S5        [	        [
        [        USU R                  X2S	9  S S S 5        g ! , (       d  f       g = f)
Nc                 H    U S   S-
  S-  U S   S-
  S-  -   U S   S-
  S-  -   $ rl   r   r   s    r!   r"   :TestNewToOldSLSQP.test_warn_mixed_constraints.<locals>.fun   rn   r%   c                 4    U S   S-  U S   -
  U S   U S   -
  /$ r(   r   r   s    r!   r)   ?TestNewToOldSLSQP.test_warn_mixed_constraints.<locals>.<lambda>   s%    adAg!nadQqTk-Jr%   rR   r;   r7   r   r   r   r2   ro   r3   )r   r   r=   r>   r   r	   r
   r4   )rB   r"   rC   r@   rD   s        r!   test_warn_mixed_constraints-TestNewToOldSLSQP.test_warn_mixed_constraints   sd    	L"#J$'9sCj:0 CJJ{$78(C $DL !  s   7A""
A0c                 `   S nSnU R                   S:X  a  SnOS n[        S S[        R                  5      n[	        XU R                   X4S9n[        UR                  S5        [        / S	QS[        R                  5      n[	        XU R                   X4S9n[        UR                  S5        / nUR                  [        S
 S[        R                  SS95        UR                  [        S S[        R                  [        5       S95        UR                  [        S S[        R                  SS95        UR                  [        S S[        R                  SS95        UR                  [        / S	QS[        R                  SS95        U H"  n[        [        [        XU R                   X4S9  M$     g )Nc                 H    U S   S-
  S-  U S   S-
  S-  -   U S   S-
  S-  -   $ rl   r   r   s    r!   r"   8TestNewToOldSLSQP.test_warn_ignored_options.<locals>.fun   rn   r%   ro   rq   r   c                     U S   $ )Nr   r   r   s    r!   r)   =TestNewToOldSLSQP.test_warn_ignored_options.<locals>.<lambda>   s    QqTr%   r   r3   r   )r   r   r   c                     U S   S-  $ Nr   r   r   r   s    r!   r)   r          !A$'r%   T)keep_feasiblec                     U S   S-  $ r   r   r   s    r!   r)   r      r   r%   )hessc                     U S   S-  $ r   r   r   s    r!   r)   r      r   r%   *   )finite_diff_jac_sparsityc                     U S   S-  $ r   r   r   s    r!   r)   r      r   r%   )finite_diff_rel_step)r4   r   rT   r   r
   r   r"   r   r~   r   r   r	   )rB   r"   r?   r@   rC   rE   r   s          r!   test_warn_ignored_options+TestNewToOldSLSQP.test_warn_ignored_options   sg   	L;;'!4DD">1bff=st{{"6 	#	1bff5st{{"6 	#'(91bff6:< 	='(91bff-1V5 	6'(91bffACE 	F'(91bff=?A 	B$Y266379 	:C(C $DL r%   r   N)rb   rc   rd   re   r4   r   elecrT   rU   r   r   brockr   r   r   r   r   r   r   r   r   thread_unsafer   r   rf   r   r%   r!   r   r      s    FAD A BDJEa&EK	&("&((*G [[
L 
L [[$L $Lr%   r   c                   h    \ rS rSrSr\" SS9\" SS9/r\R                  R                  S 5       r
Srg)	TestNewToOldCobylai  rr   r   r      c           
         U R                    H  n[        5        nUR                  [        5        [	        UR
                  UR                  SUR                  UR                  S9n[	        UR
                  UR                  U R                  UR                  UR                  S9nS S S 5        [        WR
                  WR
                  SS9  M     g ! , (       d  f       N2= f)Nr   r3   r   r9   )r   r   r=   r>   r
   r"   r?   r5   r   r4   r   )rB   r   rD   truthr   s        r!   r   (TestNewToOldCobyla.test_list_of_problems  s     ))D"$

;' 477(6(,-1[[: "$((DGG)-)-.2kk; % FJJ		= *$$s   B
C
C	r   N)rb   rc   rd   re   r4   r   r   r   r   slowr   rf   r   r%   r!   r   r     s?    F ++
 [[> >r%   r   )__doc__numpyrT   numpy.testingr   r   r   r   r   scipy.optimizer   r   r	   r
   r   test_minimize_constrainedr   r   r   r   r   r   r   r   rh   r   r   r   r%   r!   <module>r      sk    M M = =A A A
,3 ,3^r+ r+jOL OLd> >r%   