
$]c           @` s   d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m Z m	 Z	 m
 Z
 m Z m Z m Z d d l m Z m Z m Z m Z m Z m Z d e f d     YZ d S(   s"    Test functions for linalg module
i    (   t   divisiont   absolute_importt   print_functionN(   t   linalgt   aranget   float64t   arrayt   dott	   transpose(   t   assert_t   assert_raisest   assert_equalt   assert_array_equalt   assert_array_almost_equalt   assert_array_lesst   TestRegressionc           B` sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C` s   t  d d d d d d d d d d d d d g  } t d d t } d  | _ | d } t j |  \ } } | j   | j   t | |  d  S(!   Ngӝ'Y@y                gF.<2/3gʹLTy        W9>/@g=J&gtV)y        B$@gZynFr62@g(3%@g:@gCr~gYqs`<gt&Aۼi   t   dtypei   yӝ'Y@        yF.<2/3        yʹLTW9>/@yʹLTW9>/y=J&        ytV)忷B$@ytV)忷B$yZynFr62@        y(3%@        y:@        yCr~        yYqs`<        yt&Aۼ        i   (   i   i   (   R   R   R   t   shapeR   t   eigt   sortR   (   t   selft   rvat   at   vat   ve(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_eig_build   s(    	


c         C` se   d d d g } t  d d d g d d d g d d d	 g g  } t j |  \ } } t | |  d  S(
   Ng"&Q@ggdV@g7Z@g'UlS@g4h@g%pJ/@g+>V@gqi0gJ%~X@(   R   R   t   eighR   (   R   t   rvalst   covt   valst   vecs(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_eigh_build(   s    c         C` s   t  d d g d d g d d g d d g g  } | j \ } } t j |  \ } } } t t | d  d   | d   f  |  } t | t j d   d  S(   Ng        g      ?g       @g      @i   (   i   i   (	   R   R   R   t   svdR   R   R   t   npt   zeros(   R   R   t   mt   nt   ut   st   vht   b(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_svd_build3   s
    0+c         C` s)   t  t t j t d d d g  d  d  S(   Ng      ?g       @g      @t   fro(   R
   t
   ValueErrorR   t   normR   (   R   (    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_norm_vector_badarg=   s    c         C` se   t  d d g d d g g d d } t  | d d } t j |  } t j |  } t | |  d  S(   NgC$ 3@g&ug.ܷ#@R   s   >f8s   <f8(   R   R   t   choleskyR   (   R   R   R(   t   apt   bp(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_lapack_endianB   s    c         C` s&   t  j d d  } t  j j |  d  S(   Ni  iB   (   R!   t   eyeR   R    (   R   t   x(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_large_svd_32bitL   s    c         C` s   x d	 d
 d f D] } x t  t f D] } t j | d | } t j | d t } t j t j |  d k  } t	 | d  t	 t j j
 |  d  t d t j j | d d  q# Wq Wd  S(   Ni   i   R   t
   compute_uvg      ?i   t   ordi   (   i   i   (   i   i   (   i   i   (   t   floatt   complexR!   t   onesR   R    t   Falset   count_nonzerot   absoluteR   t   matrix_rankR   R,   (   R   R   t   tR   t   wt   c(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_svd_no_uvQ   s    c      
   C` s|  t  j t  j d d g  d d g d t } t j |  } t | d d g  t | j t  j d  k  t j | d d } t | d d g  t | j t  j d  k  t j | d d } t | d d g  t | j t  j d  k  t t	 t j | d d t t	 t j | d d t t	 t j | d t  j
 t t	 t j | d t  j
 t j   4 t j d	 t  t t t f t j | d d Wd  QXt t	 t j | d d
 t t	 t j | d d t  j t  j d d g  d d g d d d g g d t } t j |  } t | d d g  t | j t  j d  k  t j | d d } t | d d g  t | j t  j d  k  t t t j | d d t t	 t j | d t  j
 t t	 t j | d t  j
 t t	 t j | d d t t	 t j | d d t t	 t j | d d
 t t t j | d d t t t j | d d t t	 t j | d d d  S(   Ni    i   R   R   R6   i   R*   t   nuct   erroriii   (   R!   R   t   objectR   R,   R   R	   R   R
   R+   t   inft   warningst   catch_warningst   simplefiltert   DeprecationWarningt   AttributeErrort	   TypeError(   R   t
   testvectorR,   t
   testmatrix(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_norm_object_array\   sJ    -!c   
      C` s   d } d } t  j j | |  d t  j j | |  } t  j j | |  d t  j j | |  } | j |  } t j | | d d  \ } } } }	 t | |  d  S(   Ni   iF   y              ?t   rcond(   R!   t   randomt   randnR   R   t   lstsqt   NoneR   (
   R   t   sizet   n_rhst   GR%   R(   t   u_lstsqt   rest   rankt   sv(    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   test_lstsq_complex_larger_rhs   s    ,,$(   t   __name__t
   __module__R   R   R)   R-   R1   R4   RA   RN   R[   (    (    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyR      s   			
		
			0(   t   __doc__t
   __future__R    R   R   RF   t   numpyR!   R   R   R   R   R   R   t   numpy.testingR	   R
   R   R   R   R   RD   R   (    (    (    sA   lib/python2.7/site-packages/numpy/linalg/tests/test_regression.pyt   <module>   s   ..