ó
    Eñiè^  ã                   óš  • S r SS/rSSKrSSKJr  SSKJr  SSK	J
r
JrJr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r\R>                  " \R@                  " \RB                  5      RD                  5      r#S r$SSSSSSSSSSSSSS\#S4S jr%SSSSSSSS\#SSS4S jr&S\S\S\'S\(S\(4
S jr)S\S\S\'S\(S\(4
S jr*g)a  
This module implements the Sequential Least Squares Programming optimization
algorithm (SLSQP), originally developed by Dieter Kraft.
See http://www.netlib.org/toms/733

Functions
---------
.. autosummary::
   :toctree: generated/

    approx_jacobian
    fmin_slsqp

Úapprox_jacobianÚ
fmin_slsqpé    Né   )Úslsqp)Únorm)ÚOptimizeResultÚ_check_unknown_optionsÚ_prepare_scalar_functionÚ_clip_x_for_funcÚ_check_clip_xÚ_wrap_callback)Úapprox_derivative)Úold_bound_to_newÚ_arr_to_scalar)Úarray_namespace)Úarray_api_extra)Ú_call_callback_maybe_halt)ÚNDArrayzrestructuredtext enc                 óF   • [        XSUUS9n[        R                  " U5      $ )aC  
Approximate the Jacobian matrix of a callable function.

Parameters
----------
x : array_like
    The state vector at which to compute the Jacobian matrix.
func : callable f(x,*args)
    The vector-valued function.
epsilon : float
    The perturbation used to determine the partial derivatives.
args : sequence
    Additional arguments passed to func.

Returns
-------
An array of dimensions ``(lenf, lenx)`` where ``lenf`` is the length
of the outputs of `func`, and ``lenx`` is the number of elements in
`x`.

Notes
-----
The approximation is done using forward differences.

ú2-point)ÚmethodÚabs_stepÚargs)r   ÚnpÚ
atleast_2d)ÚxÚfuncÚepsilonr   Újacs        ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/optimize/_slsqp_py.pyr   r   $   s(   € ô6 ˜D¨IÀØ!%ñ'€Cô �=Š=˜ÓÐó    © éd   g�íµ ÷Æ°>c                 óJ  ^
• Ub  Un[        US5      nUUUUS:g  UUS.nSnU[        U
4S jU 5       5      -  nU[        U
4S jU 5       5      -  nU(       a
  USX8T
S.4-  nU(       a
  US	XYT
S.4-  n[        XT
4XvUS
.UD6nU(       a  US   US   US   US   US   4$ US   $ )a¿  
Minimize a function using Sequential Least Squares Programming

Python interface function for the SLSQP Optimization subroutine
originally implemented by Dieter Kraft.

Parameters
----------
func : callable f(x,*args)
    Objective function.  Must return a scalar.
x0 : 1-D ndarray of float
    Initial guess for the independent variable(s).
eqcons : list, optional
    A list of functions of length n such that
    eqcons[j](x,*args) == 0.0 in a successfully optimized
    problem.
f_eqcons : callable f(x,*args), optional
    Returns a 1-D array in which each element must equal 0.0 in a
    successfully optimized problem. If f_eqcons is specified,
    eqcons is ignored.
ieqcons : list, optional
    A list of functions of length n such that
    ieqcons[j](x,*args) >= 0.0 in a successfully optimized
    problem.
f_ieqcons : callable f(x,*args), optional
    Returns a 1-D ndarray in which each element must be greater or
    equal to 0.0 in a successfully optimized problem. If
    f_ieqcons is specified, ieqcons is ignored.
bounds : list, optional
    A list of tuples specifying the lower and upper bound
    for each independent variable [(xl0, xu0),(xl1, xu1),...]
    Infinite values will be interpreted as large floating values.
fprime : callable ``f(x,*args)``, optional
    A function that evaluates the partial derivatives of func.
fprime_eqcons : callable ``f(x,*args)``, optional
    A function of the form ``f(x, *args)`` that returns the m by n
    array of equality constraint normals. If not provided,
    the normals will be approximated. The array returned by
    fprime_eqcons should be sized as ( len(eqcons), len(x0) ).
fprime_ieqcons : callable ``f(x,*args)``, optional
    A function of the form ``f(x, *args)`` that returns the m by n
    array of inequality constraint normals. If not provided,
    the normals will be approximated. The array returned by
    fprime_ieqcons should be sized as ( len(ieqcons), len(x0) ).
args : sequence, optional
    Additional arguments passed to func and fprime.
iter : int, optional
    The maximum number of iterations.
acc : float, optional
    Requested accuracy.
iprint : int, optional
    The verbosity of fmin_slsqp :

    * iprint <= 0 : Silent operation
    * iprint == 1 : Print summary upon completion (default)
    * iprint >= 2 : Print status of each iterate and summary
disp : int, optional
    Overrides the iprint interface (preferred).
full_output : bool, optional
    If False, return only the minimizer of func (default).
    Otherwise, output final objective function and summary
    information.
epsilon : float, optional
    The step size for finite-difference derivative estimates.
callback : callable, optional
    Called after each iteration, as ``callback(x)``, where ``x`` is the
    current parameter vector.

Returns
-------
out : ndarray of float
    The final minimizer of func.
fx : ndarray of float, if full_output is true
    The final value of the objective function.
its : int, if full_output is true
    The number of iterations.
imode : int, if full_output is true
    The exit mode from the optimizer (see below).
smode : string, if full_output is true
    Message describing the exit mode from the optimizer.

See also
--------
minimize: Interface to minimization algorithms for multivariate
    functions. See the 'SLSQP' `method` in particular.

Notes
-----
Exit modes are defined as follows:

- ``-1`` : Gradient evaluation required (g & a)
- ``0`` : Optimization terminated successfully
- ``1`` : Function evaluation required (f & c)
- ``2`` : More equality constraints than independent variables
- ``3`` : More than 3*n iterations in LSQ subproblem
- ``4`` : Inequality constraints incompatible
- ``5`` : Singular matrix E in LSQ subproblem
- ``6`` : Singular matrix C in LSQ subproblem
- ``7`` : Rank-deficient equality constraint subproblem HFTI
- ``8`` : Positive directional derivative for linesearch
- ``9`` : Iteration limit reached

Examples
--------
Examples are given :ref:`in the tutorial <tutorial-sqlsp>`.

r   r   )ÚmaxiterÚftolÚiprintÚdispÚepsÚcallbackr"   c              3   ó0   >#   • U  H  nS UTS.v •  M     g7f)Úeq©ÚtypeÚfunr   Nr"   ©Ú.0Úcr   s     €r    Ú	<genexpr>Úfmin_slsqp.<locals>.<genexpr>Ç   s   øé € ÐIÂ&¸Q˜4¨°4Ö8Â&ùó   ƒc              3   ó0   >#   • U  H  nS UTS.v •  M     g7f)Úineqr-   Nr"   r0   s     €r    r3   r4   È   s   øé € ÐLÂG¸q˜6¨!°TÖ:ÂGùr5   r,   )r.   r/   r   r   r7   )r   ÚboundsÚconstraintsr   r/   ÚnitÚstatusÚmessage)r   ÚtupleÚ_minimize_slsqp)r   Úx0ÚeqconsÚf_eqconsÚieqconsÚ	f_ieqconsr8   ÚfprimeÚfprime_eqconsÚfprime_ieqconsr   ÚiterÚaccr'   r(   Úfull_outputr   r*   ÚoptsÚconsÚress             `          r    r   r   F   s   ø€ ð` ÑØˆô ˜h¨Ó0€HàØØØ˜a‘KØØ ñ"€Dð €Dð 	ŒEÔIÁ&ÓIÓIÑI€DØŒEÔLÁGÓLÓLÑL€Dö Ø˜$ xØñ ð #ñ 	#ˆæØ˜&¨Øñ ð #ñ 	#ˆô ˜$ Dð 4¨fØ&*ñ4Ø.2ñ4€CæØ�3‰x˜˜U™ S¨¡Z°°X±ÀÀIÁÐNÐNà�3‰xˆr!   Fc                 óð  ^^^5^6• [        U5        UnU
m5U	(       d  Sn[        U5      n[        R                  " UR	                  U5      SUS9nUR
                  nUR                  UR                  S5      (       a  UR                  nUR                  UR                  UU5      S5      nUb  [        U5      S:X  a"  [        R                  * [        R                  4m6O[        U5      m6[        R                  " UT6S   T6S   5      n[        U[         5      (       a  U4nSSS.n[#        U5       H•  u  nn US	   R%                  5       nUS;  a  ['        S
US	    S35      e SU;  a  ['        SU S35      eUR/                  S5      nUc  U5UUU64S jnU" US   5      nUU==   US   UUR/                  SS5      S.4-  ss'   M—     SSSSSSSSSSS S!.n[1        [3        [        US"    Vs/ s H&  n[        R4                  " US   " U/US   Q76 5      PM(     sn5      5      n[1        [3        [        US#    Vs/ s H&  n[        R4                  " US   " U/US   Q76 5      PM(     sn5      5      nUU-   n[        U5      nUb  [        U5      S:X  ar  [        R6                  " U[8        S$9n [        R6                  " U[8        S$9n!U R;                  [        R<                  5        U!R;                  [        R<                  5        GOF[        R>                  " U V"V#s/ s H  u  n"n#[A        U"5      [A        U#5      4PM     sn#n"[8        5      n$U$RB                  S   U:w  a  [E        S%5      e[        RF                  " S&S'9   U$SS2S4   U$SS2S4   :„  n%SSS5        W%RI                  5       (       a%  ['        S(S)RK                  S* U% 5       5       S+35      eU$SS2S4   RM                  5       U$SS2S4   RM                  5       n!n [        RN                  " U$5      ) n&[        R<                  U U&SS2S4   '   [        R<                  U!U&SS2S4   '   [Q        U UTX*TT6US,9n'[S        U'RT                  T65      n([S        U'RV                  T65      n)0 S-U_S.S/_S0S/_S1S/_S2S/_S3S/_S4S/_S5S/_S6S/_S7S/_S8S9U-  _S:S_S;S_S<S_S=S_S>[Y        U5      _S?S_UUSUS@.En*USA:¼  a  [[        SBSC SDSESC SDSFSG SDSHSG 35        [        R\                  " [_        USAU-  -   SA-   S5      /[        R`                  S$9n+UUS-   -  SA-  SIU-  U-  -   USJU-  -   SK-   U-  -
  SLU-  -   SMU-  U-  -   SNU-  -   UU-  -   SO-   n,US:X  a  U,SAU-  US-   -  -  n,[        R\                  " [_        U,S5      [        R
                  S$9n-U(" U5      n.U)" U5      n/[        R\                  " [_        SUSAU-  -   SA-   5      /[        R
                  S$9n0[        R\                  " [_        SU5      U/[        R
                  SPSQ9n1[        R\                  " [_        SU5      /[        R
                  S$9n2[c        U1UUUU5        [e        U2UUUU5        Sn3 [g        U*U.U/U1U2UU0U U!U-U+5        U*SR   S:X  a   U'RU                  U5      n.[e        U2UUUU5        U*SR   S:X  a   U'RW                  U5      n/[c        U1UUUU5        U*S=   U3:”  ai  Ub0  [i        [        RL                  " U5      U.SS9n4[k        UU45      (       a  OPUSA:¼  a0  [[        U*S=   ST SDU'Rl                  ST SDU.SU SD[o        U/5      SU 35        [q        U*SR   5      S:w  a  OU*S=   n3Mó  US:¼  ab  [[        UU*SR      SVU*SR    SW3-   5        [[        SXU.5        [[        SYU*S=   5        [[        SZU'Rl                  5        [[        S[U'Rr                  5        [i        UU.U/U*S=   U'Rl                  U'Rr                  U*SR   UU*SR      U*SR   S:H  U0SU S\9
$ ! [(         a  n[)        SU S35      UeSnAf[*         a  n[+        S5      UeSnAf[,         a  n[+        S5      UeSnAff = fs  snf s  snf s  sn#n"f ! , (       d  f       GNÞ= f)]aÐ  
Minimize a scalar function of one or more variables using Sequential
Least Squares Programming (SLSQP).

Parameters
----------
ftol : float
    Precision target for the value of f in the stopping criterion. This value
    controls the final accuracy for checking various optimality conditions;
    gradient of the lagrangian and absolute sum of the constraint violations
    should be lower than ``ftol``. Similarly, computed step size and the
    objective function changes are checked against this value. Default is 1e-6.
eps : float
    Step size used for numerical approximation of the Jacobian.
disp : bool
    Set to True to print convergence messages. If False,
    `verbosity` is ignored and set to 0.
maxiter : int, optional
    Maximum number of iterations. Default value is 100.
finite_diff_rel_step : None or array_like, optional
    If ``jac in ['2-point', '3-point', 'cs']`` the relative step size to
    use for numerical approximation of `jac`. The absolute step
    size is computed as ``h = rel_step * sign(x) * max(1, abs(x))``,
    possibly adjusted to fit into the bounds. For ``method='3-point'``
    the sign of `h` is ignored. If None (default) then step is selected
    automatically.
workers : int, map-like callable, optional
    A map-like callable, such as `multiprocessing.Pool.map` for evaluating
    any numerical differentiation in parallel.
    This evaluation is carried out as ``workers(fun, iterable)``.

    .. versionadded:: 1.16.0

Returns
-------
res : OptimizeResult
    The optimization result represented as an `OptimizeResult` object.
    In this dict-like object the following fields are of particular importance:
    ``x`` the solution array, ``success`` a Boolean flag indicating if the
    optimizer exited successfully, ``message`` which describes the reason for
    termination, and ``multipliers`` which contains the Karush-Kuhn-Tucker
    (KKT) multipliers for the QP approximation used in solving the original
    nonlinear problem. See ``Notes`` below. See also `OptimizeResult` for a
    description of other attributes.

Notes
-----
The KKT multipliers are returned in the ``OptimizeResult.multipliers``
attribute as a NumPy array. Denoting the dimension of the equality constraints
with ``meq``, and of inequality constraints with ``mineq``, then the returned
array slice ``m[:meq]`` contains the multipliers for the equality constraints,
and the remaining ``m[meq:meq + mineq]`` contains the multipliers for the
inequality constraints. The multipliers corresponding to bound inequalities
are not returned. See [1]_ pp. 321 or [2]_ for an explanation of how to interpret
these multipliers. The internal QP problem is solved using the methods given
in [3]_ Chapter 25.

Note that if new-style `NonlinearConstraint` or `LinearConstraint` were
used, then ``minimize`` converts them first to old-style constraint dicts.
It is possible for a single new-style constraint to simultaneously contain
both inequality and equality constraints. This means that if there is mixing
within a single constraint, then the returned list of multipliers will have
a different length than the original new-style constraints.

References
----------
.. [1] Nocedal, J., and S J Wright, 2006, "Numerical Optimization", Springer,
   New York.
.. [2] Kraft, D., "A software package for sequential quadratic programming",
   1988, Tech. Rep. DFVLR-FB 88-28, DLR German Aerospace Center, Germany.
.. [3] Lawson, C. L., and R. J. Hanson, 1995, "Solving Least Squares Problems",
   SIAM, Philadelphia, PA.

r   r   )ÚndimÚxpzreal floatingéÿÿÿÿNr"   )r,   r7   r.   zUnknown constraint type 'z'.zConstraint z has no type defined.z/Constraints must be defined using a dictionary.z#Constraint's type must be a string.r/   z has no function defined.r   c                 ó   >^ • UUU UU4S jnU$ )Nc           	      ó`   >• [        U T5      n TS;   a  [        TU TUTTS9$ [        TU STUTS9$ )N)r   z3-pointÚcs)r   r   Úrel_stepr8   r   )r   r   r   r8   )r   r   )r   r   r   Úfinite_diff_rel_stepr/   r   Ú
new_boundss     €€€€€r    ÚcjacÚ3_minimize_slsqp.<locals>.cjac_factory.<locals>.cjaca  sT   ø€ Ü% a¨Ó4�AàÐ:Ó:Ü0°°aÀÈ$Ø:NØ8Bñ Dð Dô  1°°aÀ	Ø:AÈØ8Bñ Dð Dr!   r"   )r/   rW   r   rU   r   rV   s   ` €€€€r    Úcjac_factoryÚ%_minimize_slsqp.<locals>.cjac_factory`  s   ù€ ÷
Dñ 
Dð �r!   r   )r/   r   r   z$Gradient evaluation required (g & a)z$Optimization terminated successfullyz$Function evaluation required (f & c)z4More equality constraints than independent variablesz*More than 3*n iterations in LSQ subproblemz#Inequality constraints incompatiblez#Singular matrix E in LSQ subproblemz#Singular matrix C in LSQ subproblemz2Rank-deficient equality constraint subproblem HFTIz.Positive directional derivative for linesearchzIteration limit reached)rP   r   r   é   é   é   é   é   é   é   é	   r,   r7   )ÚdtypezDSLSQP Error: the length of bounds is not compatible with that of x0.Úignore)ÚinvalidzSLSQP Error: lb > ub in bounds z, c              3   ó8   #   • U  H  n[        U5      v •  M     g 7f)N)Ústr)r1   Úbs     r    r3   Ú"_minimize_slsqp.<locals>.<genexpr>ž  s   é € Ð)Aº&°Q¬#¨a¯&¨&º&ùs   ‚Ú.)r   r   r   rU   r8   ÚworkersrH   Úalphag        Úf0ÚgsÚh1Úh2Úh3Úh4ÚtÚt0Útolg      $@ÚexactÚinconsistentÚresetrG   ÚitermaxÚline)ÚmÚmeqÚmodeÚnr[   ÚNITz>5Ú ÚFCÚOBJFUNz>16ÚGNORMr\   r^   r`   rb   ra   é#   é   ÚF)rc   Úorderr}   )r   r/   Ú5dz16.6Ez    (Exit mode Ú)z#            Current function value:z            Iterations:z!            Function evaluations:z!            Gradient evaluations:)
r   r/   r   r:   ÚnfevÚnjevr;   r<   ÚsuccessÚmultipliers):r	   r   ÚxpxÚ
atleast_ndÚasarrayÚfloat64Úisdtyperc   ÚreshapeÚastypeÚlenr   Úinfr   ÚclipÚ
isinstanceÚdictÚ	enumerateÚlowerÚ
ValueErrorÚKeyErrorÚ	TypeErrorÚAttributeErrorÚgetÚsumÚmapÚ
atleast_1dÚemptyÚfloatÚfillÚnanÚarrayr   ÚshapeÚ
IndexErrorÚerrstateÚanyÚjoinÚcopyÚisfiniter
   r   r/   ÚgradÚintÚprintÚzerosÚmaxÚint32Ú_eval_con_normalsÚ_eval_constraintr   r   r   rŠ   ÚlanormÚabsÚngev)7r   r?   r   r   r8   r9   r%   r&   r'   r(   r)   r*   rU   rk   Úunknown_optionsrH   rO   rc   r   rK   ÚicÚconÚctypeÚerW   rY   Ú
exit_modesr2   r|   Úmieqr{   r~   ÚxlÚxuÚloÚupÚbndsÚbnderrÚinfbndÚsfÚwrapped_funÚwrapped_gradÚ
state_dictÚindicesÚbuffer_sizeÚbufferÚfxÚgÚmultÚCÚdÚ	iter_prevÚintermediate_resultr   rV   s7      `        `                                        @@r    r>   r>   Û   s?	  û€ ô^ ˜?Ô+Ø
€CØ€GæØˆô 
˜Ó	€BÜ	�Š˜Ÿ
™
 2›¨Q°2Ñ	6€BØ�J‰J€EØ	‡z�z�"—(‘(˜O×,Ñ,Ø—‘ˆØ
�
‰
�2—9‘9˜R Ó'¨Ó,€Að �~œ˜V›¨Ó)Ü—v‘v�gœrŸv™vÐ&‰
ä% fÓ-ˆ
ô 	�Š��:˜a‘= *¨Q¡-Ó0€Aô �+œt×$Ñ$Ø"�oˆà˜bÑ!€DÜ˜[Ö)‰ˆˆCð	NØ˜‘K×%Ñ%Ó'ˆEð ˜NÓ*Ü Ð#<¸SÀ¹[¸MÈÐ!LÓMÐMð +ð ˜ÓÜ˜{¨2¨$Ð.GÐHÓIÐIð �w‰w�u‹~ˆØ‰<÷ð ñ    E¡
Ó+ˆDð 	ˆU‹  E¡
Ø $Ø!$§¡¨°Ó!4ñ6ð 9ñ 	9�ñS *ðZ =Ø<Ø<ØLØBØ;Ø;Ø;ØJØFØ/ñ
1€Jô Œc”#Ø˜D’zó#Ú!�!ô Ÿš a¨¢h¨qÐ&=°1°V±9Ò&=Ö>Ù!ñ#ó $ó %€CäŒs”3Ø˜Všó&Ú$�1ô Ÿš q¨¢x°Ð'>°A°f±IÒ'>Ö?Ù$ñ&ó 'ó (€Dð 	ˆd‰
€AäˆA‹€Að �~œ˜V›¨Ó)Ü�XŠX�aœuÑ%ˆÜ�XŠX�aœuÑ%ˆØ
�‰”—‘ŒØ
�‰”—‘Žä�xŠxÙ&,ô.Ú&,™(˜2˜rô )¨Ó,¬n¸RÓ.@ÓAÙ&,ò.Ü/4ó6ˆà�:‰:�a‰=˜AÓÜð ;ó <ð <ô �[Š[ Ó*Øš!˜Q˜$‘Z $¢q¨! t¡*Ñ,ˆF÷ +ð �:‰:�<‰<ÜÐ>Ø $§	¡	Ñ)A¹&Ó)AÓ AÐBÀ!ðEó Fð Fà’a˜�d‘—‘Ó" Dª¨A¨¡J§O¡OÓ$5ˆBˆô —+’+˜dÓ#Ð#ˆÜŸ6™6ˆˆ6’!�Q�$‰<ÑÜŸ6™6ˆˆ6’!�Q�$‰<Ñô 
" $¨¨s¸Ø7KØ)3¸Wñ
F€Bô
 # 2§6¡6¨:Ó6€KÜ# B§G¡G¨ZÓ8€Lð.Øˆsðà�ðð 	ˆcðð 	ˆcð	ð
 	ˆcðð 	ˆcðð 	ˆcðð 	ˆcðð 	ˆSðð 	ˆcðð 	ˆt�C‰xðð 	�ðð 	˜ðð 	�ðð 	�ðð  	”3�w“<ð!ð" 	�ð#ð$ ØØØò+€Jð2 �ƒ{Ü��r�
˜!˜D ˜9 A h¨s ^°1°W¸S°MÐBÔCô �hŠhœ˜A  !¡™G a™K¨Ó+Ð,´B·H±HÑ=€Gð 	
ˆ1ˆQ‰3‰�‰
�Q�q‘S˜‘UÑ˜a ! A¡#™g¨™k¨3Ñ.Ñ.°°1±Ñ4°q¸±s¸1±uÑ<¸rÀ!¹tÑCÀcÈ#ÁgÑMÐPRÑRð ð
 ˆqƒyØ�q˜‘s˜A ™E‘{Ñ"ˆÜ�XŠX”c˜+ qÓ)´·±Ñ<€Fñ
 
�Q‹€BÙ�Q‹€Aô �8Š8”S˜˜A  !¡™G a™KÓ(Ð)´·±Ñ<€Dô 	�Š”#�a˜“)˜Q�¤r§z¡z¸Ñ=€AÜ
�Š”#�a˜“)�¤B§J¡JÑ/€AÜ�a˜˜D ! SÔ)Ü�Q˜˜4  CÔ(à€Ià
äˆj˜"˜a  A q¨$°°B¸ÀÔHà�fÑ Ó"Ø—‘˜“ˆBÜ˜Q  4¨¨CÔ0à�fÑ Ó#Ø—‘˜“
ˆAÜ˜a  D¨!¨SÔ1à�fÑ 	Ó)àÑ#Ü&4Ü—g’g˜a“jØñ'Ð#ô -¨XÐ7J×KÑKØð ˜‹{Ü˜ FÑ+¨BÐ/¨q°·±¸°¸AØ˜E˜
 !¤F¨1£I¨eÐ#4ð6ô 7ô ˆz˜&Ñ!Ó" aÓ'Øà˜vÑ&ˆ	ñ? ðD �ƒ{ÜØ�z &Ñ)Ñ*¨¸zÈ&Ñ?QÐ>RÐRSÐ-TÑTô	
ô 	Ð3°RÔ8ÜÐ'¨°FÑ);Ô<ÜÐ1°2·7±7Ô;ÜÐ1°2·7±7Ô;äØ
�˜ 
¨6Ñ 2¸¿¹ÀrÇwÁwØ˜&Ñ!¨:°jÀÑ6HÑ+IØ˜FÑ# qÑ(°t¸B¸Q°xñð øôM ó 	KÜ˜[¨¨Ð,AÐBÓCÈÐJûÜó 	2Üð *ó +Ø01ð2ûäó 	JÜÐAÓBÈÐIûð	Jüòd#ùò&ùó.÷ +Ö*úsN   Ä4`Ç*-aÈ8-aÌ#a 
Í;a&à
aà`àaà)`5à5aáaáaá&
a5rÔ   r   rK   r{   r|   c                 ó˜  • US:X  a  g US:”  a\  SnUS    HQ  n[         R                  " US   " U/US   Q76 5      R                  5       nXpXU[        U5      -   & U[        U5      -  nMS     X4:”  a\  UnUS    HQ  n[         R                  " US   " U/US   Q76 5      R                  5       nXpXU[        U5      -   & U[        U5      -  nMS     g )Nr   r,   r/   r   r7   )r   r£   Úravelr•   )rÔ   r   rK   r{   r|   Úrowr½   Útemps           r    r·   r·   9  sÕ   € ØˆAƒvØð ˆQƒwØˆØ˜”:ˆCÜ—=’=  U¢¨AÐ!<°°F±Ò!<Ó=×CÑCÓEˆDØ%)ˆcœ˜D›	‘/Ð"Ø”3�t“9ÑŠCñ ð
 	ƒwØˆØ˜”<ˆCÜ—=’=  U¢¨AÐ!<°°F±Ò!<Ó=×CÑCÓEˆDØ%)ˆcœ˜D›	‘/Ð"Ø”3�t“9ÑŠCñ  ð
 r!   rÓ   c                 ó”  • US:X  a  g US:”  a[  SnUS    HP  n[         R                  " US   " U/US   Q76 5      nXpXUUR                  S   -   2S S 24'   XWR                  S   -  nMR     X4:”  a[  UnUS    HP  n[         R                  " US   " U/US   Q76 5      nXpXUUR                  S   -   2S S 24'   XWR                  S   -  nMR     g )Nr   r,   r   r   r7   )r   r   r©   )rÓ   r   rK   r{   r|   rÙ   r½   rÚ   s           r    r¶   r¶   R  sß   € ØˆAƒvØà
ˆQƒwØˆØ˜”:ˆCÜ—=’=  U¢¨AÐ!<°°F±Ò!<Ó=ˆDØ,0ˆc˜Ÿ
™
 1™Ñ%Ð%¢qÐ(Ñ)Ø—:‘:˜a‘=Ñ ŠCñ ð
 	ƒwØˆØ˜”<ˆCÜ—=’=  U¢¨AÐ!<°°F±Ò!<Ó=ˆDØ,0ˆc˜Ÿ
™
 1™Ñ%Ð%¢qÐ(Ñ)Ø—:‘:˜a‘=Ñ ŠCñ  ð
 r!   )+Ú__doc__Ú__all__Únumpyr   Ú	_slsqplibr   Úscipy.linalgr   r¸   Ú	_optimizer   r	   r
   r   r   r   Ú_numdiffr   Ú_constraintsr   r   Úscipy._lib._array_apir   Ú
scipy._libr   rŽ   Úscipy._lib._utilr   Únumpy.typingr   Ú__docformat__ÚsqrtÚfinfor‘   r)   Ú_epsilonr   r   r>   r™   r±   r·   r¶   r"   r!   r    Ú<module>rì      s  ðñð ˜lÐ
+€ã Ý Ý '÷7÷ 7õ (ß :Ý 1Ý -Ý 6Ý  à%€à�7Š7�2—8’8˜BŸJ™JÓ'×+Ñ+Ó,€òðD !#¨T¸2ÈØ °TØ"¨°#¸6Ø˜d°¸8Øô	Rðj $&¨4¸Ø "Ø f°Q¸UØ ¨4ÀdØ ô	[ð|
˜ð  Gð °4ð ¸Cð Àcô ð2˜ð  Wð °Dð ¸Sð Àsõ r!   