ó
î&]\c           @` s  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l m Z d  d l m	 Z	 m
 Z
 d  d l m 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 S(   i    (   t   divisiont   absolute_importt   print_functionN(   t   exp(   t   assert_t   assert_equal(   t   rootc          ` s‰  d }  d } t  d t d t d d d d d	 d ƒ t  d t d t d d
 d d d	 d ƒ t  d t d t d d d d d	 d ƒ t  d t d t d d d d d	 d ƒ t  d t d t d d d d d	 d ƒ t  d t d t d d d d d	 d ƒ t  d t d t d d d d d	 d ƒ t  d t	 d t
 d d d d d	 d ƒ t  d t	 d t
 d d d d d	 d ƒ t  d t d t d d d d d	 d ƒ g
 } xt j d d d g d d d g d d g ƒ D]Ù\ ‰ ‰ } xÇ| D]¿‰  ˆ  d } ‡  ‡ ‡ f d †  } | f } ˆ  d | ƒ ˆ } t j | ƒ |  ˆ | t j j | | | ƒ ƒ } d t ˆ ˆ ˆ ˆ ƒ }	 ˆ ˆ }
 t j d d ƒ U t | | d | d  t  d! d" d# | d$ ˆ  d	 d% d& |
 d' |	 d( | ƒ d) d* ƒ} Wd  QXt ˆ ˆ | ˆ  t j j | | j | ƒ ƒ | | j | j | j g	 ƒ } t | j | ƒ t | j ˆ  d	 d% k | ƒ t | j ˆ  d k | ƒ t t j j | | j | ƒ ƒ | k | ƒ q¾Wq¨Wd  S(+   Ngñhãˆµøä>g-Cëâ6?t   Ft   x0t   niè  t   niti   t   nfevi'  i   iô  i   iÐ  id   i   ic   i   i   iç  i   i   g      ð?g»½×Ùß|Û=g    _ Bt   cruzt   chengc         ` s   ˆ ˆ  d |  ˆ | ƒ S(   NR   (    (   t   xR	   (   t   problemt   xscalet   yscale(    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   <lambda>+   s    t   overt   ignoret   argst   optionst   ftoli    t   fatolt   maxfevi   t   sigma_0t	   sigma_epst   line_searcht   methods   DF-SANE(   t   dictt   F_1t   x0_1t   F_2t   x0_2t   F_6t   x0_6t   F_7t   x0_7t   F_9t   x0_9t   F_10t   x0_10t	   itertoolst   productt   npt   sqrtt   linalgt   normt   mint   errstateR   t   reprR   t   successR
   R   R   (   t   e_at   e_rt   table_1R   R	   t   funcR   R   R   R   R   t   solt   err_msg(    (   R   R   R   sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   test_performance   sD    	$$$$$$$$$*!
	4
 	*c          C` sˆ   d „  }  d } d } t  |  | d | d d ƒ} t | j ƒ t j j |  | ƒ ƒ } t j j |  | j ƒ ƒ } t | | | k ƒ d  S(   Nc         S` s   |  d d d S(   Ni   i   y               @(    (   t   z(    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR8   D   s    y               @g-Cëâ6?t   tolR   s   DF-SANE(   R   R   R4   R-   R/   R0   R   (   R8   R   R   R9   t   f0t   fx(    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   test_complexC   s    	c          C` sä   d d „ }  d } t  j j d ƒ t  j | | ƒ j | | ƒ } | | | t  j d t  j | ƒ ƒ } t t  j j | ƒ j	 ƒ  d k ƒ t  j | ƒ d } |  | | d ƒ |  | | d ƒ |  | | d ƒ |  | | d ƒ d  S(	   NR   c         ` s¯   ‡  ‡ f d †  } t  j j ˆ  ˆ ƒ } t  j j | | ƒ ƒ d } t | ˆ d t d | d d d d d	 | ƒ d
 d ƒ} t | j ƒ t t  j j | | j ƒ ƒ | k ƒ d  S(   Nc         ` s   ˆ  j  |  ƒ ˆ S(   N(   t   dot(   R   (   t   At   b(    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR   Z   s    g     @@R   R   R   i    R   isD  R   R   s   DF-SANE(	   R-   R/   t   solveR0   R   R   R   R4   R   (   RB   RC   R   R8   t   xpt   epsR9   (    (   RB   RC   sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   check_solvabilityY   s    -	iZ   iÒ  i   i    g      ð?R   (
   R-   t   randomt   seedt   aranget   reshapet   diagR   R/   t   eigvalsR1   (   RG   R	   RB   RC   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   test_linear_definiteR   s    	("c          C` s•   d „  }  x… t  t g D]w } t j d d g ƒ } t j d d g d | ƒ} t |  | d | f d d ƒ} t | j ƒ t | j	 j
 | j
 ƒ q Wd  S(   Nc         S` s   |  | S(   N(    (   R   t   arg(    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   fs   s    i   t   dtypeR   R   s   DF-SANE(   t   floatt   complexR-   t   zerost   onesR   R   R4   R   R   t   shape(   RP   t   dtR   RO   R9   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt
   test_shaper   s    	c         C` sl   t  j | g ƒ } t  j d | d ƒ } t |  d d ƒ d | d <| t |  d d ƒ |  d | d )| S(   Ni   i   i    (   R-   RT   RJ   R   (   R   R	   t   gt   i(    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR   ‚   s
    $c         C` s+   t  j |  g ƒ } | j |  |  d ƒ | S(   Ni   (   R-   t   emptyt   fill(   R	   R   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR    ‰   s    c         C` sl   t  j | g ƒ } t  j d | d ƒ } t |  d ƒ d | d <d | t |  d ƒ |  d  d | d )| S(   Ni   i   i    gš™™™™™¹?iÿÿÿÿ(   R-   RT   RJ   R   (   R   R	   RY   RZ   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR!   Ž   s
    (c         C` s+   t  j |  g ƒ } | j d |  d ƒ | S(   Ni   i   (   R-   R[   R\   (   R	   R   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR"   •   s    c         C` sl  t  | d d ƒ t j | g ƒ } d |  d  d  d … d |  d d  d … d d |  d d  d … d d |  d d  d … d	 | d  d  d … <d
 |  d  d  d … d |  d d  d … d d |  d d  d … d d |  d d  d … |  d d  d … d |  d d  d … d d | d d  d … <d |  d d  d … d |  d d  d … d | d d  d … <| S(   Ni   i    g333333ã?gš™™™™™ù?i   gÍÌÌÌÌÌ@i   g333333#@g333333@g¸…ëQ¸Þ?g
×£p=
ç?gìQ¸…ë	@gHáz®G@gš™™™™™É?gHáz®G@g      ô?g      Ð?(   R   R-   RT   (   R   R	   RY   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   F_4š   s    o™=c         C` s5   t  |  d d ƒ t j d d d g |  d ƒ } | S(   Ni   i    iÿÿÿÿi   i   g      à?(   R   R-   t   array(   R	   R   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   x0_4¤   s     c         C` sx   d } t  j d | d ƒ d | } |  d d | d | | d  d  … d  f |  | d  d  … d  f | j d d ƒ S(   NgÍÌÌÌÌÌì?i   g      à?i   t   axis(   R-   RJ   t   Nonet   sum(   R   R	   t   ct   mu(    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR#   ©   s    c         C` s   t  j |  g ƒ S(   N(   R-   RU   (   R	   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR$   ®   s    c         C` sÅ   t  | d d ƒ d „  } t j | g ƒ } d |  d d  d … d d | d  d  d … <t |  d  d  d … ƒ t |  d d  d … ƒ d | d d  d … <| |  d d  d … ƒ | d d  d … <| S(   Ni   i    c         S` sr   d |  d } d |  d d |  d d |  d d |  d	 k | |  d	 k <d |  d |  d k | |  d k <| S(
   Ng      à?i   i°ýÿÿi   ix  iÇ  i„  iÎ  iÿÿÿÿ(    (   t   tt   v(    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   phi´   s    >"g     ˆÃ@i   i   gq¬‹Ûh ð?(   R   R-   RT   R   (   R   R	   Rg   RY   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR%   ±   s    	,C&c         C` s/   t  |  d d ƒ t j d d d g |  d ƒ S(   Ni   i    gü©ñÒMbP?i   i   (   R   R-   R^   (   R	   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR&   ¿   s    c         C` s½   t  j | g ƒ } t  j d | ƒ } |  d d d |  d d d | d <|  d d !d d | |  d d !d d |  d d d | d d +|  d d d | |  d d d | d <| S(   Ni   i    i   i   iÿÿÿÿ(   R-   RT   RJ   (   R   R	   RY   RZ   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR'   Ã   s    &D+c         C` s   t  j |  g ƒ S(   N(   R-   RU   (   R	   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR(   Ë   s    c         C` s   t  j d |  ƒ |  | S(   Ni   (   R-   t   log(   R   R	   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR)   Î   s    c         C` s   t  j |  g ƒ S(   N(   R-   RU   (   R	   (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyR*   Ñ   s    (   t
   __future__R    R   R   R+   t   numpyR-   R   t   numpy.testingR   R   t   scipy.optimizeR   R;   R@   RN   RX   R   R    R!   R"   R]   R_   R#   R$   R%   R&   R'   R(   R)   R*   (    (    (    sB   lib/python2.7/site-packages/scipy/optimize/tests/test__spectral.pyt   <module>   s.   	7		 						
								