bg/dZddlZddlZddlZddlZddlZddlZddlZddlZ ddlm Z m Z m Z m Z mZmZmZmZddlmZddlmZmZmZmZddlmZddlmZmZmZmZmZddlm Z dd l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+d Z,e&Z-dd Z&dZ.dZ/dZ0hdZ1GddZ2dZ3e j45dgZ6e6e3de2de ddgddgge e ddge e2de ddgddgge e ddge e2de ddgddgge e gdgd ge e2d!e d"d#gd$d%gge e d&d"ge e2d'e d"d#gd$d%ggee d&d"gee2d(e d"d#gd$d%ggee gd)gd*gee2d+e j7d,e e j7d-e d.h/e2d0e j48d1d1e j48d1e2d2e j48d3d3e j48d3e2d4d3d5gd6d7ggd5d3gg z Z6e6e3d8e2d9e gd:gd ge e ddge e2d;e ddgddgde e2d?e gd:gd ge e ddge e2d@e ddgddgde e2dAe gdBgdCge e d&d"ge e2dDe dEdFgdGdHgdIdJgge e gdKe e2dLe gdBgdCgee d&d"gee2dMe dEdFgdGdHgdIdJggee gdKee2dNe gdBgdCgee d&d"gdOdPggee2dQe dEdFgdGdHgdIdJggee d&d"gdOdPgdOdPggee2dRe j48d1dSe j48d1e2dTe j48d3dUe j48d3e2dVe j48dUd3e j48dUe2dWe j48dd7e j48dd.h/e2dXe j48d7de j48d7d.h/gz Z6e6e3dYe2dZe ddgddgge de2d[e ddgddgge de2d\e dd#gd]d3gge de2d^e dd#gd]d3ggede2d_e j7d,e dd.h/e2d`d3d5gd5d3ggde2dae ddgddggde2dbe j48d3d3dgz Z6dcZ9e6e9z Z6ddZ:deZ;e6e;z Z6GdfdgZ<Gdhdie<Z=Gdjdke<Z>Gdldme<Z?Gdndoe<Z@Gdpdqe<ZAGdrdse<ZBdtZCduZDGdvdwe=e@ZEGdxdyeEZFGdzd{e=e@ZGGd|d}eGZHGd~de=e@ZIGddeIZJGdde=e@ZKGddeKZLGddZMGdde=e@ZNGddeNeMZOGdde?eBZPGddePeMZQGdde=e@ZRGddeRZSGdde=e>e@eAZTGddeTZUGdde?eBZVGddeVZWGdde=e@ZXGddeXZYGdde=e>ZZGddeZZ[ej\]dddDGddZ^Gdde?eBZ_GddZ`Gdde?eBZaGddZbGddZcGddecZdGddecZeGddeeedZfGddZgGddecZhGddecZiGddecZjGddefehZkGdÄdefeiZlGdńdefejZmGdDŽdȦZndɄZoGdʄd˦ZpGd̄dͦZqd΄Zrej\se+dϬЦdфZtd҄Zuej\se+dӬЦej\jvdԄZwGdՄd֦ZxGdׄdئZyGdلdڦZzdۄZ{ej\|dܬЦd݄Z}ej\~e* dެЦd߄ZdS)z# Test functions for linalg module N)arraysingledoublecsinglecdoubledotidentitymatmul)swapaxes)multiply atleast_2dinfasarray)linalg) matrix_powernorm matrix_rank multi_dot LinAlgError)_multi_dot_matrix_chain_order) assert_ assert_equal assert_raisesassert_array_equalassert_almost_equalassert_allclosesuppress_warningsassert_raises_regex HAS_LAPACK64IS_WASMct|t|tjrt|n tjuSN)type isinstancenpndarray)outin_s q/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/linalg/tests/test_linalg.pyconsistent_subclassr*s9 99jbj&A&A)c j ** c ~t|jjttfvr|}n|}t ||fd|i|dS)Ndecimal)rdtyper#rrold_assert_almost_equal)absingle_decimaldouble_decimalkwr/s r)rr$sMqzz 111  Aq88'8R88888r+crtttttttti|Sr")rrrrr0s r)get_real_dtyper9,s& FFF VWf ..3 55r+crtttttttti|Sr")rrrrr8s r)get_complex_dtyper;1s& GVW Wgw 005 77r+c*|ttfvrdSdS)Ngh㈵>gdy=)rrr8s r)get_rtolr=6s !!!tur+>squarestrided hermitian nonsquare generalizedsize-0c4eZdZefdZdZdZdS) LinalgCasectt|t||_||_||_t ||_dS)z 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$strnamer2r3 frozensettags)selfrHr2r3rJs r)__init__zLinalgCase.__init__FsB  4%%&&& dOO r+c@||j|j|jdS)zN Run the function `do` on this test case, expanding arguments rJN)r2r3rJ)rKdos r)checkzLinalgCase.checkQs' 4646 ******r+cd|jdS)Nz )rHrKs r)__repr__zLinalgCase.__repr__Ws+ty++++r+N)__name__ __module__ __qualname__setrLrPrTr+r)rErEEsO(+ $ $ $ $+++ ,,,,,r+rEcV|tvs Jd|D]}|j|hz|_|S)z^ Add the given tag (a string) to each of the cases (a list of LinalgCase objects) z Invalid tag)all_tagsrJ)tagcasescases r) apply_tagr_[s= (???M???&&I% Lr+r>r?@@@r8rdouble_2)rbrard)rcrd@r?@y@@y@@y@@@?r cdouble_2)rhrgy?@)y?y?y?0x0rrrrCrN8x81x1nonarrayrA single_nsq_1)rarbrc single_nsq_2g@rf)rbrarc double_nsq_1 double_nsq_2 csingle_nsq_1)??@@@)y@y@"@y@@ csingle_nsq_2rzr{r|y@"y@y@ @)rhrgr| cdouble_nsq_1 cdouble_nsq_2cdouble_nsq_1_2y?y@cdouble_nsq_2_28x11 1x55x10x44x0r@hsinglehdoublehcsingley@hcdoublehempty hnonarray matrix_b_only hmatrix_1x1cg}tD]}t|jtjs#tj|jd|jzd|jzg}|jd}n,tj|jd|jzd|jzg}t|jdz|||j dhz}| |tj|jgdzdz d|jj z}|jd}n@tj|jgdzdz d|jj z}t|jd z|||j dhz}| ||S) Nrrrsr,_tile3rBrNrsrr_tile213) CASESr$r2r%r&rr3rErHrJappendreshapeshape) new_casesr^r2r3new_cases r)_make_generalized_casesrsI##$&"*--   Hdfa$&j!df*5 6 6 6>AA$&!df*a$&j9::Adi(2Aq#'9 #>@@@""" HdfX\A% & & . .v /D E E 6>AA$&A)**226DFL3HIIAdi*4a#'9 #>@@@"""" r+c#0Kt|tjs|dfVdSdg|jz}d|d<|jdkrd|d<|jdkrd |d <t jt |D]$}d t|j|D}t d |D}tj ||j }| tj  d||}||d<| |j}ttj||k|ddd|DzfV|jdkrV|jddkrEt%|j}d|d<tjj||}|dfV|jdkrV|jddkrEt%|j}d|d<tjj||}|dfV|jdkr]|jdddkrJt%|j}d|d<d|d<tjj||}|dfV&dS)z< Generate cartesian product of strides for all axes nopNrp)rprsrprr)rprc8g|]\}}t||zSrY)abs).0r2r3s r) z%_stride_comb_iter..s&BBBDAqSQZZBBBr+c0g|]}tdd|Sr")slice)rrepeats r)rz%_stride_comb_iter..s$HHHfdD&11HHHr+r8l>[=.stride__cg|]}d|zS)z%+drY)rjs r)rz%_stride_comb_iter..(s'C'C'Ca 'C'C'Cr+r)strides stride_xxx_0stride_xxx_0_xrprpstride_xxx_0_0)r$r%r&ndim itertoolsproducttuplezipremptyr0viewuint32fill __class__ralljoinlistrlib stride_tricks as_strided)x stride_setrepeats new_shapeslicesxiss r)_stride_comb_iterr s a $ $h!&JJrNvzz# 2vzz 2$eJ&7&78''BBC,A,ABBB HHHHHIIXiqw / / /   +++ Z3 WWQ[ ! !rQw   )chh'C'C7'C'C'CDDDDDDD 6Q;;172;!++QYAAbE%00A0>>Bn$ $ $ $ 6Q;;172;!++QYAAbE%00A0>>B&& & & & 6Q;;173B3<611QYAAbEAbE%00A0>>B&& & & &;''r+c  g}tD]x}t|jD]a\}}t|jD]G\}}t |jdz|zdz|z|||jdhz}||Hby|S)Nrr?rN)rrr2r3rErHrJr)rr^r2a_labelr3b_labelrs r)_make_strided_casesr=sI+++DF33 + +JAw/77 + + 7%di#o&?#&E&OQRTU+/9 {+BDDD  **** + + r+c>eZdZeZeefdZdS)LinalgTestCasec|jD]u}|j|z|kr|j|zr ||j8#t$r1}d|d}|t jz }t||d}~wwxYwdS)zx Run func on each of the cases with all of the tags in require, and none of the tags in exclude zIn test case: z N) TEST_CASESrJrPrO Exception traceback format_excAssertionError)rKrequireexcluder^emsgs r) check_caseszLinalgTestCase.check_casesQs O 1 1Dy7"g--y7"  1 47#### 1 1 13t333y+---$S))q0 1 1 1sA A; ,A66A;N)rUrVrWrrrXrrYr+r)rrNs>J"%#%%111111r+rceZdZdZdZdS)LinalgSquareTestCasec:|dhddhdS)Nr>rBrCrrrrSs r) test_sq_casesz"LinalgSquareTestCase.test_sq_casesgs5 ("/!:  < < < < rCrBrrrSs r)test_empty_sq_casesz(LinalgSquareTestCase.test_empty_sq_casesks5 (H!5"/  2 2 2 2 2r+N)rUrVrWrrrYr+r)rre2<<<22222r+rceZdZdZdZdS)LinalgNonsquareTestCasec:|dhddhdS)NrArBrCrrrSs r)test_nonsq_casesz(LinalgNonsquareTestCase.test_nonsq_casesr5 +"/!:  < < < < rCrrrSs r)test_generalized_sq_casesz9LinalgGeneralizedSquareTestCase.test_generalized_sq_casess5 -!:"*  - - - - -r+c6|hddS)N>r>rBrCrrrSs r)test_generalized_empty_sq_casesz?LinalgGeneralizedSquareTestCase.test_generalized_empty_sq_casess& !D!D!DEEEEEr+N)rUrVrWpytestmarkslowrrrYr+r)rrsY [--- [FFFFFr+rcbeZdZejjdZejjdZdS)"LinalgGeneralizedNonsquareTestCasec:|ddhdhdS)NrBrArCrrrSs r)test_generalized_nonsq_casesz?LinalgGeneralizedNonsquareTestCase.test_generalized_nonsq_cases5 -!="*  - - - - -r+c6|hddS)N>rArBrCrrrSs r)"test_generalized_empty_nonsq_caseszELinalgGeneralizedNonsquareTestCase.test_generalized_empty_nonsq_casess& !G!G!GHHHHHr+N)rUrVrWrrrrrrYr+r)rrsY [--- [IIIIIr+rcbeZdZejjdZejjdZdS)HermitianGeneralizedTestCasec:|ddhdhdS)NrBr@rCrrrSs r)test_generalized_herm_casesz8HermitianGeneralizedTestCase.test_generalized_herm_casesrr+c:|hddhdS)N>r@rBrCnonerrrSs r)!test_generalized_empty_herm_casesz>HermitianGeneralizedTestCase.test_generalized_empty_herm_casess7 !G!G!G"(  + + + + +r+N)rUrVrWrrrrr rYr+r)rrsT [--- [+++++r+rct|}|jdkr|j|jkr |jdd|jddz}n2|j|jdzkr|jdd}ntdt j|t j||}tjtt|jddD]!}t||||||<"|St||S)NrsrrpzNot implemented...r8r) rrr ValueErrorr%r common_typerrmapranger)r2r3rrcs r)dot_generalizedrs Av{{ 6QV   qwrss|3II Vqvz ! ! II122 2 HYbnQ&:&: ; ; ;"Cqwss|$<$<= # #AqtQqT??AaDD1ayyr+ct|}|jdkr?tj|j|j}t |jd|d<|St |jdS)Nrsr8r.r)rrr%rrr0r )r2rs r)identity_like_generalizedrs` Av{{ HQWAG , , ,!'"+&&# ###r+ceZdZdZdS) SolveCasesctj||}t|t||t t ||dSr")rsolverrrr*)rKr2r3rJrs r)rOz SolveCases.dosL LA  Aq!44555#Aq))*****r+NrUrVrWrOrYr+r)rrs#+++++r+rcjeZdZejdeeee gdZ dZ dZ dS) TestSolver0ctjddgddgg|}ttj||j|dSNrp?r8)r%rrrrr0rKr0rs r) test_typeszTestSolve.test_typessH Hq#ha) 7 7 7V\!Q''-u55555r+c Gddtj}tjdddd}tjdddd|}t j||ddddddf}t j|ddddddf|ddddddf}t||tt||tt j t j|ddddddf|ttt j||ddddddftjdddd}ttt j||ttt j|dd|ddtjddd|}t j||ddddf}t j|ddddddf|ddddf}t||tt||tjddd}ttt j||ttt j|dd|ddttt j|ddddddf|dS) NceZdZdS),TestSolve.test_0_size..ArraySubclassNrUrVrWrYr+r) ArraySubclassr$ Dr+r&rnrrr,rprsr) r%r&arangerrrrrrr$rrr rKr&r2r3expectedresults r) test_0_sizezTestSolve.test_0_sizes     BJ    IaLL Aq ) ) IaLL Aq ) ) . .} = =<1%%aaa1aaai0a1Q3! na1Q3 l;;68,,, 6=11222 f(&,!!!QqS!A#+JJJj&,1QQQ!QQQY<@@@ IaLL Aq ) )j&,1555j&,!A#!A#??? IaLL A & & + +M : :<1%%aaa1f-a1Q3! na1Q3i8868,,, 6=11222 IaLL A & &j&,1555j&,!A#!A#???j&,!!!QqS!A#+BBBBBr+cGddtj}tjdddd}tjdddd|}t j||ddddddf}t j||ddddddf}t||tt||t j||ddddddf}t j|ddddddf|ddddddf}t||tt||dS) NceZdZdS).TestSolve.test_0_size_k..ArraySubclassNr%rYr+r)r&r/r'r+r&rtrprrr,rsr) r%r&r(rrrrrrr$r)s r) test_0_size_kzTestSolve.test_0_size_ks     BJ    IaLL Aq ) ) IaLL Aq ) ) . .} = =<1%%aaaAaCi0a111aaa19..68,,, 6=11222<1%%aaa1ack2a1Q3! na1Q3! n==68,,, 6=1122222r+N) rUrVrWrr parametrizerrrrr!r,r0rYr+r)rrsl [Wvvw&HII66JI6CCCB33333r+rceZdZdZdS)InvCasesctj|}tt||t |t t ||dSr")rinvrrrrr*)rKr2r3rJa_invs r)rOz InvCases.do sW 1 OAu555a88 : : :#E1--.....r+NrrYr+r)r3r3 s#/////r+r3cdeZdZejdeeee gdZ dZ dS)TestInvr0ctjddgddgg|}ttj|j|dSr)r%rrrr5r0r s r)r!zTestInv.test_typessD Hq#ha) 7 7 7VZ]](%00000r+cGddtj}tjdtj|}t j|}t|jj tj ut|j |j tt||tjdtj|}t j|}t|jj tjut|j |j tt||dS)NceZdZdS)*TestInv.test_0_size..ArraySubclassNr%rYr+r)r&r<r'r+r&rrprpr8rk)r%r&zerosint_rrr5rr0r#float64rrr$ complex64rKr&r2ress r)r,zTestInv.test_0_sizes      BJ    HYbg . . . 3 3M B Bjmm "*,---QWci((( 3 ../// HV2< 0 0 0 5 5m D Djmm ",.///QWci((( 3 ../////r+N rUrVrWrrr1rrrrr!r,rYr+r)r8r8sY [Wvvw&HII11JI100000r+r8ceZdZdZdS) EigvalsCasesc|tj|}tj|\}}t||dSr")reigvalseigr)rKr2r3rJevevaluesevectorss r)rOzEigvalsCases.do,s9 ^A  "JqMMB(((((r+NrrYr+r)rFrF*s#)))))r+rFcdeZdZejdeeee gdZ dZ dS) TestEigvalsr0c,tjddgddgg|}ttj|j|tjddgddgg|}ttj|jt |dSNrprr8r)r%rrrrHr0r;r s r)r!zTestEigvals.test_types3s Hq#ha) 7 7 7V^A&&,e444 Hq#hQ( 6 6 6V^A&&,.?.F.FGGGGGr+cGddtj}tjdtj|}t j|}t|jj tj utd|j tt|tjtjdtj|}t j|}t|jj tjutd|j tt|tjdS)NceZdZdS).TestEigvals.test_0_size..ArraySubclassNr%rYr+r)r&rS<r'r+r&r=r8rrprkrl)r%r&r>r?rrrHrr0r#r@rrr$rArBs r)r,zTestEigvals.test_0_size:s$     BJ    HYbg . . . 3 3M B BnQ "*,---VSY''' 3 ++,,, HV2< 0 0 0 5 5m D DnQ ",.///T39%%% 3 ++,,,,,r+NrDrYr+r)rNrN2s\ [Wvvw&HIIHHJIH -----r+rNceZdZdZdS)EigCasesc Ltj|}|j|j}}t t ||t j|t j|ddddfzt|j tt||dS)N.rtol) rrI eigenvalues eigenvectorsrrr%rr=r0rr*)rKr2r3rJrCrZr[s r)rOz EigCases.doOsjmm$'OS5E\ <88 <002:k3J3J3PTVWVWVW<3XX%k&788 : : : : #L!4455555r+NrrYr+r)rVrVMs#66666r+rVcdeZdZejdeeee gdZ dZ dS)TestEigr0ctjddgddgg|}tj|\}}t |j|t |j|tjddgddgg|}tj|\}}t |jt |t |jt |dSrP)r%rrrIrr0r;rKr0rwvs r)r!zTestEig.test_typesYs Hq#ha) 7 7 7y}}Q1QWe$$$QWe$$$ Hq#hQ( 6 6 6y}}Q1QW/66777QW/6677777r+cGddtj}tjdtj|}t j|\}}t|jj tj ut|jj tj ut|j |j td|j tt|tjtjdtj|}t j|\}}t|jj tjut|jj tjut|j |j td|j tt|tjdS)NceZdZdS)*TestEig.test_0_size..ArraySubclassNr%rYr+r)r&rdgr'r+r&r=r8rTrkrl)r%r&r>r?rrrIrr0r#r@rrr$rArKr&r2rCres_vs r)r,zTestEig.test_0_sizees     BJ    HYbg . . . 3 3M B BZ]] U  BJ./// "*,---QWek***VSY''' 1bj))*** HV2< 0 0 0 5 5m D DZ]] U  BL0111 ",.///QWek***T39%%% 1bj))*****r+NrDrYr+r)r]r]XsY [Wvvw&HII 8 8JI 8+++++r+r]cbeZdZdZejdeee e gdZ dS) SVDBaseTestsFr0ctjddgddgg|}tj|}|j|j|j}}}t|j|t|jt|t|j|tj|d|j }t|jt|dS)Nrprr8F compute_uvr@) r%rrsvdUSVhrr0r9r@)rKr0rrCrmrnrors r)r!zSVDBaseTests.test_typess Hq#ha) 7 7 7jmm5#%b1QWe$$$QWnU33444RXu%%% JqUdn E E EQWnU3344444r+N) rUrVrWr@rrr1rrrrr!rYr+r)rhrh|sOI [Wvvw&HII55JI555r+rhceZdZdZdS)SVDCasesc tj|d\}}}t|tt j|t j|ddddfzt j|t |jtt||tt||dS)NF.rX) rrlrrr%rr=r0rr*)rKr2r3rJurvts r)rOz SVDCases.dos:a''1b?2:a==2:a==dTUTUTU;V+V+-:b>>;;%ag.. 0 0 0 0 #Aq))***#B**+++++r+NrrYr+r)rqrqs#,,,,,r+rqceZdZdZdS)TestSVDctjd}tj|d|j\}}}t |jdt |jdt |tjdtjd}tj|d|j\}}}t |jdt |jdt |tjddS) z6 Empty input should put an identity matrix in u or vh )rtrTrjrtrtrkrt)rrtN)r%rrrlr@rreye)rKrrsrvhs r)test_empty_identityzTestSVD.test_empty_identitys HV  :aDDNKKK1bQWf%%%RXv&&&Qq """ HV  :aDDNKKK1bQWf%%%RXv&&&R#####r+N)rUrVrWr{rYr+r)rvrvs# $ $ $ $ $r+rvceZdZdZdS)SVDHermitianCasesc tj|dd\}}}t|tt j|t j|ddddfzt j|t |jd}tt j |||t j t j |j d|j tt j |||t j t j |j d|j tt j|ddddf|tt!||tt!||dS)NFTr@.rXctt|j}|d|dc|d<|d<tjtj||S)Nrraxes)rrrr%conj transpose)matrs r)r@z'SVDHermitianCases.do..hermitiansRch((D!%b48 DHd2h72<$77788 8r+r)rrlrrr%rr=r0rr broadcast_toryrrsortrr*)rKr2r3rJrsrrtr@s r)rOzSVDHermitianCases.dos:a$7771b?2:a==2:a==dTUTUTU;V+V+-:b>>;;%ag.. 0 0 0 0 9 9 9 BIa166qwWY{H[H[]^]d8e8efffBIb))B--88"/"&QSQYZ\Q]J^J^`b`h:i:ijjjRWQZZTTrT *A...#Aq))***#B**+++++r+NrrYr+r)r}r}s#,,,,,r+r}ceZdZdZdS)TestSVDHermitianTN)rUrVrWr@rYr+r)rrsIIIr+rceZdZdZdS) CondCasesc t|}d|vr"tttj|dStj|d}t tj||d|dz ddt tj|d |d|dz ddt tj|d |d|dz ddtj|}t tj|d t| d  d t| d  d zddt tj|d t| d  d t| d  d zddt tj|tj t| d  d t| d  d zddt tj|tj t| d  d t| d  d zddt tj|d tjt|d z d  d t|d z d  d zdddS)NrCF)rk).r).rrrr4r5rrrrprfro)rrrrcondrlrr%r5rsummaxminrsqrt)rKr2r3rJrrcinvs r)rOz CondCases.dost AJJ t   +v{A 6 6 6 F JqU + + + KNNAfI' 2R 1 1 1 1  K1  qy1W:5R 1 1 1 1  K2  ' QvY 6R 1 1 1 1 y}}Q K1   FFJJrNN  r " "SYY]]2%6%6%:%:2%>%> >R 1 1 1 1  K2   FFJJrNN  r " "SYY]]2%6%6%:%:2%>%> >R 1 1 1 1  K26 " " FFJJrNN  r " "SYY]]2%6%6%:%:2%>%> >R 1 1 1 1  KBF7 # # FFJJrNN  r " "SYY]]2%6%6%:%:2%>%> >R 1 1 1 1  K5 ! ! GSVVQYOOB''++B//4yy!|((,,00445 6 6R  1 1 1 1 1 1r+NrrYr+r)rrs#(1(1(1(1(1r+rcleZdZdZdZejddddZdZ d S) TestCondctgdgdgdg}ttj|tdttj|t dttj|ddttj|ddttj|d t jd dS) N)rarrp)rgr)rrrcrtgUUUUUU?rprrrgUUUUU6@)rrrrrr%rrKAs r)test_basic_nonsvdzTestCond.test_basic_nonsvds :::{{{JJJ7 8 8FK3//333FKC400#666FK1--q111FK2..444FK5112783D3DEEEEEr+cHtjdtjdg}gd}ddg}tj||D]+\}}t t j||dk,tj||D]\}}t j||dS)NrrrrNrprrrrr4&k C)r%r>onesrrrrr)rKAsp_posp_negrps r) test_singularzTestCond.test_singularshv 0###R%b%00 . .DAq FK1%%, - - - -%b%00  DAq K1      r+TFz/Platform/LAPACK-dependent failure, see gh-18914)runreasoncgd}gd}tjd}tj|d<|D]_}tj||}t t |tjt tj|`tjd}tj|d<|D]}tj||}t tj|d||vr3t |dd kt |d d kut tj|d t tj|d  dS) N)NrprrrrrrrrT)rsrrrrrprrprprrrr) r%rnanrrrr$float_isnan)rKpsrrrrs r)test_nanzTestCond.test_nansX ) ( (### GFOO# ! !A Aq!!A Jq"),, - - - BHQKK GI  6% , ,A Aq!!A BHQqTNN # # #Ezz!t $$$!t $$$$BHQqTNN*+++BHQqTNN*++++ , ,r+ctjdtjdddd}d|d<d|d<dD]}t j||}t |dtjt |dtjttj |dttj |ddS) Nr`rrrrkr)NrprrrrrrTrpr) r%randomseedrandrrrrrisfinite)rKrrrs r)test_stacked_singularzTestCond.test_stacked_singulars t INN1aA & &##, ) )A Aq!!A 3 ( ( ( 3 ( ( ( BK#'' ( ( ( BK#'' ( ( ( (  ) )r+N) rUrVrWrrrrxfailrrrYr+r)rrsFFF    [t-..,,..,0 ) ) ) ) )r+rceZdZdZdS) PinvCasesctj|}t}t||||||ddt t ||dS)Nrrrrpinvrrrr*rKr2r3rJa_ginvrs r)rOz PinvCases.do3saQCCAv22AaXZ[[[[#FA../////r+NrrYr+r)rr.s# 00000r+rceZdZdS)TestPinvNr%rYr+r)rr;Dr+rceZdZdZdS)PinvHermitianCasesctj|d}t}t||||||ddt t ||dS)NTrrrrrrs r)rOzPinvHermitianCases.doAshQ$///CCAv22AaXZ[[[[#FA../////r+NrrYr+r)rr?s#00000r+rceZdZdS)TestPinvHermitianNr%rYr+r)rrIrr+rceZdZdZdS)DetCasesc&tj|}tj|}|j|j}}t |jjttfvr(t | t}n't | t}tj |} t|tj| dt|t!j|ztj| dt!j|}t!j|}|dk} tt!j|| dt)|| t* dS)Nraxisrrp)rdetslogdetsign logabsdetrr0r#rrastyperrHrr reducer%exp atleast_1drrr) rKr2r3rJdrCrldadrJms r)rOz DetCases.doOs5 JqMMnQ#-2 1::  VV$4 4 4""6**BB""7++B ^B  Axr;;;<<<Ar NHOBR,H,H,HIII M!   ]2   !VBF1Q4LL!,,,RVcT"""""r+NrrYr+r)rrMs######r+rcjeZdZdZejdeee e gdZ dZ dS)TestDetcttjdggdtttjdggtttjdggdtttjdggt ttjdggdt ftttjdggdttttjdggdtttjdggdt ftttjdggdt tttjdggdtdS)Nyrrp)rrrr#rrrrrSs r) test_zerozTestDet.test_zerocsVZ#((#...T&*seW--..777VZ$))3///T&*tfX..//999V^cUG,,sSDk:::T&.3%11!455v>>>T&.3%11!455v>>>V^dVH--sd|<<<T&.4&221566@@@T&.4&221566?????r+r0cTtjddgddgg|}ttj|j|tj|\}}t|jt|t|j|dSr)r%rrrrr0rr9)rKr0rphrs r)r!zTestDet.test_typesps Hq#ha) 7 7 7RY]]1%%+U333 !!!$$AQWnU33444RXu%%%%%r+ctjdtj}tj|}t |dt |jjtjutj |}t |dt |djjtjut |djjtj utjdtj }tj|}t |dt |jjtj utj |}t |dt |djjtj ut |djjtj udS)Nrkr8rarrrp) r%r>rArrrrr0r#rfloat32r@)rKr2rCs r)r,zTestDet.test_0_sizexsV HV2< 0 0 0jmmS" ",.///nQS&!!!A !R\1222A !RZ/000 HV2: . . .jmmS" "*,---nQS&!!!A !RZ/000A !RZ/00000r+N) rUrVrWrrrr1rrrrr!r,rYr+r)rrbsm @ @ @ [Wvvw&HII&&JI&11111r+rceZdZdZdS) LstsqCasesctj|}|j\}}tj|d\}}} tj||d\} } } } |dkr%t | dk||kr/t|t|| t| |nt| |t| | || |kr||krtjttj || |z dz d}tj|}tj|jdkr!d|_t| j|jn4tjgt#| }t| |t tj| jtjt t+| |t t+| |dS) NFrrcondrrrrrpr)r%rrrrllstsqrrrrr__array_wrap__rrrrrr# issubdtyper0floatingr*)rKr2r3rJarrrnrsrrtr residualsranksv expect_residss r)rOz LstsqCases.dosjmmy1:a''1b!'a"!=!=!=9dB 66 Q!VLLNN # # # 66 3q!99 - - - q ! ! ! ! q ! ! !B 1 1! 4 4555 199Q 3rva||a/0011Q6  J}55Mz!}}!Q&&&* #Y_m.ABBBHRLL--d1gg66MI}555 ior{;;<<<#Aq))***#Iq1122222r+NrrYr+r)rrs#33333r+rcjeZdZdZejgdgddZdZdS) TestLstsqcVtjgdgdgdgdgj}tjgd}t5}|t d}t j||\}}}}t|dkt j||d \}}}}t|dkt j||d \}}}}t|d ktt|d kddddS#1swxYwYdS) N)rrarrarbr)rrbrrrar)rarrarrrd)rrrrbrcr)rprrrrrz`rcond` parameter will changertrrrsrp) r%rTrrecord FutureWarningrrrlen) rKr2r3supr`rrrrs r)test_future_rcondzTestLstsq.test_future_rconds H2222222222224 5 567 H''' ( (  !C =*IJJA$*LA$6$6 !Ay$ DAI   $*LAR$@$@$@ !Ay$ DAI   $*LAT$B$B$B !Ay$ DAI    CFFaK  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s CDD"%D")rrn_rhs))rtrrrr)rrtrp)rrtrr)rtrrp)rtrrr)rtrrr)rrrctj||z||}tj||f}t j||d\}}}} |dkr%t |dkt|j ||ft|j ||kr|fnd||krE|dkr?|tj ||z } t|| | z dt|t||t| j t||fdS)Nrrrlrr)r%r(rrrrrrrrrrrr) rKrrrr2r3rrrrrs r)test_empty_a_bzTestLstsq.test_empty_a_bs3 Ia!e   $ $Q * * GQJ   & Q > > >9dA 66 Q!VLLNN # # #QWq%j)))Y_1q55xxdDDD q55UQYYBF1aLL A  AE;;B;+?+? @ @ @T3q!99%%%QWs1ayyl+++++r+c\tjgd}tjgd}tj|tjt |gj}t td5tj ||dddddS#1swxYwYdS)N)rrprrrs)rg?g?g@gffffff @zIncompatible dimensionsr) r%rvstackrrrrrrr)rKryrs r)test_incompatible_dimsz TestLstsq.test_incompatible_dimss H\\\ " " H--- . . Iq"'#a&&//* + + - .G H H + + LAT * * * * + + + + + + + + + + + + + + + + + +s<B!!B%(B%N) rUrVrWrrrr1rrrYr+r)rrsz!!!$ [000333 , , ,+++++r+rdtc6g|]}tj|SrY)r%r0)rrs r)rrs III IIIr+z?bBhHiIqQefdgFDGOceZdZejdZegdZegdZegdZeeeegZ e ddgddggZ ej egggdzZ eejdejd ejd gZd Zd Zd ZdZdZdZdZejeddZdS)TestMatrixPowerrt)rsrrprr)rrrsrrp)rprrrsrrprrrrgGc|j|}tt|ddzdzdzdz|jtt|ddzdzdzdz|jtt|ddzdzdzdz|jtt|ddzdzdzdz|jdS)Nrrdi rrprs)rshft_1rrrrshft_0rshft_2rshft_3)rKrrshfts r)test_large_powerz TestMatrixPower.test_large_powers ##B'' 3 5 9 : :DL J J J 3 5 9 : :DL J J J 3 5 9 : :DL J J J 3 5 9 : :DL J J J J Jr+cd}|jD]N}||||tkr#||j|OdS)Nct|d}t|t|t|j|jdS)Nr)rrrr0)Mmzs r)tzz.TestMatrixPower.test_power_is_zero..tzsDa##B 6q99 : : : 17 + + + + +r+ rshft_allrobjectstackedrKrrrs r)test_power_is_zeroz"TestMatrixPower.test_power_is_zerosr , , , > , ,C Bszz"~~   V||4<&&r**+++ , ,r+cd}|jD]N}||||tkr#||j|OdS)Nczt|d}t||t|j|jdS)Nrp)rrr0)rrs r)rz-TestMatrixPower.test_power_is_one..tzs;c1%%B S ! ! ! 39 - - - - -r+rrs r)test_power_is_onez!TestMatrixPower.test_power_is_onesr . . . > , ,C Bszz"~~   V||4<&&r**+++ , ,r+cd}|jD]N}||||tkr#||j|OdS)Nct|d}|jtkrtnt}t ||||t |j|jdS)Nrr)rr0rr rr)rrmmuls r)rz-TestMatrixPower.test_power_is_two..tz sZc1%%B Y&0066cD TT#s^^ , , , 39 - - - - -r+rrs r)test_power_is_twoz!TestMatrixPower.test_power_is_two sr . . . > , ,C Bszz"~~   V||4<&&r**+++ , ,r+cnd}|jD])}||jvr|||*dS)Nct|d}|jtkrtnt}t |||t |dSNr)rr0rr rrr)rinvmatrs r)rz3TestMatrixPower.test_power_is_minus_one..tzsa!#r**F Y&0066cD VS!!# # #C%%3::b>>""" # #r+c|j|}ttt|dttt|dgdS)Ng?rp)rrr TypeErrorrrKrrs r)test_exceptions_bad_powerz)TestMatrixPower.test_exceptions_bad_power#sGl!!"%%isC888isQC88888r+c*ttttjdg|dttttjdgdgg|dttttjd|ddS)Nrprr)rtrsrr)rrrr%rr)rKrs r)test_exceptions_non_squarez*TestMatrixPower.test_exceptions_non_square(srk<1#r1B1BAFFFk<A3*b1I1I1MMMk<B1G1GKKKKKr+fp errors don't work in wasmrc||jvrdS|j|}ttt |ddSr!)r#noninvrrrrr's r)test_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertible-sC    Fk  $$k<b99999r+N)rUrVrWr%ryrrr r rrr.blockrrr0r#r rrrr$r(r*rrskipifr r/rYr+r)rrsbbfQiiGlll#Glll#Glll#G'7G4I UQFQF# $ $Fbh' }Q''Gxrx}}hbhsmmXRXc]]CG J J J , , , , , , , , , # # #999 LLL  [(FGG::HG:::r+rceZdZdZdS)TestEigvalshCasescDtj|d}tj|\}}|dt ||t |jtj|d}t ||t |jdS)NLrrrXrm)reigvalshrIrrr=r0)rKr2r3rJrJrKrLev2s r)rOzTestEigvalshCases.do7s_Q $ $"JqMM " G(28*<*<====oa%%W8BH+=+=>>>>>>r+NrrYr+r)r3r35s# ? ? ? ? ?r+r3cpeZdZejdeeee gdZ dZ dZ dZ dS) TestEigvalshr0ctjddgddgg|}tj|}t |jt |dSr)r%rrr6rr0r9)rKr0rr`s r)r!zTestEigvalsh.test_typesDsX Hq#ha) 7 7 7 I  q ! !QWnU3344444r+c8tjddgddggtj}tttjj|dtttjj|dtttjj|ddSNrprr8lrongUPLOlowerupper)r%rrrr rr6rKrs r) test_invalidzTestEigvalsh.test_invalidJsy Hq#ha) < < <j")"4agFFFFj")"4aAAAj")"4aAAAAAr+ctjddgddggtj}tjddgddggtj}tjddgtj}ttj}tj|}t |||tj|d}t |||tj|d}t |||tj|d }t |||tj|d }t |||dS Nrrpr8rrXr5r>lrmrs)r%rrr=rr6r)rKKloKuptgtrYr`s r) test_UPLOzTestEigvalsh.test_UPLOPs_hAA'ry999hAA'ry999hAwbi000 "" I  s # #3T**** I  s  - -3T**** I  s  - -3T**** I  s  - -3T**** I  s  - -3T******r+cGddtj}tjdtj|}t j|}t|jj tj utd|j tt|tjtjdtj|}t j|}t|jj tjutd|j tt|tjdS)NceZdZdS)/TestEigvalsh.test_0_size..ArraySubclassNr%rYr+r)r&rMhr'r+r&r=r8rTrkrl)r%r&r>r?rrr6rr0r#r@rrr$rArrBs r)r,zTestEigvalsh.test_0_sizefs$     BJ    HYbg . . . 3 3M B Boa   "*,---VSY''' 3 ++,,, HV2< 0 0 0 5 5m D Doa   "*,---T39%%% 3 ++,,,,,r+NrUrVrWrrr1rrrrr!rCrJr,rYr+r)r9r9Csz [Wvvw&HII55JI5 BBB +++,-----r+r9ceZdZdZdS) TestEighCasesctj|}|j|j}}tj|\}}|dt ||tt||tj |ddddftj |zt|j tj|d\} } t | |tt|| tj | ddddftj | zt|j t|dS)Nrr.rXrm)rYerr_msg)reighrZr[rIrrrrr%rr=r0repr) rKr2r3rJrCrJevcrKrLr7evc2s r)rOzTestEighCases.do{sDk!nn/3#3C"JqMM " B(((3// 2sD!!!|4rz#F%bh// 1 1 1 1K3'' TC)))400 3T111 5 48H8HH%bh//a B B B B B Br+NrrYr+r)rPrPys(BBBBBr+rPcpeZdZejdeeee gdZ dZ dZ dZ dS)TestEighr0ctjddgddgg|}tj|\}}t |jt |t |j|dSr)r%rrrSrr0r9r_s r)r!zTestEigh.test_typessl Hq#ha) 7 7 7y~~a  1QWnU33444QWe$$$$$r+c8tjddgddggtj}tttjj|dtttjj|dtttjj|ddSr<)r%rrrr rrSrBs r)rCzTestEigh.test_invalidsv Hq#ha) < < <j").!'BBBBj").!W===j").!W=====r+c,tjddgddggtj}tjddgddggtj}tjddgtj}ttj}tj|\}}t |||tj|d\}}t |||tj|d\}}t |||tj|d \}}t |||tj|d \}}t |||dSrE)r%rrr=rrSr)rKrGrHrIrYr`ras r)rJzTestEigh.test_UPLOsehAA'ry999hAA'ry999hAwbi000 ""y~~c""13T****y~~c~,,13T****y~~c~,,13T****y~~c~,,13T****y~~c~,,13T******r+cGddtj}tjdtj|}t j|\}}t|jj tj ut|jj tj ut|j |j td|j tt|tjtjdtj|}t j|\}}t|jj tjut|jj tjut|j |j td|j tt|tjdS)NceZdZdS)+TestEigh.test_0_size..ArraySubclassNr%rYr+r)r&r^r'r+r&r=r8rTrkrl)r%r&r>r?rrrSrr0r#r@rrr$rArres r)r,zTestEigh.test_0_sizes     BJ    HYbg . . . 3 3M B B[^^ U  BJ./// "*,---QWek***VSY''' 1bj))*** HV2< 0 0 0 5 5m D D[^^ U  BL0111 "*,---QWek***T39%%% 1bj))*****r+NrNrYr+r)rXrXsw [Wvvw&HII%%JI% >>> +++,+++++r+rXc,eZdZdZdZedZdS) _TestNormBaseNct|jjtjr!t |j|jjdStt|jjtjdSr") issubclassr0r#r%inexactrrealrr)rrCs r) check_dtypez_TestNormBase.check_dtypes\ aglBJ / / = AFL 1 1 1 1 1 Jsy~r{;; < < < < >??EEEEEr+c(tjgd}tjd}tjd}||z}|D]N}||}t |tj }|||t|dt5}| tdt |d}|||t|ddddn #1swxYwYt |d}|||t|dt |d }|||t|d t |d}|||t||j d |j d zt |d }|||t||j d |j d zt |tj}|||t|dPdS)Nr AllIntegerAllFloatrdivide by zero encounteredrrrrrprbrrtg?ra) r%r typecodesrrrrerrfilterRuntimeWarningr0r# rKr2 exact_types inexact_types all_types each_typeatanrs r)test_vector_return_typez(_TestNormGeneral.test_vector_return_types HYYY  l<0  Z0 -/ " ) )I)$$Bb26'""B   R $ $ $ C ( ( ("$$ - >+GHHH"b\\  R(((#B,,,  - - - - - - - - - - - - - - - b!B   R $ $ $ A & & &b!B   R $ $ $ C ( ( (b!B   R $ $ $ BHMM#$6$6 g8N8N$N O O Ob!B   R $ $ $ BHMM#$6$6 g8N8N$N O O Ob"&!!B   R $ $ $ C ( ( ( (? ) )s)ADD D cgd}gd}gd}fd}|||fD] }||t|jt|jt|jfD] }||dS)N)rprrrsrt)rrrr)rrrrrtcltjt|djtjt|t djtjt|t djtjt|ddjtjt|ddjtjt|d djtjt|d d jtjt|d d jdS)Ng6ҭ@r/rdrarp$@rgQ?rrrgsc?rrt)r%testingrrrfr)rarKs r)_testz+_TestNormGeneral.test_vector.._test s J * *477I378 + = = = J * *43<<378 + = = = J * *4C4==#378 + = = = J * *41::t378 + = = = J * *42;; 378 + = = = J * *41::y378 + = = = J * *42;;9M378 + = = = J * *41::q378 + = = = = =r+r8)rr)rKr2r3rrras` r) test_vectorz_TestNormGeneral.test_vectors LL    NN = = = = =$Q  A E!HHHH)))5$'+B+B+B)))+  A E!HHHH  r+c * tgdgdg|j ddddddtjtj fD] fd t jdD}t t d | fd t jdD}t t d |tjdd |j ddd  j }dddddtjtj dfD] tj t | |dD]}|\}}|dkr||z }|dkr||z }||krttt | Bt | }|||zz ||kr) fdt j D}n( fdt j D}t ||ČdS)Nrprrrsrtrr,r8rrrprrrscFg|]}tdd|fSNordrrkrorders r)rz._TestNormGeneral.test_axis..,s2MMMaa1g5111MMMr+rrcFg|]}t|ddfSrrrs r)rz._TestNormGeneral.test_axis...s2MMMaa111g5111MMMr+rtrrclg|]0}tdd|1SNrr)rtakerrBk_indexrs r)rz._TestNormGeneral.test_axis..DsT$F$F$F()%)11117)C)C$O$O$O$F$F$Fr+cvg|]5}tdd|j6Sr)rrrrs r)rz._TestNormGeneral.test_axis..GsW$F$F$F()%)11117)C)C)E5$Q$Q$Q$F$F$Fr+)rrr%Infrrrrr(rrr combinationsrr ) rK expected0 expected1ndrrow_axiscol_axisrr*rrrrs @@@@r) test_axisz_TestNormGeneral.test_axis&s 999iii( 8 8 8B1aBFRVG< G GEMMMMM5;L;LMMMI QE : : :I F F FMMMMM5;L;LMMMI QE : : :I F F F F Ia47 + + + 3 3Aq! < < VB2q"&26'5A 5 5E!.ubS"~~qAA 5 5%)"(a<<NHa<<NHx''!*dA5tLLLLLQE555A!Hx$78G(**$F$F$F$F$F$F-21773C-D-D$F$F$F$F$F$F$F$F$F-21773C-D-D$F$F$F'84444) 5 5 5r+c tjdd|jddd}d}d}t |dd }t |ddd }t tj|||dd d }t|j |k||j |ddddddddtj tj fD]}t|j D]}t ||| }t |||d }t tj||||| t|j }d||<t|}t|j |k||j |||dddddtj tj ddf D]}tjt|j dD]}t ||| }t |||d }t tj||||| t|j }d||d<d||d<t|}t|j |k||j |||͌dS)Nrprr8rrrsrtzorder {0}, axis = {1}z;Shape mismatch found {0}, expected {1}, order={2}, axis={3}rT)rrkeepdims)rR)rprprprrrrnuc)r%r(rrrrsqueezeformatrrrrrrrr permutations) rKr allclose_err shape_errr*foundexpected_shaperrs r) test_keepdimsz_TestNormGeneral.test_keepdimsKs' Ia47 + + + 3 3Aq! < <. Q t$///QDtd;;; 5))8 , 3 3D$ ? ? A A A A" ~-  ndDII K K KB1aBFRVG< Q QE16]] Q Qu1555QEDAAA 5 1 18(4(;(;E1(E(EGGGG!%ag$%q!!&~!6!6 ~5!((neQOOQQQQ QB2q"&26'5%H Q QE+E!&MM1== Q Qu1555QEDAAA 5 1 18(4(;(;E1(E(EGGGG!%ag'(qt$'(qt$!&~!6!6 ~5!((neQOOQQQQ Q Q Qr+N)rUrVrWrkrzrrrrYr+r)ririsiFFF ')')')R<#5#5#5J(Q(Q(Q(Q(Qr+ric:eZdZejZdZdZdZdZdZ dS) _TestNorm2Dcvtt|gg|jddS)Nr8r)rrrrrSs r)test_matrix_emptyz_TestNorm2D.test_matrix_empty{s4T$**bT*99::C@@@@@r+c|gdgdg}tjd}d}||z}|D]0}||}t |tj }|||t|dt5}| tdt |d}|||t|ddddn #1swxYwYt |d }|||t|dt |d }|||t|d t |d }|||t|dt |tj}|||t|dt |d }|||t|dt |d}|||tj |dd2dS)Nrr=rmfdFDrbrorrarprrgLXz?rrrgU&,t=@r,r}) rr%rprrrrerrrqrrrrss r)test_matrix_return_typez#_TestNorm2D.test_matrix_return_type~s JJ 999- . .l<0  -/ "% N% NI)$$Bb26'""B   R $ $ $ C ( ( ("$$ - >+GHHH"b\\  R(((#B,,,  - - - - - - - - - - - - - - - b!B   R $ $ $ C ( ( (b!B   R $ $ $ N 3 3 3b"B   R $ $ $ C ( ( (b"&!!B   R $ $ $ C ( ( (b%B   R $ $ $ C ( ( (b%B   R $ $ $ J * *2/A1 * M M M MK% N% NsAC<<D D c"|ddgddgg|j}tt|dtt|ddtt|dd tt|td tt|t d tt|dd tt|d d tt|ddtt|ddt t t|dt t t|dt t t|ddS)Nrprsrrr8gT"@rrr~g(@rdrrfrrgW?"@rgїʄ?nofrorr)rrrrrrr rs r)test_matrix_2x2z_TestNorm2D.test_matrix_2x2sB JJAA'twJ 7 7DGGY///DENNI666DENND111DCLL$///DSDMM3///DAJJ---DBKK---DAJJ(:;;;DBKK)<===j$7333j$2...j$1-----r+cd|gdgdgdg|jz}tt|dtt|ddtt|dd tt|td tt|t d tt|d d tt|ddtt|ddtt|dddS)Ng?r)r,rr)rsrrrpr8grj=Q0?rrgB+pc?g?g333333?rprarg?rrg&.d?rgܸՠ?)rrrrrrs r)test_matrix_3x3z_TestNorm2D.test_matrix_3x3s  JJ 999iii8J H H IDGG%9:::DENN,@AAADENN,>???DCLL#...DSDMM3///DAJJ,,,DBKK---DAJJ(;<<<DBKK)<=====r+cT|gdgdg|j}tjdd|jddd}t t t|d d t t t|d d t t tddgd dt t tddgd dt t tddgd dd D]Y}t t t||dt t t||dt t t||dZt tjt|ddt tjt|ddt t t|dddS)Nrrr8rprrrrsrtrrrtestrrsrT)rprrrrrs)rrprr) rrr%r(rrr r AxisError)rKrrrs r) test_bad_argsz_TestNorm2D.test_bad_argssr JJ 999-TWJ = = Ia47 + + + 3 3Aq! < < j$5!444j$5!444j$At<<<j$At<<<j$A=== > >E *dAud ; ; ; *dAuf = = = *dAuf = = = = blD!T1555blD!T6:::j$4;;;;;r+N) rUrVrWr%rrrrrrrYr+r)rrvso HEAAA1N1N1Nf... >>>"<<<<r)rKImss r)test_matrix_rankzTestMatrixRank.test_matrix_rank+s,Q BF1II../// F1II& [^^Q'''[&!1!122A666[..222[$00!444[!%%q))) Xq"&))RXe__5 6 6[__bhyyy&9&9:::[^^Q'''''r+c&tdttjddtdttjddtdttjddtjd}d|d<td t|dd |d<tdt|dd td t|dd dS)NrtTrrprxrrrrsg:0yE>g|"BE>)r@tolg;䡈E>)rrr%ryrr>)rKrs r)test_symmetric_rankz"TestMatrixRank.test_symmetric_rank?sQ BF1II>>>???Q BGFOOtDDDEEEQ BHV$4$4EEEFFF F1II& Q A666777& Q A7CCCDDDQ A7CCCDDDDDr+N)rUrVrWrrrYr+r)rr)s7(((( E E E E Er+rctjd}tdD]}|d}|dddf|dddfz|dddf<t t |d|ddd f|ddd fz|ddd f<t t |d dS) Ni3r)(rsizerprrrrrtrrsrn)r%r RandomStaternormalrr)rngiXs r)test_reduced_rankrMs )   ) )C 3ZZ(( JJHJ % %AAAqD'AaaadG#!!!Q$[^^Q'''AAAqD'AaaadG#!!!Q$[^^Q''''((r+c eZdZejZdZejddggddZ dZ dZ dZ ejd gd ejd gd ejd ej ejejejgdZdS)TestQRc*t|}|j}|j\}}t||}t j|d}|j|j} }t|j|kt| j|ktt||tt| |t|j||fkt| j||fktt|| |tt|j |tj|ttj| | t j|d\} } t| j|kt| j|ktt| |tt| |t| j||fkt| j||fktt| | |tt| j | tj|ttj| | t j|d} t| j|ktt| |t| | dS)Ncompletemodereducedr)r#r0rrrqrQRrr$rrrrr%rytriu) rKr2a_typea_dtyperrrrCrrq1r1r2s r)check_qrzTestQR.check_qr^sa'w1 1IIi +++uce17"###7"### 1f%%&&& 1f%%&&&Aq6!"""Aq6!"""C1IIq)))C A..q :::BGAJJ***19---BG#$$$G#$$$ 2v&&''' 2v&&'''QF"###QF"###CBKK+++C R00"&))<<<BGBKK,,,Yqs # # #G#$$$ 2v&&'''B#####r+rr)rsrrrkct||}tj||f}||tj|d\}}t |jtjt |jtjt |j ||ft |j |fdS)Nrawr) rr%rrrrrr0rr)rKrrrr2htaus r) test_qr_emptyzTestQR.test_qr_emptys 1II HaV   aae,,3QWbi(((SY ***QWq!f%%%SY%%%%%r+c|ddgddgddggtj}tj|d \}}t |jtjkt |jtjkt |jd kt |jd ktj|jd \}}t |jtjkt |jtjkt |jd kt |jd kdS) Nrprrrsrtrr,r8rrrrr) rr%rrrrr0rr)rKr2rrs r) test_mode_rawzTestQR.test_mode_raws JJAAA/ryJ A A15)))329$%%% RY&'''6!""" T!"""13U+++329$%%% RY&'''6!""" T!"""""r+c\|ddgddgg}|ddgddgddgg}dD]p}||}||}||||||jqdD]|}dd||zz}dd||zz}||||||j}dS) Nrprrrsrtrr,fd?)rrrr)rKr2r3rm1m2s r)test_mode_all_but_economicz!TestQR.test_mode_all_but_economics2 JJAA' ( ( JJAAA/ 0 0  B"B"B MM"    MM"    MM"$      BR!((2,,&&BR!((2,,&&B MM"    MM"    MM"$       r+c t|}|j}|jdd\}}t||}t j|d\}}t |j|kt |j|kt t||t t||t |jdd||fkt |jdd||fktt|||tj |jd} tj | |jdd|jdfdzz} ttt|dd|| ttj|dddddf|t j|d\} } t | j|kt | j|kt t| |t t| |t | jdd||fkt | jdd||fktt| | |tj | jd} tj | | jdd| jdfdzz} ttt| dd| | ttj| dddddf| t j|d} t | j|kt t| |t| | dS) Nrrrrrr.rr)r#r0rrrrrr$rr r%r rr rr)rKr2rrrrrqrI_mat stack_I_matrrrs r)check_qr_stackedzTestQR.check_qr_stackeds|a'wrss|1 1IIy,,,17"###7"### 1f%%&&& 1f%%&&& A&''' A&'''F1aLL!,,, AGBK((oe  ~a'7799 F8Ar2#6#6#;#;#=#=qAA;OOOBGAc111aaaiL11155519---BG#$$$G#$$$ 2v&&''' 2v&&''' !Q'((( !Q'(((F2rNNA... BHRL))oe" "(99;; F8BB#7#7#<#<#>#>CC' ) ) )BGBsAAAqqqyM22B777Yqs # # #G#$$$ 2v&&'''B#####r+r))rsrt)rtrsrxrr outer_size)rr)rrrsrtrc>tj||z|}tj||z|}||||d|zzdS)Nrr )r%rrrr)rKrrrrrs r)test_stacked_inputszTestQR.test_stacked_inputss I  *t"3  4 4 ; ;B ? ? I  *t"3  4 4 ; ;B ? ? a    a#a%i(((((r+N)rUrVrWr%rrrrr1rrr rrrrrrrYr+r)rrZsI HE%$%$%$P [c3Z*** & &  &###,   "+$+$+$Z [V&&& [\,!,!,!"" [T 29 BJ$ !!))!!"")))r+rceZdZejdgdejdejejej ej fdZ dZ dS) TestCholeskyr)rrrsrs)2r)rsrrr0c rtjdtjj|}tj|tjr|dtjj|zz}t tt|}d|dd<tj | | |}tj ||}tj |}tj || | }tj5d|jdztj|jz}dddn #1swxYwYt'||||d|d |d | dS) Nrpr )rrrr8ir  )atolrR)r%rrrandnrcomplexfloatingrrrr rrrrcholesky_no_nep50_warningrfinfoepsr)rKrr0r2trr3rs r)test_basic_propertyz TestCholesky.test_basic_propertys q IOU # = 2 3 3 /Bry...A s5zz"" # #"## Iakk!nn))++Q / / Jq & & & I  q ! ! IaQ,,.. / /  ! # # : :#bhuoo&99D : : : : : : : : : : : : : : :14E1M1ME1M1MQ1M1M!1M1MNNNNNNs+FFFcGddtj}tjdtj|}t j|}t|j|jt|j j tj utt|tjtjdtj|}t j|}t|j|jt|j j tjutt|tjdS)NceZdZdS)/TestCholesky.test_0_size..ArraySubclassNr%rYr+r)r&r'r'r+r&r=r8)rprr)r%r&r>r?rrrrrrr0r#r@r$rArBs r)r,zTestCholesky.test_0_sizes(     BJ    HYbg . . . 3 3M B Boa  QWci((( "*,--- 3 ++,,, HYbl 3 3 3 8 8 G Goa  QWci((( ",./// 3 ++,,,,,r+N) rUrVrWrrr1r%rr@rArr$r,rYr+r)rrs [@@@ ["*bj", FOO O(-----r+rctjdkrd}nd}tjtjfD]}tjd|}||}|d}t|j jdtj tj tj fD]?}||}t|||t|||@dS)Nlittlerrrr5) invertiblenon_invertiblers r) test_generalized_raise_multiloopr9>s Aq6Aq6*++JX1v1v.//N qt!t$A AcFAdG")':::::r+c d} tj}n+#ttf$rt jdYnwxYw|dkrEtjdtjdddl}||j d tj j n9#t$rYn-t$r!tjtjYnwxYw tjdgg}tj j ddd|d||dd n<#t$r/}dt)|vrtj|Yd}~nd}~wwxYwtjtjdStj\}}tj||krt jddSdS) NzNot POSIX or fork failed.rrprkrazDORGQR parameter number 5zNumpy xerbla not linked in.)osforkOSErrorAttributeErrorrskipcloseresource setrlimit RLIMIT_COREr%r lapack_litexerblar r_exit EX_CONFIGrdorgqrrGwait WEXITSTATUS) XERBLA_OKpidrBr2rstatuss r)test_xerbla_overriderOMs I1gii ^ $111 /000001 axx    8/888 # I ! ( ( * * * *    D # # # HR\ " " " " " # $2$  A I ! ( (1a1a     $ $ $*c!ff44###  $ gii V >& ! !Y . . K5 6 6 6 6 6 / .s?%AA#B66 C,'C,+C,0AD33 E,=%E''E,zCannot start subprocessc$ddg}tjd}|D]t}|dd|}tjt jd|g|dd|}tjt jd|gudS) NzPyQt5.QtWidgetsIPythonz import sys {before} try: import {bad_lib} except ImportError: sys.exit(0) {after} x = np.ones(2, dtype=np.float32) sys.exit(0 if np.allclose(x.dot(x), 2.0) else 1) zimport numpy as np)beforeafterbad_libz-c)rTrSrU)textwrapdedentr subprocess check_callr, executable)bad_libstemplaterUcodes r)test_sdot_bug_8577r^~s"9-H    H<<&:"'.00s~tT:;;;%9"'.00s~tT:;;;;<rrr)rKrrrfr'rets r)test_three_arguments_and_outz)TestMultiDot.test_three_arguments_and_outs I  V $ $ I  V $ $ I  V $ $hvAq s+++czzzzCqa111C26!Q<.>v.F.F-GHHHHHr+N)rUrVrWrgrirmrqrtrvr{r}rrrrYr+r)r`r`sKKK===MMM<<<<<<<<< : : :/// 9 9 9===<IIIIIr+r`c8eZdZejdejddfejddfgdZejddd gd Z ejd d d gdZ dZ dS) TestTensorinvzarr, indrtr,rnrrrrrsrsrrrpctt5tj||ddddS#1swxYwYdS)Nind)rrr tensorinv)rKrrs r)test_non_square_handlingz&TestTensorinv.test_non_square_handling%s ; ' ' + +  Sc * * * * + + + + + + + + + + + + + + + + + +s 9==z shape, ind)rtr,rnrsrr)rnrsrpctjd}||_tj||}|j|d|jd|z}|j}t ||dS)Nrr2r)r%ryrrrr)rKrrr2ainvr*actuals r)test_tensorinv_shapez"TestTensorinv.test_tensorinv_shape-sh F2JJ!---7344=174C4=0VX&&&&&r+rrrctjd}d|_tt5t j||ddddS#1swxYwYdS)Nrrr)r%ryrrr rr)rKrr2s r)test_tensorinv_ind_limitz&TestTensorinv.test_tensorinv_ind_limit:s F2JJ : & & + +  qc * * * * + + + + + + + + + + + + + + + + + +sAAActjd}d|_tj|d}tjd}t tj||dtj||dS)Nrrrpr) r%ryrrrrr tensordot tensorsolve)rKr2rr3s r)test_tensorinv_resultz#TestTensorinv.test_tensorinv_resultCsn F2JJq))) GBKK T1a00")2G2G12M2MNNNNNr+N) rUrVrWrrr1r%rrrrrrYr+r)rr#s [Z   "   Q*   ++   + [\,   ''   ' [U 2%   ++  + OOOOOr+rceZdZejdejddfejddfgdZejdgdd Z dS) TestTensorsolveza, axesrNr)rrrctt5tj|jdd}t j|||ddddS#1swxYwYdSNrrr)rrr%rrrr)rKr2rr3s r)rz(TestTensorsolve.test_non_square_handlingNs ; ' ' 0 0 $$A  q!$ / / / / 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s9AA"Ar))rrrsr,)rsrtrtrs)rrsrsrc tjj|}tj|jdd}tj||}ttj||t|j|dSr) r%rrrrrrrrr)rKrr2r3rs r)test_tensorsolve_resultz'TestTensorsolve.test_tensorsolve_resultWsq IOU # GAGBQBK  I ! !!Q ' ' QAG ===qAAAAAr+) rUrVrWrrr1r%rrrrYr+r)rrLs [Y   %   V$)   00   0  [W///BBBBBr+rctjddgddggd}ttd5t j|ddddS#1swxYwYdS)Nrprrrrfloat16r8zunsupported in linalg)r%rrr&rr)rs r)test_unsupported_commontyperas (QGaV$I 6 6 6C Y(? @ @sAAAz,Bad memory reports lead to OOM in ci testingcd}tjd|gtj}tjddgtj}d|d<tj||}t |dddS)Nrpr8)rr)r%r>rrrr)rr2r3rs r)test_blas64_dotrlsm A !Qrz***A Abj)))AAdG q! A4!r+z*Numpy not compiled with 64-bit BLAS/LAPACKc tj}tjjj}d}d}|}tjddg|}tjdg|}tjdg|}|||||||dd}t |ddt |d|t |d|t|} td | cxkod kncdS) Nlrpr8rrinforrrl) r%r@rrEdgeqrfr>rritemr) r0lapack_routinerrldar2workrresultslworks r)!test_blas64_geqrf_lwork_smoketestrvs JEY*1NAA C !Qu%%%A 8QCu % % %D (A3e $ $ $CnQ1c3b!<rs  PPPPPPPPPPPPPPPPPPPP444444444444PPPPPPPPPPPPPP======***.9999555 777     ,,,,,,,,, t 8Jxur2hR)888ub"XV,,,..Jxur2hR)888ub"XV,,,..Jzur2hR)888ulllLLL1@@@BBJyuw'&&)9:'JJJugw'w77799Jyuw'&&)9:'JJJugw'w77799J{uw'&&)9:'JJJu0002J2J2JKSZ[[[]]Jurxf---rxF+++J   Juy~~a##y~~a  ""Juy~~a##y~~a  ""JzAA1v;    F;J~ulllLLL1@@@ub"XV,,,..J~ur2hR2r(36BBBu\\\00022J~ulllLLL1@@@ub"XV,,,..J~ur2hR2r(36BBBu\\\00022Ju///1L1L1LMU\^^^ugw'w77799Jug&'(:Wg22222222n22222222222 F F F F Fn F F F I I I I I I I I + + + + +> + + +&$$$+++++%'F+++7373737373 737373t/////#%D///00000h000.)))))')H)))-----,---666666#%D666!+!+!+!+!+h!+!+!+H 5 5 5 5 5 5 5 5,,,,,#%D,,, $ $ $ $ $h $ $ $ ,,,,,)+G,,,&(,+1+1+1+1+1$&E+1+1+1\@)@)@)@)@)y@)@)@)F 0 0 0 0 0$'/2 0 0 0     y   00000*,H000     *   ######%D###*'1'1'1'1'1h'1'1'1T33333%'>333<1+1+1+1+1+ 1+1+1+hII5HIIIJJS:S:S:S:S:S:S:KJS:l ? ? ? ? ?)+G ? ? ?3-3-3-3-3-3-3-3-lBBBBB%'CBBB.8+8+8+8+8+8+8+8+v = = = = = = = =[Q[Q[Q[Q[Q}[Q[Q[Q|u<u<u<u<u<-u<u<u><<?>