
˽Xc           @` s  d  Z  d d l m Z m Z m Z d d l Z d d l m Z m Z m	 Z	 m
 Z
 m Z m Z d d l m Z m Z m Z m Z m Z m Z m Z d d l m 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, d d
 l- m. Z. d   Z/ d e f d     YZ0 d e f d     YZ1 d e f d     YZ2 d e f d     YZ3 d e f d     YZ4 d e f d     YZ5 d e f d     YZ6 d e f d     YZ7 d e f d     YZ8 d d- d     YZ9 d  d. d!     YZ: d" e f d#     YZ; d$ e f d%     YZ< d& e f d'     YZ= d( e f d)     YZ> d*   Z? d+   Z@ eA d, k re   n  d S(/   s+   Tests for functions in special_matrices.py.i    (   t   divisiont   print_functiont   absolute_importN(   t   aranget   addt   arrayt   eyet   copyt   sqrt(   t   TestCaset   run_module_suitet   assert_raisest   assert_equalt   assert_array_equalt   assert_array_almost_equalt   assert_allclose(   t   xrange(   t   fftpack(   t   comb(   t   toeplitzt   hankelt	   circulantt   hadamardt   lesliet	   companiont   trit   triut   trilt   kront
   block_diagt   helmertt   hilbertt
   invhilbertt   pascalt	   invpascalt   dft(   t   condc         C` s"   t  |   } t j | |  } | S(   N(   R   R   t   outer(   t   nt   data(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   get_mat   s    t   TestTric           B` s,   e  Z d    Z d   Z d   Z d   Z RS(   c      
   C` s   t  t d  t d d d d g d d d d g d d d d g d d d d g g   t  t d 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   d  S(   Ni   i   i    t   dtypet   f(   R   R   R   (   t   self(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt
   test_basic   s    $c      
   C` s   t  t d d d t d d d d g d d d d g d d d d g d d d d g g   t  t d 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  S(   Ni   t   ki   i    i(   R   R   R   (   R,   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt	   test_diag&   s    $$c      	   C` s   t  t d d  t d d d g d d d g d d d g d d d g g   t  t d d  t d d d d g d d d d g d d d d g g   d  S(   Ni   i   i   i    (   R   R   R   (   R,   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_2d0   s    !c      	   C` s   t  t d d d d t d d d d g d d d d g d d d d g g   t  t d d d d t d d d g d d d g d d d g d d d g g   d  S(   Ni   i   R.   i   i   i    i(   R   R   R   (   R,   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_diag2d9   s    '$(   t   __name__t
   __module__R-   R/   R0   R1   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR)      s   	
	
		t   TestTrilc           B` s   e  Z d    Z d   Z RS(   c         C` s   d t  d  j d  } | j   } xB t d  D]4 } x+ t | d d  D] } d | | | f <qL Wq2 Wt t |  |  d  S(   Nid   i   t   li   i    (   R(   t   astypeR   t   rangeR   R   (   R,   t   at   bR.   R5   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-   D   s    c         C` s   d t  d  j d  } | j   } xB t d  D]4 } x+ t | d d  D] } d | | | f <qL Wq2 Wt t | d d |  | j   } xN t d  D]@ } x7 t t | d d f  d  D] } d | | | f <q Wq Wt t | d d	 |  d  S(
   Nid   i   R+   i   i    R.   i   i   i(   R(   R6   R   R7   R   R   t   max(   R,   R8   R9   R.   R5   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR/   L   s    &(   R2   R3   R-   R/   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR4   C   s   	t   TestTriuc           B` s   e  Z d    Z d   Z RS(   c         C` s   d t  d  j d  } | j   } xB t d  D]4 } x+ t | d d  D] } d | | | f <qL Wq2 Wt t |  |  d  S(   Nid   i   R5   i   i    (   R(   R6   R   R7   R   R   (   R,   R8   R9   R.   R5   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-   [   s    c         C` s   d t  d  j d  } | j   } xN t d  D]@ } x7 t t | d d f  d  D] } d | | | f <qX Wq2 Wt t | d d |  | j   } xB t d  D]4 } x+ t | d d  D] } d | | | f <q Wq Wt t | d d	 |  d  S(
   Nid   i   R+   i   i    R.   i   i   i(   R(   R6   R   R7   R:   R   R   (   R,   R8   R9   R.   R5   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR/   c   s    &(   R2   R3   R-   R/   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR;   Z   s   	t   TestToeplitzc           B` sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   t  d d d g  } t | d d d g d d d g d d d g g  t  d d d g d d d g  } t | d d d g d d d g d d d g g  d  S(   Ni   i   i   i   i   (   R   R   (   R,   t   y(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-   s   s    1!c         C` s   d t  d  d } t |  } t |  } t | |  | d  d   d f } t | |  t | d d d   f | d j    d  S(   Ng      ?g      @y              ?i    i   y      ?      ?(   R   R   R   R   t   conj(   R,   R'   t   xt   tt   col0(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_complex_01y   s    c         C` sE   t  d  } t | d g g  t  d d  } t | d g g  d S(   s*   Scalar arguments still produce a 2D array.i
   i   N(   R   R   (   R,   R@   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_scalar_00   s    c         C` sG   t  d d d g  } t | d  } t | d g d g d g g  d  S(   Ni   i   i   (   R   R   R   (   R,   t   cR@   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_scalar_01   s    c         C` sM   t  d d d g  } t | t  d   } t | d g d g d g g  d  S(   Ni   i   i   (   R   R   R   (   R,   RD   R@   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_scalar_02   s    c         C` sP   t  d d d g  } t | t  d g   } t | d g d g d g g  d  S(   Ni   i   i   (   R   R   R   (   R,   RD   R@   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_scalar_03   s    c         C` sA   t  d d d g  } t d |  } t | d d d g g  d  S(   Ni
   i   i   i   (   R   R   R   (   R,   t   rR@   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_scalar_04   s    (	   R2   R3   R-   RB   RC   RE   RF   RG   RI   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR<   q   s   						t
   TestHankelc           B` s   e  Z d    Z RS(   c         C` s   t  d d d g  } t | d d d g d d d g d d d g g  t  d d d g d d d g  } t | d d d g d d d g d d d g g  d  S(   Ni   i   i   i    i   i   (   R   R   (   R,   R=   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-      s    1!(   R2   R3   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRJ      s   t   TestCirculantc           B` s   e  Z d    Z RS(   c         C` sJ   t  d d d g  } t | d d d g d d d g d d d g g  d  S(   Ni   i   i   (   R   R   (   R,   R=   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-      s    (   R2   R3   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRK      s   t   TestHadamardc           B` s   e  Z d    Z RS(   c      	   C` s   t  d  } t | d g g  t  d d t } t | d d g d d g g  t  d  } t | 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  t t t  d	  d  S(
   Ni   i   R*   g      ?g      i   ii    i   (   R   R   t   floatR   t
   ValueError(   R,   R=   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-      s    I(   R2   R3   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRL      s   t
   TestLesliec           B` s   e  Z d    Z d   Z RS(   c         C` s   t  t t d d g d d g g d d d g  t  t t d d d g d d g d d g g  t  t t d d g d d g  t  t t d g g   d  S(   Ni   i   i   i   i   (   R   RN   R   (   R,   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_bad_shapes   s    ..c         C` s_   t  d d d g d d g  } t d d d g d d	 d	 g d	 d d	 g g  } t | |  d  S(
   Ni   i   i   g      ?g      ?g      ?g       @g      @g        (   R   R   R   (   R,   R8   t   expected(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-      s    (   R2   R3   RP   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRO      s   	t   TestCompanionc           B` s   e  Z d    Z d   Z RS(   c         C` sb   t  t t d d g d d g g  t  t t d d d g  t  t t d g  t  t t g   d  S(   Ni   i   i    i   i   (   R   RN   R   (   R,   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRP      s    "c         C` s   t  d d d g  } t d d g d d g g  } t | |  t  d d	 d
 g  } t d d	 g d d g g  } t | |  d  S(   Ni   i   i   g       g      g      ?g        g       @g      @g      $g      (   R   R   R   (   R,   RD   RQ   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-      s    		(   R2   R3   RP   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRR      s   	t   TestBlockDiagc           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  t d  d d g d d g d d g g d d d g g  } t | 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  d  S(   Ni   i   i   i   i   i   i    (   R   R   R   (   R,   R?   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-      s    ?c         C` sH   t  d g g  } t | j t  t  t g g  } t | j t  d  S(   Ng      ?(   R   R   R*   RM   t   Truet   bool(   R,   R?   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt
   test_dtype   s    c         C` sM   t  d g g d g g  } t j d d g d d g g  } t | |  d  S(   Ni   y              ?i    (   R   t   npR   R   (   R,   t   actualt   desired(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_mixed_dtypes   s    !c         C` sm   t  d  } t | j d  t | d g g  t  d d g d  } t | d d d g d d d g g  d  S(   Ni   i   i   i   i    (   i   i   (   R   R   t   shapeR   (   R,   R8   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_scalar_and_1d_args   s
    c         C` s   t  t t d g g g  d  S(   Ni   (   R   RN   R   (   R,   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_bad_arg  s    c         C` s-   t    } t | j d  t | j d  d  S(   Ni   i    (   R   R   t   ndimt   nbytes(   R,   R8   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_no_args  s    	c         C` s   t  d d g d d g g g  d d g d d g d d g g  } t | d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g g  d  S(	   Ni   i    i   i   i   i   i   i   (   R   R   (   R,   R8   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_empty_matrix_arg  s    $c         C` s   t  d d g d d g g g  g d d g d d g d d g g t j d d g d	 d
  } t | 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 d d d d d d g d d d d d d g g  d  S(   Ni   i    i   i   i   i   i   i   R*   t   int32(   R   RW   t   zerosR   (   R,   R8   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_zerosized_matrix_arg  s    (
   R2   R3   R-   RV   RZ   R\   R]   R`   Ra   Rd   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRS      s   								t   TestKronc           B` s   e  Z d    Z RS(   c      
   C` s   t  t d d g d d g g  t d d d g g   } t | t d d d d d d g d d d d d d g g   t d d g d d g g  } t d g d g g  } t  | |  } t d d g d d g d	 d
 g d d g g  } t | |  d  S(   Ni   i   i   i   i
   i   i   i   i   i(   i!   i,   (   R   R   R   (   R,   R8   t   m1t   m2RQ   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-   +  s    9		(   R2   R3   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRe   )  s   t   TestHelmertc           B` s   e  Z d    Z d   Z RS(   c         C` s}   xv t  d d  D]e } t | d t } t j |  } t | j | j  | d d t | j j |  | d d q Wd  S(   Ni   i   t   fullt   atolg-q=(   R7   R   RT   RW   R   R   t   dott   T(   R,   R&   t   Ht   I(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_orthogonality=  s
    c         C` s   x t  d d  D] } t | d t } t |  } x | d d   d  d   f j | j f D]q } t j |  t j | | f  | } t | j | j  |  t | j j |  t j | d  d d q] Wq Wd  S(   Ni   i   Ri   i   Rj   g-q=(	   R7   R   RT   Rl   RW   R   t   onesR   Rk   (   R,   R&   t   H_fullt	   H_partialt   Ut   C(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_subspaceD  s    /&(   R2   R3   Ro   Ru   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRh   ;  s   	t   TestHilbertc           B` s   e  Z d    Z RS(   c         C` s|   t  d d	 d
 g d d d g d d d g g  } t t d  |  t t d  d g g  t d  } t | j d  d  S(   Ng      ?i   g       @g      @g      @g      @i   i    g      ?gUUUUUU?g      ?gUUUUUU?g      ?gUUUUUU?g      ?g?(   i    i    (   R   R   R   R   R   R[   (   R,   t   h3t   h0(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-   P  s    (   R2   R3   R-   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRv   N  s   t   TestInvHilbertc           B` s   e  Z d    Z d   Z RS(   c      "   C` s  t  d g g  } t t d d t |  t t d  |  t  d d g d d g g  } t t d d t |  t t d  |  t  d d d	 g d d
 d g d	 d d g g  } t t d d t |  t t d  |  t  d d d d g d d d d g d d d d g d d d d g g  } t t d d t |  t t d  |  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 g  } t t d' d t |  t t d'  |  t  d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 g d) d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH g d* d: dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW g d+ d; dJ dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de g d, d< dK dY df dg dh di dj dk dl dm dn do dp dq dr g d- d= dL dZ dg ds dt du dv dw dx dy dz d{ d| d} d~ g d. d> dM d[ dh dt d d d d d d d d d d d g d/ d? dN d\ di du d d d d d d d d d d d g d0 d@ dO d] dj dv d d d d d d d d d d d g d1 dA dP d^ dk dw d d d d d d d d d d d g d2 dB dQ d_ dl dx d d d d d d d d d d d g d3 dC dR d` dm dy d d d d d d d d d d d g d4 dD dS da dn dz d d d d d d d d d d d g d5 dE dT db do d{ d d d d d d d d d d d g d6 dF dU dc dp d| d d d d d d d d d d d g d7 dG dV dd dq d} d d d d d d d d d d d g d8 dH dW de dr d~ d d d d d d d d d d d g g  } t t d d t |  t t d  | j t  d d d  S(   Ni   t   exacti   ii   i   i	   ii   i   iLi   i   i   ii   iti  iti  iP  ii
  i   ii  iiv  i  i,i i  ii6 i4i|  i  ixiD  i   i!  ip]i) i2@il%I>õIgI   IB|I;h   I0zIxA  IPz<	Ip  IpA詽I   IIL   i y ǐI ly   I
I Dqq>  IYI PM!  I +I l  I@d%UI E|1" I@zeLI TsR IPGqiI :N(  II4I@i   I mI8$d  IsIes I V4`uIX:= I@A>I@Qq|m I =vrI`> IPcI3ap' I 0gIP8K I pM  IO{I f` I T[I  O' I3PJI YJlF
I I ҲI:۞I H{y
I 5yI  gC8IyI1/ I.ZI8$5I'}וINE.IF<4ul   #& lp-N$v  l   5  l@,@VK-
 I/b'9+II >?h:IqEIfmI gI@>kl    pd lgsxmU l    D0FZD lK|y#l_y l    xbr l&V% l    lny?Cce l@M=p- l    @@|%6 I shGl   @/.L l BAyks'9 l   | l
LjYl   iYn\"%l #5Eyl    X(l@T'3?l   @,3l Hx+/S l   pO3^#
 l    @+aF}lcJ{
;_l    P8Xy8Qo&l BIhNl    `@
oc#ldLq,Ol    pFYRal Ii9Ml     R/$Ll@<8zG 0 l   $9@t)l4l   07$$Tv0l l7>?l   "`-:M=l (^@b)l   6a;:BMlb-Kx?|#l   Z$M~ll l    l>cTAl@8HV-:vl    h{d*U lzaC<C l    dYwMfl RyUC#h.l    @)]loz+%l   @e4jT l GU
 l   `i
t,@ l Y,ch8 l   E@3I3Tl X=&@El   ~Sil    p}v l`Xfz~A`si l    86Jpsbv l $JY'ipl     tk(0lu1@<fl   w2T.g] l %\n l    PYHull ZR@
Rl   LwJl    L#(S.,# l2F=EgJl    @}ll`L\kl   @i7Qt0"l 8B3\f	l   p1&S,l     @Y?l }xl]R l   /"}+
 i   t   rtolg-q=(   R   R   R    RT   R   R   R6   RM   (   R,   t   invh1t   invh2t   invh3t   invh4t   invh5t   invh17(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR-   ^  s   																																													c      	   C` sr   xk t  d d  D]Z } t |  } t |  } t |  } t | j |  t |  d d | d d | q Wd  S(   Ni   i
   Rj   gV瞯<R{   (   R   R   R    R$   R   Rk   R   (   R,   R&   R8   R9   RD   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_inverse  s
    (   R2   R3   R-   R   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyRy   \  s   	t
   TestPascalc           B` s  e  Z d  e d  g g  e d  g g  f d e d  d  g d  d g g  e d  d g d  d  g g  f d e d  d  d  g d  d d g d  d d g g  e d  d d g d  d  d g d  d d  g g  f d e d  d  d  d  g d  d d d g d  d d d g d  d d d g g  e d  d d d g d  d  d d g d  d d  d g d  d d d  g g  f g Z d   Z d	   Z d
   Z d   Z RS(   i   i   i    i   i   i   i
   i   c         C` s   t  t |  |  t  t | d d |  t  t | d d | j  t t | d t |  t t | d t d d |  t t | d t d d | j  d  S(   Nt   kindt   lowert   upperRz   (   R   R!   Rl   R   t   False(   R,   R&   t   symt   low(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt
   check_case  s    c         C` s4   x- |  j  D]" \ } } } |  j | | |  q
 Wd  S(   N(   t   casesR   (   R,   R&   R   R   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt
   test_cases  s    c         C` s0   t  d  } t | d t d d d t  d  S(   Ni2   iib   i1   Rz   (   ii(   R!   R   R   RT   (   R,   t   p(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_big  s    c         C` sz   t  d  } t d | j d d  | j d d  d d t  d  } t d | j d d  | j d d  d d d  S(	   Ni"   i   iit   err_msgs   n = 34i#   s   n = 35(   R!   R   t   item(   R,   R   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_threshold   s    /(   R2   R3   R   R   R   R   R   R   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyR     s.   $			c          c` s   d   }  d d d g } d d d d g } xG | D]? } x6 | D]. } x% t  t g D] } |  | | | f VqQ Wq> Wq1 Wd	 d
 d d g } x0 | D]( } x | D] } |  | | t  f Vq Wq Wd  S(   Nc         S` s{   t  |  d | d | } t |  d | d | } | j t  j | j t   } t | t |   d d |  | | f d  S(   NR   Rz   R   s   n=%d  kind=%r exact=%r(   R"   R!   R6   t   objectRk   R   R   (   R&   R   Rz   t   ipR   t   e(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   check_invpascal-  s
    !t	   symmetricR   R   i   i   i   i   i   i"   i#   i2   (   RT   R   (   R   t   kindst   nsR&   R   Rz   (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_invpascal+  s    	c       	   c` s   t  d  }  t d d g d d g g  } t |  | f Vt  d d d }  t |  | d f Vt  d d d }  t |  | t d  f Vt d d	 d d
 d d d d	 g  } t  d  }  |  j |  } t j |  } t | | f Vd  S(   Ni   g      ?g      t   scaleR&   g       @t   sqrtni    i   i   i   i   i   (   R#   R   R   R   Rk   R   t   fft(   t   mRQ   R?   t   mxt   fx(    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   test_dftH  s    $t   __main__(    (    (B   t   __doc__t
   __future__R    R   R   t   numpyRW   R   R   R   R   R   R   t   numpy.testingR	   R
   R   R   R   R   R   t   scipy._lib.sixR   t   scipyR   t   scipy.specialR   t   scipy.linalgR   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   t   numpy.linalgR$   R(   R)   R4   R;   R<   RJ   RK   RL   RO   RR   RS   Re   Rh   Rv   Ry   R   R   R   R2   (    (    (    sG   /tmp/pip-build-7oUkmx/scipy/scipy/linalg/tests/test_special_matrices.pyt   <module>   s:   .4p	(/C3		