
&]\c           @` s  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l m Z d  d l	 Z	 d  d l	 m
 Z d  d l m Z d  d l m Z m Z d  d l m Z m Z d  d l m Z m Z m Z d	   Z d
 e f d     YZ d   Z d   Z d   Z d   Z d   Z d e f d     YZ d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_array_almost_equal(   t   raises(   t   solve_sylvester(   t   solve_continuous_lyapunovt   solve_discrete_lyapunov(   t   solve_continuous_aret   solve_discrete_are(   t
   block_diagt   solvet   LinAlgErrorc         C` s\   t  j j t  j j t  j j t   d |   } t j |   } t | j	    SWd QXd S(   so   
    Load npz data file under data/
    Returns a copy of the data, rather than keeping the npz file open.
    t   dataN(
   t   ost   patht   joint   abspatht   dirnamet   __file__t   npt   loadt   dictt   items(   t   namet   filenamet   f(    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt
   _load_data   s    $t   TestSolveLyapunovc           B` sN  e  Z e j d  d g d d g g  e j d d g d d g g  f e j d' d
 g d( d g g  e j d) d* g d+ d
 g g  f e j d d
 g d d g g  e j d, d- g d. d
 g g  f e j d/ d
 g d0 d g g  e j d
 d
 g d d
 g g  f e j 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  e j 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  f e j d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; g d< d= d> d? d@ dA dB dC dD dE dF g dG dH dI dJ dK dL dM dN dO dP dQ g dR dS dT dU dV dW dX dY dZ d[ d\ g d] d^ d_ d` da db dc dd de df dg g dh di dj dk dl dm dn do dp dq dr g ds dt du dv dw dx dy dz d{ d| d} g d~ d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g g  e j d  f e j d d  g d d" g g  e j d d g  j e j d d g  j j f e j d d  g d d" g g  e j e j d d g  j e j d d g  j j  f g Z d#   Z d$   Z	 d d%  Z d&   Z RS(   i   i   i   i   i	   i
   i   i   g      ?y              ?g       @g      @y              @g      @y               @g      i   i   i   i    i   g?y                gK?gˡE?g㥛 ?gMb?g)\(?gZd;O?gl?gy&1?g~jt?g{Gz?g        ic         C` sd   t  j d  } t  j d  } t t t | |  t t t | |  t t t | t  j d   d  S(   Ni   i   (   i   i   (   R   t   onest   eyet   assert_raisest
   ValueErrorR   (   t   selft   nsqt   sq(    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt$   test_continuous_squareness_and_shapeY   s
    c         C` sH   t  | |  } t t j | |  t j | | j   j    |  d  S(   N(   R   R   R   t   dott   conjt	   transpose(   R!   t   at   qt   x(    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   check_continuous_case`   s    c         C` sR   t  | | d | } t t j t j | |  | j   j    | d |  d  S(   Nt   methodg      (   R   R   R   R%   R&   R'   (   R!   R(   R)   R,   R*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   check_discrete_casee   s    c         C` s   x} |  j  D]r } |  j | d | d  |  j | d | d  |  j | d | d d d |  j | d | d d d q
 Wd  S(   Ni    i   R,   t   directt   bilinear(   t   casesR+   R-   (   R!   t   case(    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt
   test_casesj   s
    y      ?      ?y      @      y       @       y       @       @y            y       @       y       @       @y            y      ?      ?y      @      y?        yK?        yˡE?        y㥛 ?        yMb?        y)\(?        yZd;O?        yl?        yy&1?        y~jt?        y{Gz?        y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                y                y                y                y                y                y                y                y                y                y                y      ?        y                g      g      N(   t   __name__t
   __module__R   t   arrayR   t   matrixt   TR0   R$   R+   t   NoneR-   R2   (    (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyR      sl   !!!!<*<-1@		c    
      C` s
  t  d  }  t  d  } t  d  } t  d  } t  d  } t j d g d  t j d g d g g  t d d	  d d  f t j d
 d g d d g g  t j d g d g g  t j d d g d d g g  d d  f 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 g d d g d d g 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  t j d+  d  f t j d, d- d d d d d d g d. d/ d0 d d d d d g d d. d1 d0 d d d d g d d d. d2 d3 d d d g d d d d4 d5 d6 d d g d d d d d4 d7 d8 d g d d d d d d4 d9 d: g d d d d d d d4 d; g g  t j d< d d= d> d? d@ d> dA g dB dC dD dE dF dG dH dI g g  j dJ t j d dK dK dK dL dK dK dM g dK d dK dK dM dK dK dK g dK dK d dK dK dL dK dK g dK dK dK d dK dK dK dK g dL dM dK dK dM dK dK dK g dK dK dL dK dK dM dK dK g dK dK dK dK dK dK dM dK g dM dK dK dK dK dK dK dM g g  t j d+  d  f t j dN dO dK dK dP dK dK dK dQ g	 dR dS dK dK dT dK dK dK dU g	 dV dW dX dK dY dK dK dK dZ g	 d[ d\ d] d^ d_ dK dK dK d` g	 da db dc dd de dK dK dK df g	 d d d d dg dh dK di dK g	 d d d d d dg dh d d g	 d d d d d dj dK dk d g	 d d d d dj dK dK dl dk g	 g	  t j dm dn do g dp dq dK g dr ds dK g dt du dK g dv dw dK g dK dK dK g dK dK dK g dK dK dK g dK dK dK g g	  t j d  t j d  d  f |  dx |  dy |  dz |  d{ d  f t j d d g d d| g g  t j d} g d g g  t j d  d d~ f t d d  t j dM dK g dJ dm g g  t j d d g d d g g  t j d  t d} d  d  f t j d d g d d g g  t j d g d g g  t j d+  d d  f t j d d g d d g g  t j d+  t j d+  t j d+  d  f t j d d g d
 d+ g g  t j d g d g g  t j d d g d d| g g  d d  f t j d d d g d d d g dK d d g g  d t j d  t j d d| d| g d| d d| g d| d| d g g  j	 t j d} d d g   j	 t j d d| d| g d| d d| g d| d| d g g   d t j d  d d f 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 g  j t j d d d d g  d d  f 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  t j d  d d  f | dx | dy | dz | d{ d  f t j d d d d t j d d  d| t j
 t d t j d  d   t j d d d d t j d  t j d  t j d  d  f t j t j d  d  t j t j d d   t j d d  t j d d  j d d f | dx | dy | dz | d{ d  f | dx | dy | dz | d{ d f | dx | dy | dz | d{ d f g } d } d   } x+ t |  D] \ } }	 | |	 | |  q
Wd  S(   Ns   carex_6_data.npzs   carex_15_data.npzs   carex_18_data.npzs   carex_19_data.npzs   carex_20_data.npzg      ?i   i    g       @i   i   g      g      ii	   i   g      @g=
ףp=g(\?gQg rhgףp=
gq=
ףp@g rh?g/nRgGzgzGʿg
ףp=
?ggffffffgMbgQ?g/$@g7A`@gjt?gZd;O?g/$@g|?5^?gy&1?gx&1?g&1?gsh|??i   gʡEg!rh?gNbX9?g7A`gOn?gSgS㥛g`"?g/$?g=
ףp=g rh?gK7gE?g^I+gtV?gJ+gQ@gB@gp=
ף@gzG@g
ףp=
@g      @g
ףp=
gRQgffffffg(\g(\
g(\g{GzgGzgMbP?g        g      ?g?g~jtg{Gz@g- gףp=
?g/$ֿgZd;O?gQg
ףp=
?gA`ТgMb.@g-Fggq=
ףp@g7A`5g!rhA@gV-տg(\g1g(\@g+Ngy&1X@gT㥛Ġg(\?g/$Jgffffff4@g     W@gffffffbgJ@g)@g?g2@g{Gz?gI+gSÿg~jth?g/$g;On?gh|?5g~jt?g#~jĿg rh?g{Gzܿt   At   Bt   Qt   Rg       gư>s   Bad residual accuracygg{Gzid   i  i'  g    .Ag  ?iig    ZAg    >Ag       g    `VAg    >g    SAs   Bad Residual Accuracyg?gGz?g    g    ag    Ag    .gưi@   t   ki>   i   i   i   i   i   i   i   i   c   
      S` s   |  \ } } } } } | r. t  j d |  n  t | | | |  } | j |  | j   j j |  | } | j |  }	 | |	 j t t j |  |	 j   j   8} t	 | t j
 |  d | d S(   s3   Checks if 0 = XA + A'X - XB(R)^{-1} B'X + Q is truet   reasont   decimalN(   t   pytestt   xfailR   R%   R&   R7   R   R   t
   atleast_2dR   t
   zeros_like(
   R1   t   decR(   t   bR)   t   rt   knownfailureR*   t   rest   out_fact(    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   _test_factory'  s    ).(   i   i   (   i   i   (   i   i   (   i   i   (   i>   i>   (   i   (   i   i   i   i   i   i   Ni   i   i   i   Ni	   i   i   i   Ni   NN(   R   R   t   diagR5   R
   R8   R   R7   R   R%   t   rot90t   zerost   flipudt	   enumerate(
   t   mat6t   mat15t   mat18t   mat19t   mat20R0   t   min_decimalRJ   t   indR1   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_solve_continuous_arer   s   0!!!$!!$"37"a""
 	c    	   !   C` s  t  j d d g d d g g  t  j d g d g g  t  j d d g d d g g  t  j d g g  d  f t  j d d g d d g g  t  j d g d g g  t  j d d g d d g g  t  j d g g  d  f t  j d	 d g d d g g  t  j d d g d d	 g g  t  j d d g d d g g  t  j d d g d d	 g g  d  f t  j d
 d d g d d d g d d d g g  t  j d g d g d g g  t  j d	  t  j d  d  f t  j d d	 g d d g g  t  j d g d g g  t  j d d g d d g g  t  j d g g  d  f t  j d d g d d g g  t  j d d g d d g g  t  j d  d g d d! g g  t  j d d g d d	 g g  d  f t  j d d g d d g g  t  j d g d g g  t  j d d g d d g g  t  j d g g  d  f t  j d d g d d g g  t  j d d g d d g g  t  j d" d" g d" d# g g  d t  j d d	 g d	 d g g  d  f t  j d d g d d g g  t  j d g d g g  t  j d d g d d g g  t  j d g g  d  f 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! g d+ d, g d- d. g d/ d+ g g  t  j d0 d d d1 g d d2 d3 d g d d3 d4 d g d1 d d d5 g g  t  j d  d  f t  j d6 d7 d8 d9 g d: d; d< d= g d> d? d@ dA g dB dC dD dE g g  t  j dF dG g dH dI g dJ dK g dL dM g g  t  j d  dN t  j d  d  f t  j dO dP dQ dR g dS dT dU dV g dW dS dX dY g dW dW dW dZ g g  t  j dS d[ d[ d[ g dW dS d[ d[ g dW dW dS d[ g dW dW dW dS 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  t  j d  d  f t  j d^ d_ d` da db g dc dd de df dg g dh di dj dk dl g dm dn do dp dq g dr ds dt du dv g g  dN t  j dw dx g dy dz g d{ d| g d} d~ g d d g g  dN t  j d\  t  j d  d  f t  j t  j d  t  j d d g d d  t  j t  j d  t  j d g d g d g g   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 d d d d d d g d d d d d d g g  t  j d	 d g d d g g  d  f d t  j d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d d d d g	 d d d d d d 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 d d d g d d d g d d d g d d d g g	  d t  j d d d d d d d d d g	  t  j d	  d  f t  j d d g d d g g  t  j d g d g g  t  j d  t  j d g g  d  f t  j d d d g d d d g d d d# g g  d t  j d	  d t  j d	  d t  j d	  d  f t  j d d d d d g d d d d g d d d d g d d d d g g  t  j d g d g d g d g g  t  j d d d d g  t  j d g g  d  f t  j d d d t  j t  j d d   t  j d  t  j d g g  d  f g }  d} d   } x+ t |   D] \ } } | | | |  qWt  j t  j	 d  } d | d<t  j d d d g d d d g g  j
 } d t  j |  t  j d d d g  } t  j d d+ g  } t t t | | | |  d  S(  Ni   i   y               @i    y              iy               y              ?i   gX=XI?gP?g'9ԭf?gҍK?gh2?gNցZ?gS?gs ,?g^L^?g=S?g>%S?gFB?i   g      g      i	   i   g ~:p?g2w-!?g5^I@gx&1gZd;O@g{Gzt?g{Gz?ii   i   gV-?gx&?gx&g/$?g/$ÿgF%uk?g?gǺFg{Gz?g<,Ԛ}?gǺfgQ?gZd;Ͽg+?g=
ףp=?g+?gS㥛?gPn?g/tgM?g[A+QgϷK?gH`?g$([gu?gY9}g_":?g!'>տgCK?g_L@geXgg+пg Tfn?g`[H?gQnHg	v>g}k,gUW;g{/L	gOaeRN?g{Gz?g333333ggg>Qg      ?g333333?g?gG)3@g        g?g {\f@ggR@g      i   i   g5^IW@gY8m?g&S?g&S:?g~jt?g&1lD@gjtD@g/$0@g1w-!@ge`TR'?gvo(@g~jtS:@gPnB@g\(/@gjt(@gm{r@gK)@g/$5;@gx&q5@grh|D@gNbX9?g?g      ?g\C@gRW@gJY8?gHPgH@g$(~g/$@g
ףp=
gec]@gffffffgx$(~?g/L
FR=   gMbP?g0@g     `@gGz.'@g]Fx?g\(Bg#J{/L?g+@g"@g33333#S@g33333@gq=
ףp)@g"u?gGzDg#?gQ@g"@g_g     Xv@i1  gHzG?g33333Yg/$?g33333'@gQ2@g     vg33333σ@g
ףp=R@g@g     qgMbX9@gQ?@g)\hH@i@g@g`gScg{GQ@g;On@gzG!U@gy_@g33333Äg=
ףp=\@g)\8VgEgGzU@g333333+@g	b@gffffffY@g33333yi  g{GZKg+g(\P@g{G(@gz6?gGzX@g{GjQ@g|fg33333r@gGz7g(\gQKN@g)\(6@g̼j@gQA@gug33333#@g{GFgmgffffffZ@g\(3@g33333ck@gfffffj@g
ףp=
@g cZB>gQTgT㥛 ?gd;Ogףp=
gʡE?g=
ףp=*gn!@gA`"@gq=
ףAg8@gGz$@g     0Wg33333P@gZd;@gQNgQ+C@g7A`@g
ףp=jBg
ףp=J4@gK7?gGz/gsh|@gv/@gHzG>gzGa-@i2   g    .Ai   i
   ii   ig    חAg:0yE>g      ?id   i   i   i   i   c   	      S` s   |  \ } } } } } | r. t  j d |  n  t | | | |  } | j   j j | j |   | | } | | j   j j | j |   j t | | j   j j | j |   | j   j  j | j |    8} t | t j	 |  d | d S(   s5   Checks if X = A'XA-(A'XB)(R+B'XB)^-1(B'XA)+Q) is trueR>   R?   N(
   R@   RA   R	   R&   R7   R%   R   R   R   RC   (	   R1   RD   R(   RE   R)   RF   RG   R*   RH   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyRJ     s    )$Mi   gffffffiy      ?       y      ?      ?y      ?      gUUUUUU?gF]tE?gqq?g:0yE>(   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i
   (   i   i   (   i    i   (   R   R5   R8   R   t   kronRK   RN   RO   t   triuR   R7   t	   ones_likeR   R   R   (	   R0   RU   RJ   RV   R1   R9   R:   R;   R<   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_solve_discrete_are7  sN   "							-3	%'$ 	
*)c          C` s  t  j d d d g d d d g d d d	 g g  t  j d
 d g d d g d d g g  t  j d  t  j d  t  j d d d g d d d g d d d g g  t  j d  d  f t  j d d d g d d d g d d d	 g g  t  j d
 d g d d g d d g g  t  j d  t  j d  t  j d d d g d d d g d d d g g  t  j d  d  f g }  d } d   } x+ t |   D] \ } } | | | |  qWd  S(    Ng? ??g[,Y?g7h?g;)ƣ?g7j*0	<?gɚ&ꢡ?gڠݸ?g*[K?gfSdc?g6Wtk?g]p?g;?g/LX?g	Gr?gm!#{?i   i   gGY?g X.e?g6u?g?gp?gv?g<d&?g?g2?i
   c         S` s  |  \ } } } } } } } | r4 t  j d |  n  t | | | | | |  }	 | j   j j |	 j |   | j   j j |	 j |   | }
 | j   j j |	  j |  | } |
 | j t t j |  | j   j   8}
 t	 |
 t j
 |
  d | d S(   s5   Checks if X = A'XA-(A'XB)(R+B'XB)^-1(B'XA)+Q) is trueR>   R?   N(   R@   RA   R   R&   R7   R%   R   R   RB   R   RC   (   R1   RD   R(   RE   R)   RF   t   et   sRG   R*   RH   RI   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyRJ   >  s    D%.(   i   i   (   i   i   (   i
   i
   (   R   R5   R   RM   R8   R   RO   (   R0   RU   RJ   RV   R1   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt%   test_solve_generalized_continuous_are  s<    			c          C` s  t  d  }  t j d d d g d d d g d d	 d
 g g  t j d d g d d g d d g g  t j d  t j d  t j d d d g d d d g d d d g g  t j d$  d  f t j d d d g d d d g d d	 d
 g g  t j d d g d d g d d g g  t j d  t j d  t j d d d g d d d g d d d g g  t j d%  d  f |  d |  d |  d |  d d  |  d  d  f g } d& } d#   } x+ t |  D] \ } } | | | |  qWd  S('   Ns   gendare_20170120_data.npzg? ??g[,Y?g7h?g;)ƣ?g7j*0	<?gɚ&ꢡ?gڠݸ?g*[K?gfSdc?g6Wtk?g]p?g;?g/LX?g	Gr?gm!#{?i   i   gGY?g X.e?g6u?g?gp?gv?g<d&?g?g2?R9   R:   R;   R<   t   Si   i   c         S` sx  |  \ } } } } } } } | r4 t  j d |  n  t | | | | | |  }	 | d k rt t j | j d  } n  | d k r t j |  } n  | j   j	 j
 |	 j
 |   | j   j	 j
 |	 j
 |   | }
 |
 | j   j	 j
 |	 j
 |   | j
 t | | j   j	 j
 |	 j
 |   | j   j	 j
 |	 j
 |   | j   j	   8}
 t |
 t j |
  d | d S(   s5   Checks if X = A'XA-(A'XB)(R+B'XB)^-1(B'XA)+Q) is trueR>   i    R?   N(   R@   RA   R	   R8   R   R   t   shapeRC   R&   R7   R%   R   R   (   R1   RD   R(   RE   R)   RF   R\   R]   RG   R*   RH   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyRJ   {  s    D(%5(   i   i   (   i   i   (   i   i   i   (   R   R   R5   R   RM   R8   R   RO   (   t   mat20170120R0   RU   RJ   RV   R1   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt#   test_solve_generalized_discrete_areN  sL    			c          C` s1   d   }  d   } d   } d   } d   } d  S(   Nc       	   S` s   t  j d  }  t  j d  } x{ t t f D]m } t t | |  d d d  t t | | | |  d  t t | | | | |   t t | | | | | |   q+ Wd  S(   Ni   i   i   (   i   i   (   R   R   R   R   R	   R   R    (   R"   R#   R*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_square_shape  s    c       
   S` s   t  j d  }  t  j d  } x t t f D] } t t | | |  d d  t t | | | | | | |   t t | | | t  j d  |  t t | | | | t  j d   t t | | | | | t  j d   q+ Wd  S(   Ni   i   i   i   (   i   i   (   R   R   R   R   R	   R   R    (   R"   R#   R*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_compatible_sizes  s    ""c          S` sw   t  j d  j d d  }  t  j d  } xF t t f D]8 } t t | | | |  |  t t | | | | |   q7 Wd  S(   Ni	   i   (   R   t   aranget   reshapeR   R   R	   R   R    (   t   nsymt   symR*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_symmetry  s
    c       	   S` s   d t  j d  }  |  d c d 8<t  j d  } x0 t t f D]" } t t | | | | | |   q? Wt t t | | | |   d  S(   Ng   mBi   i   i   (   i   i   (   i   i   (   R   R   R   R   R	   R   R    (   t   singR#   R*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_singularity  s     c       
   S` s   t  j d  t  j }  t  j d  } x t t f D] } t t | |  | | |  t t | | |  | |  t t | | | |  |  t t | | | | |   t t | | | | | |   t t | | | | | | |   q2 Wd  S(   Ni   (   i   i   (   R   R   t   nanR   R   R	   R   R    (   t   nmR#   R*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_finiteness  s    (    (   Rc   Rd   Ri   Rk   Rn   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_are_validate_args  s
    			
			t   TestSolveSylvesterc           B` s  e  Z e j d  d g d d g g  e j d d g d d g g  e j d d g d	 d
 g g  f e j d d d d g d d d d g d d d d g d d d d g g  e j d d d d g d d d d g d d d d g d d d  d  g g  e j d d d d g d d d d g d d d d g d d d d g g  f e j d d g d d g g  e j d d g d d g g  e j d  d! g d" d g g  f e j d d g d d g g  e j d d g d d g g  e j d# d$ g d% d g g  f e j d& d g d' d g g  e j d d g d d g g  e j d( d) g d* d g g  f e j d+ d g d, d g g  e j d d g d d g g  e j d d g d d g g  f e j d d  d g d d d g d d d g g  e j d d g d d g g  e j d  d g d d g d d g g  f e j d d d- g d d d g d d d g g  e j d d g d d. g g  e j d  d g d d g d d/ g g  f g Z d   Z d   Z d   Z RS(0   i   i   i    i   i   i   i   i	   i
   i   i   g      ?g       @g        g      @iiy              ?y              @g      @g      y               @g      @i   i   y              @y              @c         C` s?   t  | | |  } t t j | |  t j | |  |  d  S(   N(   R   R   R   R%   (   R!   R(   RE   t   cR*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt
   check_case  s    c         C` s7   x0 |  j  D]% } |  j | d | d | d  q
 Wd  S(   Ni    i   i   (   R0   Rr   (   R!   R1   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyR2     s    c         C` s   t  j d d g d d g g  } t  j d g g  } t  j d d g  j d d  } t | | |  } t | t  j d d g  j d d   d  S(   Ng      ?g        g       @ii   (   R   R5   Rf   R   R   (   R!   R(   RE   Rq   R*   (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   test_trivial  s
    !!y      ?      ?y      @      y       @       y       @       @y            y       @       y       @       @y            y      ?      ?y      @      y       @       y       @       @y            y      ?      ?y      @      y      @       @y      @      y      @      @(   R3   R4   R   R5   R0   Rr   R2   Rs   (    (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyRp     sH   !!!!!0*00		(   t
   __future__R    R   R   R   t   numpyR   t   numpy.testingR   R@   R   R   t   scipy.linalgR   R   R   R   R	   R
   R   R   R   t   objectR   RW   R[   R^   Rb   Ro   Rp   (    (    (    s>   lib/python2.7/site-packages/scipy/linalg/tests/test_solvers.pyt   <module>   s"   	W			2	D	1