K iM#ddlmZddlmZmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlmZdd lmZdd lmZdd lmZmZmZmZmZmZmZmZm Z m!Z!dd l"m#Z#dd l$m%Z%ddl&m'Z'm(Z(m)Z)e#dZ*e#dZ+dZ,dZ-dZ.dZ/y))Rational)EqNe)symbols)sympify)S)randomchoice)sqrt) randprime)Matrixlinear_eq_to_matrix) _lp _primal_dualUnboundedLPErrorInfeasibleLPErrorlpminlpmax_m_abcd_simplexlinprog) import_module)raises)xyznumpyscipyc h tdtzzdkt dtzz dkdtztzdtzzdktdk\tdk\tdk\g}t tz dtzz }tt||x}\}}|t ||k(sJ|j ||k(sJ|D]}|j |dk(rJttz dtzzdkt dtzzdtzz dkdtztzdtzz dktdk\tdk\tdk\g}t tz dtzz }tt||x}\}}|t ||k(sJ|j ||k(sJ|D]}|j |dk(rJttz dtzzd kt dtzzdtzz d kdtztzdtzz d ktdk\tdk\tdk\g}d}t tz dtzz |z}tt||x}\}}|t ||k(sJ|j ||k(sJ|D]}|j |dk(rJtd x}\}} } } || z d| zz | z d kd|z| zd | zz dkd|z| z| zdk|d| zz d| zz | z g|D cgc]} | dk\ c} z}}tt||x}\}}|t ||k(sJ|d |d| d| d| difk(sJttz dtzzd kt dtzzdtzz d kdtztzdtzz d kgtttfD cgc]} | dk\ c} z}t tz dtzz }tt||\}}|j ||k(sJ|D]}|j |dk(rJttz tdtzzd kt dtzzdtzz d kdtztzdtzz d kttfdtdk\ttfdtdkttfdtdkDttfdttdttfddd} tttttttdkg}t}tt||x}\}}|t ||k(sJ|j ||k(sJ|D]}|j |dk(rJycc} wcc} w)NrT x1 x2 x3 x4g@g@cXttt tz dtzz gS)Nr&)lpmaxrrr)r1r2r3sf/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/solvers/tests/test_simplex.pyztest_lp..Ys$bqbd1Q3hR =c0tttgSNr/r0rr1sr4r5ztest_lp..\sRQ%5r6c2tttgSr8r9)r1r2sr4r5ztest_lp..^sba"b&:r6c0tttgSr8r9r:sr4r5ztest_lp..bba".r6c0tttgSr8r9r:sr4r5ztest_lp..fr>r6cfdtd|dzz}t|Dcgc]}tfd|Dk }}tfd|D}|||fScc}w)Nctkr tdStdDcgc]}tddc}\}}t ||t ddgzScc}w)Nrr"r;r-)r rranger rr )_int1int2sparsitys r4randz2test_lp..make_random_problem..randisUx("qz!5:1X>)As+>JD$D$'Aw7 7?sAzx1:%sr-c32K|]}|zywr8.0rrHs r4 z7test_lp..make_random_problem..os8DF1H8c32K|]}|zywr8rJrKs r4rMz7test_lp..make_random_problem..qs6q 6rN)rrCsum)nvarnum_constraintsrG variablesrD constraints objectiverHs ` @r4make_random_problemz$test_lp..make_random_problemhss 8 Gtax01 %o 688i88DFB8 86I66 +y008s#A$)r"r"g?)rrrr/r0rsubsrr r TypeErrorrrrr)rTrUansoptimumargmaxconstrconstvx1x2x3x4irVr1r2r3s @@@r4test_lprds QqSAB acRB 1q1Q3! Br2qAvqAvqAv6KQQIsI{;;C/'6 % ;/ // / >>& !W ,, ,+{{6"d***+ Q1 B acAaC2 B 1q1Q3" Br2qAvqAvqAv6KQ1 IsI{;;C/'6 % ;/ // / >>& !W ,, ,+{{6"d***+ Q1 B acAaC1 B 1q1Q3" Br2qAvqAvqAv6K E1QqSIsI{;;C/'6 % ;/ // / >>& !W ,, ,+{{6"d***+ !//ABB b1R4"  !B 2AbDA B BbA B!B$Y2-2RRLDQD5{IsI{;;C/'6 % ;/ // / 1r1b!RB23 33 3 QQ" B acCE Q B 1q1Q3" Br2,1a)!>& !W ,, ,+{{6"d***+ Qa1  "B acAaC1 B 1q1Q3" B 9=> aB 56 bB :; QB 9./ AqB 9./ 1 AqB AqB aBr2,KIsI{;;C/'6 % ;/ // / >>& !W ,, ,+{{6"d***+sD"=s > V*4 V/c zddgddgddgddgggdddggdgg}tt|d\}}}}t||| | ddd ggd fk(sJt||| | d dgd d dgfk(sJtgggdggdgddggfk(sJttt z tt d zktt d zk\tdk\t dk\gd td t difk(sJttt z tt d zkt tt d ztdk\t dk\gd td t difk(sJttt z tt d zkt td gd td t difk(sJtt t t d gd t d ifk(sJtt tt d zktt d zk\t dk\gdtd t difk(sJtt dt d zkdt d zk\gdt difk(sJtt dt d zkdt d zk\t dkgdt difk(sJttt dk\tt k\gdtdt difk(sJttt dk\tt tzk\tdk\tdk\gdtdt dtdifk(sJtdx\ttfdt}d zzdzzz }d zd zzd zzd zz }|dkgt dzzd t  zd zzdgz}||\}} ||\} } ||dd\} } tdd z dtdd z dtdd z gf}t|| | | | d|k(sJt||dk\dkdk\dkdk\dkdk\dkgz}|dt|dj!f|k(sJy)Nr-r;r)r&r-r"r;F)listir#r")r-rrrT)dualr&r$r+c tdzdzz dzzdzdzdzz dk dzz dzzdkd zz dzzd kgDcgc]}|dk\ c}zScc}w) N r)r#r&r"rr*r()r)rcr^r_r`rarbs r4r5ztest_simplex..se "qt adQ 2"  ad QrTR 2 AbDB 34"5a16"5 6'7#6s A" r,ri)rr-bounds)rrrrrrrrrrrrrrrrfvalues)LABCDMfcondcdabaeqbeqrYlpansr^r_r`rarbs @@@@@r4 test_simplexr~s Q"a1a&2q'* Q   A r1vE*JAq!Q Aq1"qb !b1a&,%? ?? ? Aq1"qbt ,q!f1   RDaSE1# &1qc2, 66 6 Qa!eQ!a%Zaa@ !Q1    Qa!eR1q5\1616B !Q1    Qa!eR1X. /A1a|3D DD D R1XJ A1v; .. . Q!a%Za!eQ!V4 !Q1    Q!a%Za!e, -"q"g >> > Q!a%Za!eQ!V4 1b']   Q!VQ!V$ %!aAq\): :: : Q!VQ!a%Zaa8 !Q1a# $ %% % !//ABB 78 A "r AbD2A "qt adb1f%A F8r!B$)Q'RC"HqtOQ)?@ @D Q7DAq Q7DAqab1~HC Q46AqtAvq!A$q&) *C 1aCV 4 ;; ; !TR1WbAg aq"'27B!GR1W>> ?E !Hd58??,- .# 55 5r6c Ztdx}\}}}}ddggdgddggdgf}|Dcgc] }t|c}\}}} } t||g| | gg} t| d\} } t| | |ddDcgc]}|dk\ c}z}|d|d|difk(sJ|ddgddggddgddggdgf}|Dcgc] }t|c}\}}} } t||g| | gg} t| d\} } t | | |ddDcgc]}|dk\ c}z}|d|d|difk(sJycc}wcc}wcc}wcc}w)Nz x1 x2 y1 y2r-r;r"rr$)rr rrr)r^r_r`y1y2rorcryrzrwrxmrur\rYs r4test_lpmin_lpmaxrs //ABB R A3!Q1#%A%&'&)'JAq!QAA AQ"IAv 6QrU3Q!V33 4C 2Ar1~& &*s* & R1a&Aq6QF8aS0A%&'&)'JAq!QAA AQ"IAv 6QrsV4Q!V44 5C 2Ar1~& && &(4(5sD/ D ,D#6 D( c tdD]E}|sd}nd}tdx}\}}}||zd|zz }|||d}d|zd|zzd|zz dkd|z|z d |zzd k|dk\|dk\|dk\g}||D cgc]} | j| jz c} |} t d  d z ddt dd z gf} t ||| dt t|| d fk(sJt|g| | k(sJ|d z }|||d}t|d |zz d g} || D cgc]} | j| jz c} |} d t dd z z dd t dd z gf} t ||| z| dt t|| d fk(sJt|g| | | dd z | d fk(sJ||z tjkg} || D cgc]} | j| jz c} |} d t d d z z dt d d z t ddz gf} t ||| z| dt t|| d fk(sJt|g| | | dd z | d fk(sJdddtjfg}dddtjgf} t |||tjkgz| dt t|| d fk(sJt|g| d|i| dd z | d fk(sJt|g| d|j||dii| dd z | d fk(sJ||z tjkg} Htd ggggdddgfk(sJtd gggdddgfk(sJtd gdddgfk(sJtd dgd d ggdgd didddgfk(sJtd dgd d ggd gd diddd gfk(sJycc} wcc} wcc} w)Nr"ct||Sr8r)ryrzs r4r5ztest_linprog..s0A6r6cntt||Dcgc]}|jc}Scc}wr8)tuplertolist)ryrzrcs r4r5ztest_linprog..s1U$71$=$?  $?@$?s2zx1:4rr%r,r#r*rjr&r-ri )rNrmr;)r"r#rl)NNr$)r#Nr')rCrltsgtsrrdictziprrlhsrhsHalfindex)dortr^rrrrurwineqrcabrYeqabeqrms r4 test_linprogrsAh(6A@Afo%GAq! EAaCK aGAJ!ac AaC1$ aC!GbdNa  FAFAF$t,! ,a 0!uQwAqtAv'Q~#a&$s1c!f~*>!????q2#%%% Q aGAJQqS!n ,A!%%!%%-,a01Q46zAq!A$r'?+Qr "s1vtC3q6N/C&DDDDq%2%%#a&1*c!f)====!eqvvo ,A!%%!%%-,a01R57{Q!Q"b12Qr "s1vtC3q6N/C&DDDDq%2%%#a&1*c!f)====Yqvv71a.!QQVV },- FDQA(2** **q-2-f-#a&1*c!f1EEEEq2qwwqz6":&>a&1*c!f%& &&!eqvvo Q(T QC5"b 0QH << < A3Bv .1qc( :: : A3v &1qc( 22 2 Ar7aVHqc1\2B 1a&\   Ar7aVHqc1Y- 1a&\  C-- -s8 O ' O"  O' N)0sympy.core.numbersrsympy.core.relationalrrsympy.core.symbolrsympy.core.sympifyrsympy.core.singletonrsympy.core.randomr r (sympy.functions.elementary.miscellaneousr sympy.ntheory.generater sympy.matrices.denser sympy.solvers.solvesetrsympy.solvers.simplexrr/rrrrrrrrrsympy.external.importtoolsrsympy.testing.pytestr sympy.abcrrrnpr rdr~rrrJr6r4rsm'(%&",9,'6"""5'7gd+N86v'"1r6