K i ddlmZddlmZddlmZmZddlm Z m Z m Z m Z edddfdZ eddfd Zeddfd Zy ) ) annotations)floor)ZZQQ) DMRankError DMShapeError DMValueError DMDomainErrorFc tddk\stddk\r td|jd|jdkDr td|jt k7r t d|jd|jdd}|j}|jft}|jfttDcgc]}tddc}tddr|jt nd}d}fd dfd dfd dd } dfd } tD]} || D cgc]} tj| t c} || <t| D]Q} | ||| | f} || z | | <tD cgc]} || | | | || | zz c} || <S| ||| | f| <|krk||dz s| ||||dz f|r3t|dz ddD]}||r | ||||f|dz }n ||dz }||dz|dz zz} |dz |z }||z||dz <||z|<||dz <||dz ||c||<||dz <|dz d|dz |d|dz c|d|dz |dz d|dz t|dzD]A} | |}| |dz ||zz | |<||dz | |z|z| |dz <Cr||dz ||c||<||dz <t|dz d}|krktfdtdDsJtfdtDsJ||fScc}wcc} w#t$r t|wxYwcc} w#t$r t|wxYw)Nr z!delta must lie in range (0.25, 1)rz/input matrix must have shape (m, n) with m <= nzinput matrix domain must be ZZz-input matrix contains linearly dependent rowsc2tt|zSN)rmfloor)xhalfs ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/matrices/lll.pyclosest_integerz!_ddm_lll..closest_integers&T"##cD|||dz dzz |dz zk\S)Nrr)kdeltag_starmus rlovasz_conditionz"_ddm_lll..lovasz_conditions5ayebeAEla&776!a%=HIIrc,t||kSr)abs)rjrrs rmu_smallz_ddm_lll..mu_small!s2a58}$$rc`tfdtjdDS)Nc3LK|]}d|d|zyw)rrNr).0zrowsrys r z-_ddm_lll..dot_rows..%s.LQ1T!W:a=1T!W:a=0Ls!$r)sumrangeshape)rr(r's```rdot_rowsz_ddm_lll..dot_rows$s!L% :KLLLrc||d|d}tDcgc]}||d||||d|zz c}||d<t|dDcgc]}||d||||d|zz c}||dd|d||d|dxx|zcc< r8tDcgc]}||d||||d|zz c}||d<yycc}wcc}wcc}w)Nrrr+) Trr(r'rr&rmnreturn_transforms r reduce_rowz_ddm_lll..reduce_row's BtAwKQ0 1AFqJAaQjma!DG*Q-&77J$q' NSTXYZT[n ]DGQ!bak!n2D!D ]47 HT!W 47 DG! EJ1XN!DG*Q-!aQjm*;;NAd1gJ K ]Os!C!C#2!C(c3.K|] }|ywrr)r%irs rr)z_ddm_lll..Ts8q"8sc3PK|]}t|D] }||ywrr/)r%r8r!r"s rr)z_ddm_lll..Us'B!qBAx1~B~Bs#&)rintreturnbool)rr:r!r:r;r<)r'ztuple[int, int])rr r,rdomainrr copyzerosr+eye convert_fromZeroDivisionErrorrmaxall)rrr4rr(y_star_r0linear_dependent_errorr-r5r8r&r!row_dotlnualphabetaxirrrrr2rr"r3s `` @@@@@@@@r_ddm_lllrN s !Qx5ER1X->??wwqzAGGAJLMMxx2~<==  A  A A A WWaVR F !Q B %a )1bAh )F a8D(a dAL$J%MOO1X 556qT:R__Q+:q q SAq&1a&1G :"VAY.1aJOqRA11a6!9Q<(??RF1I  SVVaV4q  5 a%1q5! q"a!QU , A 1q5"b) 11~q"a!Q0 1 FAAq1uB1Ia&Q- 77E :a!e}u,9BqE!a%Lq D(F1I!F1q5Mq1uXqtNAaD!AE(/1!a%y!a%/@"Q%Q- ,BqE&1q5M2a!e9Va!e,1q5!_ <U1Xa5Q<"r'11a!!uQU|beAh6;1a!e  < !"1q51Q4!aAhAE1 A5 a%6 8E!QK8 88 8 BuQxB BB B a4KA*4; % :!"899 :R% :!"899 :s*)N(!N-N2:!O 1 O2OO$c$t||ddS)NFrr4rrNrrs rddm_lllrSYs AUU ;A >>rct||dS)NTrPrQrRs rddm_lll_transformrU]s AUT ::rN) __future__rmathrrsympy.polys.domainsrrsympy.polys.matrices.exceptionsrrr r rNrSrUrrrrZsH" &bbAhM`1X? "!Qx;r