
    -i!                         S SK JrJrJr  SSKJr  SSKJrJr  SSK	J
r
  S SKJr  SSKJr  SSKJr  SS	KJr  S S
KrS SKJr   " S S\5      rS rS rSS jrg
)    )NonlinearConstraintLinearConstraintBounds   )process_nl_constraints)#combine_multiple_linear_constraintsseparate_LC_into_eq_and_ineq)process_bounds)Enum)_project)get_arrays_tol)cobylaN)Iterablec                   $    \ rS rSrSrSrSrSrSrg)ConstraintType      
          N)	__name__
__module____qualname____firstlineno__LINEAR_OBJECTNONLINEAR_OBJECTLINEAR_DICTNONLINEAR_DICT__static_attributes__r       N/var/www/html/venv/lib/python3.13/site-packages/scipy/_lib/pyprima/__init__.pyr   r      s    MKNr!   r   c                    [        U [        5      (       a"  SU ;   a  SU ;   a  SU ;   a  [        R                  $ [        U [        5      (       a"  SU ;   a  SU ;   a  SU ;   a  [        R                  $ [        U S5      (       a2  [        U S5      (       a!  [        U S5      (       a  [        R                  $ [        U S5      (       a2  [        U S5      (       a!  [        U S5      (       a  [        R                  $ [        S[        U 5       S35      e)NAlbubfunzConstraint type z not recognized)

isinstancedictr   r   r   hasattrr   r   
ValueErrortype)
constraints    r"   get_constraint_typer.      s    *d##
):ASZ^blZl)))	J	%	%5J+>TZEW^bfp^p,,,	S	!	!gj$&?&?GJX\D]D]+++	U	#	#
D(A(AgjZ^F_F_...+D,<+=_MNNr!   c           	         U (       d  g[        U [        5      (       d  U /n / n/ nU  H  n[        U5      nU[        R                  L a  UR                  U5        M4  U[        R                  L a  UR                  U5        MZ  U[        R                  :X  a'  UR                  [        US   US   US   5      5        M  U[        R                  :X  a'  UR                  [        US   US   US   5      5        M  [        S5      e   [        U5      S:  a  [        U5      nOS n[        U5      S:  a  [        U5      nXe4$ [        U5      S:X  a  US   nXe4$ S nXe4$ )	N)NNr$   r%   r&   r'   zConstraint type not recognizedr   r   )r(   r   r.   r   r   appendr   r   r   r   r   r+   lenr   r   )constraintslinear_constraintsnonlinear_constraintsr-   constraint_typenonlinear_constraint_functionlinear_constraints          r"   process_constraintsr8   %   st    k8,,"m !
-j9n:::%%j1 ? ??!((4 : ::%%&6z#
SWHXZdeiZj&kl = ==!(()<Z=NPZ[_P`blmqbr)st=>> "  !A%(>?T(U%(,% "?@RS ;; 
	 A	%.q1 ;; !;;r!   c                 >  ^ ^^^^^^^ [        U5      u  nmUc  SS0OUnUR                  SS5      n	Uc]  Tb  U	(       d  [        S5        SnOUb  U	(       d  [        S5        SnOUb  U	(       d  [        S5        SnOvU	(       d  [        S	5        S
nOaUR                  5       nUS;  a  [	        SU S35      eUS:w  a  Tb  [	        S5      eUS;  a  Ub  [	        S5      eUS;  a  Ub  [	        S5      e [        U5      m[        UT5      u  p[        X5      nX:*  [        R                  " X-
  5      U:  -  m[        T5      (       aL  SUT   UT   -   -  m[        R                  " TUT   UT   5      mUT)    nUT)    nUT)    nT mUUUUU4S jnUm Tc  [        XXS S.5      nUR                  nUb  [!        U5      u  nnnnOSu  nnnnTb	  UU U4S jnOUU 4S jnU" U5      u  nnSU;   a  US	 SU;   a  US   US'   US	 [#        U[        U5      UUUUUUU4	UUUS.UD6n[        T5      (       a2  [        R$                  " T5      nTUT'   UR                  UT) '   UUl        U$ ! [         a(    [        R                  " U/5      nT mUU4S jn
U
m Sm GNf = f)NquietTz/Nonlinear constraints detected, applying COBYLAr   zJLinear constraints detected without nonlinear constraints, applying LINCOAlincoazHBounds without linear or nonlinear constraints detected, applying BOBYQAbobyqaz2No bounds or constraints detected, applying NEWUOAnewuoa)r=   uobyqar<   r   r;   zFMethod must be one of NEWUOA, UOBYQA, BOBYQA, COBYLA, or LINCOA, not ''zLNonlinear constraints were provided for an algorithm that cannot handle them)r   r;   zILinear constraints were provided for an algorithm that cannot handle them)r   r<   r;   z=Bounds were provided for an algorithm that cannot handle themc                    > T" U S   /TQ76 $ Nr   r   )xargsoriginal_scalar_funs    r"   
scalar_funminimize.<locals>.scalar_funw   s    &qt3d33r!   r   g      ?c                 V   > [         R                  " T5      nTUT'   XT) '   T" U/TQ76 $ Nnpzeros)rB   newx
_fixed_idx_fixed_valuesrC   lenx0original_funs     r"   	fixed_funminimize.<locals>.fixed_fun   s4    88E?D,D !*,t,,r!   )linear	nonlinear)NNNNc                 ,   > T" U /TQ76 nT" U 5      nX4$ rH   r   )rB   fnlconstrrC   r'   r6   s      r"   calcfcminimize.<locals>.calcfc   s"    AA4Q7H;r!   c                 H   > T" U /TQ76 n[         R                  " S5      nX4$ rA   rI   )rB   rV   constrrC   r'   s      r"   rX   rY      s%    AAXXa[F9r!   maxfevmaxfun)f0	nlconstr0callback)r8   getprintlowerr+   r1   	TypeErrorrJ   arrayr
   r   absanyclipr   rB   r	   r   rK   )r'   x0rC   methodboundsr2   r`   optionsr7   r:   rE   r%   r&   tolrQ   resultA_eqb_eqA_ineqb_ineqrX   r^   r_   rL   rM   rN   rO   r6   rP   rD   s   ` `                     @@@@@@r"   minimizers   O   s&   7J;7W44!(wogGKK&E~(4% QRF*% lmF% jkF% TUF KKeflemmnoppX"?"Kkll--2C2Ohii77F<N\]]
B FE*FB 
 C	66"'?S 	"  :zNR
^+
 zNzN

 ___	- 	-
  %,""QU&VWXX$%ABS%T"dFF%;"dFF$0	 	
	
 2JMB	'G7#H-HI


  F  :xx(Z"HHj[MA  XXrd^!	4s   4I* *.JJ)r   NNr   NN)scipy.optimizer   r   r   common._nonlinear_constraintsr   common._linear_constraintsr   r	   common._boundsr
   enumr   common._projectr   common.linalgr   cobyla.cobylar   numpyrJ   collections.abcr   r   r.   r8   rs   r   r!   r"   <module>r~      sH    H H A +  % ) !  $T 
O'<TEr!   