2[c@`sAdZddlmZmZmZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl mZmZmZmZmZmZmZmZddl mZmZmZmZmZddl mZddlmZmZmZm Z m!Z!ddl"m#Z#dd l$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,d Z-e)Z.d d d Z)dZ/dZ0dZ1ddddddhZ2de3fdYZ4dZ5e j6j7dgZ8e8e5de4deddgddggd eeddgd ee4d!eddgddggd eeddgd ee4d"eddgddggd eedddgddd#ggd ee4d$eddgddggd eeddgd ee4d-eddgddggd eeddgd ee4d.eddgddggd eedddgdddggd ee4d1e j9dd ee j9dd ed2dhe4d3e j6j:d4d4e j6j:d4e4d5e j6j:d/d/e j6j:d/e4d6d/d&gd(d*ggd&d/gg 7Z8e8e5de4d7edddgddd#ggd eeddgd ee4d8eddgddgd9d#ggd eedddgd ee4d:edddgddd#ggd eeddgd ee4d;eddgddgd9d#ggd eedddgd ee4d<edddgdddggd eeddgd ee4d>eddgddgddggd eedddgd ee4d@edddgdddggd eeddgd ee4dAeddgddgddggd eedddgd ee4dBedddgdddggd eeddgddggd ee4dCeddgddgddggd eeddgddgddggd ee4dDe j6j:d4dEe j6j:d4e4dFe j6j:d/dGe j6j:d/e4dHe j6j:dGd/e j6j:dGe4dIe j6j:dd*e j6j:dd2dhe4dJe j6j:d*de j6j:d*d2dhg7Z8e8e5de4dKeddgddggd ede4dLeddgddggd ede4dMedd gd d/ggd ede4dNedd gd d/ggd ede4dOe j9d d edd2dhe4dPd/d&gd&d/ggde4dQeddgddggde4dRe j6j:d/d/dg7Z8dSZ<e8e<7Z8dTZ=dUZ>e8e>7Z8dVe3fdWYZ?dXe?fdYYZ@dZe?fd[YZAd\e?fd]YZBd^e?fd_YZCd`e?fdaYZDdbe?fdcYZEddZFdeZGdfe@eCfdgYZHdheHfdiYZIdje@eCfdkYZJdleJfdmYZKdne@eCfdoYZLdpeLfdqYZMdre@eCfdsYZNdteNfduYZOdve@eCfdwYZPdxePfdyYZQdze@eCfd{YZRd|eRfd}YZSd~e@eAeCeDfdYZTdeTfdYZUde@eCfdYZVdeVfdYZWde@eAfdYZXdeXfdYZYe jZj[dgdD]Z\e j]e\^q( de3fdYZ^deBeEfdYZ_de3fdYZ`deBeEfdYZade3fdYZbde3fdYZcdecfdYZddecfdYZedeeedfdYZfde3fdYZgdecfdYZhdecfdYZidecfdYZjdefehfdYZkdefeifdYZldefejfdYZmde3fdYZndZode3fdYZpde3fdYZqdZrdZsdZtdZude3fdYZvdS(s# Test functions for linalg module i(tdivisiontabsolute_importtprint_functionN(tarraytsingletdoubletcsingletcdoubletdottidentitytmatmul(tmultiplyt atleast_2dtinftasarraytmatrix(tlinalg(t matrix_powertnormt matrix_rankt multi_dott LinAlgError(t_multi_dot_matrix_chain_order(tassert_t assert_equalt assert_raisestassert_array_equaltassert_almost_equaltassert_allclosetSkipTesttsuppress_warningscC`s1t|t|tjr't|ntjkS(N(ttypet isinstancetnptndarray(touttin_((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pytconsistent_subclasss'ii cK`sGt|jjttfkr'|}n|}t||d||dS(Ntdecimal(RtdtypeRRRtold_assert_almost_equal(tatbtsingle_decimaltdouble_decimaltkwR&((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR$s cC`s$itt6tt6tt6tt6|S(N(RRRR(R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pytget_real_dtype,scC`s$itt6tt6tt6tt6|S(N(RRRR(R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pytget_complex_dtype1scC`s|ttfkrdSdSdS(Ngh㈵>gdy=(RR(R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pytget_rtol6stsquaret nonsquaret hermitiant generalizedssize-0tstridedt LinalgCasecB`s)eZedZdZdZRS(cC`sAtt|t||_||_||_t||_dS(s A bundle of arguments to be passed to a test case, with an identifying name, the operands a and b, and a set of tags to filter the tests N(RR tstrtnameR)R*t frozensetttags(tselfR8R)R*R:((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt__init__Fs    cC`s ||j|jd|jdS(sN Run the function `do` on this test case, expanding arguments R:N(R)R*R:(R;tdo((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pytcheckQscC`sd|jfS(Ns(R8(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt__repr__Ws(t__name__t __module__tsetR<R>R?(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR6Es cC`s@|tkstdx!|D]}|j|hB|_qW|S(s^ Add the given tag (a string) to each of the cases (a list of LinalgCase objects) s Invalid tag(tall_tagstAssertionErrorR:(ttagtcasestcase((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt apply_tag[s iRg?g@g@g@R'Rtdouble_2g@Ry@iy@iy@iy@y?Rt cdouble_2iy@t0x0R:t8x8it1x1tnonarrayt single_nsq_1t single_nsq_2g@t double_nsq_1t double_nsq_2t csingle_nsq_1y"@t csingle_nsq_2y @t cdouble_nsq_1t cdouble_nsq_2tcdouble_nsq_1_2tcdouble_nsq_2_2t8x11i t1x5it5x1t0x4t4x0thsinglethdoublethcsinglethcdoublethemptyt hnonarrayt matrix_b_onlyt hmatrix_1x1cC`sg}xwtD]o}t|jtjs.q ntj|jd|jd|jg}|jdkrod}n)tj|jd|jd|jg}t|j d||d|j dhB}|j |tj|jgddj d |jj }|jdkrd}n0tj|jgddj d |jj }t|j d||d|j dhB}|j |q W|S( Niiiit_tile3R:R4t_tile213(ii(ii(tCASESR R)R!R"RR*tNoneR6R8R:tappendtreshapetshape(t new_casesRGR)R*tnew_case((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt_make_generalized_casess& ) ) 0 0c c`st|tjs!|dfVdSdg|j}d|d<|jdkrWd|dR=t Exceptiont tracebackt format_excRD(R;trequiretexcludeRGtmsg((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt check_casesQs   (R@RARhRRBR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRNstLinalgSquareTestCasecB`seZdZdZRS(cC`s#|jddhdddhdS(NRR1RR4ssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_sq_casesgscC`s#|jdddhddhdS(NRR1ssize-0RR4(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_empty_sq_casesks(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRes tLinalgNonsquareTestCasecB`seZdZdZRS(cC`s#|jddhdddhdS(NRR2RR4ssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_nonsq_casesrscC`s#|jdddhddhdS(NRR2ssize-0RR4(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_empty_nonsq_casesvs(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRps tHermitianTestCasecB`seZdZdZRS(cC`s#|jddhdddhdS(NRR3RR4ssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_herm_cases}scC`s#|jdddhddhdS(NRR3ssize-0RR4(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_empty_herm_casess(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR{s tLinalgGeneralizedSquareTestCasecB`s2eZejjdZejjdZRS(cC`s#|jdddhddhdS(NRR4R1Rssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_generalized_sq_casesscC`s|jddddhdS(NRR4R1ssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_generalized_empty_sq_casess(R@RAtpytesttmarktslowRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRst"LinalgGeneralizedNonsquareTestCasecB`s2eZejjdZejjdZRS(cC`s#|jdddhddhdS(NRR4R2Rssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_generalized_nonsq_casesscC`s|jddddhdS(NRR4R2ssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt"test_generalized_empty_nonsq_casess(R@RARRRRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRstHermitianGeneralizedTestCasecB`s2eZejjdZejjdZRS(cC`s#|jdddhddhdS(NRR4R3Rssize-0(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_generalized_herm_casesscC`s&|jddddhddhdS(NRR4R3ssize-0Rtnone(R(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt!test_generalized_empty_herm_casess(R@RARRRRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRscC`st|}|jdkr|j|jkrH|jd |jd}n2|j|jdkrn|jd }n tdtj|dtj||}xBtjt t |jd D]!}t ||||||s'(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_typess c C`sdtjfdY}tjdjddd}tjdjdddj|}tj||ddddddf}tj|ddddddf|ddddddf}t||tt ||t tj tj|ddddddf|t t tj||ddddddftjdjddd}t t tj||t t tj|dd!|dd!tjdjddj|}tj||ddddf}tj|ddddddf|ddddf}t||tt ||tjdjdd}t t tj||t t tj|dd!|dd!t t tj|ddddddf|dS( Nt ArraySubclasscB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRsiiiiii( R!R"tarangeRkRRRRRR RRR(R;RR)R*texpectedtresult((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_0_sizes*'1P 85$$(G $cC`sdtjfdY}tjdjddd}tjdjdddj|}tj||ddddddf}tj||ddddddf}t||tt ||tj||ddddddf}tj|ddddddf|ddddddf}t||tt ||dS( NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRsiiiiii( R!R"RRkRRRRRR (R;RR)R*RR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_0_size_ks'11 1P (R@RARRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs  !tInvCasescB`seZdZRS(cC`sBtj|}tt||t|tt||dS(N(RtinvRRRRR%(R;R)R*R:ta_inv((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=s (R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR stTestInvcB`seZdZdZRS(cC`s4d}x$ttttgD]}||qWdS(NcS`sDtjddgddggd|}ttj|j|dS(Nig?R'(R!RRRRR'(R'R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR>s'(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs cC`sdtjfdY}tjddtjj|}tj|}t|jj tj kt |j |j tt ||tjddtjj|}tj|}t|jj tjkt |j |j tt ||dS(NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRsiiR'(iii(ii(R!R"tzerostint_RRRRR'Rtfloat64RRlR t complex64(R;RR)tres((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs!!(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs t EigvalsCasescB`seZdZRS(cC`s5tj|}tj|\}}t||dS(N(RteigvalsteigR(R;R)R*R:tevtevaluestevectors((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=0s(R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR.st TestEigvalscB`seZdZdZRS(cC`s4d}x$ttttgD]}||qWdS(NcS`stjddgddggd|}ttj|j|tjddgddggd|}ttj|jt|dS(Nig?R'i(R!RRRRR'R/(R'R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR>8s''(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR7s cC`sdtjfdY}tjddtjj|}tj|}t|jj tj kt d|j tt |tjtjddtjj|}tj|}t|jj tjkt d |j tt |tjdS( NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRBsiiR'(iii(ii(ii(i(R!R"RRRRRRR'RRRRlR R(R;RR)R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR@s!!(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR6s tEigCasescB`seZdZRS(cC`sztj|\}}tt||tj|tj|ddddfdt|jt t ||dS(N.trtol( RRRRR!RRiR0R'RR%(R;R)R*R:RR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=Us /(R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRSstTestEigcB`seZdZdZRS(cC`s4d}x$ttttgD]}||qWdS(NcS`stjddgddggd|}tjj|\}}t|j|t|j|tjddgddggd|}tjj|\}}t|jt|t|jt|dS(Nig?R'i(R!RRRRR'R/(R'Rtwtv((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR>_s''(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR^s cC`s_dtjfdY}tjddtjj|}tj|\}}t|jj tj kt|jj tj kt |j |j t d|j tt |tjtjddtjj|}tj|\}}t|jj tjkt|jj tjkt |j |j t d |j tt |tjdS( NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRosiiR'(iii(ii(ii(i(R!R"RRRRRRR'RRRRlR R(R;RR)Rtres_v((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRms!!(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR]s tSVDCasescB`seZdZRS(c C`sd|kr&tttj|ddStj|d\}}}t|ttj|tj|ddddftj|dt |j t t ||t t ||dS(Nssize-0i.R( RRRtsvdRRR!RRiR0R'RR%(R;R)R*R:tuRtvt((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=s 5(R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRstTestSVDcB`seZdZdZRS(cC`s4d}x$ttttgD]}||qWdS(NcS`stjddgddggd|}tj|\}}}t|j|t|jt|t|j|tj|dt}t|jt|dS(Nig?R't compute_uv(R!RRRRR'R.tFalse(R'RRRtvh((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR>s'(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs cC`stjddtj}ttjtj|tjddtj}ttjtj|tjddtj}ttjtj|dS(NiR'i(ii(ii(ii(R!RRRRRR(R;R)((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs (R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs t CondCasescB`seZdZRS(cC`st|}d|kr/tttj|dStj|dt}ttj||d|ddddd ttj|d |d|ddddd ttj|d |d|ddddd tjj |}ttj|d t |j d j dt |j d j ddddd ttj|dt |j d j dt |j d j ddddd ttj|tjt |j dj dt |j dj ddddd ttj|tj t |j dj dt |j dj ddddd ttj|d tjt |d j dj dt |d j dj ddddd dS(Nssize-0R.iiR+iR,i iiitfro(.i(.i(.i(.i(.i(.i(RRRRtcondRRRR!RR|tsumtmaxtminR tsqrt(R;R)R*R:RRtcinv((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=sH   ! ! : : : : %&(R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRstTestCondcB`s,eZdZdZdZdZRS(cC`stdddgdddgdddgg}ttj|tdttj|t dttj|ddttj|d d ttj|d tjddS(Ng?iigg@iiiig?Ri i gUUUUUU?gUUUUU6@(RRRRR R!R(R;tA((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_basic_nonsvds 0cC`stjdtjdg}ddddg}ddg}x<tj||D](\}}ttj||dkqOWx0tj||D]\}}tj||qWdS( NiiRiig4&k C(ii(ii( R!RtonesRiRxRyRRR(R;tAstp_postp_negRtp((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_singulars  cC`sSddddddg}ddddg}tjd }tj|d Ns '(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRMs cC`sJtjddtj}tj|}t|dt|jjtjktj |}t|dt|djjtjkt|djjtj ktjddtj }tj|}t|dt|jjtj ktj |}t|dt|djjtj kt|djjtj kdS( NiR'g?i(ii(ii(ii(ii( R!RRRRRRR'RRtfloat32R(R;R)R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRWs     (R@RARRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR?s t LstsqCasescB`seZdZRS(cC`sd|kr&tttj||dStj|}|j\}}tj|d\}}} tj||dd\} } } } ||krt|t || t | |n t | |t| | j || |krn||krntjt tj || |dj dd}tj|}tj|jdkrd|_t | j|jqntjgjt| }t| |ttj| jtjtt| |tt| |dS( Nssize-0itrcondiiRi(i(RRRtlstsqR!RRlRRRRt__array_wrap__R|RRwRRRRt issubdtypeR'tfloatingR%(R;R)R*R:tarrRtnRRRRt residualstranktsvt expect_resids((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=ms. $  5  (R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRkst TestLstsqcB`seZdZRS(c C`s[tjddddddgddddddgddddddgddddddggj}tjddddddg}t}|jtd}tj||\}}}}t|d ktj||d d \}}}}t|d ktj||d d\}}}}t|d ktt |dkWdQXdS( Ngg?g@g@g@iis`rcond` parameter will changeiRii( R!RtTRtrecordt FutureWarningRRRRitlen( R;R)R*tsupRRRRR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_future_rconds!! $$(R@RAR&(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR stdts?bBhHiIqQefdgFDGOtTestMatrixPowercB`seZejdZeddddgZeddddgZeddddgZeeeegZe ddgddggZ ej egggdZ e ejdejdejdgZdZd Zd Zd Zd Zd ZdZdZRS(iiiiitetgtGcC`st}|jj|}tt|dd d d|jtt|d d d d|jtt|dddd|jtt|dddd|jdS(Niidi iiiilii lii lii lii (Rtrshft_1RRtrshft_0trshft_2trshft_3(R;R'tpowertrshft((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_large_powers"""cC`sYd}xI|jD]>}||j||tkr||jj|qqWdS(NcS`s9t|d}t|t|t|j|jdS(Ni(RRRR'(tMtmz((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttzs(t rshft_allRtobjecttstacked(R;R'R5tmat((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_power_is_zeros   cC`sYd}xI|jD]>}||j||tkr||jj|qqWdS(NcS`s3t|d}t||t|j|jdS(Ni(RRR'(R9R4((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR5s (R6RR7R8(R;R'R5R9((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_power_is_ones   cC`sYd}xI|jD]>}||j||tkr||jj|qqWdS(NcS`sWt|d}|jtkr$tnt}t||||t|j|jdS(Ni(RR'R7R RR(R9R4tmmul((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR5s(R6RR7R8(R;R'R5R9((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_power_is_twos   cC`sFd}x6|jD]+}||jkr||j|qqWdS(NcS`sJt|d}|jtkr$tnt}t|||t|dS(Ni(RR'R7R RRR(R9tinvmatR<((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR5s(R6tdtnoinvR(R;R'R5R9((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_power_is_minus_ones cC`s?|jj|}ttt|dttt|dgdS(Ng?i(R-RRt TypeErrorR(R;R'R9((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_exceptions_bad_powerscC`spttttjdg|dttttjdgdgg|dttttjd|ddS(Niiii(iii(RRRR!RR(R;R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_exceptions_non_squares"+cC`s<||jkrdS|jj|}ttt|ddS(Ni(R?tnoninvRRRR(R;R'R9((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_exceptions_not_invertibles(R@RAR!teyeR-R,R.R/R6RRDtblockR8R7R'R?R2R:R;R=R@RBRCRE(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR(s -  tTestEigvalshCasescB`seZdZRS(cC`stj|d}tj|\}}|jddt||dt|jtj|d}t||dt|jdS(NtLRiRtU(RteigvalshRtsortRR0R'(R;R)R*R:RRRtev2((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=s (R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRHst TestEigvalshcB`s,eZdZdZdZdZRS(cC`s4d}x$ttttgD]}||qWdS(NcS`sStjddgddggd|}tjj|}t|jt|dS(Nig?R'(R!RRRKRR'R.(R'RR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR> s'(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs cC`s|tjddgddggdtj}tttjj|ddtttjj|dtttjj|ddS(Nig?R'tUPLOtlrongtlowertupper(R!RRRRRRK(R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_invalids*cC`sVtjddgddggdtj}tjddgddggdtj}tjddgdtj}ttj}tjj|}t||d|tjj|dd}t||d|tjj|dd}t||d|tjj|dd }t||d|tjj|dd }t||d|dS( NiiR'iRRORItlRJR(R!RRR0RRKR(R;tKlotKupttgtRR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_UPLOs**cC`sdtjfdY}tjddtjj|}tj|}t|jj tj kt d|j tt |tjtjddtjj|}tj|}t|jj tjkt d |j tt |tjdS( NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR.siiR'(iii(ii(ii(i(R!R"RRRRRKRR'RRRRlR RR(R;RR)R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR,s!!(R@RARRSRXR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRNs   t TestEighCasescB`seZdZRS(c C`stj|\}}tj|\}}|jddt||tt||tj|ddddftj|dt |j tj|d\}} t||tt|| tj|ddddftj| dt |j dt |dS(NRi.RRJterr_msg( RteighRRLRRRR!RRiR0R'trepr( R;R)R*R:RtevcRRRMtevc2((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR=As / /(R@RAR=(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRY?stTestEighcB`s,eZdZdZdZdZRS(cC`s4d}x$ttttgD]}||qWdS(NcS`sitjddgddggd|}tjj|\}}t|jt|t|j|dS(Nig?R'(R!RRR[RR'R.(R'RRR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR>Ws'(RRRR(R;R>R'((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRVs cC`s|tjddgddggdtj}tttjj|ddtttjj|dtttjj|ddS(Nig?R'RORPRQRR(R!RRRRRR[(R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRS_s*cC`sttjddgddggdtj}tjddgddggdtj}tjddgdtj}ttj}tjj|\}}t||d|tjj|dd\}}t||d|tjj|dd\}}t||d|tjj|dd \}}t||d|tjj|dd \}}t||d|dS( NiiR'iRRORIRTRJR(R!RRR0RR[R(R;RURVRWRRR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRXes**cC`s_dtjfdY}tjddtjj|}tj|\}}t|jj tj kt|jj tj kt |j |j t d|j tt |tjtjddtjj|}tj|\}}t|jj tjkt|jj tjkt |j |j t d |j tt |tjdS( NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR}siiR'(iii(ii(ii(i(R!R"RRRRR[RR'RRRRlR RR(R;RR)RR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR{s!!(R@RARRSRXR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR_Us  t _TestNormBasecB`seZdZdZRS(N(R@RARiR'tdec(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR`st_TestNormGeneralcB`s5eZdZdZdZdZdZRS(cC`sattgdtttgd|jdttttgd|jddS(NgR'(RRRR'R (R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_emptys"c C`sItjdddg}tjd}tjd}||}x|D]}|j|}t|tj }tt|jj tj t |dt O}|j tdt|d}tt|jj tj t |dWdQXt|d}tt|jj tj t |dt|d}tt|jj tj t |d t|d}tt|jj tj t ||jj d |jj d t|d }tt|jj tj t ||jj d |jj dt|tj}tt|jj tj t |d qCWdS(Niit AllIntegertAllFloatgsdivide by zero encounterediig@g?ig@g?g?(R!Rt typecodesRRR Rt issubclassR'RRRRtfiltertRuntimeWarning( R;R)t exact_typest inexact_typest all_typesteach_inexact_typestattanR%((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_vector_return_types:        ))c`sddddg}ddddg}ddddg}fd }x!|||fD]}||qUWxNt|d jt|d jt|d jfD]}||qWdS( Niiiiiiiic`s*tjjt|ddjtjjt|tddjtjjt|t ddjtjjt|dddjtjjt|dddjtjjt|d ddjtjjt|d ddjtjjt|dddjdS(Nig?R&g@g?ig$@ig(@iiigi@igiig6ҭ@gQ?g6ҭ@grq?gsc?(R!ttestingRRRaR (R(R;(s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt_tests        R'(RR'(R;R)R*RRrR((R;s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_vectors'c C`stdddgdddggd|j}xddd dddtjtj gD]}gt|jdD](}t|dd|fd |^qm}tt|d |d d |gt|jd D](}t||ddfd |^q}tt|d |d d|qSWtj dd d|jj ddd}|j }xdd dddtjtj dgD]_}xVt j t| |dD]8}|\} } | d kr| |7} n| d kr| |7} n| | kr ttt|d |d |qt|d |d |} || | } | | krgt|j| D](}t|j|d | d |^qP} nEgt|j| D]+}t|j|d | jd |^q} t| | qWqxWdS(NiiiiiiR'iitordRiiR(RR'RiR!tInfRRlRRRRkRwRxt combinationsRRttakeR!(R;Rtordertkt expected0t expected1tBtndRtrow_axistcol_axisRtk_indexR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_axiss2-,BB#* ,#       BBc C`stjddd|jjddd}d}d}t|d dd d}t|d dd dd t}ttj||d |j ddd}t |j |k|j |j |ddxdd ddddtj tj gD]}xt |jD]}t|d |d |}t|d |d |d t}ttj||d |j ||t|j }d||eZejZdZdZdZdZdZRS(cC`s,tt|jggd|jddS(NR'g(RRRR'(R;((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_matrix_empty:sc C`sa|jdddgdddgg}tjd}d}||}x|D]}|j|}t|tj }tt|jj tj t |dt O}|j tdt|d}tt|jj tj t |dWdQXt|d}tt|jj tj t |dt|d }tt|jj tj t |d dt|d }tt|jj tj t |dt|tj}tt|jj tj t |dt|d }tt|jj tj t |dt|d }tt|jj tj tjj |dddqKWdS(NiiRdtfdFDg@sdivide by zero encounteredig?ig@iRRgU&,t=@R&ig?(RR!RfRRR RRgR'RRRRRhRiRq( R;R)RjRkRlRmRnRoR%((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_matrix_return_type=s@'         cC`s+|jddgddggd|j}tt|dtt|ddtt|d d tt|td tt|t d tt|dd tt|d dtt|ddtt|ddttt|dttt|dttt|ddS(NiiiiR'iTg?RRg$@g(@g@ig@igW?"@igїʄ?tnofroiigT"@gT"@(RR'RRR RR(R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_matrix_2x2ps*cC`sd|jdddgdddgdddggd|j}tt|ddtt|d ddtt|d d tt|tdtt|t dtt|ddtt|ddtt|ddtt|dddS(Nii iiiiiR'iYg?RRgB+pc?g?g333333?g?ig?g&.d?igܸՠ?g?g?gAb2"@g?gAb2"@(RR'RRR (R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_matrix_3x3s=cC`sc|jdddgdddggd|j}tjddd|jjddd}ttt|d d ttt|d d tttddgd dtttddgd dxVd dgD]H}ttt||dttt||d ttt||d qWttj t|ddttj t|ddttt|dddS(NiiiiiiR'iRiR(ii(ii(ii(iii( RR'R!RRkRRRRit AxisError(R;RR|Rx((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_bad_argss0*( R@RAR!RRRRRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyR5s    3  t _TestNormcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRstTestNorm_NonSystematiccB`s#eZdZdZdZRS(cC`s;tjddtj}tt|ddddddS(Ni R'RtigL)@R&i(R!Rt longdoubleR(R(R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_longdouble_normscC`s>tjd gdtj}tt|ddd dddS( NiiR'RtiR&iIiI(R!Rtint32R(R(R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_intminscC`stjddtj}d|dttolg|"BE>g;䡈E>(ii(ii(ii(ii(RRR!RFRRR(R;R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_symmetric_ranks"""  (R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs cC`stjjd}xtdD]}|jdd}|dddf|dddf|dddfeZejZdZdZdZdZdZRS(c C`sYt|}|j}|j\}}t||}tj|dd\}}t|j|kt|j|ktt||tt||t|j||fkt|j||fktt |||tt |j j |t j |tt j||tj|dd\} } t| j|kt| j|ktt| |tt| |t| j||fkt| j||fktt | | |tt | j j | t j |tt j| | tj|dd} t| j|ktt| |t| | dS(NtmodetcompletetreducedR(RR'RlRRtqrRR RRR!tconjR!RFttriu( R;R)ta_typeta_dtypeRRRytqRtq1tr1tr2((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pytcheck_qrs8  ((cC`s)tjd}ttjtj|dS(Nii(ii(R!RRRRR(R;R)((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_qr_emptyBscC`s|jddgddgddggdtj}tj|dd \}}t|jtjkt|jtjkt|jd kt|jd ktj|jdd \}}t|jtjkt|jtjkt|jd kt|jd kdS(NiiiiiiR'Rtraw(ii(i(ii(i( RR!RRRRR'RlR!(R;R)thttau((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyt test_mode_rawFs3cC`s|jddgddgg}|jddgddgddgg}xVdD]N}|j|}|j|}|j||j||j|jqRWxfdD]^}dd|j|}dd|j|}|j||j||j|jqWdS( Niiiiiitfdy?(RRRR!(R;R)R*R'tm1tm2((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_mode_all_but_economic\s!*      cC`sstjd}ttjtj|tjd}ttjtj|tjd}ttjtj|dS(Nii(ii(ii(ii(R!RRRRR(R;R)((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRms ( R@RAR!RRRRRR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs   &   t TestCholeskycB`seZdZdZRS(c C`sdddddg}tjtjtjtjf}xEtj||D]1\}}tjjdtjj |}tj |tj r|dtjj |}nt t t|}d|d)tj|j|j|}tj|d |}tjj|}tj||j|j}t||d d j||||d d |jdtj|jqFWdS(Niiii2i y?iiR'RZs {} {} {} {}tatolii(ii(ii(ii(i2i2(ii i (ii(R!RRRRRxRyRRtrandnRtcomplexfloatingRRR$R t transposeRRRtcholeskyRRRltfinfoteps( R;tshapestdtypesRlR'R)ttRR*((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_basic_propertyzs  !! cC`sdtjfdY}tjddtjj|}tj|}t|j|jt |j j tj kt t |tjtjddtjj|}tj|}t|j|jt |j j tjkt t |tjdS(NRcB`seZRS((R@RA(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRsiiR'(iii(iii(R!R"RRRRRRRlRR'RRR R(R;RR)R((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRs!!(R@RARR(((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyRws cC`stjdkrd}nd}xtjtjfD]}tjdd|}|j|}|jdj}t|j jdxRt j t j t j fD]8}||}t|||t|||qWq1WdS(NtlittletiR'tSt=(tsyst byteorderR!RRRFt newbyteordertbyteswapRR'RRRRR(tnativetdttRtn_arrtsw_arrtroutineR((s=/tmp/pip-build-fiC0ax/numpy/numpy/linalg/tests/test_linalg.pyttest_byteorder_checks  cC`stjddgddgg}tjddgddgg}tjddddgddd}||d<||ds        :((:      !!!*!!!*  '*'*$'$'$$'-  !!!!    0        <  '.@ , 1Y8=w$ _,   1 "