
&]\c           @` s  d  Z  d d l m Z m Z m Z d 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 Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ m0 Z0 m1 Z1 m2 Z2 d d	 l3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< d d
 l= m> Z> d d l? m@ Z@ d d l mA ZA mB ZB mC ZC mD ZD mE ZE mF ZF mG ZG mH ZH mI ZI mJ ZJ mK ZK mL ZL mM ZM mN ZN mO ZO mP ZP mQ ZQ mR ZR mS ZS mT ZT mU ZU mV ZV mW ZW mX ZX mY ZY mZ ZZ m[ Z[ m\ Z\ m] Z] m^ Z^ m_ Z_ m` Z` ma Za d d lb mc Zc md Zd me Ze d d lf mg Zg i d d 6d d 6d d 6d d 6Zh d d  Zi d   Zj d   Zk d   Zl d em f d     YZn d em f d     YZo d em f d     YZp d  em f d!     YZq d"   Zr d#   Zs d$   Zt d%   Zu d&   Zv d'   Zw d( em f d)     YZx d* ex f d+     YZy d, em f d-     YZz d. em f d/     YZ{ d0 e{ f d1     YZ| d2 em f d3     YZ} d4 em f d5     YZ~ d6 em f d7     YZ d8 em f d9     YZ eB Z eC Z d: em f d;     YZ d< em f d=     YZ d> em f d?     YZ d@   Z dA em f dB     YZ dC em f dD     YZ dE em f dF     YZ dG   Z dH   Z dI   Z dJ   Z e j j dK e dL dM  dN    Z dO em f dP     YZ e dQ  Z e j j e j j e j^ e j  j dR k  dL dS dT     Z dU   Z dV   Z dW   Z dX em f dY     YZ d S(Z   s*    Test functions for linalg.decomp module

i    (   t   divisiont   print_functiont   absolute_imports~   
Build linalg:
  python setup_linalg.py build
Run tests if scipy is installed:
  python -c 'import scipy;scipy.linalg.test()'
N(   t   assert_equalt   assert_almost_equalt   assert_array_almost_equalt   assert_array_equalt   assert_t   assert_allclose(   t   raises(   t   xrange(   t   eigt   eigvalst   lut   svdt   svdvalst   choleskyt   qrt   schurt   rsf2csft   lu_solvet	   lu_factort   solvet   diagsvdt
   hessenbergt   rqt
   eig_bandedt   eigvals_bandedt   eight   eigvalsht   qr_multiplyt   qzt   ortht   ordqzt   subspace_anglest   hadamardt   eigvalsh_tridiagonalt   eigh_tridiagonalt
   null_spacet   cdf2rdf(	   t   dgbtrft   dgbtrst   zgbtrft   zgbtrst   dsbevt   dsbevdt   dsbevxt   zhbevdt   zhbevx(   t   norm(   t   _select_function(!   t   arrayt	   transposet   sometruet   diagt   onest   linalgt   argsortt   zerost   aranget   float32t	   complex64t   dott   conjt   identityt   ravelt   sqrtt	   iscomplext   shapet   sortt	   conjugatet   bmatt   signt   asarrayt   matrixt   isfinitet   allt   ndarrayt   outert   eyet   dtypet   emptyt   triut   tril(   t   normalt   seedt   random(   t   assert_no_overwritei   t   dt   Di   t   ft   Fi   c         C` s   t  j |   } t  j |  r< t | j  d t | j  St  j | j  j } t  j	 |  \ } } d | | } | | 9} t  j
 | d | | | } t  j | |  S(   sC   Clears trailing `fuss_binary_bits` of mantissa of a floating numbery              ?g       @t   out(   t   npt
   asanyarrayt   iscomplexobjt
   clear_fusst   realt   imagt   finfoRP   t   nmantt   frexpt   rintt   ldexp(   t   art   fuss_binary_bitst   xt   significant_binary_bitst   x_mantt   x_expRZ   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR`   /   s    

c         C` so   t  |  t  r |  j }  n t |   }  t  | t  rB | j } n t |  } t |  | k d |  | f  d  S(   Ns&   dtype mismatch: "%s" (should be "%s") (   t
   isinstanceRM   RP   R   (   t   actt   des(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   assert_dtype_equalB   s    c         C` s   t  |  t  r, |  } t |  d d } nF t  |  t  rf t |  j  d k rf |  j d } |  } n t d   t |  } t t | j	 j
   t |   |  } d | j	 | } | S(   s  Return a random symmetric (Hermitian) matrix.

    If 'dim_or_eigv' is an integer N, return a NxN matrix, with eigenvalues
        uniformly distributed on (-1,1).

    If 'dim_or_eigv' is  1-D real array 'a', return a matrix whose
                      eigenvalues are 'a'.
    i   i   i    s   input type not supported.g      ?(   Rn   t   intRV   RM   t   lenRD   t	   TypeErrort
   random_rotR>   t   TR?   R6   (   t   dim_or_eigvt   dimRX   t   vt   h(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   symrandS   s    		'c         C` s*  t  |   } t |  f  } x t d |   D] } t d |  | d f  } t | d  | | d <| d c | | d t | | j    8<t  |  | d  d t | |  | | j   } t  |   } | | | d d  | d d  f <t | |  } q+ W| j	   | d <| | j
 j
 } | S(   s  Return a random rotation matrix, drawn from the Haar distribution
    (the only uniform distribution on SO(n)).
    The algorithm is described in the paper
    Stewart, G.W., 'The efficient generation of random orthogonal
    matrices with an application to condition estimators', SIAM Journal
    on Numerical Analysis, 17(3), pp. 403-409, 1980.
    For more information see
    https://en.wikipedia.org/wiki/Orthogonal_matrix#Randomizationi   t   sizei    g       @Ni(   RO   R7   t   rangeRT   RH   RB   t   sumRN   R>   t   prodRv   (   Rx   t   HRY   t   nRj   t   Hxt   mat(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRu   p   s    	,3$t   TestEigValsc           B` s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C` sr   d d d g d d d g d d d g g } t  |  } d t d  d d d t d  d g } t | |  d  S(	   Ni   i   i   i   i   i	   i]   i    (   R   RB   R   (   t   selft   at   wt   exact_w(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple   s    *+c         C` s   t  d d d g d d d g d d d g g d  } t |  j   } t |  } t |  } d t d  d d	 d t d  d g } t | |  d  S(
   Ni   i   i   i   i   RX   i	   i]   i    (   R3   R4   t   copyR   RB   R   (   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tr   s    3+c         C` sr   d d d g d d d g d d d g g } t  |  } d t d  d d
 d t d  d g } t | |  d  S(   Ni   i   i   i   i   y              ?i	   i\   y              @i    y      @      ?y      "@      ?y      W@      @y      "@      ?y      W@      @(   R   RB   R   (   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_complex   s    *c         C` sx   d d d g d d d g d d d g g } t  | d t } d t d  d d	 d t d  d g } t | |  d  S(
   Ni   i   i   i   i   t   check_finitei	   i]   i    (   R   t   FalseRB   R   (   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_finite   s    *+(   t   __name__t
   __module__R   R   R   R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR      s   			t   TestEigc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z e j j	 d d  d    Z
 d   Z d	   Z d
   Z d   Z d   Z d   Z RS(   c   	      C` s  d d d g d d d g d d d g g } t  |  \ } } d t d  d d d t d  d g } t d d d t d  d d g  } t d	 d d
 g  } t d d d t d  d d g  } | t t | t |    } | t t | t |    } | t t | t |    } t | |  t | | d  d   d f t | d   t | | d  d   d f t | d   t | | d  d   d f t | d   xR t d  D]D } t t | | d  d   | f  | | | d  d   | f  qWt  | d d d d \ } } xX t d  D]J } t t t |  | d  d   | f  | | | d  d   | f  q5Wd  S(   Ni   i   i   i   i   i	   i]   i    g      @it   leftt   right(   i    i    (   i    i   (   i    i   (   R   RB   R3   R>   R4   R   RH   R}   (	   R   R   R   Ry   R   t   v0t   v1t   v2t   i(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR      s$    *+''+++Bc         C` s  d d g d d g g } t  | d d d d \ } } } t | t d d g   xR t d  D]D } t t | | d  d   | f  | | | d  d   | f  q_ Wxd t d  D]V } t t t t |   | d  d   | f  t | |  | d  d   | f  q Wd  S(	   Ni   i   iR   R   y               @y      ?       @y      ?       (   R   R   R3   R}   R>   RF   R4   (   R   R   R   t   vlt   vrR   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_complex_eig   s    !B+c         C` s  d d d g d d d g d d d	 g g } t  | d d d d \ } } } xR t d  D]D } t t | | d  d   | f  | | | d  d   | f  qX Wxd t d  D]V } t t t t |   | d  d   | f  t | |  | d  d   | f  q Wd  S(
   Ni   i   i   i   i   y              ?R   R   y      @      ?(   R   R}   R   R>   RF   R4   (   R   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR      s    *!B+c         C` s   d g g } d g g } t  | | d t \ } } t | d d  t | d d k  t | d  t  | |  \ } } t | t j  t | d  d  S(   Ni   i    t   homogeneous_eigvals(   i   i    (   i    i    (   R   t   TrueR   R   R   R]   t   inf(   R   R   t   bR   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_gh_3054   s    c      
   C` sZ  | d  k	 r. t |  t |  } } | } n$ t |  } | } t j | j   } d | | f } t | | d t \ } } t | | d t } t | |  | d d  d   f } t | |  | d d  d   f }	 xZ t	 | j d  D]E }
 t
 | d  d   |
 f |	 d  d   |
 f d d d d d | q W| d  k r~t
 | d d  d   f d  t
 | d d  d   f d  n  t j |  } t j |  } t
 | d  d   | f | d  d   | f d d	 d d	 d | t j t |   } x: t t |   D]& }
 t | d  d   |
 f  | |
 <qWt
 | t j | j  d | d d	 d d	 | d d  d   f d k } | d | f | d | f } t | |  \ } } t | |  } t | |  } t | |  | }	 | |	 } xo t	 | j d  D]Z }
 t t | d  d   |
 f   rt
 | d  d   |
 f d d d d d d | qqW| t |  } | t |  } t t |   } t t |   } t
 | | | | d d	 d d	 d | t j t |   } x: t t |   D]& }
 t | d  d   |
 f  | |
 <qWt
 | t j | j  d | t
 t |  t | t j |    d  S(
   Ns   
%r
%rR   i   i    t   rtolgvIh%<=t   atolt   err_msggHz>(   t   NoneRI   R]   RO   RD   R   R   R   R>   R}   R   t   lexsortRQ   Rs   R
   R1   R7   R|   RL   RK   R9   R`   RE   (   R   t   At   Bt   B0t   msgR   R   t   wtt   val1t   val2R   t   permt   permtt   lengtht   beta_nonzerot   wht   rest   w_fint   wt_fin(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   _check_gen_eig   s\    	##C 8$
"6$t   reasons   See gh-2254.c      
   C` s  t  d d d d d g d d d d d g d	 d
 d d d g d d d d d g d d d d d g f  } t  d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g f  } t j d d  } z |  j | |  Wd  t j |   Xd  S(    Ni   i"   i   i   i-   i*   i   i   i'   i/   i1   i   i   i   i   i&   i,   i   i   i   i   i.   i(   i%   i   i   i   i#   i   RL   t   ignore(   R3   R]   t   seterrR   (   R   R   R   t   olderr(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_singular  s    9-9-c   	      C` s  t  t d d d g   } t d d d g d d d g d d d g f  } t d d d g d d d g d d d g f  } t d  } t d  } t | | g | | g g  } t | | g | | g g  } t j d d  } z |  j | |  Wd  t j |   Xd  S(	   Ni   i    i   i   iRL   R   (   i   i   (   R6   R3   R:   R@   RG   R]   R   R   (	   R   t   Mt   KRY   t   Zt   I3R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_falker,  s    00c         C` sx   d   } t  j d d  } zH xA t d  D]3 } | d | d d  \ } } |  j | |  q+ WWd  t  j |   Xd  S(   Nc         S` s   d |  d } d |  } d d d d g d d d d g d d | d g d d d | g g } d d d d g d d d d g d d d | g d d | d g g } | | f S(   Nii   i   i    (    (   t   omegat   c1t   c2R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   matrices?  s    
RL   R   id   R   g      @(   R]   R   R
   R   (   R   R   R   t   kR   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_bad_geneig<  s    	c         C` s   t  d  t d  } |  j | d   t d  } |  j | |  t d  d t d  } |  j | d   t d  d t d  } |  j | |  d  S(   Ni  i   y              ?(   i   i   (   i   i   (   i   i   (   i   i   (   RU   R{   R   R   RV   (   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_make_eigvalsV  s    
c   	      C` s  d d d g d d d g d d d g g } t  | d t \ } } d t d  d d	 d t d  d g } t d d d t d  d d g  } t d
 d	 d g  } t d d d t d  d d g  } | t t | t |    } | t t | t |    } | t t | t |    } t | |  t | | d  d   d	 f t | d   t | | d  d   d f t | d   t | | d  d   d f t | d   xR t d  D]D } t t | | d  d   | f  | | | d  d   | f  qWd  S(   Ni   i   i   i   i   R   i	   i]   i    g      @i(   i    i    (   i    i   (   i    i   (	   R   R   RB   R3   R>   R4   R   RH   R}   (	   R   R   R   Ry   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_check_finited  s    *+''+++c         C` s/   t  j d  j d d  } t t t |  d S(   s:   Check that passing a non-square array raises a ValueError.i   i   i   N(   R]   R;   t   reshapet   assert_raisest
   ValueErrorR   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_not_square_erroru  s    c         C` sQ   t  d  } t j d  j d d  } t t t | |  t t t | |  d S(   sG   Check that passing arrays of with different shapes raises a ValueError.i   g      "@i   N(   R@   R]   R;   R   R   R   R   (   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_shape_mismatchz  s    (   R   R   R   R   R   R   R   t   pytestt   markt   xfailR   R   R   R   R   R   R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR      s   		
				>					t   TestEigBandedc           B` s}   e  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 RS(   c         C` s   |  j    d  S(   N(   t   create_bandmat(   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   setup_method  s    c         C` s  d } d |  _  d |  _ t d t |   t d t | d  d  t d t | d  d  t d t | d  d  t d t | d  d  |  _ t d t |   d	 t d t | d  d  d	 t d t | d  d  t d t | d  d  t d t | d  d  |  _ t d t |   t d t | d  d  t d
 t | d  d  t d t | d  d  t d t | d  d  |  _ d	 t d t |   t d t | d  d  d	 t d
 t | d  d  t d t | d  d  t d t | d  d  |  _ t j	 |  j  \ } } | j
 } t |  } | | |  _ | d d  | f |  _ t j	 |  j  \ } } | j
 } t |  } | | |  _ | d d  | f |  _ |  j d } t | | f d t |  _ t | | f d t |  _ xn t |  D]` } t |  j |  |  j | | d | |  f <t |  j |  |  j | | d | |  f <q2Wd |  j  |  j d } t | | f d t |  _ t |  j  |  j d |  j  d d  f <x t |  j   D] } t |  j | d  |  j d |  j  d | | d |  f <t |  j | d  |  j d |  j  d | d | d |  f <qWt | | f d t |  _ t |  j  |  j d |  j  d d  f <x t |  j   D] } t |  j | d  |  j d |  j  d | | d |  f <t |  j | d  |  j d |  j  d | d | d |  f <qWd t |  |  _ |  j d |  _ d S(   sb   Create the full matrix `self.fullmat` and
           the corresponding band matrix `self.bandmat`.i
   i   g      ?g      i   ig       iy              ?g      g       @NRP   i    y      ?      ?(   t   KLt   KUR6   R7   t   sym_matt   herm_matt   real_matt   comp_matR8   R   Ra   R9   t	   w_sym_lint   evec_sym_lint
   w_herm_lint   evec_herm_linR:   t   floatt   bandmat_symt   complext   bandmat_hermR
   t   bandmat_realt   bandmat_compR;   R   t   bc(   R   t   Nt   ewt   evt   argst   LDABR   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     sH    				-1)<E)<Ec         C` sp   t  |  j d d \ } } } | d d  t |  f } t t |  |  j  t t |  t |  j   d S(   sT   Compare dsbev eigenvalues and eigenvectors with
           the result of linalg.eig.t	   compute_vi   N(   R,   R   R9   R   RE   R   t   absR   (   R   R   t   evect   infot   evec_(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt
   test_dsbev  s    c         C` sp   t  |  j d d \ } } } | d d  t |  f } t t |  |  j  t t |  t |  j   d S(   sU   Compare dsbevd eigenvalues and eigenvectors with
           the result of linalg.eig.R   i   N(   R-   R   R9   R   RE   R   R   R   (   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_dsbevd  s    c      
   C` s   t  |  j  \ } } t |  j d d d | d d d d \ } } } } } | d d  t |  f } t t |  |  j  t t |  t |  j	   d S(   sU   Compare dsbevx eigenvalues and eigenvectors
           with the result of linalg.eig.g        i   R   R}   i   N(
   RD   R   R.   R   R9   R   RE   R   R   R   (   R   R   R   R   t   numt   ifailR   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_dsbevx  s    c         C` sp   t  |  j d d \ } } } | d d  t |  f } t t |  |  j  t t |  t |  j   d S(   sU   Compare zhbevd eigenvalues and eigenvectors
           with the result of linalg.eig.R   i   N(   R/   R   R9   R   RE   R   R   R   (   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_zhbevd  s    c      
   C` s   t  |  j  \ } } t |  j d d d | d d d d \ } } } } } | d d  t |  f } t t |  |  j  t t |  t |  j	   d S(   sU   Compare zhbevx eigenvalues and eigenvectors
           with the result of linalg.eig.g        i   R   R}   i   N(
   RD   R   R0   R   R9   R   RE   R   R   R   (   R   R   R   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_zhbevx  s    c         C` s  t  |  j  } | j } t t |  |  j  t  |  j  } | j } t t |  |  j  d } t j	 d  } t  |  j d d d | | f } t t |  |  j | | d ! t  |  j d d d | | f } t t |  |  j | | d ! |  j | d } |  j | d } t  |  j d d d | | f }	 t t |	  |  j | | d ! |  j | d } |  j | d } t  |  j d d d | | f }
 t t |
  |  j | | d ! t  |  j d	 t
 } | j } t t |  |  j  d
 S(   s?   Compare eigenvalues of eigvals_banded with those of linalg.eig.i   i   t   selectR   t   select_rangei   gh㈵>Ry   R   N(   R   R   Ra   R   RE   R   R   R   R]   t   longlongR   (   R   t   w_symt   w_hermt   ind1t   ind2t	   w_sym_indt
   w_herm_indt   v_lowert   v_uppert	   w_sym_valt
   w_herm_val(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigvals_banded  s>    			c         C` s  t  |  j  \ } } | d d  t | j  f } t t |  |  j  t t |  t |  j   t  |  j	  \ } } | d d  t | j  f } t t |  |  j
  t t |  t |  j   d } d } t  |  j d d d | | f \ }	 }
 t t |	  |  j | | d ! t t |
  t |  j d d  | | d  f   t  |  j	 d d d | | f \ } } t t |  |  j
 | | d ! t t |  t |  j d d  | | d  f   |  j | d } |  j | d } t  |  j d d	 d | | f \ } } t t |  |  j | | d ! t t |  t |  j d d  | | d  f   |  j
 | d } |  j
 | d } t  |  j	 d d	 d | | f \ } } t t |  |  j
 | | d ! t t |  t |  j d d  | | d  f   t  |  j d
 t \ } } | d d  t | j  f } t t |  |  j  t t |  t |  j   d S(   sX   Compare eigenvalues and eigenvectors of eig_banded
           with those of linalg.eig. Ni   i   R   R   R   i   gh㈵>Ry   R   (   R   R   R9   Ra   R   RE   R   R   R   R   R   R   R   (   R   R   t   evec_symt	   evec_sym_R   t	   evec_hermt
   evec_herm_R   R   R   t   evec_sym_indR   t   evec_herm_indR   R   R   t   evec_sym_valR  t   evec_herm_val(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eig_banded(  sT    ****c         C` s   t  |  j  \ } } t |  j |  j |  j  \ } } } t | d |  j d d  f  } xX t |  j |  j  D]@ } | t | d |  j d | | d |  f | d  7} qs Wt |  j d d \ } }	 }
 t	 | |
  d S(   sZ   Compare dgbtrf  LU factorisation with the LU factorisation result
           of linalg.lu.i   Ni   t	   permute_li    (
   RD   R   R(   R   R   R   R6   R
   R   R   (   R   R   R   t   lu_symm_bandt   ipivR   t   uR   t   p_lint   l_lint   u_lin(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_dgbtrf^  s    $#>c         C` s   t  |  j  \ } } t |  j |  j |  j  \ } } } t | d |  j d d  f  } xX t |  j |  j  D]@ } | t | d |  j d | | d |  f | d  7} qs Wt |  j d d \ } }	 }
 t	 | |
  d S(   sZ   Compare zgbtrf  LU factorisation with the LU factorisation result
           of linalg.lu.i   Ni   R  i    (
   RD   R   R*   R   R   R   R6   R
   R   R   (   R   R   R   R  R  R   R  R   R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_zgbtrfl  s    $#>c         C` st   t  |  j |  j |  j  \ } } } t | |  j |  j |  j |  \ } } t j |  j |  j  } t	 | |  d S(   sh   Compare dgbtrs  solutions for linear equation system  A*x = b
           with solutions of linalg.solve.N(
   R(   R   R   R   R)   R   R8   R   R   R   (   R   R  R  R   t   yt   y_lin(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_dgbtrsz  s    $'c         C` st   t  |  j |  j |  j  \ } } } t | |  j |  j |  j |  \ } } t j |  j |  j  } t	 | |  d S(   sh   Compare zgbtrs  solutions for linear equation system  A*x = b
           with solutions of linalg.solve.N(
   R*   R   R   R   R+   R   R8   R   R   R   (   R   R  R  R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_zgbtrs  s    $'(   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s   		K						)	6			
t   TestEigTridiagonalc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s   |  j    d  S(   N(   t   create_trimat(   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    c         C` s   d } d t  |  |  _ d t  | d  |  _ t |  j  t |  j d  t |  j d  |  _ t j |  j  \ } } | j } t |  } | | |  _	 | d d  | f |  _
 d S(   s>   Create the full matrix `self.fullmat`, `self.d`, and `self.e`.i
   g      ?g      i   iN(   R7   RX   t   eR6   t   full_matR8   R   Ra   R9   R   R   (   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    2	c      
   C` s   t  t t |  j |  j d   t  t t |  j |  j d  t  t t |  j |  j d d t  t t |  j |  j d d t  t t |  j |  j d d d d d
 S(   s   Test error conditions.iy              ?t   lapack_driverg      ?t   fooR   R   R   i    N(   i    i(   R   R   R$   RX   R  Rt   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_degenerate  s    c   	      C` s  x? d D]7 } t  |  j |  j d | } t t |  |  j  q Wx9 d D]1 } t t t  |  j |  j d d d d d	 d qI Wx(d D] } t  |  j |  j d d d	 d
 t |  j  d f d | } t t |  |  j  d } d } t  |  j |  j d d d	 | | f d | } t t |  |  j | | d ! |  j | d } |  j | d } t  |  j |  j d d d	 | | f d | } t t |  |  j | | d ! q Wd S(   s>   Compare eigenvalues of eigvalsh_tridiagonal with those of eig.t   sterft   stevt   stebzt   stemrt   autoR  R   R   R   i    i   i   i   gh㈵>Ry   N(   R   R!  R"  R#  R$  (   R   R!  (   i    i   (   R"  R#  R$  (	   R$   RX   R  R   RE   R   R   R   Rs   (	   R   t   driverR   t   w_indR   R   R   R   t   w_val(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigvalsh_tridiagonal  s0    .	!	!!	c   	      C` s  t  t t |  j |  j d d x} d D]u } t |  j |  j d | \ } } | d d  t |  f } t t |  |  j  t t	 |  t	 |  j
   q& Wt  t t |  j |  j d d d d	 d
 d xd D]} d } t |  j  d } t |  j |  j d d	 d
 | | f d | \ } } t t |  |  j  t t	 |  t	 |  j
   d } d } t |  j |  j d d	 d
 | | f d | \ } } t t |  |  j | | d ! t t	 |  t	 |  j
 d d  | | d  f   |  j | d } |  j | d } t |  j |  j d d d
 | | f d | \ } } t t |  |  j | | d ! t t	 |  t	 |  j
 d d  | | d  f   q Wd S(   sW   Compare eigenvalues and eigenvectors of eigh_tridiagonal
           with those of eig. R  R   R"  R!  R#  R$  NR   R   R   i    i   i   i   gh㈵>Ry   (   R"  R!  R#  R$  (   i    i   (   R"  R#  R$  (   R   R   R%   RX   R  R9   R   RE   R   R   R   Rs   (	   R   R%  R   R   R   R   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigh_tridiagonal  sB    ! !!!*!!(   R   R   R   R  R  R(  R)  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s
   				"c          C` s  d }  i |  f d 6d d 6t  t f d 6t  t f d	 6t  t f d
 6d  d |  d f f d 6} x | d D] } x | d D] } x | d D]} } xt | d
 D]h } x_ | d D]S } xJ | d	 D]> } t d | | | | | |  t d | | | | | |  q Wq Wq Wq Wqw Wqf Wd  S(   Ni   Rx   RZ   RX   R[   RY   RP   t	   overwritet   lowert   turboi   R   t   ordinarys   general (   RZ   RX   R[   RY   (   R   R   R   t   eigenhproblem_standardt   eigenhproblem_general(   t   DIMRy   Rx   t   typR*  R,  t   eigenvaluesR+  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   test_eigh  s*    
c          C` sW   d d  l  }  |  j j d  j   } t j |  } t t t |  t t t |  d  S(   Ni    i   (	   t   scipy.sparset   sparseR@   t   tocscR]   t
   atleast_2dR   R   R   (   t   scipyR   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigh_of_sparse  s
    c         C` sD   t  |   t  |   } } | d t |  t |  } | j |  S(   Ny              ?(   R{   RR   RS   t   astype(   Rx   RP   t   a1t   a2R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   _complex_symrand   s    c         C` s   t  t d d |  r* t | |  } n t |  j |  } | rT | j   } n | } t | d | d | d | \ }	 }
 t |
 j |  |	 j |  }	 t	 t
 |
 j j   t
 | |
    j } t | |	 t |  d S(   s$   Solve a standard eigenvalue problem.i   RP   t   overwrite_aR+  R   N(   RC   RQ   R=  R{   R:  R   R   Rq   RP   R6   R>   Rv   R?   Ra   R   t   DIGITS(   t   descRx   RP   R*  R+  R,  R2  R   t   a_cR   t   zt   diag_(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR.  '  s    $*c         C` s  t  t d d |  rS t | |  } t | |  t d g |  j |  } nD t |  j |  } t |  j |  t d g |  j |  } | r | j   | j   }	 }
 n | | }	 }
 t | | d | d | d | d | d | \ } } t | j	 |  | j |  } t t
 | j j   t
 |	 |    j } t | | t |  t t
 | j j   t
 |
 |    j } t | t | j d	  t |  d
 S(   s'   Solve a generalized eigenvalue problem.i   RP   g @R>  R+  t   overwrite_bR,  R   i    N(   RC   RQ   R=  R6   R:  R{   R   R   Rq   RP   R>   Rv   R?   Ra   R   R?  R7   RD   (   R@  Rx   RP   R*  R+  R,  R2  R   R   RA  t   b_cR   RB  t   diag1_t   diag2_(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR/  ;  s     ,/**c          C` sg   t  d d g d d g g  }  t  d d g d d g g  } t |   \ } } t |  |  \ } } d  S(   Ni   i   i   i   i   (   R3   R   (   R   R   R   RB  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigh_integerU  s    t   TestLUc           B` s   e  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 RS(   c         C` s  t  d d d g d d d g d d d g g  |  _ t  d d d g d d d g d d d g g  |  _ t  d d d g d d d g d d	 d
 g g  |  _ t  d d d g d d d g d d d g g  |  _ t  d d d d g d d d d	 g d
 d d d g g  |  _ d t  d d d d g d d d d	 g d
 d d d g g  |  _ t  d d d g d d d g d d	 d
 g d d d g g  |  _ d t  d d d g d d d g d d	 d
 g d d d g g  |  _ t	 d  |  _
 t	 d  d t	 d  |  _ d  S(   Ni   i   i   i   i   y              @i   i   i   i	   y              ?y               @y              @y              @y              @y              @y               @y              "@i
   i   i   i(   (   i   i(   (   i   i(   (   i   i(   (   R3   R   t   caR   t   cbt   hrectt   chrectt   vrectt   cvrectRV   t   medt   cmed(   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   ]  s    3333<@?Cc         C` sf   t  |  \ } } } t t t | |  |  |  t  | d d \ } } t t | |  |  d  S(   NR  i   (   R   R   R>   (   R   t   datat   pt   lR  t   pl(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   _test_commonp  s    c         C` s   |  j  |  j  d  S(   N(   RV  R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   w  s    c         C` s   |  j  |  j  d  S(   N(   RV  RJ  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   z  s    c         C` s   |  j  |  j  d  S(   N(   RV  R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple2}  s    c         C` s   |  j  |  j  d  S(   N(   RV  RK  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple2_complex  s    c         C` s   |  j  |  j  d  S(   N(   RV  RL  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_hrectangular  s    c         C` s   |  j  |  j  d  S(   N(   RV  RN  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_vrectangular  s    c         C` s   |  j  |  j  d  S(   N(   RV  RM  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_hrectangular_complex  s    c         C` s   |  j  |  j  d  S(   N(   RV  RO  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_vrectangular_complex  s    c         C` s   |  j  |  j  d S(   s:   Check lu decomposition on medium size, rectangular matrix.N(   RV  RP  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_medium1  s    c         C` s   |  j  |  j  d S(   s:   Check lu decomposition on medium size, rectangular matrix.N(   RV  RQ  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_medium1_complex  s    c         C` sD   t  |  j d t \ } } } t t t | |  |  |  j  d  S(   NR   (   R   R   R   R   R>   (   R   RS  RT  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    c         C` s   x d d g D] } t  j d d g d d g g d | } t |  \ } } t | t  j d d g d d g g   t | t  j d d g   q Wd  S(   Nt   CR[   i   i   i    g      ?t   order(   R]   R3   R   R   R   (   R   R`  R   t   LUt   P(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_known  s
    '((   R   R   R   RV  R   R   RW  RX  RY  RZ  R[  R\  R]  R^  R   Rc  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRI  \  s   													t   TestLUSinglec           B` s   e  Z d  Z d   Z RS(   s0   LU testers for single precision, real and doublec         C` s   t  j |   |  j j t  |  _ |  j j t  |  _ |  j j t  |  _ |  j j t  |  _ |  j	 j t  |  _	 |  j	 j t  |  _
 |  j j t  |  _ |  j j t  |  _ |  j j t  |  _ |  j j t  |  _ d  S(   N(   RI  R   R   R:  R<   RJ  R=   R   RK  RL  RM  RN  RO  RP  RQ  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    (   R   R   t   __doc__R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRd    s   t   TestLUSolvec           B` s#   e  Z d    Z d   Z d   Z RS(   c         C` s   t  d  d  S(   Ni  (   RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    c         C` s   t  d  } t  d  } x` d d g D]R } t j | d | } t | |  } t |  } t | |  } t | |  q% Wd  S(   Ni
   R_  R[   R`  (   i
   i
   (   i
   (   RV   R]   R3   R   R   R   R   (   R   t   a0R   R`  R   t   x1t   lu_at   x2(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_lu  s    c         C` s_   t  d  } t  d  } t | |  } t | d t } t | | d t } t | |  d  S(   Ni
   R   (   i
   i
   (   i
   (   RV   R   R   R   R   R   (   R   R   R   Rh  Ri  Rj  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    (   R   R   R   Rk  R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRf    s   		t   TestSVD_GESDDc           B` st   e  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 RS(   c         C` s   d |  _  t d  d  S(   Nt   gesddi  (   R  RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    	c         C` s<   t  t t d g g d d t  t t d g g d d d  S(   Ng      ?R  R  (   R   Rt   R   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    c         C` s&  d d d g d d d g d d d g g } x t  t f D] } t | d | d |  j \ } } } t t t |  |  t d   t t t |  |  t d   t | j	 d	 | j	 d	 f | j
 j  } x. t t |   D] } | | | | | f <q Wt t t | |  |  |  q7 Wd  S(
   Ni   i   i   i   i   i   t   full_matricesR  i    (   R   R   R   R  R   R>   R4   R@   R:   RD   RP   t   charR}   Rs   (   R   R   Rn  R  t   st   vht   sigmaR   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *"")c         C` s&  d d d g d d d g d d d g g } x t  t f D] } t | d | d |  j \ } } } t t t |  |  t d   t t t |  |  t d   t | j	 d | j	 d f | j
 j  } x. t t |   D] } | | | | | f <q Wt t t | |  |  |  q7 Wd  S(	   Ni   i   i   i   i   Rn  R  i    (   R   R   R   R  R   R>   R4   R@   R:   RD   RP   Ro  R}   Rs   (   R   R   Rn  R  Rp  Rq  Rr  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_singular  s    *"")c         C` s   d d d g d d d g g } x t  t f D] } t | d | d |  j \ } } } t t t |  |  t | j d	   t	 | j d	 | j d	 f | j
 j  } x. t t |   D] } | | | | | f <q Wt t t | |  |  |  q+ Wd  S(
   Ni   i   i   i   i   i   Rn  R  i    (   R   R   R   R  R   R>   R4   R@   RD   R:   RP   Ro  R}   Rs   (   R   R   Rn  R  Rp  Rq  Rr  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_underdet  s    ))c         C` s$  d d g d d g d d g g } x t  t f D] } t | d | d |  j \ } } } t t t |  |  t | j d   t t t |  |  t d   t	 | j d | j d f | j
 j  } x. t t |   D] } | | | | | f <q Wt t t | |  |  |  q. Wd  S(	   Ni   i   i   i   i   Rn  R  i    (   R   R   R   R  R   R>   R4   R@   RD   R:   RP   Ro  R}   Rs   (   R   R   Rn  R  Rp  Rq  Rr  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_overdet  s    !)")c   
   	   C` s\  d } d } xIt  d  D];} x2t | | g  t | | g  g D]} xt t f D] } t | d | d |  j \ } } } t t t |  |  t	 | j
 d   t t | t |   t	 | j
 d   t | j
 d | j
 d f | j j  }	 x. t  t |   D] } | | |	 | | f <qWt t t | |	  |  |  qW WqD Wq Wd  S(   Ni   i   i   Rn  R  i   i    (   R}   RV   R   R   R   R  R   R>   R4   R@   RD   R:   RP   Ro  Rs   (
   R   R   t   mR   R   Rn  R  Rp  Rq  Rr  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random  s    +)))c         C` s@  d d d g d d d g d d d g g } xt  t f D]} t | d | d |  j \ } } } t t t t |   |  t | j	 d   t t t t |   |  t | j	 d	   t
 | j	 d	 | j	 d	 f | j j  } x. t t |   D] } | | | | | f <q Wt t t | |  |  |  q7 Wd  S(
   Ni   i   i   y               @i   i   Rn  R  i    (   R   R   R   R  R   R>   R?   R4   R@   RD   R:   RP   Ro  R}   Rs   (   R   R   Rn  R  Rp  Rq  Rr  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *//)c   
   	   C` sV  d } d } xCt  d  D]5} x,t t f D]} xt | | g  t | | g  g D] } | d t t | j   } t | d | d |  j \ } } } t t	 t
 t |   |  t | j d   t | j d | j d f | j j  }	 x. t  t |   D] } | | |	 | | f <q	Wt t	 t	 | |	  |  |  qW Wq, Wq Wd  S(	   Ni   i   i   y              ?Rn  R  i   i    (   R}   R   R   RV   t   listRD   R   R  R   R>   R?   R4   R@   R:   RP   Ro  Rs   (
   R   R   Rv  R   Rn  R   R  Rp  Rq  Rr  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_complex*  s    +/)c         C` s   d	 d
 d g } t  j j d  xe | D]] } xT t  j t  j t  j t  j g D]4 } t  j j |   j |  } t	 | d |  j
 qK Wq& Wd  S(   Ni   i   i   i2   i<   id   i  R  (   i   i   (   i   i2   (   i<   id   (   R]   RV   RU   R<   t   float64R=   t
   complex128t   randR:  R   R  (   R   t   sizest   szt   dtR   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_crash_1580;  s    %c         C` s  d d d g d d d g d d d g g } t  | d t d |  j \ } } } t t t |  |  t d   t t t |  |  t d   t | j d	 | j d	 f | j	 j
  } x. t t |   D] } | | | | | f <q Wt t t | |  |  |  d  S(
   Ni   i   i   i   i   i   R   R  i    (   R   R   R  R   R>   R4   R@   R:   RD   RP   Ro  R}   Rs   (   R   R   R  Rp  Rq  Rr  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   D  s    *$"")c      
   C` sz   t  j d d d d d d g d d d d d d g d d d d d d g d d d d d d g g  } t | d |  j d  S(   NgK}\UU?gvWUU?g        R  (   R]   R3   R   R  (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_gh_5039N  s    
(   R   R   R   R  R   Rs  Rt  Ru  Rw  R   Ry  R  R   R  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRl    s   												
t   TestSVD_GESVDc           B` s   e  Z d    Z RS(   c         C` s   d |  _  t d  d  S(   Nt   gesvdi  (   R  RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   a  s    	(   R   R   R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  `  s   t   TestSVDValsc           B` se   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 e
 j j d    Z RS(	   c         C` sU   xN g  g t  j d  t  j d  f D]( } t |  } t | t  j d   q% Wd  S(   Ni   i    i   (   i   i    (   i    i   (   R]   RQ   R7   R   R   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt
   test_emptyh  s    +c         C` s|   d d d g d d d g d d d g g } t  |  } t t |  d k  t | d | d k or | d k n  d  S(   Ni   i   i   i   i   i    (   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   m  s    *c         C` s\   d d d g d d d g g } t  |  } t t |  d k  t | d | d k  d  S(   Ni   i   i   i   i   i   i    (   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRt  s  s    c         C` s_   d d g d d g d d g g } t  |  } t t |  d k  t | d | d k  d  S(   Ni   i   i   i   i   i    (   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRu  y  s    !c         C` s|   d d d g d d d g d d d g g } t  |  } t t |  d k  t | d | d k or | d k n  d  S(	   Ni   i   i   i   y              @i   i   i    (   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *c         C` s\   d d d g d d d g g } t  |  } t t |  d k  t | d | d k  d  S(   Ni   i   i   i   y              @i   i    (   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_underdet_complex  s    c         C` s_   d d g d d g d d g g } t  |  } t t |  d k  t | d | d k  d  S(   Ni   i   i   i   y              @i    (   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_overdet_complex  s    !c         C` s   d d d g d d d g d d d g g } t  | d t } t t |  d k  t | d | d k ox | d k n  d  S(   Ni   i   i   i   i   R   i    (   R   R   R   Rs   (   R   R   Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *c         C` s3   t  j j d  t  j j d d  } t |  d  S(   Ni  i  i
  (   R]   RV   RU   R|  R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_crash_2609  s    (   R   R   R  R   Rt  Ru  R   R  R  R   R   R   t   slowR  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  f  s   								t   TestDiagSVDc           B` s   e  Z d    Z RS(   c         C` sJ   t  t d d d g d d  d d d g d d d g d d d g g  d  S(   Ni   i    i   (   R   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    (   R   R   R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s   t   TestQRc           B` s  e  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" 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.   Z0 d/   Z1 d0   Z2 d1   Z3 d2   Z4 d3   Z5 d4   Z6 RS(5   c         C` s   t  d  d  S(   Ni  (   RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    c         C` sx   d d d g d d d g d d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i   i	   i   i   (   R   R   R>   R4   R@   (   R   R   t   qt   r(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *"c         C` s   d d d g d d d g d d d g g } t  |  \ } } d d d g } t | | d  \ } } t t | |  |  t | |  t | t d  d  \ } } t | |  d  S(	   Ni   i   i   i	   i   i   i   R   (   R   R   R   R>   R@   (   R   R   R  R  t   ct   qct   r2(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_left  s    *c         C` s   d d d g d d d g d d d g g } t  |  \ } } d d d g } t | |  \ } } t t | |  |  t | |  t | t d   \ } } t | |  d  S(   Ni   i   i   i	   i   i   i   (   R   R   R   R>   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_right  s    *c         C` s  t  j d d d g d d d g d d d g g  } t | d t \ } } } t t |   } t t | d | d	  k   t t	 t
 |  |  t d   t t	 | |  | d  d   | f  t | d  d   | f  \ } } t | |  t | |  d  S(
   Ni   i   i   i	   i   i   t   pivotingi   i(   R]   RI   R   R   R   R6   R   RL   R   R>   R4   R@   (   R   R   R  R  RS  RX   t   q2R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_pivoting  s    3"&"c         C` s   d d d g d d d g d d d g g } t  | d t \ } } } d d d g } t | | d	 t  \ } } } t t | |  |  d  S(
   Ni   i   i   i	   i   i   R  i   R   (   R   R   R   R   R>   (   R   R   R  R  t   jpvtR  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_left_pivoting  s
    *c         C` s   d d d g d d d g d d d g g } t  | d t \ } } } d d d g } t | | d t \ } } } t t | |  |  d  S(	   Ni   i   i   i	   i   i   R  i   (   R   R   R   R   R>   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_right_pivoting  s
    *c         C` sl   d d d g d d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i   i	   (   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_trap  s    "c         C` s   t  j d d d g d d d g g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t d   t t	 | |  | d  d   | f  t | d  d   | f  \ } } t | |  t | |  d  S(   Ni   i   i   i	   R  i   i(   R]   RI   R   R   R   R6   R   RL   R   R>   R4   R@   (   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_trap_pivoting  s    '"&"c         C` so   d d g d d g d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i	   i   i   (   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall  s    !"c         C` s   t  j d d g d d g d d g g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t d   t t	 | |  | d  d   | f  t | d  d   | f  \ } } t | |  t | |  d  S(	   Ni   i   i	   i   i   R  i   i(   R]   RI   R   R   R   R6   R   RL   R   R>   R4   R@   (   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_pivoting  s    *"&"c         C` s   d d g d d g d d g g } t  | d d \ } } t t t |  |  t d   t t | |  |  t | j d  t | j d	  d  S(
   Ni   i   i	   i   i   t   modet   economic(   i   i   (   i   i   (   R   R   R>   R4   R@   R   RD   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_e  s    !"c         C` s	  t  j d d g d d g d d g g  } t | d t d d \ } } } t t |   } t t | d	 | d
  k   t t	 t
 |  |  t d   t t	 | |  | d  d   | f  t | d  d   | f d d \ } } t | |  t | |  d  S(   Ni   i   i	   i   i   R  R  R  i   i(   R]   RI   R   R   R   R6   R   RL   R   R>   R4   R@   (   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_e_pivoting
  s    *!"&(c         C` s   d d g d d g d d g g } t  | d d \ } } d d g } t | | d	  \ } } t t | |  |  t | |  t d d d
 g  } t | | d	 d t \ } } t t | | d   |  t | t d  d	  \ } } t | |  d  S(   Ni   i   i	   i   i   R  R  i   R   i    t   overwrite_c(   R   R   R   R>   R3   R   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_left  s    !c         C` s   d d g d d g d d g g } t  | d d d t \ } } } d	 d g } t | | d
 t  \ } } } t | |  t t | |  |  t | t d  d
 t  \ } } } t | |  d  S(   Ni   i   i	   i   i   R  R  R  i   R   (   R   R   R   R   R   R>   R@   (   R   R   R  R  R  R  R  t   kpvt(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_left_pivoting#  s    !!$c         C` s   d d g d d g d d g g } t  | d d \ } } d d d g } t | |  \ } } t t | |  |  t | |  t | t d   \ } } t | |  d  S(	   Ni   i   i	   i   i   R  R  i   (   R   R   R   R>   R@   (   R   R   R  R  R  t   cqR  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_right-  s    !c         C` s   d d g d d g d d g g } t  | d t d d \ } } } d	 d d g } t | | d t \ } } } t t | |  |  t | t d  d t \ } } } t | |  d  S(
   Ni   i   i	   i   i   R  R  R  i   (   R   R   R   R   R>   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_right_pivoting7  s    !!$c         C` s   d d d g d d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  t | j d  t | j d  d  S(   Ni   i   i   i	   i   (   i   i   (   i   i   (   R   R   R>   R4   R@   R   RD   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat@  s    "c         C` s  t  j d d d g d d d g g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t d   t t	 | |  | d  d   | f  t | j d	  t | j d
  t | d  d   | f  \ } } t | |  t | |  d  S(   Ni   i   i   i	   i   R  i   i(   i   i   (   i   i   (   R]   RI   R   R   R   R6   R   RL   R   R>   R4   R@   R   RD   (   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_pivotingI  s    '"&"c         C` s   d d d g d d d g g } t  | d d \ } } t t t |  |  t d   t t | |  |  t | j d  t | j d	  d  S(
   Ni   i   i   i	   i   R  R  (   i   i   (   i   i   (   R   R   R>   R4   R@   R   RD   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_eW  s    "c         C` s&  t  j d d d g d d d g g  } t | d t d d \ } } } t t |   } t t | d	 | d
  k   t t	 t
 |  |  t d   t t	 | |  | d  d   | f  t | j d  t | j d  t | d  d   | f d d \ } } t | |  t | |  d  S(   Ni   i   i   i	   i   R  R  R  i   i(   i   i   (   i   i   (   R]   RI   R   R   R   R6   R   RL   R   R>   R4   R@   R   RD   (   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_e_pivoting`  s    '!"&(c         C` s   d d d g d d d g g } t  | d d \ } } d d g } t | | d	  \ } } t t | |  |  t | |  t | t d  d	  \ } } t | |  d  S(
   Ni   i   i   i	   i   R  R  i   R   (   R   R   R   R>   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_leftn  s    c         C` s   d d d g d d d g g } t  | d d d t \ } } } d	 d g } t | | d
 t  \ } } } t t | |  |  t | t d  d
 t  \ } } } t | |  d  S(   Ni   i   i   i	   i   R  R  R  i   R   (   R   R   R   R   R>   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_left_pivotingx  s    !$c         C` s   d d d g d d d g g } t  | d d \ } } d d g } t | |  \ } } t t | |  |  t | |  t | t d   \ } } t | |  d  S(	   Ni   i   i   i	   i   R  R  i   (   R   R   R   R>   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_right  s    c         C` s   d d d g d d d g g } t  | d t d d \ } } } d	 d g } t | | d t \ } } } t t | |  |  t | t d  d t \ } } } t | |  d  S(
   Ni   i   i   i	   i   R  R  R  i   (   R   R   R   R   R>   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_fat_right_pivoting  s    !$c         C` s~   d d d g d d d g d d d g g } t  |  \ } } t t t t |   |  t d   t t | |  |  d  S(	   Ni   y              @i   i   y              @i   y      @      @y       @      @(   R   R   R>   R?   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *(c         C` s   d d	 d g d d d
 g d d d g g } t  |  \ } } d d d g } t | | d  \ } } t t | |  |  t | t d  d  \ } } t | |  d  S(   Ni   y              @i   i   y              @i   i   R   y      @      @y       @      @y      @      @(   R   R   R   R>   R@   (   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_complex_left  s    *c         C` s   d d d g d d d	 g d d d g g } t  |  \ } } d d d
 g } t | |  \ } } t t | |  |  t | t d   \ } } t | |  d  S(   Ni   y              @i   i   y              @i   i   y      @      @y       @      @y      @      @(   R   R   R   R>   R@   (   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_complex_right  s    *c         C` s   d d g d d g d d g g } t  | d d	 \ } } d
 d g } t | | d  \ } } t t | |  |  t | |  t d
 d d g  } t | | d d t \ } } t t | | d   |  t | t d  d  \ } } t | |  d  S(   Ni   i   y              @i	   i   y              @i   R  R  i   y               @R   i    R  y       @      @y      @      @y       @       @(   R   R   R   R>   R3   R   R@   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_tall_complex_left  s    !c         C` s   d d
 d g d d d g d d d g g } t  |  \ } } d d d g } t | | d d	 t \ } } t t | j   |  |  d  S(   Ni   y              @i   i   y              @i   i   R   RF   y      @      @y       @      @y      @      @(   R   R   R   R   R>   RF   (   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt"   test_simple_complex_left_conjugate  s
    *c         C` s   d d g d d g d d g g } t  | d d \ } } d d g } t | | d	 d
 t \ } } t t | j   |  |  d  S(   Ni   y              @i   i   y               @R  R  i   R   RF   y      @      @y       @       @y      @      @(   R   R   R   R   R>   RF   (   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt'   test_simple_complex_tall_left_conjugate  s
    !c         C` s   d d	 d g d d d
 g d d d g g } t  |  \ } } d d d g } t | | d t \ } } t t | | j    |  d  S(   Ni   y              @i   i   y              @i   i   RF   y      @      @y       @      @y      @      @(   R   R   R   R   R>   RF   (   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt#   test_simple_complex_right_conjugate  s
    *c         C` s  t  j d d
 d g d d d g d d d g g  } t | d t \ } } } t t |   } t t | d | d	  k   t t	 t
 t |   |  t d   t t	 | |  | d  d   | f  t | d  d   | f  \ } } t | |  t | |  d  S(   Ni   y              @i   i   y              @i   R  i   iy      @      @y       @      @(   R]   RI   R   R   R   R6   R   RL   R   R>   R?   R4   R@   (   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple_complex_pivoting  s    3(&"c         C` s   t  j d d
 d g d d d g d d d g g  } t | d t \ } } } d d d g } t | | d	 t  \ } } } t t | |  |  d  S(   Ni   y              @i   i   y              @i   R  i   R   y      @      @y       @      @y      @      @(   R]   RI   R   R   R   R   R>   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt!   test_simple_complex_left_pivoting  s
    3c         C` s   t  j d d	 d g d d d
 g d d d g g  } t | d t \ } } } d d d g } t | | d t \ } } } t t | |  |  d  S(   Ni   y              @i   i   y              @i   R  i   y      @      @y       @      @y      @      @(   R]   RI   R   R   R   R   R>   (   R   R   R  R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt"   test_simple_complex_right_pivoting  s
    3c         C` s}   d } xp t  d  D]b } t | | g  } t |  \ } } t t t |  |  t |   t t | |  |  q Wd  S(   Ni   i   (   R}   RV   R   R   R>   R4   R@   (   R   R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRw    s    "c         C` s   d } x t  d  D] } t | | g  } t |  \ } } t | g  } t | | d  \ } } t t | |  |  t | t |  d  \ } } t | |  q Wd  S(   Ni   i   R   (   R}   RV   R   R   R   R>   R@   (   R   R   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_left  s    c         C` s   d } x t  d  D] } t | | g  } t |  \ } } t | g  } t | |  \ } } t t | |  |  t | t |   \ } } t | |  q Wd  S(   Ni   i   (   R}   RV   R   R   R   R>   R@   (   R   R   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_right  s    c   
      C` s  d } x t  d  D] } t | | g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t |   t t	 | |  | d  d   | f  t | d  d   | f  \ } }	 t | |  t | |	  q Wd  S(   Ni   i   R  i   i(   R}   RV   R   R   R   R6   R   RL   R   R>   R4   R@   (
   R   R   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_pivoting  s    "&"c         C` s   d } d } xp t  d  D]b } t | | g  } t |  \ } } t t t |  |  t |   t t | |  |  q Wd  S(   Ni   id   i   (   R}   RV   R   R   R>   R4   R@   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_tall  s    "c   	      C` s   d } d } x t  d  D] } t | | g  } t | d d \ } } t | g  } t | | d  \ } } t t | |  |  t | t |  d  \ } } t | |  q Wd  S(   Ni   id   i   R  R  R   (   R}   RV   R   R   R   R>   R@   (	   R   Rv  R   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_tall_left  s    c   	      C` s   d } d } x t  d  D] } t | | g  } t | d d \ } } t | g  } t | |  \ } } t t | |  |  t | t |   \ } } t | |  q Wd  S(   Ni   id   i   R  R  (   R}   RV   R   R   R   R>   R@   (	   R   Rv  R   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_tall_right)  s    c         C` s  d } d } x t  d  D] } t | | g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t |   t t	 | |  | d  d   | f  t | d  d   | f  \ }	 }
 t | |	  t | |
  q Wd  S(   Ni   id   i   R  i   i(   R}   RV   R   R   R   R6   R   RL   R   R>   R4   R@   (   R   Rv  R   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_tall_pivoting6  s    "&"c         C` s   d } d } x t  d  D] } t | | g  } t | d d \ } } t t t |  |  t |   t t | |  |  t | j | | f  t | j | | f  q Wd  S(   Ni   id   i   R  R  (	   R}   RV   R   R   R>   R4   R@   R   RD   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_tall_eE  s    "c         C` s@  d } d } x-t  d  D]} t | | g  } t | d t d d \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t |   t t	 | |  | d  d   | f  t | j | | f  t | j | | f  t | d  d   | f d d \ }	 }
 t | |	  t | |
  q Wd  S(	   Ni   id   i   R  R  R  i   i(   R}   RV   R   R   R   R6   R   RL   R   R>   R4   R@   R   RD   (   R   Rv  R   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_tall_e_pivotingQ  s    !"&(c         C` s   d } d } xp t  d  D]b } t | | g  } t |  \ } } t t t |  |  t |   t t | |  |  q Wd  S(   Nid   i   i   (   R}   RV   R   R   R>   R4   R@   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_trapb  s    "c         C` s  d } d } x t  d  D] } t | | g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 |  |  t |   t t	 | |  | d  d   | f  t | d  d   | f  \ }	 }
 t | |	  t | |
  q Wd  S(   Nid   i   i   R  i   i(   R}   RV   R   R   R   R6   R   RL   R   R>   R4   R@   (   R   Rv  R   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_trap_pivotingk  s    "&"c         C` s   d } x t  d  D]| } t | | g  d t | | g  } t |  \ } } t t t t |   |  t |   t t | |  |  q Wd  S(   Ni   i   y              ?(   R}   RV   R   R   R>   R?   R4   R@   (   R   R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRy  y  s    &(c         C` s   d } x t  d  D] } t | | g  d t | | g  } t |  \ } } t | g  d t | g  } t | | d  \ } } t t | |  |  t | t |  d  \ } } t | |  q Wd  S(   Ni   i   y              ?R   (   R}   RV   R   R   R   R>   R@   (   R   R   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_complex_left  s    & c         C` s   d } x t  d  D] } t | | g  d t | | g  } t |  \ } } t | g  d t | g  } t | |  \ } } t t | |  |  t | t |   \ } } t | |  q Wd  S(   Ni   i   y              ?(   R}   RV   R   R   R   R>   R@   (   R   R   R   R   R  R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_complex_right  s    & c   
      C` s  d } xt  d  D]} t | | g  d t | | g  } t | d t \ } } } t t |   } t t | d | d  k   t t	 t
 t |   |  t |   t t	 | |  | d  d   | f  t | d  d   | f  \ } }	 t | |  t | |	  q Wd  S(   Ni   i   y              ?R  i   i(   R}   RV   R   R   R   R6   R   RL   R   R>   R?   R4   R@   (
   R   R   R   R   R  R  RS  RX   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_complex_pivoting  s    &(&"c         C` s~   d d d g d d d g d d d g g } t  | d t \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i   i	   i   i   R   (   R   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *"c   
      C` s  d d d g d d d g d d d g g } t  | d d  \ } } t  | d d \ } } t | |  t | |  t  | d d \ } } t | |  t | |  t  | d d	 \ } }	 t | |  t |	 |  t t t  | f i d
 d 6 t t t  | f i d d 6 d  S(   Ni   i   i   i	   i   i   t   lworki
   ii    (   R   R   R   R   t	   Exception(
   R   R   R  R  R  R  t   q3t   r3t   q4t   r4(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt
   test_lwork  s    *(7   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  R  R  R   R  R  R  R  R  R  R  R  R  Rw  R  R  R  R  R  R  R  R  R  R  R  Ry  R  R  R  R   R  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    sj   			
	
												
	
									
			
																			
													t   TestRQc           B` s   e  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 RS(   c         C` s   t  d  d  S(   Ni  (   RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    c         C` sx   d d d g d d d g d d d g g } t  |  \ } } t t | t |   t d   t t | |  |  d  S(   Ni   i   i   i	   i   i   (   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *"c         C` s_   d d d g d d d g d d d g g } t  |  \ } } t  | d d } t | |  d  S(	   Ni   i   i   i	   i   i   R  R  (   R   R   (   R   R   R  R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_r  s    *c         C` s}   d } xp t  d  D]b } t | | g  } t |  \ } } t t | t |   t |   t t | |  |  q Wd  S(   Ni   i   (   R}   RV   R   R   R>   R4   R@   (   R   R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRw    s    "c         C` sl   d d d g d d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i   i	   (   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    "c         C` so   d d g d d g d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i	   i   i   (   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    !"c         C` sl   d d d g d d d g g } t  |  \ } } t t t |  |  t d   t t | |  |  d  S(   Ni   i   i   i	   i   (   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    "c         C` s~   d d d g d d d g d d d g g } t  |  \ } } t t | t t |    t d   t t | |  |  d  S(	   Ni   y              @i   i   y              @i   y      @      @y       @      @(   R   R   R>   R?   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *(c         C` s   d } d } xp t  d  D]b } t | | g  } t |  \ } } t t | t |   t |   t t | |  |  q Wd  S(   Ni   id   i   (   R}   RV   R   R   R>   R4   R@   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    "c         C` s   d } d } xp t  d  D]b } t | | g  } t |  \ } } t t | t |   t |   t t | |  |  q Wd  S(   Nid   i   i   (   R}   RV   R   R   R>   R4   R@   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s    "c         C` s   d } d } x t  d  D] } t | | g  } t | d d \ } } t t | t |   t |   t t | |  |  t | j | | f  t | j | | f  q Wd  S(   Nid   i   i   R  R  (	   R}   RV   R   R   R>   R4   R@   R   RD   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_trap_economic  s    "c         C` s   d } x t  d  D]| } t | | g  d t | | g  } t |  \ } } t t | t t |    t |   t t | |  |  q Wd  S(   Ni   i   y              ?(   R}   RV   R   R   R>   R?   R4   R@   (   R   R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRy    s    &(c         C` s   d } d } x t  d  D] } t | | g  d t | | g  } t | d d \ } } t t | t t |    t |   t t | |  |  t | j	 | | f  t | j	 | | f  q Wd  S(   Nid   i   i   y              ?R  R  (
   R}   RV   R   R   R>   R?   R4   R@   R   RD   (   R   Rv  R   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_complex_economic  s    &(c         C` s~   d d d g d d d g d d d g g } t  | d t \ } } t t | t |   t d   t t | |  |  d  S(   Ni   i   i   i	   i   i   R   (   R   R   R   R>   R4   R@   (   R   R   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   #  s    *"(   R   R   R   R   R  Rw  R  R  R  R   R  R  R  Ry  R  R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s   															t	   TestSchurc           B` s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C` s  d d d g d d d g d d d g g } t  |  \ } } t t t | |  t t |    |  t  | d  \ } } t t t t |    o t t t |     t t t | |  t t |    |  t	 | |  \ } } t t t | |  t t |    |  d  S(	   Ni   i   i   i   i	   i
   i   R   (
   R   R   R>   t   transpR?   R   t   anyRA   RC   R   (   R   R   t   tRB  t   tct   zct   tc2t   zc2(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   0  s    *+4+c         C` s  d d d d g d d d d g d d d	 d
 g d d d d g g } t  | d d \ } } } t d d d d g d d d d g d d d d g d d d d g g | d  t d d  d! d" g d d# d$ d% g d d d& d' g d d d d( g g | d  t d) |  t  | d d* \ } } } t d+ d, d- d. g d/ d0 d1 d. g d2 d3 d4 d g d5 d6 d7 d g g | d  t d& d8 d9 d: g d d( d; d< g d d d d= g d d d d# g g | d  t d) |  t  | d d> \ } } } t d? d d@ dA g dB d dC dD g d dE dF d+ g d dE dG d/ g g | d  t d# d dH dI g d d( dJ d: g d d d& dK g d d d d g g | d  t d) |  t  | d dL \ } } } t d+ dF dE d g d/ dG dE d g d2 dM d d g d5 dN d d g g | d  t d& dO dP dQ g d d dR d; g d d d# d g d d d d( g g | d  t d) |  dS   } t  | d | \ } } } t d+ d, d- d. g d/ d0 d1 d. g d2 d3 d4 d g d5 d6 d7 d g g | d  t d& d8 d9 d: g d d( d; d< g d d d d= g d d d d# g g | d  t d) |  d  S(T   Ng      @g      @g      ?g      g      g      g      "@g      @g      g      @g      g      @RE   t   lhpgd]K?ga+e?gPkw?g        gd]KgMbgv?gHg(?gA`"?g6gQg46<R?gr?g-?i   g-g&S?gy)'gg      gۊe"@gH.!g-?g&S¿g      ?i   t   rhpg=,Ԛ?gZd;O߿g	cZ?g-g=,Ԛ߿gZd;O?g	cZ¿gK=U?gb=?gGx$(gy?gV/'?gGx$(?gDlg1%@g~jt,gPsR@g"~	gDl?t   iucg6?gTNgK=Ug-gqhؿgyٿg-?gY8mgY8m?gPsRgZӼcg:M
gRI&B@t   oucgTN?gqh?gRI&Bg~jt,@gZӼc@g:M
@c         S` s
   |  d k S(   Ng        (    (   Rj   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   <lambda>p  s    (   R   R   R   (   R   R   Rp  R  t   sdimt   rhp_function(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   test_sort:  s|    B







	

c         C` sr   d d d d g d d d d g d d d	 d
 g d d d d g g } t  t t | d d t  t t | d d d  S(   Ng      @g      @g      ?g      g      g      g      "@g      @g      g      @g      g      @RE   t   unsupportedi   (   R   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_sort_errors~  s    Bc         C` sq   d d d g d d d g d d d g g } t  | d t \ } } t t t | |  t t |    |  d  S(	   Ni   i   i   i   i	   i
   i   R   (   R   R   R   R>   R  R?   (   R   R   R  RB  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    *(   R   R   R   R  R  R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  .  s   	
	D	t   TestHessenbergc           B` sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C` s   d d d g d d d g d d d	 g g } d
 d d g d d d g d d d g g } t  | d d \ } } t t t |  t | |   |  t | | d d d  S(   Nikiifi  i   i"  iiig     bgsE@g㥛 cg(m̀gkwc@gfjWi    g&S?g,eX@t   calc_qi   t   decimali   (   R   R   R>   R  (   R   R   t   h1Rz   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    %c         C` sw   d d d g d d d g d d d	 g g } t  | d
 d \ } } t t t |   t | |   } t | |  d  S(   Nikiifi  y             f@i"  y              ;iiR  i   (   R   R>   R  R?   R   (   R   R   Rz   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    $c         C` s   d d d d d d d g d d d d d d d g d d d d d d d g d d d d	 d d d g d d d d d d d g d d d d d d d g d d d d d d d g g } t  | d
 d \ } } t t t |  t | |   |  d  S(   Ni   i   i   i   i   i   i   i    i   R  (   R   R   R>   R  (   R   R   Rz   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRW    s    c         C` sZ   t  j d  } d | d <t | d d \ } } t t t |  t | |   |  d  S(   Ni   i   ii    R  i   (   ii    (   R]   RO   R   R   R>   R  (   R   R   Rz   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_simple3  s    
c         C` sp   d } xc t  d  D]U } t | | g  } t | d d \ } } t t t |  t | |   |  q Wd  S(   Ni   i   R  i   (   R}   RV   R   R   R>   R  (   R   R   R   R   Rz   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRw    s
    c         C` s   d } x t  d  D]u } t | | g  d t | | g  } t | d d \ } } t t t |   t | |   } t | |  q Wd  S(   Ni   i   y              ?R  i   (   R}   RV   R   R>   R  R?   R   (   R   R   R   R   Rz   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRy    s    &$c         C` s   d d d g d d d g d d d	 g g } d
 d d g d d d g d d d g g } t  | d d d t \ } } t t t |  t | |   |  t | | d d d  S(   Nikiifi  i   i"  iiig     bgsE@g㥛 cg(m̀gkwc@gfjWi    g&S?g,eX@R  i   R   R  i   (   R   R   R   R>   R  (   R   R   R  Rz   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    %c         C` s   d d g d d g g } t  | d d \ } } t | t j d   t | |  d	 d
 g d d g g } t  | d d \ } } t | t j d   t | |  d  S(   Ni   i   i   i   R  y              @y               @y              @y       @      y      ?       @y      @      @y      (@       (   R   R   R]   RO   (   R   R   Rz   R  R   t   h2R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_2x2  s    (
   R   R   R   R   RW  R  Rw  Ry  R   R  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s   							t   TestQZc           B` sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C` s   t  d  d  S(   Ni90  (   RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR     s    c         C` s  d } t  | | g  j t  } t  | | g  j t  } t | |  \ } } } } t t t | |  | j  | d d t t t | |  | j  | d d t t | | j  t |  d d t t | | j  t |  d d t t	 t
 |  d k   d  S(   Ni   R  i    (   RV   R:  R<   R   R   R>   Rv   RO   R   RL   R6   (   R   R   R   R   t   AAt   BBt   QR   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qz_single  s    ((%%c         C` s   d } t  | | g  } t  | | g  } t | |  \ } } } } t t t | |  | j  |  t t t | |  | j  |  t t | | j  t |   t t | | j  t |   t t t |  d k   d  S(   Ni   i    (	   RV   R   R   R>   Rv   RO   R   RL   R6   (   R   R   R   R   R  R  R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qz_double  s    ""c         C` sF  d } t  | | g  d t  | | g  } t  | | g  d t  | | g  } t | |  \ } } } } t t t | |  | j   j  |  t t t | |  | j   j  |  t t | | j   j  t |   t t | | j   j  t |   t t t	 |  d k   t t t	 |  j
 d k   d  S(   Ni   y              ?i    (   RV   R   R   R>   RF   Rv   RO   R   RL   R6   Rb   (   R   R   R   R   R  R  R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qz_complex  s    &&((%%c         C` sp  d } t  | | g  d t  | | g  j t  } t  | | g  d t  | | g  j t  } t | |  \ } } } } t t t | |  | j   j  | d d t t t | |  | j   j  | d d t t | | j   j  t |  d d t t | | j   j  t |  d d t	 t
 t |  d k   t	 t
 t |  j d k   d  S(   Ni   y              ?R  i    (   RV   R:  R=   R   R   R>   RF   Rv   RO   R   RL   R6   Rb   (   R   R   R   R   R  R  R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qz_complex64  s    //..++c   
      C` s7  d } t  | | g  } t  | | g  } t | | d d \ } } } } t t | |  | j   j  } t | j |  t | j d  t t | |  | j   j  }	 t |	 j |  t |	 j d  t t | | j   j  t |   t t | | j   j  t |   t	 t
 t |  d k   d  S(   Ni   t   outputR   i    (   RV   R   R>   RF   Rv   R   Ra   Rb   RO   R   RL   R6   (
   R   R   R   R   R  R  R  R   t   aat   bb(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qz_double_complex  s    !!!%%c   	      C` s  t  j d d d d g d d d d g d d	 d
 d g d d d d g g  } t  j d d d d g d d d d g d d d d g d d d d g g  } d   } t t t | | d | t rt | | d | \ } } } } } t | d k  t t t | |  | j	  |  t t t | |  | j	  |  t t  j
 |  t  j
 t  j d d d d g d d d  d! g d d d" d# g d d d d$ g g   d  t t  j
 |  t  j
 t  j d% d& d' d( g d d) d* d+ g d d d, d- g d d d d. g g   d  t t  j
 |  t  j
 t  j d/ d0 d1 d2 g d3 d4 d5 d6 g d7 d8 d9 d: g d; d< d= d> g g   d  t t  j
 |  t  j
 t  j d? d@ dA dB g dC dD dE dF g dG dH dI dJ g dK dL dM dN g g   d  n  d  S(O   Ng333333@g      )@g     @Ag      @g333333@g     5@g     Gg      @g      ?g     Eg      @g@g      @g      Gg      ?g      g      @g      g       @g      g333333?g      @c         S` s
   | d k S(   Ni    (    (   Rh   t   ait   beta(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  /  s    RE   i   gTA@gڊ9Tg9m4 (g""g        gxz,C@ggvOjM@gǺ?g8d`g?ܵ)gŏ1w-!@gޓZ!gmV}	@g$(~kg鷯?g2%gu?gqh ?g-1ֿgS?gͪڿg\(\g cZB>ȿg	^)g/$g6[?gHP?g׿gO@a߿gǘ׿g?g?W[?g^)g o_ι?gгYgڊe?gTNg鷯ӿgV/'gI+v?g'WʢgOjM?gd`T?g)Ǻ?gAc]K?g	cg:Mпg	^)?geX?gPs?g=UgǺV?(   R]   R3   R   R   R   R   R   R   R>   Rv   R   (	   R   R   R   RE   R  R  R  R   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qz_double_sort  sF    	$""c         C` s   d } t  | | g  } t  | | g  } t | | d t \ } } } } t t t | |  | j  |  t t t | |  | j  |  t t | | j  t |   t t | | j  t |   t t t	 |  d k   d  S(   Ni   R   i    (
   RV   R   R   R   R>   Rv   RO   R   RL   R6   (   R   R   R   R   R  R  R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   |  s    !""(
   R   R   R   R  R  R  R  R  R  R   (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s   							ec         C` s   t  j |   |  S(   N(   R]   RH   (   t   X(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   _make_pos  s    t	   TestOrdQZc           B` sz   e  Z e d     Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z RS(   c      	   C` sD  t  j dM dN dO dP g dQ dR dS dT g dU dV dW dX g dY dZ d[ d\ g g  } t  j d] d^ d_ d` g da db dc dd g de df dg dh g di dj dk dl g g  } t  j d6 d7 d d8 g d d9 d: d g d d9 d; d< g d= d> d? d@ g g  } t  j dA dB d% dA g dA dC dD dE g dA dC d+ dC g dA dC d+ dE g g  } t  j dF d! dG dG g d5 d5 dH dI g dI d5 d! dG g d' d5 dJ dI g g  } t  j dJ dK d@ dK g dI dI dH dL g dL d! d@ d@ g dF d! d5 dI g g  } t  j dB  } t  j d3 dA g  } t  j dA d3 g  }	 t  j dA d3 g  }
 | | | | |	 g |  _ | | | | |	 g |  _ d  S(m   Ng5y             6@g     J@y             @I@g     @Ay             _@g      @y              ?gq=
ףpݿy        Q@g      y             B@g      /y             @M@g      %y              ?g333333@y              @gC@y        1@g      Qy              )@g      y              @g      @y        @g,@y        fffffE@g     @@y              G@g      3y             @@@g      ?y              @g?y        333333?iy                g        y              ?g?y        333333?iy              @g333333y        	@g333333@y        ?gy        333333@i    y              @g      @g333333@g      )@g      g     5@g     Gg     Eg      @g@g      :@g      Gg      @i   i   i   ii   g      @g      @g       @g      @g       @g      $@g      "@y5     6y     J@     @Iy     @A     _@y      @      ?yq=
ףpݿQy           By      /     @M@y      %      y333333@      yC@1y      Q      )@y            y      @@y,@fffffE@y     @@      Gy      3     @@y      ?      y?333333?y              y              y?333333y              y            @y333333	y      ?        y333333@?y            y              y              ?y333333@y              y      @      (   R]   R3   RO   R6   R   R   (   t   clst   A1t   B1t   A2t   B2t   A3t   B3t   A4t   B4t   A5t   B5(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   setup_class  sD    			
c         C` sk   zP t  j d  } g  t |  j |  j  D]! \ } } t | | d | ^ q( } Wd  t  j |   Xt |  S(   Nt   raiseRE   (   R]   R   t   zipR   R   R!   t   tuple(   R   RE   R   t   Ait   Bit   ret(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   qz_decomp  s
    Ac
         C` sK  t  j | j   }
 t | j | j j    |
  t |	 j |	 j j    |
  t | j |  | j |	   t | j |  | j |	   t t  j | d  t  j	 | j   t t  j | d  t  j	 | j   xt
 | j d  D]} | d k r| | | d f d k rq n  | | j d d k  r| | d | f d k rt | | | d  | | d  f | | | d  | | d  f  \ } } | d j d k  r| d d g } n  | | | d !| | | d !} | d j d k  r| d d g } n  t | |  q | | d k rm| | d k rmt | | | f d  t | | | f d  q | | d k rt | | | f d  q t | | | f | | | f | | | |  q Wt |  } t } xf t
 | j d  D]Q } | t  j | | g  t  j | | g   } | s=| s=t  n  | } qWd  S(   Niii    i   i   (   R]   RO   RD   R   R>   Rv   R?   R   RS   R:   R}   R   Rb   R   R   R2   R   R3   t   AssertionError(   R   R   R   RE   R  R  t   alphaR  R  R   t   IdR   t   evalst   _t   tmpt   sortfunt   lastsortt   cursort(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   check  s>    %%&1Q  5/c         C` sU   |  j  |  } x? t | |  j |  j  D]% \ } } } |  j | | | |  q( Wd  S(   N(   R  R
  R   R   R  (   R   RE   R  t   retiR  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   check_all  s    (c         C` s   |  j  d  d  S(   NR  (   R  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_lhp	  s    c         C` s   |  j  d  d  S(   NR  (   R  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_rhp	  s    c         C` s   |  j  d  d  S(   NR  (   R  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_iuc		  s    c         C` s   |  j  d  d  S(   NR  (   R  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_ouc	  s    c         C` s   d   } |  j  |  d  S(   Nc         S` sO   t  j |  d t } | d k } t | | <|  | | | j d k | | <| S(   NRP   i    (   R]   t
   empty_liket   boolR   Rb   (   Rj   R  R\   t   nonzero(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRE   	  s
    (   R  (   R   RE   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_ref	  s    	c         C` s   d   } |  j  |  d  S(   Nc         S` sO   t  j |  d t } | d k } t | | <|  | | | j d k | | <| S(   NRP   i    (   R]   R   R!  R   Rb   (   Rj   R  R\   R"  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRE   	  s
    (   R  (   R   RE   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_cef	  s    	c         C` s   t  |  j d |  j d d d } |  j |  j d |  j d d |  t  |  j d |  j d d d } |  j |  j d |  j d d |  d  S(   Ni   i   RE   R  (   R!   R   R   R  (   R   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_diff_input_types%	  s    #$#c         C` s  t  j d  } t  j d d g  } d d d g f d d d g f d d d g f d d d g f g } t  j d  } t  j d d g  } d d d d d g f d d d d d g f d d d d d g f d d d d d g f g } t  j d  } t  j d d g  } d d t  j g f d d t  j g f d t  j d g f g }	 t  j d  }
 t  j d d g  } d d t  j g f d d t  j g f d t  j d g f g } t  j d d g  } t  j d d g  } d d t  j g f d d t  j g f g } | | | |
 | g } | | | | | g } | | |	 | | g } x t | | |  D] \ } } } x | D] \ } } t | | d | \ } } } } } } | d k } | d k } t  j |  } t  j | | | @<t  j | | | @<| | | | | | <t | |  qhWqRWd  S(   Ni   ig      ?R  g      R  R  R  y              ?y              ?i   i    RE   y             ?y      ?      ?y             ?y      ?      ?y      ?      ?y             ?y             ?y      ?      ?y      ?      ?y             ?(	   R]   RO   R6   R   t   nanR
  R!   R   R   (   R   R  R  t	   expected1R   R  t	   expected2R  R  t	   expected3R  R  t	   expected4R  R  t	   expected5R   R   t   expectedR  R  t	   expectedit   sortstrt   expected_eigvalsR  R  R  t   azerot   bzeroRj   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_sort_explicit,	  sN    "'(   R   R   t   classmethodR  R  R  R  R  R  R  R  R#  R$  R%  R2  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR    s   8			.								t   TestOrdQZWorkspaceSizec           B` s/   e  Z d    Z d   Z e j j d    Z RS(   c         C` s   t  d  d  S(   Ni90  (   RU   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   ^	  s    c         C` s  d } x t  j t  j g D]r } t | | f  j |  } t | | f  j |  } d   } t | | d | d d \ } } } }	 }
 } q Wx t  j t  j g D]r } t | | f  j |  } t | | f  j |  } d   } t | | d | d d \ } } } }	 }
 } q Wd  S(   Ni   c         S` s
   |  | k  S(   N(    (   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  j	  s    RE   R  Ra   c         S` s
   |  | k  S(   N(    (   R  R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  p	  s    R   (   R]   R<   Rz  RV   R:  R!   R   R=   (   R   R   t   ddtypeR   R   RE   t   SRv   R  R  t   Ut   V(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_decomposea	  s    	1	c         C` s   d } x t  j t  j t  j t  j g D]c } t | | f  j |  } t | | f  j |  } t | | d d \ } } } } }	 }
 q% Wd  S(   Ni   RE   R  (   R]   R<   Rz  R   R=   RV   R:  R!   (   R   R   R5  R   R   R6  Rv   R  R  R7  R8  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_decompose_oucs	  s
    %(   R   R   R   R9  R   R   R  R:  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR4  \	  s   		t   TestDatacopiedc           B` s   e  Z d    Z RS(   c         ` s  d d l  m } t d d g d d g g  } t |    | j   } | j   } d d   f d     Y} d d   f d	     Y} |   } |   } xx | t f   t f | t f | t f | t f | t f g D]: \ }	 }
 t |	  } t | | |	  |
 d
 t	 |	  q Wd  S(   Ni    (   t   _datacopiedi   i   i   t   Fake1c           ` s   e  Z   f d    Z RS(   c         ` s     S(   N(    (   R   (   R   (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   __array__	  s    (   R   R   R>  (    (   R   (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR=  	  s   t   Fake2c           ` s   e  Z   j Z RS(    (   R   R   t   __array_interface__(    (   R   (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR?  	  s   R   (    (    (
   t   scipy.linalg.decompR<  RJ   RI   t   tolistR   R   R   R   t   repr(   R   R<  R   t   Lt   M2R=  R?  t   F1t   F2t   itemt   statust   arr(    (   R   s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_datacopied	  s    		+(   R   R   RK  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR;  	  s   c          C` si   t  d d t j }  t j |  j d d d d d t } d
 | _ t | d t t | j	 d t d	 S(   s*   Check linalg works with non-aligned memoryi  RP   t   offseti   t   countid   i
   R>  N(   i
   i
   (
   R;   R]   t   uint8t
   frombufferRR  R<   RD   R   R   Rv   (   R   RB  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_aligned_mem_float	  s
    $	c          C` si   t  d d t j }  t j |  j d d d d d t } d
 | _ t | d t t | j	 d t d	 S(   s*   Check linalg works with non-aligned memoryi$  RP   RL  i   RM  id   i
   R>  N(   i
   i
   (
   R;   R]   RN  RO  RR  R   RD   R   R   Rv   (   R   RB  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_aligned_mem	  s
    $	c          C` si   t  d d t j }  t j |  j d d d d d t } d
 | _ t | d t t | j	 d t d	 S(   s>   Check that complex objects don't need to be completely alignediH  RP   RL  i   RM  id   i
   R>  N(   i
   i
   (
   R:   R]   RN  RO  RR  R   RD   R   R   Rv   (   R   RB  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_aligned_mem_complex	  s
    $	c      
   C` s  t  |  } xt t |   D] } | } t | | t j  r t j | | j | | j j	 d d t j
 } t j | j d d d | | j d | | j } | | j | _ | | | d <| | | <|  | |   t | | j  d k r| | j | | <|  | |   qq q Wd  S(   Ni   RP   RL  i   RM  .i   (   Rx  R}   Rs   Rn   R]   RM   R:   R|   RP   t   itemsizeRN  RO  RR  RD   Rv   (   t   funcR   t   kwargsR   R   R  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   check_lapack_misaligned	  s    12
t   runR   s0   Ticket #1152, triggers a segfault in rare cases.c    	      C` sM  t  j d d t }  t  j d  } d
 | _ t  j d d t  j } t  j | j d d d d d t } d | _ t  j d  } t	 |  \ } } xt
 | f t d t  f t | f t d t  f t | f t d t  f t	 | f t d t  f t | | f | f t d	 t  f t | | f t d t d	 t  f t |  f t d t  f t | f t d t  f t | f t d t  f t | f t   f t | f t d t  f t |  f t d t  f t | f t d t  f t | f t d t  f t | f t d t  f t | f t d t  f g D] \ } } } t | | |  q&Wd  S(   Ni
   RP   id   i N  RL  i   RM  R>  RD  (   i
   i
   (   i
   i
   (   R]   RO   R   R;   RD   RN  RO  RR  R7   R   R   t   dictR   R   R   R   R   R   R   R   R   R   R   R   RV  (	   R   t   RR6  R   Ra  t   pivRT  R   RU  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_lapack_misaligned	  s4    	$	!!+t   TestOverwritec           B` s   e  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 RS(   c         C` s'   t  t d g  t  t d d g  d  S(   Ni   (   i   i   (   i   i   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eig	  s    c         C` s'   t  t d g  t  t d d g  d  S(   Ni   (   i   i   (   i   i   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR3  	  s    c         C` s   t  t d g  d  S(   Ni   i   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  	  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigvals 
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_eigvalsh
  s    c         C` s   t  t d g  d  S(   Ni   i   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_hessenberg	
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_lu_factor
  s    c         ` s\   t  j d d d g d d d g d d d g g  } t |    t   f d	   d
 g  d  S(   Ni   i   i   i   i   i   i   i   c         ` s   t    |   S(   N(   R   (   R   (   t   xlu(    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  
  s    (   i   (   R]   R3   R   RW   (   R   Rj   (    (   Rb  s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_lu_solve
  s    3c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyRk  
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_qr
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_rq
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt
   test_schur
  s    c         C` s)   t  d   d g d t j t j g d  S(   Nc         S` s   t  |  d  S(   NR   (   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  !
  s    i   t   dtypes(   i   i   (   RW   R]   R<   Rz  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_schur_complex 
  s    c         C` s'   t  t d g  t  d   d g  d  S(   Ni   c         S` s   t  |  d d S(   NR  R  (   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR  &
  s    (   i   i   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_svd$
  s    c         C` s   t  t d g  d  S(   Ni   (   i   i   (   RW   R   (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_svdvals(
  s    (   R   R   R]  R3  R  R^  R_  R  R`  Ra  Rc  Rk  Rd  Re  Rf  Rh  Ri  Rj  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR\  	  s    															c         C` s  t  j |  d f d t j |  } t  j |  j } d | } t |  } t | j |  d f  t	 | | j
   d | t | j  } t | j d  t	 | | j
   d | |  d k r| rt  j j d  t  j j |  d  j t  j j d |    } | d t  j j |  d  j t  j j d |    } | j |  } t | d d	 } t | j |  d f  t | d d
 } t | j |  d f  n  d  S(   Ni   RP   i  i   R   i   g-C6?t   rcondgMbP?gư>(   i   i   i   (   R]   R7   R   R:  Rc   t   epsR    R   RD   R   t   meanRv   RV   RU   R|  R>   (   R   RP   t   skip_bigR  Rl  t   tolt   Y(    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   _check_orth,
  s$    $
-5i   s"   test only on 64-bit, else too slowc          C` sD   d }  y t  |  t j d t Wn t k
 r? t d   n Xd  S(   Ni
   i  Rn  s.   memory error perhaps caused by orth regressioni'  i (   Rq  R]   Rz  R   t   MemoryErrorR  (   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_orth_memory_efficiencyG
  s
    c          C` sg   t  j t  j t  j t  j g }  d d d d d g } x- t j |  |  D] \ } } t | |  qF Wd  S(   Ni   i   i   i
   id   (   R]   R<   Rz  R=   R{  t	   itertoolst   productRq  (   Rg  R}  R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt	   test_orthU
  s    c          C` sp  t  j j d  t  j t  j t  j t  j g }  d d d d d g } x&t j |  |  D]\ } } t  j	 d | f d | } t  j
 |  j } d | } t |  } t | j | | d f  t | j |  d d	 | t | j  } t | j d  t | j j |  d d	 | t  j j d | d |  } t |  } t | j | | d | d f  t | j |  d d	 | | d
 k rV t  j j d  t  j j | d
  j t  j j d
 |   } | d t  j j | d  j t  j j d |   } | j |  } t | d d } t | j | | d
 f  t | d d } t | j | | d f  qV qV Wd  S(   Ni   i   i   i
   id   RP   i  i    R   i   g-C6?Rk  gMbP?gư>i   (   i   i   (   R]   RV   RU   R<   Rz  R=   R{  Rt  Ru  R7   Rc   Rl  R&   R   RD   R   R>   Rv   t   randnR|  R:  (   Rg  R}  R  R   R  Rl  Ro  Rp  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_null_space\
  s4    
"-5c          C` sU  t  d t  }  |  d  d   d  d  f } |  d  d   d d   f } t t | |  t j d g d d d t t | |  t j d g d d d x@ | | f D]2 } t t | |  t j | j d  d d q Wt j d d d	 d
 g d d d d g d d d d g d d d d g g  } d } t t | d  d   d  d  f | d  d   d d   f  d | d d t t | d  d   d d   f | d  d   d  d  f  d | d d d } t t | d  d   d  d  f | d  d   d g f  | d d t t | d  d   d g f | d  d   d  d  f  | d d d } t t | d  d   d  d  f | d  d   d g f  | d d t t | d  d   d g f | d  d   d  d  f  | d d d } t t | d  d   d  d  f | d  d   d d   f  | d g d d t	 t
 t | d |  t	 t
 t | | d  t	 t
 t | d  |  t j d d d g d d d g d d d g d d d g d d d g g  } t j d d d g d d d g d d d g d d d g d d d g g  } t j t j d d d g  } t t | |  | d d d  S(    Ni   i   g       @R   g+=i   g4?gVRf?g8!@g6?gN$ЗW?gJg~'@g3:]$gvMg ۿgPT#ge,?g΀?g+?gNG@gS<ʿg"	?i   i    R   g-q=gL0?gĹ-?gyv?i(   R#   R   R   R"   R]   t   piR:   RD   R3   R   R   (   R   R   R   Rj   R,  (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_subspace_angles
  sT    **%EEEEEEGt   TestCDF2RDFc           B` s   e  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 RS(   c         C` s   t  j d | |  S(   Ns   ...ij,...jk->...ik(   R]   t   einsum(   R   R   R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   matmul
  s    c         C` s)   t  |  j | |  |  j | |   d  S(   N(   R   R}  (   R   R   Ry   Rj   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   assert_eig_valid
  s    c         C` sZ   t  j d  } t  j d  t  j d  } } t | |  \ } } |  j | | |  d  S(   Ni    (   i    i    (   i    i    (   R]   RQ   R'   R~  (   R   R  R   Ry   t   wrR   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_single_array0x0real
  s    c         C` se   t  j d d g d d g g  } t  j j |  \ } } t | |  \ } } |  j | | |  d  S(   Ni   i   i   i(   R]   R3   R8   R   R'   R~  (   R   R  R   Ry   R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_single_array2x2_real
  s    !c         C` se   t  j d d g d d g g  } t  j j |  \ } } t | |  \ } } |  j | | |  d  S(   Ni   i   i(   R]   R3   R8   R   R'   R~  (   R   R  R   Ry   R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_single_array2x2_complex
  s    !c         C` sw   t  j d d d g d d d g d d d g g  } t  j j |  \ } } t | |  \ } } |  j | | |  d  S(   Ni   i   i   i   i   (   R]   R3   R8   R   R'   R~  (   R   R  R   Ry   R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_single_array3x3_real
  s    3c         C` sw   t  j d d d g d d d g d d d g g  } t  j j |  \ } } t | |  \ } } |  j | | |  d  S(   Ni   i   i   i    i   i   i(   R]   R3   R8   R   R'   R~  (   R   R  R   Ry   R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_single_array3x3_complex
  s    3c         C` sv   xo t  d d  D]^ } t j j d | |  } t j j |  \ } } t | |  \ } } |  j | | |  q Wd  S(   Ni   i   id   (   R}   R]   RV   R|  R8   R   R'   R~  (   R   R   R  R   Ry   R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_1d_stacked_arrays
  s
    c         C` sy   xr t  d d  D]a } t j j d d | |  } t j j |  \ } } t | |  \ } } |  j | | |  q Wd  S(   Ni   i   i
   (   R}   R]   RV   R|  R8   R   R'   R~  (   R   R   R  R   Ry   R  R   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_random_2d_stacked_arrays
  s
    c         C` s6   t  j d  t  j d  } } t t t | |  d  S(   Ni   (    (   i   (   R]   RQ   R3   R   R   R'   (   R   R   Ry   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_low_dimensionality_error
  s    c         C` sB   t  j d  t  j d  j d d  } } t t t | |  d  S(   Ni   i   i   (   R]   R;   R   R   R   R'   (   R   R   Ry   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR   
  s    +c         C` sb   t  j d d d g d d d g d d d g g  } t  j j |  \ } } t t t | |  d  S(   Ni   i   i   i    i   i   i(   R]   R3   R8   R   R   R   R'   (   R   R  R   Ry   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_swapped_v_w_error
  s    3c         C` sB   t  j d  t  j d  j d d  } } t t t | |  d  S(   Ni   i   i   (   R]   R;   R   R   R   R'   (   R   R   Ry   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_non_associated_error
  s    +c         C` s   t  j d d d g d d d g d d d g g  } t  j j |  \ } } t t t | |  t  j d d d g d d d g d d d g g d d d g d d d g d d d	 g g g  } t  j j |  \ } } t t t | |  d  S(
   Ni   i   i   i   i   y              ?y      @      ?y      @      ?y      @      (   R]   R3   R8   R   R   R   R'   (   R   R  R   Ry   (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   test_not_conjugate_pairs  s    3'0(   R   R   R}  R~  R  R  R  R  R  R  R  R  R   R  R  R  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyR{  
  s   													(   Re  t
   __future__R    R   R   t	   __usage__Rt  t   numpyR]   t   numpy.testingR   R   R   R   R   R   R   R	   R   t   scipy._lib.sixR
   t   scipy.linalgR   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$   R%   R&   R'   t   scipy.linalg.lapackR(   R)   R*   R+   R,   R-   R.   R/   R0   t   scipy.linalg.miscR1   t   scipy.linalg._decomp_qzR2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   RS   t   numpy.randomRT   RU   RV   t   scipy.linalg._testutilsRW   R?  R`   Rq   R{   Ru   t   objectR   R   R   R  R3  R9  R=  R.  R/  RH  RI  Rd  Rf  Rl  R  R  R  R  R  R  R  R  R  R  R  R  R4  R;  RP  RQ  RR  RV  R   R   R   R[  R\  Rq  R  t   skipift   intpRS  Rs  Rv  Rx  Rz  R{  (    (    (    s=   lib/python2.7/site-packages/scipy/linalg/tests/test_decomp.pyt   <module>   s   .@"			 o							J9  h[M	#				$!8	9		&	2