
&]\c           @` s   d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l m Z m	 Z	 d  d l
 m Z m Z d e f d     YZ d   Z d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_allcloset   assert_(   t   fmin_cobylat   minimizet
   TestCobylac           B` sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` sT   d d g |  _  t j d d  d g |  _ i t d 6d d	 6d
 d 6d d 6|  _ d  S(   Ng@gQ?i   g       @i   i   t   dispi   t   rhobeggh㈵>t   tolid   t   maxitergUUUUUU?gqq?gUUUUUU?(   t   x0t   matht   sqrtt   solutiont   Falset   opts(   t   self(    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   setup_method   s    c         C` s   | d d t  | d  d S(   Ni    i   i   i   (   t   abs(   R   t   x(    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   fun   s    c         C` s   | d d | d d d S(   Ni    i   i   i   (    (   R   R   (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   con1   s    c         C` s   |  j  |  S(   N(   R   (   R   R   (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   con2   s    c         C` sV   t  |  j |  j |  j |  j g d d d d d d d t } t | |  j d d	 d  S(
   NR	   i   t   rhoendgh㈵>t   maxfunid   R   t   atolg-C6?(   R   R   R   R   R   t   TrueR   R   (   R   R   (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   test_simple   s    'c      	   C` s   i d d 6|  j  d 6i d d 6|  j d 6f } t |  j |  j d d d | d |  j } t | j |  j d d	 t	 | j
 | j  t	 | j d
 k  |  t	 | j d k  |  t	 | j |  j |  j  d k  |  d  S(   Nt   ineqt   typeR   t   methodt   cobylat   constraintst   optionsR   g-C6?gh㈵>iF   gMbP?(   R   R   R   R   R   R   R   R   R   R   t   successt   messaget   maxcvt   nfev(   R   t   const   sol(    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   test_minimize_simple!   s    c         ` s  t  j j d  t  j j d d   t  j j d    f d      f d   }   f d   }   f d   }   f d   } i d d	 6| d
 6i d d	 6| d
 6i d d	 6| d
 6f } t  j d  } t | | d d d | d i d d 6} t | j d k  t | j  d  S(   Ni  i
   c         ` s     j  |   S(   N(   t   dot(   t   w(   t   pb(    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   p2   s    c         ` s   |    j    S(   N(   t   sum(   R,   (   t   spread(    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   f5   s    c         ` s   d t    |    j   S(   Ni  (   R   R/   (   R,   (   R.   (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   c18   s    c         ` s   d t    |   j    S(   Ni   (   R   R/   (   R,   (   R.   (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   c2;   s    c         ` s   d t    |    j   S(   Ni   (   R   t   max(   R,   (   R.   (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   c3>   s    R   R   R   i   R    R!   R"   R#   gư>t   catol(   i
   i   (	   t   npt   randomt   seedt   randt   zerosR   R   R&   R$   (   R   R1   R2   R3   R5   R(   t   w0R)   (    (   R.   R-   R0   s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt"   test_minimize_constraint_violation-   s     (	   t   __name__t
   __module__R   R   R   R   R   R*   R=   (    (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyR      s   						c    
      ` s  d       f d   }  d   } d   } t  j d d g  }   | | g } d d g } d	 } t   | | d
 d } t | | d d t   | |  d
 d } t   |  d d d g  | D] } i d d 6| d 6^ q }	 t   | d |	 d d } t | j | d d t | j | j  t | j	 | d d i d d 6|  d 6}	 t   | d |	 d d } t | j	 d d d d  S(   Nc         S` s    |  d d d |  d d d S(   Ni    i   i   g      @(    (   R   (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyR   N   s    c         ` s     |   d S(   Ni   (    (   R   (   R   (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   fminQ   s    c         S` s   t  j d d d g d d d g d d d g g  } t  j g  t t |   D]B } | | d f |  d | | d f |  d | | d f ^ qL  S(   Ni   ii   ii   i    (   R7   t   arrayt   ranget   len(   R   t   at   i(    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   cons1T   s    3	c         S` s   |  S(   N(    (   R   (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   cons2Y   s    i   i    gffffff?g333333?g?R   gh㈵>R   g-C6?i   R   R   R   R"   R
   (
   R7   RA   R   R   R   R   R   R$   R%   R   (
   R@   RF   RG   R   t	   cons_listt   xsolt   fsolR)   R(   R"   (    (   R   s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   test_vector_constraintsK   s(    			'(   t
   __future__R    R   R   R   t   numpyR7   t   numpy.testingR   R   t   scipy.optimizeR   R   t   objectR   RK   (    (    (    s?   lib/python2.7/site-packages/scipy/optimize/tests/test_cobyla.pyt   <module>   s   @