§
    µ³ÙgÞ[  ã                   ó’   — d Z ddlmZmZmZmZ ddlmZ ddlZddl	Z
ddlZddlmZmZmZmZ  G d„ d¦  «        Z G d„ d	¦  «        ZdS )
z#
Unit test for SLSQP optimization.
é    )Úassert_Úassert_array_almost_equalÚassert_allcloseÚassert_equal)ÚraisesN)Ú
fmin_slsqpÚminimizeÚBoundsÚNonlinearConstraintc                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú
MyCallBackzJpass a custom callback function

    This makes sure it's being used.
    c                 ó"   — d| _         d| _        d S )NFr   ©Úbeen_calledÚncalls©Úselfs    úU/granary/edev/quantum/lib/python3.11/site-packages/scipy/optimize/tests/test_slsqp.pyÚ__init__zMyCallBack.__init__   s   € Ø ˆÔØˆŒˆˆó    c                 ó4   — d| _         | xj        dz  c_        d S )NTé   r   ©r   Úxs     r   Ú__call__zMyCallBack.__call__   s   € ØˆÔØˆŒ�qÑˆŒˆˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      s<   € € € € € ðð ðð ð ðð ð ð ð r   r   c                   óü  — e Zd ZdZd„ Zd=d„Zd=d„Zd=d„Zd=d„Zd=d„Z	d=d	„Z
d=d
„Zd=d„Zd=d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%d%„ Z&d&„ Z'd'„ Z(d(„ Z)d)„ Z*d*„ Z+d+„ Z,d,„ Z-d-„ Z.e/j0         1                     e2j3        d.¬/¦  «        d0         d1         d2         d3k    d4¬5¦  «        d6„ ¦   «         Z4d7„ Z5d8„ Z6d9„ Z7d:„ Z8e/j0        j9        d;„ ¦   «         Z:d<S )>Ú	TestSLSQPzð
    Test SLSQP algorithm using Example 14.4 from Numerical Methods for
    Engineers by Steven Chapra and Raymond Canale.
    This example maximizes the function f(x) = 2*x*y + 2*x - x**2 - 2*y**2,
    which has a maximum at x=2, y=1.
    c                 ó   — ddi| _         d S )NÚdispF)Úoptsr   s    r   Úsetup_methodzTestSLSQP.setup_method#   s   € Ø˜U�OˆŒ	ˆ	ˆ	r   ç      ð?c                 ób   — |d         }|d         }|d|z  |z  d|z  z   |dz  z
  d|dz  z  z
  z  S )a¦  
        Arguments:
        d     - A list of two elements, where d[0] represents x and d[1] represents y
                 in the following equation.
        sign - A multiplier for f. Since we want to optimize it, and the SciPy
               optimizers can only minimize functions, we need to multiply it by
               -1 to achieve the desired solution
        Returns:
        2*x*y + 2*x - x**2 - 2*y**2

        r   r   é   r    )r   ÚdÚsignr   Úys        r   ÚfunzTestSLSQP.fun&   sG   € ð ˆaŒDˆØˆaŒDˆØ�Q�q‘S˜‘U˜Q˜q™S‘[ 1 a¡4Ñ'¨!¨A¨q©D©&Ñ0Ñ1Ð1r   c                 ó˜   — |d         }|d         }|d|z  d|z  z   dz   z  }|d|z  d|z  z
  z  }t          j        ||gt          ¦  «        S )zo
        This is the derivative of fun, returning a NumPy array
        representing df/dx and df/dy.

        r   r   éþÿÿÿr)   é   )ÚnpÚarrayÚfloat)r   r*   r+   r   r,   ÚdfdxÚdfdys          r   ÚjaczTestSLSQP.jac6   s\   € ð ˆaŒDˆØˆaŒDˆØ�R˜‘T˜A˜a™C‘Z !‘^Ñ$ˆØ�Q�q‘S˜1˜Q™3‘YÑˆÝŒx˜˜t˜¥eÑ,Ô,Ð,r   c                 óZ   — |                       ||¦  «        |                      ||¦  «        fS ©N)r-   r6   )r   r*   r+   s      r   Úfun_and_jaczTestSLSQP.fun_and_jacB   s)   € Ø�xŠx˜˜4Ñ Ô  $§(¢(¨1¨dÑ"3Ô"3Ð3Ð3r   c                 óJ   — t          j        |d         |d         z
  g¦  «        S )ú Equality constraint r   r   ©r1   r2   ©r   r   r+   s      r   Úf_eqconzTestSLSQP.f_eqconE   s    € åŒx˜˜1œ  !¤™˜Ñ&Ô&Ð&r   c                 ó0   — t          j        ddgg¦  «        S )z! Equality constraint, derivative r   éÿÿÿÿr<   r=   s      r   Úfprime_eqconzTestSLSQP.fprime_eqconI   ó   € åŒx˜!˜R˜˜	Ñ"Ô"Ð"r   c                 ó:   — |                       ||¦  «        d         S )z Scalar equality constraint r   )r>   r=   s      r   Úf_eqcon_scalarzTestSLSQP.f_eqcon_scalarM   s   € à�|Š|˜A˜tÑ$Ô$ QÔ'Ð'r   c                 ó^   — |                       ||¦  «        d                              ¦   «         S )z( Scalar equality constraint, derivative r   )rA   Útolistr=   s      r   Úfprime_eqcon_scalarzTestSLSQP.fprime_eqcon_scalarQ   s)   € à× Ò   DÑ)Ô)¨!Ô,×3Ò3Ñ5Ô5Ð5r   c                 óP   — t          j        |d         |d         z
  dz
  g¦  «        S )z Inequality constraint r   r   r'   r<   r=   s      r   Úf_ieqconzTestSLSQP.f_ieqconU   s&   € åŒx˜˜1œ  !¤™ sÑ*Ð+Ñ,Ô,Ð,r   c                 ó0   — t          j        ddgg¦  «        S )z# Inequality constraint, derivative r   r@   r<   r=   s      r   Úfprime_ieqconzTestSLSQP.fprime_ieqconY   rB   r   c                 ó*   — t          j        |¦  «        S )z Vector inequality constraint )r1   Úasarrayr   s     r   Ú	f_ieqcon2zTestSLSQP.f_ieqcon2]   s   € åŒz˜!‰}Œ}Ðr   c                 ó@   — t          j        |j        d         ¦  «        S )z* Vector inequality constraint, derivative r   )r1   ÚidentityÚshaper   s     r   Úfprime_ieqcon2zTestSLSQP.fprime_ieqcon2a   s   € åŒ{˜1œ7 1œ:Ñ&Ô&Ð&r   c           	      óÀ   — g d¢}|D ]V}t          | j        ddgd|d| j        ¬¦  «        }t          |d         |d         ¦  «         t	          |j        d	d
g¦  «         ŒWd S )N©NFz2-pointz3-pointç      ð¿r'   ©rU   ÚSLSQP©Úargsr6   ÚmethodÚoptionsÚsuccessÚmessager)   r   )r	   r-   r%   r   r   r   ©r   Újacsr6   Úress       r   Ú$test_minimize_unbounded_approximatedz.TestSLSQP.test_minimize_unbounded_approximatedf   sƒ   € à2Ð2Ð2ˆØð 	+ð 	+ˆCÝ˜4œ8 d¨C [°xØ"¨7Ø#'¤9ð.ñ .ô .ˆCõ �C˜	”N C¨	¤NÑ3Ô3Ð3Ý˜CœE A q 6Ñ*Ô*Ð*Ð*ð	+ð 	+r   c                 ó¸   — t          | j        ddgd| j        d| j        ¬¦  «        }t	          |d         |d         ¦  «         t          |j        dd	g¦  «         d S )
NrU   r'   rV   rW   rX   r\   r]   r)   r   )r	   r-   r6   r%   r   r   r   ©r   r`   s     r   Útest_minimize_unbounded_givenz'TestSLSQP.test_minimize_unbounded_givenp   sd   € å�t”x $¨ °8Øœ8¨G¸T¼YðHñ Hô Hˆå��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 ó”  — g d¢}|D ]À}t          j        d¬¦  «        5  t          | j        ddgd|dd| j        ¬	¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d
         |d         ¦  «         t          |j        ddg¦  «         t          d|j        d         k    ¦  «         t          |j        d         dk    ¦  «         ŒÁd S )NrT   Úignore)ÚinvalidrU   r'   rV   ))ç      @N)Nç      à?rW   )rY   r6   ÚboundsrZ   r[   r\   r]   rh   ri   r   r   )r1   Úerrstater	   r-   r%   r   r   r   r^   s       r   Ú"test_minimize_bounded_approximatedz,TestSLSQP.test_minimize_bounded_approximatedw   s2  € à2Ð2Ð2ˆØð 		%ð 		%ˆCÝ” XÐ.Ñ.Ô.ð Bð BÝ˜tœx¨$°¨¸8Ø#&Ø&@Ø&-°t´yðBñ Bô B�ðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bõ
 �C˜	”N C¨	¤NÑ3Ô3Ð3Ý˜CœE C¨ :Ñ.Ô.Ð.Ý�C˜3œ5 œ8’OÑ$Ô$Ð$Ý�C”E˜!”H ’OÑ$Ô$Ð$Ð$ð		%ð 		%s   ž#AÁA	ÁA	c                 ó®   — t          | j        ddgddd| j        ¬¦  «        }t          |d         |d         ¦  «         t	          |j        d	d
g¦  «         d S )NrU   r'   rV   TrW   rX   r\   r]   r)   r   )r	   r9   r%   r   r   r   rc   s     r   Ú test_minimize_unbounded_combinedz*TestSLSQP.test_minimize_unbounded_combined…   sc   € å�tÔ'¨$°¨¸8Ø¨¸¼ðDñ Dô Dˆå��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 óÔ   — g d¢}|D ]`}t          | j        ddgd|d| j        ddœd| j        ¬¦  «        }t	          |d	         |d
         ¦  «         t          |j        ddg¦  «         Œad S )NrT   rU   r'   rV   Úeq©Útyper-   rY   rW   )rY   r6   ÚconstraintsrZ   r[   r\   r]   r   )r	   r-   r>   r%   r   r   r   r^   s       r   Ú#test_minimize_equality_approximatedz-TestSLSQP.test_minimize_equality_approximatedŒ   sš   € à2Ð2Ð2ˆØð 	+ð 	+ˆCÝ˜4œ8 d¨C [°xØ"Ø04Ø/3¬|Ø08ð(:ð (:ð #*°4´9ð>ñ >ô >ˆCõ �C˜	”N C¨	¤NÑ3Ô3Ð3Ý˜CœE A q 6Ñ*Ô*Ð*Ð*ð	+ð 	+r   c                 óÌ   — t          | j        ddg| j        ddd| j        ddœ| j        ¬¦  «        }t          |d         |d	         ¦  «         t          |j        d
d
g¦  «         d S )NrU   r'   rW   rV   rp   rq   ©r6   rZ   rY   rs   r[   r\   r]   r   )r	   r-   r6   r>   r%   r   r   r   rc   s     r   Útest_minimize_equality_givenz&TestSLSQP.test_minimize_equality_given™   sx   € å�t”x $¨ °$´(Ø%¨GØ,0¸¼Ø,4ð$6ð $6à#œyð	*ñ *ô *ˆõ
 	��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 óØ   — t          | j        ddgd| j        dd| j        d| j        dœ| j        ¬¦  «        }t          |d         |d	         ¦  «         t          |j        d
d
g¦  «         d S ©NrU   r'   rW   rV   rp   ©rr   r-   rY   r6   ©rZ   r6   rY   rs   r[   r\   r]   r   ©	r	   r-   r6   r>   rA   r%   r   r   r   rc   s     r   Útest_minimize_equality_given2z'TestSLSQP.test_minimize_equality_given2£   sƒ   € õ �t”x $¨ °WØœ8¨'Ø,0Ø+/¬<Ø,4Ø+/Ô+<ð$>ð $>ð  $œyð*ñ *ô *ˆõ 	��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 óØ   — t          | j        ddgd| j        dd| j        d| j        dœ| j        ¬¦  «        }t          |d         |d	         ¦  «         t          |j        d
d
g¦  «         d S ry   )	r	   r-   r6   rD   rG   r%   r   r   r   rc   s     r   Ú(test_minimize_equality_given_cons_scalarz2TestSLSQP.test_minimize_equality_given_cons_scalar°   s†   € õ �t”x $¨ °WØœ8¨'Ø,0Ø+/Ô+>Ø,4Ø+/Ô+Cð$Eð $Eð  $œyð*ñ *ô *ˆõ 	��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 óÐ   — t          | j        ddgd| j        dd| j        ddœ| j        ¬¦  «        }t          |d         |d	         ¦  «         t          |j        d
dgd¬¦  «         d S )NrU   r'   rW   rV   Úineqrq   r{   r\   r]   r)   r   çü©ñÒMbP?©Úatol)r	   r-   r6   rI   r%   r   r   r   rc   s     r   Útest_minimize_inequality_givenz(TestSLSQP.test_minimize_inequality_given½   s€   € å�t”x $¨ °WØœ8¨(Ø,2Ø+/¬=Ø,4ð$6ð $6ð  $œyð*ñ *ô *ˆõ 	��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜v¨DÐ1Ñ1Ô1Ð1Ð1Ð1r   c                 óÖ   — t          | j        ddg| j        ddd| j        | j        dœ| j        ¬¦  «        }t          |d         |d	         ¦  «         t          |j        d
dg¦  «         d S )NrU   r'   rW   rV   r�   )rr   r-   r6   rv   r\   r]   r)   r   )	r	   r-   r6   rN   rR   r%   r   r   r   rc   s     r   Ú1test_minimize_inequality_given_vector_constraintsz;TestSLSQP.test_minimize_inequality_given_vector_constraintsÈ   s‚   € õ �t”x $¨ °$´(Ø%¨GØ,2Ø+/¬>Ø+/Ô+>ð$@ð $@ð  $œyð*ñ *ô *ˆõ 	��I”  I¤Ñ/Ô/Ð/Ý˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 ó²   — d„ }d„ }t          |dd¦  «        g}t          j        ddg¦  «        }t          ddgddg¦  «        }t	          ||d	||¬
¦  «         d S )Nc                 ó”   — d| d         cxk    rdk    rn nd| d         cxk    rdk    sn J | ¦   «         ‚| d         dz  | d         z   S )Nr   r   ri   r    ©r   s    r   Úcz5TestSLSQP.test_minimize_bounded_constraint.<locals>.cÙ   sZ   € Ø˜˜!œ�>�>’>�> ’>�>�>�>�> a¨1¨Q¬4 n n¢n n°1¢n n n n n°a¡n¤n nØ�Q”4˜3‘;  1¤Ñ%Ð%r   c                 óœ   — d| d         cxk    rdk    rn nd| d         cxk    rdk    sn J | ¦   «         ‚| d         dz   | d         dz  z   S ©Nr   r   r)   r    rŠ   s    r   Úfz5TestSLSQP.test_minimize_bounded_constraint.<locals>.fÝ   s`   € Ø˜˜!œ�>�>’>�> ’>�>�>�>�> a¨1¨Q¬4 n n¢n n°1¢n n n n n°a¡n¤n nØ�a”D˜A‘I�:  !¤¨¡	Ñ)Ð)r   r   g      ø?gÍÌÌÌÌÌì?ri   g        r'   rW   ©rZ   rj   rs   )r   r1   rM   r
   r	   )r   r‹   rŽ   ÚcnsÚx0Úbnds         r   Ú test_minimize_bounded_constraintz*TestSLSQP.test_minimize_bounded_constraintÔ   s   € ð
	&ð 	&ð 	&ð	*ð 	*ð 	*õ # 1 a¨Ñ-Ô-Ð.ˆÝŒZ˜˜c˜
Ñ#Ô#ˆÝ�b˜"�X  S˜zÑ*Ô*ˆÝ��B˜w¨sÀÐDÑDÔDÐDÐDÐDr   c                 ó‚  — t          | j        ddgd| j        dddgd| j        d| j        dœ| j        ¬	¦  «        }t          |d
         |d         ¦  «         t          |j        ddgd¬¦  «         t          d|j        d         cxk    odk    nc ¦  «         t          d|j        d         cxk    odk    nc ¦  «         d S )NrU   r'   rW   rV   ©çš™™™™™é¿r'   ©r@   çš™™™™™é?rp   rz   )rZ   r6   rY   rj   rs   r[   r\   r]   r˜   r‚   rƒ   r–   r   r   r@   r|   rc   s     r   Ú#test_minimize_bound_equality_given2z-TestSLSQP.test_minimize_bound_equality_given2æ   sð   € õ �t”x $¨ °WØœ8¨(Ø)¨9Ð5Ø,0Ø+/¬<Ø,4Ø+/Ô+<ð$>ð $>ð  $œyð*ñ *ô *ˆõ 	��I”  I¤Ñ/Ô/Ð/Ý˜œ  S˜z°Ð5Ñ5Ô5Ð5Ý�˜œ˜aœÐ%Ð%Ò%Ð% AÒ%Ð%Ð%Ð%Ñ&Ô&Ð&Ý��c”e˜A”hÐ%Ð%Ò%Ð% #Ò%Ð%Ð%Ð%Ñ&Ô&Ð&Ð&Ð&r   c                 ó˜   — t          | j        ddgddd¬¦  «        }|\  }}}}}t          |dk    |¦  «         t          |ddg¦  «         d S )NrU   r'   rV   r   r   )rY   ÚiprintÚfull_outputr)   )r   r-   r   r   ©r   r`   r   ÚfxÚitsÚimodeÚsmodes          r   Útest_unbounded_approximatedz%TestSLSQP.test_unbounded_approximated÷   se   € å˜œ D¨# ;°XØ"#°1ð6ñ 6ô 6ˆà#&Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! a¨ VÑ,Ô,Ð,Ð,Ð,r   c                 ó¤   — t          | j        ddgd| j        dd¬¦  «        }|\  }}}}}t          |dk    |¦  «         t	          |ddg¦  «         d S )NrU   r'   rV   r   r   )rY   Úfprimer›   rœ   r)   )r   r-   r6   r   r   r�   s          r   Útest_unbounded_givenzTestSLSQP.test_unbounded_givenÿ   sl   € å˜œ D¨# ;°XØ"&¤(°QØ'(ð*ñ *ô *ˆð $'Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! a¨ VÑ,Ô,Ð,Ð,Ð,r   c                 ó¦   — t          | j        ddgd| j        gdd¬¦  «        }|\  }}}}}t          |dk    |¦  «         t	          |ddg¦  «         d S )NrU   r'   rV   r   r   )rY   Úeqconsr›   rœ   )r   r-   r>   r   r   r�   s          r   Útest_equality_approximatedz$TestSLSQP.test_equality_approximated  sn   € å˜œ 4¨ *°7Ø#'¤< .Ø"#°1ð6ñ 6ô 6ˆð $'Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! a¨ VÑ,Ô,Ð,Ð,Ð,r   c           	      ó²   — t          | j        ddg| j        d| j        gdd¬¦  «        }|\  }}}}}t	          |dk    |¦  «         t          |ddg¦  «         d S )NrU   r'   rV   r   r   )r¤   rY   r§   r›   rœ   )r   r-   r6   r>   r   r   r�   s          r   Útest_equality_givenzTestSLSQP.test_equality_given  ss   € å˜œ D¨# ;Ø $¤¨wØ#'¤< .¸1Ø'(ð*ñ *ô *ˆð $'Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! a¨ VÑ,Ô,Ð,Ð,Ð,r   c           
      ó¼   — t          | j        ddg| j        d| j        | j        dd¬¦  «        }|\  }}}}}t          |dk    |¦  «         t          |ddg¦  «         d S )NrU   r'   rV   r   r   )r¤   rY   Úf_eqconsÚfprime_eqconsr›   rœ   ©r   r-   r6   r>   rA   r   r   r�   s          r   Útest_equality_given2zTestSLSQP.test_equality_given2  sx   € å˜œ D¨# ;Ø $¤¨wØ$(¤LØ)-Ô):Ø"#Ø'(ð*ñ *ô *ˆð $'Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! a¨ VÑ,Ô,Ð,Ð,Ð,r   c           	      ó¶   — t          | j        ddg| j        d| j        gdd¬¦  «        }|\  }}}}}t	          |dk    |¦  «         t          |ddgd¬	¦  «         d S )
NrU   r'   rV   r   r   )r¤   rY   Úieqconsr›   rœ   r)   é   ©Údecimal)r   r-   r6   rI   r   r   r�   s          r   Útest_inequality_givenzTestSLSQP.test_inequality_given'  sx   € å˜œ D¨# ;Ø $¤¨xØ$(¤M ?Ø"#°1ð6ñ 6ô 6ˆð $'Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! a¨ V°QÐ7Ñ7Ô7Ð7Ð7Ð7r   c                 óR  — t          | j        ddg| j        dddg| j        | j        dd¬¦	  «	        }|\  }}}}}t          |dk    |¦  «         t          |d	d	gd
¬¦  «         t          d|d         cxk    odk    nc ¦  «         t          d|d         cxk    od	k    nc ¦  «         d S )NrU   r'   rV   r•   r—   r   r   )r¤   rY   rj   r¬   r­   r›   rœ   r˜   r²   r³   r–   r@   r®   r�   s          r   Útest_bound_equality_given2z$TestSLSQP.test_bound_equality_given21  sà   € å˜œ D¨# ;Ø $¤¨xØ#-¨yÐ"9Ø$(¤LØ)-Ô):Ø"#°1ð6ñ 6ô 6ˆð $'Ñ ˆˆ2ˆs�E˜5Ý�˜’
˜EÑ"Ô"Ð"Ý! ! c¨3 Z¸Ð;Ñ;Ô;Ð;Ý�˜˜!œÐ!Ð!Ò!Ð! Ò!Ð!Ð!Ð!Ñ"Ô"Ð"Ý��a˜”dÐ!Ð!Ò!Ð!˜cÒ!Ð!Ð!Ð!Ñ"Ô"Ð"Ð"Ð"r   c                 ó¤   — t          d„ dgd„ gd¬¦  «        }t          |dg¦  «         t          d„ dgd„ d¬	¦  «        }t          |dg¦  «         d S )
Nc                 ó   — | dz  S ©Nr)   r    ©Úzs    r   ú<lambda>z3TestSLSQP.test_scalar_constraints.<locals>.<lambda>A  ó
   €   A¡€ r   g      @c                 ó   — | d         dz
  S ©Nr   r   r    r»   s    r   r½   z3TestSLSQP.test_scalar_constraints.<locals>.<lambda>B  s   € ¨!¨A¬$°©(€ r   r   )r±   r›   r'   c                 ó   — | dz  S rº   r    r»   s    r   r½   z3TestSLSQP.test_scalar_constraints.<locals>.<lambda>F  r¾   r   c                 ó   — | d         dz
  gS rÀ   r    r»   s    r   r½   z3TestSLSQP.test_scalar_constraints.<locals>.<lambda>G  s   € ¨A¨a¬D°1©H¨:€ r   )Ú	f_ieqconsr›   )r   r   r   s     r   Útest_scalar_constraintsz!TestSLSQP.test_scalar_constraints?  s}   € å�~�~¨ tØ 2Ð 2Ð3Øð!ñ !ô !ˆõ 	" ! b TÑ*Ô*Ð*å�~�~¨ tØ!5Ð!5Øð!ñ !ô !ˆõ 	" ! b TÑ*Ô*Ð*Ð*Ð*r   c                 ó6   — t          d„ dgddggd¬¦  «         d S )Nc                 ó   — | dz  dz
  S ©Nr)   r   r    r»   s    r   r½   z/TestSLSQP.test_integer_bounds.<locals>.<lambda>M  s   € ˜Q ™T A™X€ r   r   r   ©rj   r›   ©r   r   s    r   Útest_integer_boundszTestSLSQP.test_integer_boundsK  s+   € åÐ%Ð%¨ s°Q¸°F°8ÀAÐFÑFÔFÐFÐFÐFr   c                 óÜ   — t           j         t           j        ft          j        dg¦  «        t          j        dg¦  «        fg}t          d„ ddg|d¬¦  «        }t	          |ddg¦  «         d S )Nr)   r²   c                 ó6   — t          j        | dz  dz
  ¦  «        S rÇ   )r1   Úsumr»   s    r   r½   z-TestSLSQP.test_array_bounds.<locals>.<lambda>T  s   € ¥¤¨¨1©¨q©Ñ!1Ô!1€ r   rh   r   rÈ   )r1   Úinfr2   r   r   )r   rj   r   s      r   Útest_array_boundszTestSLSQP.test_array_boundsO  sq   € õ ”F�7�BœFÐ#¥b¤h°¨s¡m¤mµR´X¸q¸c±]´]Ð%CÐDˆÝÐ1Ð1°C¸°:ÀfØð!ñ !ô !ˆå! ! a¨ VÑ,Ô,Ð,Ð,Ð,r   c                 ó†   — t          t          ¦  «        5  t          d„ g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó
   — ddgS rÀ   r    rŠ   s    r   r½   z7TestSLSQP.test_obj_must_return_scalar.<locals>.<lambda>\  s
   €  ! Q € r   ©r   r)   r²   )Úassert_raisesÚ
ValueErrorr   r   s    r   Útest_obj_must_return_scalarz%TestSLSQP.test_obj_must_return_scalarX  sŽ   € õ �:Ñ&Ô&ð 	4ð 	4ÝÐ'Ð'¨¨¨Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   •6¶:½:c                 ó0   — t          d„ g d¢d¬¦  «         d S )Nc                 ó   — dgS ©Nr   r    rŠ   s    r   r½   z;TestSLSQP.test_obj_returns_scalar_in_list.<locals>.<lambda>b  s   € ˜a˜S€ r   rÒ   r   )r›   rÉ   r   s    r   Útest_obj_returns_scalar_in_listz)TestSLSQP.test_obj_returns_scalar_in_list^  s%   € õ 	�=�= ) ) )°AÐ6Ñ6Ô6Ð6Ð6Ð6r   c                 óú   — t          ¦   «         }t          | j        ddgdd|| j        ¬¦  «        }t	          |d         |d         ¦  «         t	          |j        ¦  «         t          |j        |d         ¦  «         d S )	NrU   r'   rV   rW   )rY   rZ   Úcallbackr[   r\   r]   Únit)r   r	   r-   r%   r   r   r   r   )r   rÛ   r`   s      r   Útest_callbackzTestSLSQP.test_callbackd  s|   € å‘<”<ˆÝ�t”x $¨ °8Ø%°À$Ä)ðMñ Mô Mˆå��I”  I¤Ñ/Ô/Ð/Ý�Ô$Ñ%Ô%Ð%Ý�X”_ c¨%¤jÑ1Ô1Ð1Ð1Ð1r   c                 óú   — ddg}d„ }d„ }t          d„ |d|dœd|dœfd	d
¬¦  «        }|j        }t           ||¦  «        dd¬¦  «         t           ||¦  «        dk    ¦  «         t          |j        |¦  «         d S )Nr   r   c                 ó*   — | d         | d         z   dz
  S r�   r    rŠ   s    r   Úf1z5TestSLSQP.test_inconsistent_linearization.<locals>.f1x  ó   € Ø�Q”4˜!˜Aœ$‘; ‘?Ð"r   c                 ó   — | d         dz  dz
  S ©Nr   r)   r   r    rŠ   s    r   Úf2z5TestSLSQP.test_inconsistent_linearization.<locals>.f2z  s   € Ø�Q”4˜1‘9˜q‘=Ð r   c                 ó0   — | d         dz  | d         dz  z   S rã   r    rŠ   s    r   r½   z;TestSLSQP.test_inconsistent_linearization.<locals>.<lambda>}  ó   € �a˜”d˜A‘g  !¤ a¡Ñ'€ r   rp   ©rr   r-   r�   ©©r   Nré   rW   ©rs   rj   rZ   g:Œ0âŽyE>rƒ   g:Œ0âŽyE¾)r	   r   r   r   r\   )r   r   rà   rä   Úsols        r   Útest_inconsistent_linearizationz)TestSLSQP.test_inconsistent_linearizationm  sÁ   € ð �ˆFˆð	#ð 	#ð 	#ð	!ð 	!ð 	!åØ'Ð'ØØ!%¨RÐ0Ð0Ø!'¨rÐ2Ð2ð4à'Øðñ ô ˆð ŒEˆå˜˜˜1™œ˜q tÐ,Ñ,Ô,Ð,Ý���1‘”˜’ÑÔÐÝ�”˜SÑ!Ô!Ð!Ð!Ð!r   c                 óx   — ddg}t          d„ |dd„ dœdd„ dœfd	d
¬¦  «        }t          |j         |¦  «         d S )Nr   r)   c                 ó0   — | d         dz  | d         dz  z   S rã   r    rŠ   s    r   r½   z0TestSLSQP.test_regression_5743.<locals>.<lambda>Ž  ræ   r   rp   c                 ó*   — | d         | d         z   dz
  S rÀ   r    rŠ   s    r   r½   z0TestSLSQP.test_regression_5743.<locals>.<lambda>�  s   € °q¸´t¸A¸a¼D±yÀ±{€ r   rç   r�   c                 ó   — | d         dz
  S )Nr   r)   r    rŠ   s    r   r½   z0TestSLSQP.test_regression_5743.<locals>.<lambda>‘  s   € ¸¸1¼¸a¹€ r   rè   rW   rê   )r	   r   r\   )r   r   rë   s      r   Útest_regression_5743zTestSLSQP.test_regression_5743‰  sp   € ð �ˆFˆÝØ'Ð'ØØ!%Ð-BÐ-BÐCÐCØ!'Ð/?Ð/?Ð@Ð@ðBà'Øðñ ô ˆõ 	�C”K� Ñ%Ô%Ð%Ð%Ð%r   c                 ón   — d„ }t          |g d¢d¬¦  «        }t          |j        j        dk    ¦  «         d S )Nc                 óf   — | d         dz
  dz  d| d         dz
  dz  z  z   d| d         dz
  dz  z  z   S )Nr   r   r)   ri   r    rŠ   s    r   Úfuncz$TestSLSQP.test_gh_6676.<locals>.func—  s?   € Ø�a”D˜1‘H˜q‘= 1 a¨¤d¨Q¡h°¡]¡?Ñ2°S¸!¸A¼$À¹(ÀQ¹Ñ5FÑFÐFr   ©r   r   r   rW   ©rZ   )r²   )r	   r   r6   rQ   )r   rô   rë   s      r   Útest_gh_6676zTestSLSQP.test_gh_6676–  sK   € ð	Gð 	Gð 	Gõ �t˜Y˜Y˜Y¨wÐ7Ñ7Ô7ˆÝ�”” Ò%Ñ&Ô&Ð&Ð&Ð&r   c                 óü   — dddt           j        dft           j        dffdt           j         fdfg}|D ]H}t          t          ¦  «        5  t	          | j        ddg|d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   ŒId S )N)©r   r)   ©r)   r   )rú   rù   )rú   rú   r   r   )r   r   rU   r'   rW   )rj   rZ   )r1   rÎ   rÓ   rÔ   r	   r-   )r   Úbounds_listrj   s      r   Útest_invalid_boundszTestSLSQP.test_invalid_bounds�  sé   € ð ØØÝŒf�aˆ[�2œ6 1˜+Ð&Ø•"”&�ˆ\˜6Ð"ð
ˆð "ð 	Oð 	OˆFÝ�zÑ*Ô*ð Oð OÝ˜œ D¨# ;°vÀgÐNÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oøð	Oð 	Os   Á	A0Á0A4	Á7A4	c                 ó  — d„ }t          |dgddg¬¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |d	gdd
g¬¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |d	gddg¬¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgdd
g¬¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgddg¬¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgddg¬¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         d S )Nc                 ó   — | d         dz
  dz  S r�   r    rŠ   s    r   rŽ   z)TestSLSQP.test_bounds_clipping.<locals>.f¯  s   € Ø�a”D˜1‘H˜q‘=Ð r   é
   ÚslsqprØ   ©rZ   rj   r   ç»½×Ùß|Û=rƒ   éöÿÿÿ)r)   Nr)   ç      à¿)r@   r   ©r	   r   r\   r   r   )r   rŽ   rë   s      r   Útest_bounds_clippingzTestSLSQP.test_bounds_clipping«  sŸ  € ð	!ð 	!ð 	!õ �q˜2˜$ w¸	°{ÐCÑCÔCˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜3˜%¨¸¸ÐDÑDÔDˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜3˜%¨¸¸ÐDÑDÔDˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜2˜$ w¸	°{ÐCÑCÔCˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜4˜&¨¸'¸ÐCÑCÔCˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜2˜$ w¸°yÐAÑAÔAˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-Ð-Ð-r   c                 ó4  — d„ }dd„ dœg}dd„ dœg}dd„ dœdd„ dœg}t          |dgd	|¬
¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgd	|¬
¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgd	|¬
¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgd	|¬
¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgd	|¬
¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         t          |dgd	|¬
¦  «        }t          |j        ¦  «         t          |j        dd¬¦  «         d S )Nc                 ó&   — | \  } | | z  d| z  z
  dz   S rÇ   r    rŠ   s    r   rŽ   z,TestSLSQP.test_infeasible_initial.<locals>.fÌ  s   € Ø‰BˆAØ�Q‘3˜˜1™‘9˜q‘=Ð r   r�   c                 ó   — d| z
  S rØ   r    rŠ   s    r   r½   z3TestSLSQP.test_infeasible_initial.<locals>.<lambda>Ð  ó
   € °A¸±E€ r   rç   c                 ó   — | dz
  S rº   r    rŠ   s    r   r½   z3TestSLSQP.test_infeasible_initial.<locals>.<lambda>Ñ  r
  r   c                 ó   — d| z
  S rØ   r    rŠ   s    r   r½   z3TestSLSQP.test_infeasible_initial.<locals>.<lambda>Ò  ó
   € °Q¸±U€ r   c                 ó   — | dz   S ©Nr   r    rŠ   s    r   r½   z3TestSLSQP.test_infeasible_initial.<locals>.<lambda>Ó  r  r   rÿ   r   )rZ   rs   r   r  rƒ   r  r)   r  r  )r   rŽ   Úcons_uÚcons_lÚcons_ulrë   s         r   Útest_infeasible_initialz!TestSLSQP.test_infeasible_initialÊ  sÚ  € ð	!ð 	!ð 	!ð "¨/¨/Ð:Ð:Ð;ˆØ!¨/¨/Ð:Ð:Ð;ˆØ"¨?¨?Ð;Ð;Ø"¨?¨?Ð;Ð;ð=ˆõ �q˜2˜$ w¸FÐCÑCÔCˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜3˜%¨¸VÐDÑDÔDˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜3˜%¨¸VÐDÑDÔDˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜2˜$ w¸FÐCÑCÔCˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜4˜&¨¸gÐFÑFÔFˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-å�q˜2˜$ w¸GÐDÑDÔDˆÝ�”ÑÔÐÝ˜œ˜q uÐ-Ñ-Ô-Ð-Ð-Ð-r   Údicts)ÚmodeÚ	CompilersÚfortranÚnamez
intel-llvmz7Runtime warning due to floating point issues, not logic)Úreasonc                 ó¶   — d„ }d„ }d„ }d}d}t          d|¬¦  «        t          d|¬¦  «        f}t          ||d||¬	¦  «        }t          |j         ¦  «         d S )
Nc                 ó0   — d| d         z  d| d         z  z   S )Nr@   r   r0   r   r    rŠ   s    r   Úcostz6TestSLSQP.test_inconsistent_inequalities.<locals>.costó  s   € Ø˜˜!œ‘9˜q 1 Q¤4™xÑ'Ð'r   c                 ó*   — | d         | d         z
  dz
  S )Nr   r   r    rŠ   s    r   Ú	ineqcons1z;TestSLSQP.test_inconsistent_inequalities.<locals>.ineqcons1ö  rá   r   c                 ó$   — | d         | d         z
  S rÀ   r    rŠ   s    r   Ú	ineqcons2z;TestSLSQP.test_inconsistent_inequalities.<locals>.ineqcons2ù  s   € Ø�Q”4˜!˜Aœ$‘;Ðr   )r   é   )©éûÿÿÿr!  r"  r�   rç   rW   r�   )Údictr	   r   r\   )r   r  r  r   r‘   rj   Úconsr`   s           r   Útest_inconsistent_inequalitiesz(TestSLSQP.test_inconsistent_inequalitiesí  s�   € ð	(ð 	(ð 	(ð	#ð 	#ð 	#ð	ð 	ð 	ð ˆØ#ˆÝ˜& iÐ0Ñ0Ô0µ$¸FÈ	Ð2RÑ2RÔ2RÐSˆÝ�t˜R¨¸ÈDÐQÑQÔQˆå�C”K�Ñ Ô Ð Ð Ð r   c                 óÜ   — d„ }t          ddgt          j        t          j        g¦  «        }t          |ddgd|¬¦  «        }t	          |j        ¦  «         t          |j        ddg¦  «         d S )Nc                 ó0   — | d         dz  | d         dz  z   S rã   r    rŠ   s    r   rŽ   z)TestSLSQP.test_new_bounds_type.<locals>.f	  s   € Ø�Q”4˜1‘9˜q œt q™yÑ(Ð(r   r   r   r   r  )r
   r1   rÎ   r	   r   r\   r   r   )r   rŽ   rj   rë   s       r   Útest_new_bounds_typezTestSLSQP.test_new_bounds_type  ss   € ð	)ð 	)ð 	)å˜˜A˜¥¤­¬Ð 0Ñ1Ô1ˆÝ�q˜1˜a˜&¨¸Ð@Ñ@Ô@ˆÝ�”ÑÔÐÝ˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r   c                 ó\   —  G d„ d¦  «        } |¦   «         }|                      ¦   «          d S )Nc                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú9TestSLSQP.test_nested_minimization.<locals>.NestedProblemc                 ó   — d| _         d S rØ   )ÚF_outer_countr   s    r   r   zBTestSLSQP.test_nested_minimization.<locals>.NestedProblem.__init__  s   € Ø%&�Ô"Ð"Ð"r   c                 ó   — | xj         dz  c_         | j         dk    rt          d¦  «        ‚t          | j        dd¬¦  «        }t	          |j        ¦  «         t          |j        ddg¦  «         |d         dz  |d         dz  z   |d         dz  z   S )	Nr   iè  z(Nested minimization failed to terminate.)r²   r0   rW   rö   r   r)   )r.  Ú	Exceptionr	   ÚF_innerr   r\   r   r   )r   r   Ú	inner_ress      r   ÚF_outerzATestSLSQP.test_nested_minimization.<locals>.NestedProblem.F_outer  s˜   € ØÐ"Ô" aÑ'Ð"Ô"ØÔ%¨Ò,Ð,Ý#Ð$NÑOÔOÐOÝ$ T¤\°6À'ÐJÑJÔJ�	Ý˜	Ô)Ñ*Ô*Ð*Ý 	¤¨a°¨VÑ4Ô4Ð4Ø˜”t˜Q‘w  1¤ q¡Ñ(¨1¨Q¬4°©7Ñ2Ð2r   c                 ó<   — |d         dz
  dz  |d         dz
  dz  z   S r�   r    r   s     r   r1  zATestSLSQP.test_nested_minimization.<locals>.NestedProblem.F_inner   s%   € Ø˜!œ˜q™ 1‘}¨¨!¬¨q©°1¡}Ñ4Ð4r   c                 óŠ   — t          | j        dd¬¦  «        }t          |j        ¦  «         t	          |j        g d¢¦  «         d S )N)r!  r!  r!  rW   rö   rõ   )r	   r3  r   r\   r   r   )r   Ú	outer_ress     r   Úsolvez?TestSLSQP.test_nested_minimization.<locals>.NestedProblem.solve#  sE   € Ý$ T¤\°9ÀWÐMÑMÔM�	Ý˜	Ô)Ñ*Ô*Ð*Ý 	¤¨Y¨Y¨YÑ7Ô7Ð7Ð7Ð7r   N)r   r   r   r   r3  r1  r7  r    r   r   ÚNestedProblemr,    sP   € € € € € ð'ð 'ð 'ð3ð 3ð 3ð5ð 5ð 5ð8ð 8ð 8ð 8ð 8r   r8  )r7  )r   r8  Úproblems      r   Útest_nested_minimizationz"TestSLSQP.test_nested_minimization  sH   € ð	8ð 	8ð 	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð,  �-‘/”/ˆØ�Š‰Œˆˆˆr   c                 ó
  — d„ }d„ }d„ }d|dœ}d|dœ}t          |ddgd||gd	d
g¬¦  «        }t          j                             |j        d¦  «         t          j                             |j        ddg¦  «         |j        sJ ‚d S )Nc                 ó6   — t          j        | d         ¦  «        S r  )r1   ÚsqrtrŠ   s    r   r-   z"TestSLSQP.test_gh1758.<locals>.fun/  s   € Ý”7˜1˜Qœ4‘=”=Ð r   c                 ó0   — | d         d| d         z  dz  z
  S )r;   r   r)   r   r²   r    rŠ   s    r   r>   z&TestSLSQP.test_gh1758.<locals>.f_eqcon2  s   € à�Q”4˜1˜q œt™8¨™/Ñ)Ð)r   c                 ó2   — | d         | d          dz   dz  z
  S )r;   r   r   r²   r    rŠ   s    r   Úf_eqcon2z'TestSLSQP.test_gh1758.<locals>.f_eqcon26  s    € à�Q”4˜A˜aœD˜5 1™9¨Ñ*Ñ*Ð*r   rp   rç   é   g      Ð?rW   )r  r   )r   rA  )rZ   rs   rj   g8r]õ(ká?gÚÁQUUÕ?gc@›Á„öÒ?)r	   r1   Útestingr   r-   r   r\   )r   r-   r>   r@  Úc1Úc2r`   s          r   Útest_gh1758zTestSLSQP.test_gh1758+  sÉ   € ð	!ð 	!ð 	!ð	*ð 	*ð 	*ð	+ð 	+ð 	+ð  7Ð+Ð+ˆØ 8Ð,Ð,ˆå�s˜Q ˜I¨gØ$&¨ 8°YÀÐ4GðIñ Iô Iˆõ 	Œ
×"Ò" 3¤7¨OÑ<Ô<Ð<Ý
Œ
×"Ò" 3¤5¨:°yÐ*AÑBÔBÐBØŒ{ÐÐÐÐÐr   c           
      ó°   — t           j                             d¦  «         dd„ dœdd„ dœf}d}d„ }g d¢}t          ||d	||d
ddœ¬¦  «        }|j        rJ ‚d S )Nrÿ   r�   c                 ó,   — | d          | d         z
  dz
  S )Nr   r   r²   r    rŠ   s    r   r½   z'TestSLSQP.test_gh9640.<locals>.<lambda>F  s   € °1°Q´4°%¸!¸A¼$±,ÀÑ2B€ r   rç   c                 ó*   — | d         | d         z   dz
  S )Nr   r)   r    rŠ   s    r   r½   z'TestSLSQP.test_gh9640.<locals>.<lambda>G  s   € °!°A´$¸¸1¼±+À±/€ r   )©r/   r)   rI  rI  c                 ó   — dS r  r    rŠ   s    r   Útargetz%TestSLSQP.test_gh9640.<locals>.targetJ  s   € Ø�1r   )g ãö51þ¿gäÐ£X«{ä¿g ¢¼ŽP(ê¿rW   Fi'  )r$   Úmaxiter)rZ   rj   rs   r[   )r1   ÚrandomÚseedr	   r\   )r   r%  ÚbndsrK  r‘   r`   s         r   Útest_gh9640zTestSLSQP.test_gh9640D  s�   € Ý
Œ	�Š�rÑÔÐØÐ(BÐ(BÐCÐCØÐ(AÐ(AÐBÐBðDˆà*ˆð	ð 	ð 	àKÐKÐKˆÝ�v˜r¨'¸$ÈDØ',¸Ð>Ð>ð@ñ @ô @ˆð ”;ÐÐÐÐÐr   c                 ó  ‡— t           j                             d¦  «         t          t          j        dg¦  «        t          j        dg¦  «        ¦  «        Št          ‰j        ¦  «        }t          j        ‰j        ‰j        ‰j        z
  t           j                             |¦  «        z  z   ¦  «        }ˆfd„}t          j	        t          d¬¦  «        5  t          ||d‰¬¦  «        }|j        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   gš™™™™™¹?r'   c                 ó€   •— | ‰j         k                         ¦   «         sJ ‚t          j                             | ¦  «        S r8   )ÚlbÚallr1   ÚlinalgÚnorm)r   rj   s    €r   rŽ   z7TestSLSQP.test_parameters_stay_within_bounds.<locals>.f_  s5   ø€ Ø˜œ’N×'Ò'Ñ)Ô)Ð)Ð)Ð)Ý”9—>’> !Ñ$Ô$Ð$r   zx were outside bounds)ÚmatchrW   r  )r1   rM  rN  r
   r2   ÚlenrS  ÚubÚpytestÚwarnsÚRuntimeWarningr	   r\   )r   Ún_inputsr‘   rŽ   r`   rj   s        @r   Ú"test_parameters_stay_within_boundsz,TestSLSQP.test_parameters_stay_within_boundsS  sB  ø€ õ 	Œ	�Š�qÑÔÐÝ�œ # ™œ­¬°3°%©¬Ñ9Ô9ˆÝ�v”y‘>”>ˆÝŒX�f”i 6¤9¨v¬yÑ#8Ý”i×&Ò& xÑ0Ô0ñ#1ñ 1ñ 2ô 2ˆð	%ð 	%ð 	%ð 	%ð 	%õ Œ\�.Ð0GÐHÑHÔHð 	ð 	Ý˜1˜b¨¸Ð@Ñ@Ô@ˆCØ”;ÐÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÃC?Ã?DÄDN)r'   );r   r   r   r   r&   r-   r6   r9   r>   rA   rD   rG   rI   rK   rN   rR   ra   rd   rl   rn   rt   rw   r}   r   r…   r‡   r“   r™   r¢   r¥   r¨   rª   r¯   rµ   r·   rÄ   rÊ   rÏ   rÕ   rÙ   rÝ   rì   rñ   r÷   rü   r  r  rZ  ÚmarkÚxfailÚscipyÚshow_configr&  r)  r:  rE  rP  Úthread_unsafer^  r    r   r   r"   r"      s�  € € € € € ðð ð$ð $ð $ð2ð 2ð 2ð 2ð 
-ð 
-ð 
-ð 
-ð4ð 4ð 4ð 4ð'ð 'ð 'ð 'ð#ð #ð #ð #ð(ð (ð (ð (ð6ð 6ð 6ð 6ð-ð -ð -ð -ð#ð #ð #ð #ðð ð ð'ð 'ð 'ð
+ð +ð +ð'ð 'ð 'ð%ð %ð %ð'ð 'ð 'ð+ð +ð +ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð	2ð 	2ð 	2ð
'ð 
'ð 
'ðEð Eð Eð$'ð 'ð 'ð"-ð -ð -ð-ð -ð -ð-ð -ð -ð-ð -ð -ð
-ð 
-ð 
-ð8ð 8ð 8ð#ð #ð #ð
+ð 
+ð 
+ðGð Gð Gð-ð -ð -ð4ð 4ð 4ð7ð 7ð 7ð2ð 2ð 2ð"ð "ð "ð8&ð &ð &ð'ð 'ð 'ðOð Oð Oð.ð .ð .ð>!.ð !.ð !.ðF „[×ÒÐ(�uÔ(¨gÐ6Ñ6Ô6°{ÔCÀIÔNÈvÔVØ&ò'àWð ñ Yô Yð!ð !ñYô Yð!ð0'ð 'ð 'ðð ð ð6ð ð ð2ð ð ð „[Ôðð ñ Ôðð ð r   r"   )r   Únumpy.testingr   r   r   r   rZ  r   rÓ   Únumpyr1   ra  Úscipy.optimizer   r	   r
   r   r   r"   r    r   r   ú<module>rg     s  ððð ð:ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :à *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø Ð Ð Ð Ø €€€à LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Lðð ð ð ð ñ ô ð ðI	ð I	ð I	ð I	ð I	ñ I	ô I	ð I	ð I	ð I	r   