+
    /im                     |   ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
Ht ^ RIHtHtHtHtHtHtHt  ! R R4      t ! R R	4      t ! R
 R4      t ! R R4      t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R4      t ! R R4      t ! R R4      tR tR t R t!R t" ! R  R!4      t#R# )"    N)
block_diag)	csc_array)assert_array_almost_equalassert_array_lessassert_)NonlinearConstraintLinearConstraintBoundsminimizeBFGSSR1rosenc                   P   a  ] tR t^t o RtR	R ltR tR tR t]	R 4       t
RtV tR# )
MaratosProblem 15.4 from Nocedal and Wright

The following optimization problem:
    minimize 2*(x[0]**2 + x[1]**2 - 1) - x[0]
    Subject to: x[0]**2 + x[1]**2 - 1 = 0
Nc                   V^,          \         P                  ,          p\         P                  ! V4      \         P                  ! V4      .V n        \         P
                  ! RR.4      V n        W n        W0n        RV n	        R#          ?        N
nppicossinx0arrayx_opt
constr_jacconstr_hessboundsselfdegreesr   r    radss   &&&& l/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/optimize/tests/test_minimize_constrained.py__init__Maratos.__init__   V    s{255 66$<.XXsCj)
$&    c                    ^V^ ,          ^,          V^,          ^,          ,           ^,
          ,          V^ ,          ,
          #     r#   xs   &&r&   funMaratos.fun"   s0    !A$'AaD!G#a'(1Q4//r*   c                x    \         P                  ! ^V^ ,          ,          ^,
          ^V^,          ,          .4      #    r   r   r/   s   &&r&   gradMaratos.grad%   s*    xx1Q41QqT6*++r*   c                <    ^\         P                  ! ^4      ,          # r4   r   eyer/   s   &&r&   hessMaratos.hess(       {r*   c                    R  pV P                   f   R pMV P                   pV P                  f   R pMV P                  p\        V^^W#4      # )c                 L    V ^ ,          ^,          V ^,          ^,          ,           # r   r.   r0   s   &r&   r1   Maratos.constr.<locals>.fun-       Q47QqT1W$$r*   c                 D    ^V ^ ,          ,          ^V ^,          ,          ..# r,   r.   rB   s   &r&   jacMaratos.constr.<locals>.jac1        1Q41Q4())r*   c                 X    ^V^ ,          ,          \         P                  ! ^4      ,          # r,   r:   r0   vs   &&r&   r<   Maratos.constr.<locals>.hess7       1vbffQi''r*   r   r    r   r#   r1   rF   r<   s   &   r&   constrMaratos.constr+   R    	% ??"* //C#( ##D"31c88r*   r!   r    r   r   r   <   NN__name__
__module____qualname____firstlineno____doc__r'   r1   r7   r<   propertyrP   __static_attributes____classdictcell____classdict__s   @r&   r   r      s2     0, 9 9r*   r   c                   V   a  ] tR t^?t o RtR
R ltR tR tR tR t	]
R 4       tR	tV tR# )MaratosTestArgsr   Nc                   V^,          \         P                  ,          p\         P                  ! V4      \         P                  ! V4      .V n        \         P
                  ! RR.4      V n        W@n        WPn        Wn	        W n
        RV n        R# r   )r   r   r   r   r   r   r   r   r    abr!   )r#   rd   re   r$   r   r    r%   s   &&&&&& r&   r'   MaratosTestArgs.__init__G   s`    s{255 66$<.XXsCj)
$&r*   c                ^    V P                   V8w  g   V P                  V8w  d   \        4       hR # N)rd   re   
ValueError)r#   rd   re   s   &&&r&   
_test_argsMaratosTestArgs._test_argsQ   s$    66Q;$&&A+, &r*   c                    V P                  W#4       ^V^ ,          ^,          V^,          ^,          ,           ^,
          ,          V^ ,          ,
          # r,   )rj   r#   r0   rd   re   s   &&&&r&   r1   MaratosTestArgs.funU   s<    !A$'AaD!G#a'(1Q4//r*   c                    V P                  W#4       \        P                  ! ^V^ ,          ,          ^,
          ^V^,          ,          .4      # r4   )rj   r   r   rm   s   &&&&r&   r7   MaratosTestArgs.gradY   s6    xx1Q41QqT6*++r*   c                ^    V P                  W#4       ^\        P                  ! ^4      ,          # r4   )rj   r   r;   rm   s   &&&&r&   r<   MaratosTestArgs.hess]   s     {r*   c                    R  pV P                   f   R pMV P                   pV P                  f   R pMV P                  p\        V^^W#4      # )c                 L    V ^ ,          ^,          V ^,          ^,          ,           # rA   r.   rB   s   &r&   r1   #MaratosTestArgs.constr.<locals>.func   rD   r*   c                 D    ^V ^ ,          ,          ^V ^,          ,          ..# r4   r.   rB   s   &r&   rF   #MaratosTestArgs.constr.<locals>.jacg   rH   r*   c                 X    ^V^ ,          ,          \         P                  ! ^4      ,          # r,   r:   rJ   s   &&r&   r<   $MaratosTestArgs.constr.<locals>.hessm   rM   r*   rN   rO   s   &   r&   rP   MaratosTestArgs.constra   rR   r*   )rd   re   r!   r    r   r   r   rT   )rW   rX   rY   rZ   r[   r'   rj   r1   r7   r<   r\   rP   r]   r^   r_   s   @r&   rb   rb   ?   s7     0, 9 9r*   rb   c                   Z   a  ] tR t^ut o RtR	R ltR t]R 4       tR t	]R 4       t
RtV tR# )
MaratosGradInFuncr   Nc                   V^,          \         P                  ,          p\         P                  ! V4      \         P                  ! V4      .V n        \         P
                  ! RR.4      V n        W n        W0n        RV n	        R# r   r   r"   s   &&&& r&   r'   MaratosGradInFunc.__init__}   r)   r*   c                    ^V^ ,          ^,          V^,          ^,          ,           ^,
          ,          V^ ,          ,
          \         P                  ! ^V^ ,          ,          ^,
          ^V^,          ,          .4      3# r,   r6   r/   s   &&r&   r1   MaratosGradInFunc.fun   s\    1Q47QqT1W$q()AaD0!AaD&(AadF+,. 	.r*   c                    R # )Tr.   r#   s   &r&   r7   MaratosGradInFunc.grad   s    r*   c                <    ^\         P                  ! ^4      ,          # r4   r:   r/   s   &&r&   r<   MaratosGradInFunc.hess   r>   r*   c                    R  pV P                   f   R pMV P                   pV P                  f   R pMV P                  p\        V^^W#4      # )c                 L    V ^ ,          ^,          V ^,          ^,          ,           # rA   r.   rB   s   &r&   r1   %MaratosGradInFunc.constr.<locals>.fun   rD   r*   c                 D    ^V ^ ,          ,          ^V ^,          ,          ..# r4   r.   rB   s   &r&   rF   %MaratosGradInFunc.constr.<locals>.jac   rH   r*   c                 X    ^V^ ,          ,          \         P                  ! ^4      ,          # r,   r:   rJ   s   &&r&   r<   &MaratosGradInFunc.constr.<locals>.hess   rM   r*   rN   rO   s   &   r&   rP   MaratosGradInFunc.constr   rR   r*   rS   rT   )rW   rX   rY   rZ   r[   r'   r1   r\   r7   r<   rP   r]   r^   r_   s   @r&   r|   r|   u   sA     .   9 9r*   r|   c                   P   a  ] tR t^t o RtR	R ltR tR tR t]	R 4       t
RtV tR# )
HyperbolicIneqzProblem 15.1 from Nocedal and Wright

The following optimization problem:
    minimize 1/2*(x[0] - 2)**2 + 1/2*(x[1] - 1/2)**2
    Subject to: 1/(x[0] + 1) - x[1] >= 1/4
                               x[0] >= 0
                               x[1] >= 0
Nc                    ^ ^ .V n         RR.V n        Wn        W n        \	        ^ \
        P                  4      V n        R# )r   g~T>?g~1[?N)r   r   r   r    r
   r   infr!   )r#   r   r    s   &&&r&   r'   HyperbolicIneq.__init__   s6    a&)
$&Q'r*   c                    RV^ ,          ^,
          ^,          ,          RV^,          R,
          ^,          ,          ,           # )         ?r.   r/   s   &&r&   r1   HyperbolicIneq.fun   s/    AaD1Hq= 3!s
Q#666r*   c                B    V^ ,          ^,
          V^,          R,
          .# )r   r   r.   r/   s   &&r&   r7   HyperbolicIneq.grad   s    !q!A$*%%r*   c                .    \         P                  ! ^4      # r,   r:   r/   s   &&r&   r<   HyperbolicIneq.hess   s    vvayr*   c                    R  pV P                   f   R pMV P                   pV P                  f   R pMV P                  p\        VR\        P                  W#4      # )c                 L    ^V ^ ,          ^,           ,          V ^,          ,
          # r   r.   rB   s   &r&   r1   "HyperbolicIneq.constr.<locals>.fun   s    adQh<!A$&&r*   c                 D    RV ^ ,          ^,           ^,          ,          R..# )r   r.   rB   s   &r&   rF   "HyperbolicIneq.constr.<locals>.jac   s!    QqTAXM)2.//r*   c                     ^V^ ,          ,          \         P                  ! ^V ^ ,          ^,           ^,          ,          ^ .^ ^ ..4      ,          # r,   r6   rJ   s   &&r&   r<   #HyperbolicIneq.constr.<locals>.hess   sE    1vbhhAaD1Hq=!(<)*A(0 1 1 1r*   g      ?r   r    r   r   r   rO   s   &   r&   rP   HyperbolicIneq.constr   sV    	' ??"0 //C#1 ##D"3bffc@@r*   rS   )NNrV   r_   s   @r&   r   r      s4     (7& A Ar*   r   c                   P   a  ] tR t^t o RtR	R ltR tR tR t]	R 4       t
RtV tR# )

RosenbrockzRosenbrock function.

The following optimization problem:
    minimize sum(100.0*(x[1:] - x[:-1]**2.0)**2.0 + (1 - x[:-1])**2.0)
c                    \         P                  P                  V4      pVP                  R^V4      V n        \         P
                  ! V4      V n        RV n        R# )r   Nr   )r   randomRandomStateuniformr   onesr   r!   )r#   nrandom_staterngs   &&& r&   r'   Rosenbrock.__init__   s@    ii##L1++b!Q'WWQZ
r*   c                    \         P                  ! V4      p\         P                  ! R VR,          VRR R,          ,
          R,          ,          ^VRR ,
          R,          ,           ^ R7      pV# )g      Y@:r   NNN       @axisr   )r   asarraysum)r#   r0   rs   && r&   r1   Rosenbrock.fun   sX    JJqMFF5AbEAcrFCK/#55QsVc8IIr*   c                   \         P                  ! V4      pV^R pVRR pVR,          p\         P                  ! V4      p^W#^,          ,
          ,          RWB^,          ,
          ,          V,          ,
          ^^V,
          ,          ,
          V^R% RV^ ,          ,          V^,          V^ ,          ^,          ,
          ,          ^^V^ ,          ,
          ,          ,
          V^ &   ^VR,          VR,          ^,          ,
          ,          VR&   V# )r   Nr-   NN  r   p)r   r   
zeros_like)r#   r0   xmxm_m1xm_p1ders   &&    r&   r7   Rosenbrock.grad   s    JJqMqW#2"mmABM*EEM*R/023q2v,?Ab	!!qtQw/!q1Q4x.@A22)*B
r*   c                *   \         P                  ! V4      p\         P                  ! RVRR ,          ^4      \         P                  ! R VRR ,          R4      ,
          p\         P                  ! \	        V4      VP
                  R7      pRV^ ,          ^,          ,          R V^,          ,          ,
          ^,           V^ &   ^VR&   ^RV^R ^,          ,          ,           R VR,          ,          ,
          V^R% V\         P                  ! V4      ,           pV# )r   N)dtypei  r   r   r   )r   
atleast_1ddiagzeroslenr   )r#   r0   Hdiagonals   &&  r&   r<   Rosenbrock.hess   s    MM!GGD1Sb6M1%afb(AA88CF!''2QqT1WnsQqTz1A5ta"gqj0032;>2!!r*   c                    R# )Nr.   r.   r   s   &r&   rP   Rosenbrock.constr   s    	r*   r!   r   r   N)r-   r   rV   r_   s   @r&   r   r      s2     
  r*   r   c                   >   a  ] tR tRt o RtRR lt]R 4       tRtV t	R# )IneqRosenbrock   zRosenbrock subject to inequality constraints.

The following optimization problem:
    minimize sum(100.0*(x[1] - x[0]**2)**2.0 + (1 - x[0])**2)
    subject to: x[0] + 2 x[1] <= 1

Taken from matlab ``fmincon`` documentation.
c                f    \         P                  V ^V4       RR.V n        RR.V n        RV n        R# )r-   gn?g$?Nr         ࿩r   r'   r   r   r!   r#   r   s   &&r&   r'   IneqRosenbrock.__init__	  s2    D!\2t*f%
r*   c                H    ^^..p^p\        V\        P                  ) V4      # r   r	   r   r   )r#   Are   s   &  r&   rP   IneqRosenbrock.constr  s'    VHBFF7A..r*   r   NrA   
rW   rX   rY   rZ   r[   r'   r\   rP   r]   r^   r_   s   @r&   r   r      s#      / /r*   r   c                   .   a  ] tR tRt o RtRR ltRtV tR# )BoundedRosenbrocki  a  Rosenbrock subject to inequality constraints.

The following optimization problem:
    minimize sum(100.0*(x[1] - x[0]**2)**2.0 + (1 - x[0])**2)
    subject to:  -2 <= x[0] <= 0
                  0 <= x[1] <= 2

Taken from matlab ``fmincon`` documentation.
c                ~    \         P                  V ^V4       RR.V n        RV n        \	        R^ .^ ^.4      V n        R# )r-   g?Ngɿr   )r   r'   r   r   r
   r!   r   s   &&r&   r'   BoundedRosenbrock.__init__   s<    D!\2+
b!Wq!f-r*   r   NrA   )rW   rX   rY   rZ   r[   r'   r]   r^   r_   s   @r&   r   r     s     . .r*   r   c                   >   a  ] tR tRt o RtRR lt]R 4       tRtV t	R# )EqIneqRosenbrocki'  a  Rosenbrock subject to equality and inequality constraints.

The following optimization problem:
    minimize sum(100.0*(x[1] - x[0]**2)**2.0 + (1 - x[0])**2)
    subject to: x[0] + 2 x[1] <= 1
                2 x[0] + x[1] = 1

Taken from matlab ``fimincon`` documentation.
c                f    \         P                  V ^V4       RR.V n        RR.V n        RV n        R# )r-   gWs`?g|\*?Nr   r   r   r   s   &&r&   r'   EqIneqRosenbrock.__init__1  s2    D!\2t*w'
r*   c                n    ^^..p^p^^..p^p\        V\        P                  ) V4      \        W4V4      3# r   r   )r#   A_ineqb_ineqA_eqb_eqs   &    r&   rP   EqIneqRosenbrock.constr7  sH    a&Ax "&&&9 T24 	4r*   r   NrA   r   r_   s   @r&   r   r   '  s#      4 4r*   r   c                   \   a  ] tR tRt o RtRR ltR tR tR tR t	R	 t
]R
 4       tRtV tR# )EleciA  a  Distribution of electrons on a sphere.

Problem no 2 from COPS collection [2]_. Find
the equilibrium state distribution (of minimal
potential) of the electrons positioned on a
conducting sphere.

References
----------
.. [1] E. D. Dolan, J. J. Mor'{e}, and T. S. Munson,
       "Benchmarking optimization software with COPS 3.0.",
        Argonne National Lab., Argonne, IL (US), 2004.
Nc                   Wn         \        P                  P                  V4      V n        V P                  P                  ^ ^\        P                  ,          V P                   4      pV P                  P                  \        P                  ) \        P                  V P                   4      p\        P                  ! V4      \        P                  ! V4      ,          p\        P                  ! V4      \        P                  ! V4      ,          p\        P                  ! V4      p	\        P                  ! WxV	34      V n
        RV n        W0n        W@n        RV n        R# )r   N)n_electronsr   r   r   r   r   r   r   r   hstackr   r   r   r    r!   )
r#   r   r   r   r    phithetar0   yzs
   &&&&&     r&   r'   Elec.__init__O  s    &99((6hhq!bee)T-=-=>  "%%0@0@AFF5MBFF3K'FF5MBFF3K'FF5M))Q1I&
$&r*   c                    VR V P                    pWP                   ^V P                   ,           pV^V P                   ,          R  pW#V3# rh   r   )r#   r0   x_coordy_coordz_coords   &&   r&   _get_cordinatesElec._get_cordinates_  sS    %T%%&$$Q)9)9%9:A((()*((r*   c                    V P                  V4      w  r#pVR,          V,
          pVR,          V,
          pVR,          V,
          pWVV3# )NNN)r   Nr   )r#   r0   r   r   r   dxdydzs   &&      r&   _compute_coordinate_deltasElec._compute_coordinate_deltase  sN    $($8$8$;!'W'W'W'rzr*   c                d   V P                  V4      w  r#p\        P                  ! R R7      ;_uu_ 4        V^,          V^,          ,           V^,          ,           R,          pRRR4       ^ X\        P                  ! V4      &   R\        P                  ! V4      ,          #   + '       g   i     LF; i)ignoredivider   Nr   )r  r   errstatediag_indices_fromr   )r#   r0   r   r   r  dm1s   &&    r&   r1   Elec.funl  sz    44Q7
[[))q52q5=2q5(T1C *)*B  %&RVVC[   *)s   -BB/	c                   V P                  V4      w  r#p\        P                  ! R R7      ;_uu_ 4        V^,          V^,          ,           V^,          ,           R,          pRRR4       ^ X\        P                  ! V4      &   \        P                  ! W%,          ^R7      ) p\        P                  ! W5,          ^R7      ) p\        P                  ! WE,          ^R7      ) p\        P
                  ! WgV34      #   + '       g   i     L; i)r  r  Nr         )r  r   r  r	  r   r   )	r#   r0   r   r   r  dm3grad_xgrad_ygrad_zs	   &&       r&   r7   	Elec.grads  s    44Q7
[[))q52q5=2q5(T1C *)*B  %&&&**&&**&&**yy&&122 *)s   -C77D	c           	        V P                  V4      w  r#pV^,          V^,          ,           V^,          ,           R,          p\        P                  ! RR7      ;_uu_ 4        VR,          pVR,          pRRR4       \        P                  ! V P                  4      p^ XW3&   ^ XW3&   V^V^,          ,          V,          ,
          p	\        P
                  ! V	^R7      ) WV3&   RV,          V,          V,          p
\        P
                  ! V
^R7      ) WV3&   RV,          V,          V,          p\        P
                  ! V^R7      ) WV3&   V^V^,          ,          V,          ,
          p\        P
                  ! V^R7      ) WV3&   RV,          V,          V,          p\        P
                  ! V^R7      ) WV3&   V^V^,          ,          V,          ,
          p\        P
                  ! V^R7      ) WV3&   \        P                  ! \        P                  ! WV34      \        P                  ! WV34      \        P                  ! WV34      34      pV#   + '       g   i     EL; i)r-   r   r  r  Nr   )r  r   r  aranger   r   vstackr   )r#   r0   r   r   r  dr  dm5iHxxHxyHxzHyyHyzHzzr   s   &&              r&   r<   	Elec.hess  s   44Q7
URU]RU"s*[[))r'Cr'C * IId&&'AD	AD	AAIO#VVCa((qD	2glS VVCa((qD	2glS VVCa((qD	AAIO#VVCa((qD	2glS VVCa((qD	AAIO#VVCa((qD	IIIIso&IIso&IIso&
  A *))s    II"	c                   a  V 3R  lpS P                   f   V 3R lpMS P                   pS P                  f   R pMS P                  p\        V\        P                  ) ^ W#4      # )c                    < SP                  V 4      w  rpV^,          V^,          ,           V^,          ,           ^,
          # r,   r   )r0   r   r   r   r#   s   &   r&   r1   Elec.constr.<locals>.fun  s9    (,(<(<Q(?%GgA:
*WaZ7!;;r*   c                   < SP                  V 4      w  rp^\        P                  ! V4      ,          p^\        P                  ! V4      ,          p^\        P                  ! V4      ,          p\        \        P                  ! WEV34      4      # r,   )r   r   r   r   r   )r0   r   r   r   JxJyJzr#   s   &      r&   rF   Elec.constr.<locals>.jac  si    ,0,@,@,C)')))))) BB<!899r*   c                 T    ^\         P                  ! V4      ,          p\        W"V4      # r,   )r   r   r   )r0   rK   Ds   && r&   r<   Elec.constr.<locals>.hess  s     
N!!**r*   r   rO   s   f   r&   rP   Elec.constr  sY    	< ??": //C#+ ##D"3C>>r*   )r!   r    r   r   r   r   r   )   r   NN)rW   rX   rY   rZ   r[   r'   r   r  r1   r7   r<   r\   rP   r]   r^   r_   s   @r&   r   r   A  s=      )!3$L ? ?r*   r   c                   `  a  ] tR tRt o ]! 4       ]! RR7      ]! ]! 4       R7      ]! R]! 4       R7      ]! 4       ]! 4       ]! RR7      ]! ]! 4       R7      ]! R]! 4       R7      ]	! 4       ]
! 4       ]! 4       ]! 4       ]! ^R7      ]! ^RR7      ]! ^]! 4       R7      ]! ^R]! 4       R7      .t]P                   P#                  R	]4      ]P                   P#                  R
R4      ]P                   P#                  RRRR R R 34      R 4       4       4       tR tR tR tR tR tR tR tR tRtV tR# )TestTrustRegionConstri  2-point)r    )r   r    3-pointr   )r   r    )r   r   r    probr7   r<   	prob.hessc                     \        4       # rh   )r   r.   r*   r&   <lambda>TestTrustRegionConstr.<lambda>  s    cer*   c                     \        R R7      # )damp_updateexception_strategyr   r.   r*   r&   r6  r7    	    dm.Tr*   c                     \        R R7      # )skip_updater:  r<  r.   r*   r&   r6  r7    r=  r*   c                   VR 8X  d   VP                   MTp\        V4      '       d   V! 4       MTpVR8X  d   VP                  MTpVR9   d   VR9   d   \        P                  ! R4       VP                   RJ d   VR9   d   \        P                  ! R4       \        V\        4      ;'       d    VR8H  ;'       d    \        V\        4      pV'       d   \        P                  ! R4       \        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        4       \        VP                  VP                  R	W#VP                   VP"                  R
7      pRRR4       VP$                  eJ   \'        XP(                  VP$                  ^R7       VP*                  ^8X  d   \-        VP.                  R4       XP*                  ^8X  d>   \-        VP0                  R4       VP2                  R8X  d   \-        VP4                  R4       RVP*                   R2pVP*                  R9  g   Q V4       hR#   + '       g   i     L; i)	prob.gradr4  r2  z+Numerical Hessian needs analytical gradientTz6prob.grad incompatible with grad in {'3-point', False}z3Seems sensitive to initial conditions w/ Accelerater  delta_grad == 0.0trust-constrmethodrF   r<   r!   constraintsNdecimal:0yE>tr_interior_pointzInvalid termination condition: .>   Fcsr1  r2  >   rL  r1  r2  >   Fr2  >   r      )r7   callabler<   pytestskip
isinstancer   r   xfailwarningscatch_warningsfilterwarningsUserWarningr   r1   r   r!   rP   r   r   r0   statusr   
optimality	tr_radiusrE  barrier_parameter)r#   r3  r7   r<   	sensitiveresultmessages   &&&&   r&   test_list_of_problems+TestTrustRegionConstr.test_list_of_problems  s    !K/tyyT!$tvT K/tyyT7744KKEF99);!;KKPQ&78 0 0TY=N 0 0#D$/ 	LLNO$$&&##H.A;Odhh%3"&%)[[*.++	7F ' ::!%fhh

./1 }}!!&"3"3T:==Af..5}} 33!&":":DA 4FMM?!D}}F*3G3*/ '&s   AH33I	c                b    R  pR.p\        VR.VRR7      p\        VP                  ^^R7       R# )c                 "    V ^,
          ^,          # r   r.   rB   s   &r&   r1   <TestTrustRegionConstr.test_default_jac_and_hess.<locals>.fun      Ea<r*   rC  )r   r!   rE  rG  Nr   r-   r  r   r   r0   r#   r1   r!   ress   &   r&   test_default_jac_and_hess/TestTrustRegionConstr.test_default_jac_and_hess  s0    	 svf^L!#%%A6r*   c                d    R  pR.p\        VR.VRRR7      p\        VP                  ^^R7       R# )c                 "    V ^,
          ^,          # r   r.   rB   s   &r&   r1   4TestTrustRegionConstr.test_default_hess.<locals>.fun
  rc  r*   rC  r1  )r   r!   rE  rF   rG  Nrd  r  re  rf  s   &   r&   test_default_hess'TestTrustRegionConstr.test_default_hess	  s5    	 svf^$&!#%%A6r*   c                   \        4       p\        VP                  VP                  R VP                  VP
                  R7      p\        VP                  VP                  RRR7      p\        VP                  VP                  RRR7      p\        VP                  VP                  ^R7       \        VP                  VP                  ^R7       \        VP                  VP                  ^R7       R# )rC  )rE  rF   r<   zL-BFGS-Br1  )rE  rF   r2  rG  N)	r   r   r1   r   r7   r<   r   r0   r   )r#   r3  r\  result1result2s   &    r&   test_no_constraints)TestTrustRegionConstr.test_no_constraints  s    |$((DGG!/"iidii9 488TWW",(* 488TWW",(* 	"&((DJJB!'))TZZC!'))TZZCr*   c           
     2  a \        4       oV3R  lp\        SP                  SP                  RSP                  VSP
                  SP                  R7      pSP                  e#   \        VP                  SP                  ^R7       VP                  ^8X  d   \        VP                  R4       VP                  ^8X  d>   \        VP                  R4       VP                  R8X  d   \        VP                  R4       VP                  R9   d   \!        R4      hR# )	c                 H   < SP                  V 4      pVP                  V4      # rh   )r<   dot)r0   pr   r3  s   && r&   hessp/TestTrustRegionConstr.test_hessp.<locals>.hessp$  s    		!A558Or*   rC  )rE  rF   rx  r!   rF  NrG  rI  rJ  Invalid termination condition.r   rM  )r   r   r1   r   r7   r!   rP   r   r   r0   rW  r   rX  rY  rE  rZ  RuntimeError)r#   rx  r\  r3  s   &  @r&   
test_hessp TestTrustRegionConstr.test_hessp!  s    y	 $((DGG!/"iiu!%&*kk	3 ::!%fhh

AF ==Af//6==Af..5}} 33!&":":DA==F"?@@ #r*   c                >   \        R ^4      p\        VP                  VP                  RRVP                  VP
                  VP                  VP                  R7      pVP                  e#   \        VP                  VP                  ^R7       VP                  ^8X  d   \        VP                  R4       VP                  ^8X  d>   \        VP                  R4       VP                  R8X  d   \        VP                   R4       VP                  R	9   d   \#        R4      hR# )
rd   rC  rD  NrG  rI  rJ  rz  )rd      r{  )rb   r   r1   r   r7   r<   r!   rP   r   r   r0   rW  r   rX  rY  rE  rZ  r|  )r#   r3  r\  s   &  r&   	test_argsTestTrustRegionConstr.test_args>  s    sC($((DGGZ!/"iidii!%&*kk	3 ::!%fhh

AF ==Af//6==Af..5}} 33!&":":DA==F"?@@ #r*   c                    \        4       pR p\        P                  ! \        VR7      ;_uu_ 4        \	        VP
                  VP                  RRRVP                  R7       RRR4       R#   + '       g   i     R# ; i)z9Whenever the gradient is estimated via finite-differencesmatchrC  r1  )rE  rF   r<   rF  N)r   rO  raisesri   r   r1   r   rP   )r#   r3  r]  s   &  r&   test_raise_exception*TestTrustRegionConstr.test_raise_exceptionV  sO    yM]]:W55TXXtww~9#> 6555s   0A++A<	c           	         R  p\        R ^ .R R VRR7      p\        VP                  R4      4       \        VP                  RR
4      ^8H  4       \        VP                  RR
4      ^8H  4       R	# )c                 >    \        R V9   4       \        RV9   4       R# )nitniterN)r   )r0   infos   &&r&   callback7TestTrustRegionConstr.test_issue_9044.<locals>.callbackb  s    ETM"GtO$r*   c                     V ^,          # r,   r.   rB   s   &r&   r6  7TestTrustRegionConstr.test_issue_9044.<locals>.<lambda>f  s    AqDr*   c                     ^V ,          # r,   r.   rB   s   &r&   r6  r  f  s    QqSr*   c                     ^# r,   r.   rB   s   &r&   r6  r  g  s    r*   rC  )rF   r<   r  rE  successr  r  Nr   )r   r   get)r#   r  r\  s   &  r&   test_issue_9044%TestTrustRegionConstr.test_issue_9044]  sh    
	% .1#=*X!/1 	

9%&

5"%*+ 	

7B'1,-r*   c           	        \         P                  ! R R.4      pR p\        \         P                  ! R R .4      \         P                  ! RR.4      RR7      p\        P                  ! 4       ;_uu_ 4        \        P
                  ! RR\        4       \        RVVVR	7      pR
R
R
4       XR,          '       g   Q hR
#   + '       g   i     L#; i)r   r   c                 T    V ^ ,          pV ^,          pV^,          V^,          ,           # rA   r.   )r0   x1x2s   &  r&   obj3TestTrustRegionConstr.test_issue_15093.<locals>.objx  s'    1B1B7R1W$$r*   r   T)keep_feasibler  rB  rC  )rE  r1   r   r!   Nr  )r   r   r
   rS  rT  rU  rV  r   )r#   r   r  r!   r\  s   &    r&   test_issue_15093&TestTrustRegionConstr.test_issue_15093p  s     XXr3i 	%
 "b*BHHb"X,>&*, $$&&##H.A;O%	F ' i     '&s   3,B::C
	r.   N)rA  r2  F)rW   rX   rY   rZ   r   r   r|   r   r   r   r   r   r   r   list_of_problemsrO  markparametrizer^  rh  rm  rr  r}  r  r  r  r  r]   r^   r_   s   @r&   r0  r0    sB    	I6CE29#%H)+&(&9=&46:&)376;"&((*)++	B>y),0#1( [[V%56[[V%DE[[Vk9m&T&T&V W%4W F 7
%4P77D A:A0>.&! !r*   r0  c                   *   a  ] tR tRt o RtR tRtV tR# )TestEmptyConstrainti  a  
Here we minimize x^2+y^2 subject to x^2-y^2>1.
The actual minimum is at (0, 0) which fails the constraint.
Therefore we will find a minimum on the boundary at (+/-1, 0).

When minimizing on the boundary, optimize uses a set of
constraints that removes the constraint that sets that
boundary.  In our case, there's only one constraint, so
the result is an empty constraint.

This tests that the empty constraint works.
c           
        R  pR pR pR pR pR p\        VR\        P                  WV4      pRR.p\        \        P                  ) \        P                  ) .\        P                  \        P                  .4      p\	        VVRVVV.VR	7      p	\        \        V	P                  4      \        P                  ! ^^ .4      ^R
7       R# )c                 L    V ^ ,          ^,          V ^,          ^,          ,           # rA   r.   rB   s   &r&   function;TestEmptyConstraint.test_empty_constraint.<locals>.function  rD   r*   c                 j    \         P                  ! R V ^ ,          ,          R V ^,          ,          .4      # r   r6   rB   s   &r&   functionjacobianCTestEmptyConstraint.test_empty_constraint.<locals>.functionjacobian  s&    88R!Wb1g.//r*   c                     R V,          # r  r.   rJ   s   &&r&   functionhvp>TestEmptyConstraint.test_empty_constraint.<locals>.functionhvp  s    a4Kr*   c                 v    \         P                  ! V ^ ,          ^,          V ^,          ^,          ,
          .4      # rA   r6   rB   s   &r&   
constraint=TestEmptyConstraint.test_empty_constraint.<locals>.constraint  s)    88QqT1WqtQw./00r*   c                 l    \         P                  ! ^V ^ ,          ,          RV ^,          ,          ..4      # )r-   r   r6   rB   s   &r&   constraintjacobianETestEmptyConstraint.test_empty_constraint.<locals>.constraintjacobian  s)    88a!fb1g./00r*   c                 V    \         P                  ! R R.RR..4      V^ ,          ,          # )r   r   g       r6   rJ   s   &&r&   constraintlcohATestEmptyConstraint.test_empty_constraint.<locals>.constraintlcoh  s'    88b"XCy12QqT99r*   r   r   rC  )rE  rF   rx  rF  r!   rG  N)	r   r   r   r
   r   r   absr0   r   )
r#   r  r  r  r  r  r  
startpointr!   r\  s
   &         r&   test_empty_constraint)TestEmptyConstraint.test_empty_constraint  s    	%	0		1	1	: )R);M
 "X
"&&266'*RVVRVV,<=

!l
 	"#fhh-1a&1A1Mr*   r.   N)rW   rX   rY   rZ   r[   r  r]   r^   r_   s   @r&   r  r    s     %N %Nr*   r  c                  n   R  p \         P                  ! 4       ;_uu_ 4        \         P                  ! R\        4       \        P
                  ! \        P                  ! ^^.4      4      pRRR4       \        XR\        P                  4      p\        V ^^.,          VR7       R#   + '       g   i     LC; i)c                 L    V ^ ,          ^,          V ^,          ^,          ,           # rA   r.   rB   s   &r&   opttest_bug_11886.<locals>.opt  s    tQwqtQwr*   r  N)rF  r   )
rS  rT  simplefilterPendingDeprecationWarningr   matrixr   r	   r   r   )r  r   lin_conss      r&   test_bug_11886r    sw     
	 	 	"	"h(ABIIbggq!fo& 
#  2rvv.HS!QC%x0 
#	"s   AB$$B4	c                    aa \        RR.^^.RR7      oV3R loV3R lp V3R lpR pV3R lp\        P                  ! R4      p\        VR\        P                  4      \        V^^VR7      .p\        WR	SVR
7      pS! VP                  4       V^ ,          P                  V^ ,          P                  VP                  4      u;8  d   V^ ,          P                  8  g   Q h Q hR# )r   T)lbubr  c                    < \         P                  ! V SP                  8  4      '       g   Q h\         P                  ! V SP                  8*  4      '       g   Q hR # rh   )r   allr  r  )r0   bndss   &r&   assert_inbounds%test_gh11649.<locals>.assert_inbounds  s=    vva477l####vva477l####r*   c                 <  < S! V 4       \         P                  ! V ^ ,          4      ^V ^ ,          ^,          ,          ^V ^,          ^,          ,          ,           ^V ^ ,          ,          V ^,          ,          ,           ^V ^,          ,          ,           ^,           ,          # rA   )r   expr0   r  s   &r&   r  test_gh11649.<locals>.obj  sf    vvad|QqtQwY1Q472QqtVAaD[@1QqT6IAMNNr*   c                 P   < S! V 4       V ^ ,          ^,          V ^,          ,           # rA   r.   r  s   &r&   ncetest_gh11649.<locals>.nce  s!    tQw1~r*   c                 N    \         P                  ! ^V ^ ,          ,          ^.4      # r,   r6   rB   s   &r&   nce_jactest_gh11649.<locals>.nce_jac  s    xx1Q4$$r*   c                 B   < S! V 4       V ^ ,          V ^,          ,          # rA   r.   r  s   &r&   ncitest_gh11649.<locals>.nci  s    tAaDyr*   )rF   rC  )r1   r   rE  r!   rF  Nr   )gGz?gGz)
r
   r   r   r   r   r   r0   r  r1   r  )	r  r  r  r  r   nlcsrg  r  r  s	          @@r&   test_gh11649r    s     b"X1a&=D$O% 
-	 BS"&&1Qw79D s.D2CCEE7::QCEE*7T!WZZ77777r*   c            
      R  a R p \         P                  ! \        V R7      ;_uu_ 4        \        P                  ! R4      p\        P
                  ! ^4      P                  R4      \        P                  ! R4      uop\        V3R lW"R7      p\        \        VRV.R7       RRR4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        \        XRX.RR	/R
7       RRR4       R#   + '       g   i     Lj; i  + '       g   i     R# ; i)z:...more equality constraints than independent variables...r  c                    < SV ,          # rh   r.   )r0   r   s   &r&   r6  3test_gh20665_too_many_constraints.<locals>.<lambda>  s	    4!8r*   )r  r  rC  rE  rF  Nr  factorization_methodSVDFactorization)rE  rF  optionsr,   )rM  r-   )rM  )rO  r  ri   r   r   r  reshaper   r   r   rS  rT  r  rV  )r]  r   r   gr   s       @r&   !test_gh20665_too_many_constraintsr    s     KG	z	1	1WWT]YYq\))&12774=
d 3F>sC	 
2 
	 	 	"	"h4>s02DE	G 
#	" 
2	1 
#	"	"s   A8D3DD	D&	c                  v   R  p R p\         P                  ! 4       ;_uu_ 4        \         P                  ! RR\        4       \         P                  ! RR\        4       \	        VRR.R\        V ^ ^ 4      R7      pRRR4       XP                  '       g   VP                  R	8  g   Q hR#   + '       g   i     L7; i)
c                     V w  rR R.w  r4RV^,          V^,          ,          ,           V^,          V^,          ,          ,
          # )      @      @r   r.   )uu1u2rd   re   s   &    r&   lsftest_issue_18882.<locals>.lsf  s<    SzRUQT\!BEAqDL00r*   c                 <    \         P                  ! V ^,          4      # r,   )r   r   )r  s   &r&   oftest_issue_18882.<locals>.of  s    vvad|r*   r  rB  zSingular Jacobian matrix.r   rC  r  NrI  )rS  rT  rU  rV  r   r   r  constr_violation)r  r  rg  s      r&   test_issue_18882r    s    1
 
	 	 	"	"*={K*E{S#J!+CA6	
 
# #"6"6"=>>"= 
#	"s   AB((B8	c                     a  ] tR tRt o ]P
                  P                  R]! ]P                  ) ]P                  4      ]
! 4       P                  3]! ]P                  ) R4      RR.3]! R]P                  4      RR.3]! RR.RR.4      RR.3.4      R 4       tR	 tR
 tR t]P
                  P!                  RR7      R 4       tRtV tR# )TestBoundedNelderMeadi  zbounds, x_optr  g      "@r   r        @c           	        \        4       p\        P                  ! 4       ;_uu_ 4        R p\        P                  ! RV\        4       \        VP                  RR.RVR7      p\        P                  ! VP                  VP                  4      P                  4       '       g   Q h\        P                  ! VP                  VP                  4      P                  4       '       g   Q h\        P                  ! VP                  VP                  4      VP                  4      '       g   Q h\        P                  ! VP                  VRR7      '       g   Q h RRR4       R#   + '       g   i     R# ; i)0Initial guess is not within the specified boundsr  Nelder-MeadrE  r!   gMbP?)atolNr  )r   rS  rT  rU  rV  r   r1   r   
less_equalr  r0   r  r  allclose)r#   r!   r   r3  msgr\  s   &&&   r&   test_rosen_brock_with_bounds2TestBoundedNelderMead.test_rosen_brock_with_bounds  s     |$$&&DC##Hc;?dhhc
%2%+-F ==FHH599;;;;==699599;;;;;;txx16::>>>>;;vxxU;;;; '&&&s   B9E"AE$*EEE-	c           	     t   \        4       p\        R R.R R.4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\
        4       \        VP                  R^.RVR7      p\        P                  ! VP                  R R.4      '       g   Q h RRR4       R#   + '       g   i     R# ; i)r  r  r  r  r  r  Nr  r   r
   rS  rT  rU  rV  r   r1   r   r   r0   r#   r3  r!   r\  s   &   r&   test_equal_all_bounds+TestBoundedNelderMead.test_equal_all_bounds&  s    |c
S#J/$$&&##B dhha%2%+-F ;;vxx#s4444 '&&&   A#B&&B7	c           	     t   \        4       p\        R R.R R.4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\
        4       \        VP                  R	^.RVR7      p\        P                  ! VP                  R R.4      '       g   Q h RRR4       R#   + '       g   i     R# ; i)
r  r  g      4@r  r  r  r  g      0@Nr  r  r  s   &   r&   test_equal_one_bounds+TestBoundedNelderMead.test_equal_one_bounds3  s    |c
S$K0$$&&##B dhha%2%+-F ;;vxx#t5555 '&&&r	  c           	        \        4       pR p\        P                  ! \        VR7      ;_uu_ 4        \	        \
        P                  ) R.RR.4      p\        VP                  R^.RVR7       RRR4       R#   + '       g   i     R# ; i)	z:An upper bound is less than the corresponding lower bound.r  r   r  r  r  Ng      r  )	r   rO  r  ri   r
   r   r   r   r1   r#   r3  r]  r!   s   &   r&   test_invalid_bounds)TestBoundedNelderMead.test_invalid_bounds@  sb    |N]]:W55bffWcNS$K8FTXXQx)"$ 6555   ;A66B	z5Failing on Azure Linux and macOS builds, see gh-13846)reasonc           	        \        4       pR p\        P                  ! \        VR7      ;_uu_ 4        \	        \
        P                  ) R.RR.4      p\        VP                  R^.RVR7       RRR4       R#   + '       g   i     R# ; i)	r  r  r   r  r  r  r  Nr  )	r   rO  warnsrV  r
   r   r   r   r1   r  s   &   r&   test_outside_bounds_warning1TestBoundedNelderMead.test_outside_bounds_warningI  sd     |D\\+W55bffWcNS#J7FTXXQx)"$ 6555r  r.   Ng)rW   rX   rY   rZ   rO  r  r  r
   r   r   r   r   r  r  r  r  rR  r  r]   r^   r_   s   @r&   r  r    s     [[_%rvvgrvv6
8J8JK%rvvgt4tTlC%c2662S#J?%sCj3*=BxH !<!<56$ [[ - .$.$r*   r  )$rS  numpyr   rO  scipy.linalgr   scipy.sparser   numpy.testingr   r   r   scipy.optimizer   r	   r
   r   r   r   r   r   rb   r|   r   r   r   r   r   r   r0  r  r  r  r  r  r  r.   r*   r&   <module>r     s       # "7 7# # #*9 *9Z39 39l,9 ,9^+A +A\+ +\/Z /,.
 ."4z 44|? |?~H! H!T2N 2Nj	1 8FG?(A$ A$r*   