K iI4ddlmZddlmZddlmZddlmZmZm Z ddlm Z ddlm Z ddl m Z ddlmZdd lmZd Zd Zd Zd ZdZdZdZdZdZdZdZy))I)symbols)raises)Matrixzeroseye)Symbol)Rational)sqrt)simplify)xcrtdttfdttfdttfdttfdttfdttfdttfdttfd ttfd ttfd ttfd ttfd ttfdjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjddddt gdgdgdgk(sJjddddt gdgdgdgk(sJjdddd t gdgdgdgk(sJt d!ddgd"z}|jdddt d!ddgd"zk(sJ|jdddt d!ddgd"zk(sJ|jddddt d!ddgd"zk(sJy)#Nc&jdSNabcelementary_row_opesj/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_reductions.pyztest_row_op..q2259c$jSNrrsrrztest_row_op..q224rc,jdddS)Nn->knrowkrrsrrztest_row_op..q227Q2Grc,jdddS)Nrr r!rrsrrztest_row_op..q227a2Hrc,jdddS)Nn<->mr row1row2rrsrrztest_row_op..q2272Krc,jdddS)Nr)r r*r+rrsrrztest_row_op..r.rc,jdddS)Nr)r&r*r+rrsrrztest_row_op..q227!2Lrc,jdddS)Nr)r*r&r+rrsrrztest_row_op..q2272Lrc.jddddSNn->n+kmr*r r,r-r#rrsrrztest_row_op..q22911PQ2Rrc.jddddS)Nr6r r*r7rrsrrztest_row_op..r8rc.jddddS)Nr6r&r*r r7rrsrrztest_row_op..q2292AQR2Src.jddddS)Nr6r*r&r r7rrsrrztest_row_op..q22912QR2Src.jddddSr5rrsrrztest_row_op..r8rrrr r rrrr*rrrr*r*r*rrrr rr!)r,r#r)r+)r"r-r6)r*r r)r"r#r-)r,r#r-)rr ValueErrorrrars @r test_row_oprI  AA :9: :45 :GH :HI :KL :KL :LM :LM :RS :RS :ST :ST :RS  w1 -Iy8Y1Z ZZ Z  w1 -Iy8Y1Z ZZ Z  wA  3vy)U^>_7` `` `  wQ!  4 9V_?`8a aa a  w1 -Iy8Y1Z ZZ Z  wQQ  769iYbBc;d dd d  wAA  6&)YXaAb:c cc c  y!Q 2fiT]=^6_ __ _  ya11  =T]_hHiAj jj j  yqAA  >&)U^`iIjBk kk k q!aSUA  w1 -1qc!e1D DD D  w1 -1qc!e1D DD D  y!Q 2fQA3q56I II Ircrtdttfdttfdttfdttfdttfdttfdttfdttfd ttfd ttfd ttfd ttfd ttfdjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjdddt gdgdgdgk(sJjddddt gdgdgdgk(sJjddddt gdgdgdgk(sJjdddd t gdgdgdgk(sJt d!ddgd"z}|jdddt d!ddgd"zk(sJ|jdddt d!ddgd"zk(sJ|jddddt d!ddgd"zk(sJy)#Nrc&jdSrelementary_col_oprsrrztest_col_op..4rrc$jSrrMrsrrztest_col_op..5rrc,jdddS)Nrr colr#rMrsrrztest_col_op..6r$rc,jdddS)Nrr&r rQrMrsrrztest_col_op..7r'rc,jdddS)Nr)r*r col1col2rMrsrrztest_col_op..8r.rc,jdddS)Nr)r r*rUrMrsrrztest_col_op..9r.rc,jdddS)Nr)r&r*rUrMrsrrztest_col_op..:r1rc,jdddS)Nr)r*r&rUrMrsrrztest_col_op..;r3rc.jddddSNr6r*r rVrWr#rMrsrrztest_col_op..<r8rc.jddddS)Nr6r r*r]rMrsrrztest_col_op..=r8rc.jddddS)Nr6r&r*r r]rMrsrrztest_col_op..>r;rc.jddddS)Nr6r*r&r r]rMrsrrztest_col_op..?r=rc.jddddSr\rMrsrrztest_col_op..@r8rrrr r?r@rAr*rBrCrQ)rVr#r)rU)rRrWr6)r r*r)rRr#rW)rVr#rWrDrE)rrrFrNrrGs @r test_col_oprb1rJrctd}td}|jsJ|jsJtddg}|jsJtddgd}|jsJtddgd}|jrJt d}tdd|ddg}|jsJtdd||dg}|jrJtddgd}|jrJy) NrrrD)rrDr*rrrE)rrrErrDr*r r* rrrr*rDrrrr)rr is_echelonrr )zroidentrHr s rtest_is_echelonrhUs (C FE >>>    q!RA <<<q!'(A <<<q!'(A|| s Aq!aAYA <<<q!aAYA|| q!01A|| |rctd}td}|j|k(sJ|j|k(sJtddg}|j|k(sJtdddg}|j|k(sJfd}tddgd}tdgdgdggg}t |j Dcgc] }||ddf }}|jj sJ||||tddgd}g}t |j Dcgc] }||ddf }}|jj sJ||||tddgd }ttd d gdgdggttd d gdgdggg}t |j Dcgc] }||ddf }}|jj sJ||||tddgd }tdgd gdggg}t |j Dcgc] }||ddf }}|jj sJ||||tddgd}tdgdgdggtdgd gdggg}t |j Dcgc] }||ddf }}|jj sJ||||td dgd}td gdgdggg}t |j Dcgc] }||ddf }}|jj sJ||||ycc}wcc}wcc}wcc}wcc}wcc}w)Nrrr*r c|D]}td|zDrJ|D]:}td|Drtd|jzDs:Jy)Nc34K|]}|jywris_zero.0ts r zCtest_echelon_form..verify_row_null_space..s6Qqyy6c34K|]}|jywrrlrns rrqzCtest_echelon_form..verify_row_null_space..s,Qqyy,rrc34K|]}|jywrrlrns rrqzCtest_echelon_form..verify_row_null_space..sJQqyyJrr)all transpose)matrowsnullsv a_echelons rverify_row_null_spacez0test_echelon_form..verify_row_null_spacesh 7A6)A+66 66 7 KA,!,,J)AKKM2IJJJJ Kr r*rDrr rE ) r*rDrr~r rErrr) rDr*rrrrrDr*rrD) rDr*rrrrr*r*r) rrrrrDrDrr*r*)rDrDrrrr)rr echelon_formrrangerxrer )rHrr|ryirxr{s @rtest_echelon_formrps aA AA >> q  >> q  q!RA >> q  q!aSA >> q  K q!01A TTT E#166] +AadG +D + I    !T5) q!01A E"166] +AadG +D + I    !T5)q!01A r1o VVr1o VV  E#166] +AadG +D + I    !T5) q!01A VVV E#166] +AadG +D + I    !T5)q!01A SSSTTT  E#166] +AadG +D + I    !T5)q!'(A TSS E#166] +AadG +D + I    !T5)y , , , , , ,s$M&M"<M'.M,0M1"M6c tddg}|jd|k(sJtdddg}tdddg}|jd|jdcxk(r|k(sJJtddgd}|jdtdgdgdggk(sJtddgd}|jdtgdgk(sJtddgd}|jdtgd gd gd gk(sJtddgd }tddgd }tddgd}tddgd}|jd|jdcxk(r2|jdcxk(r|jdcxk(r|k(sJJtd}td}|jd|k(sJ|jd|k(sJtgdgdgdgdg}|j\}}|tgdgdgdgdgk(sJ|dk(sJtt ddt ddddggdgdgdg}|jdtdddt ddgdddt d dgdddt d!dggd"gk(sJt d#}tdd|ddt ||dg}t|jdddt || dzz|t ddz |zz dddt ||zdzz gD]\} } t| | z jrJy)$NrF)pivotsr*r r)r*rDrr})r*rrrr*rD)rrr) r*rDrr*rDrr*rDr) r*rDrrrrrrrrd) rrrrrrr*rDr)rrr*rDrDr&r)rr rDrDr*ir )rrrrrrr&)rr rrrr*r)r*r&rrr*r*r)rrr*rrrr*)rrrr*r*rr*)rrrrrrr)rrDrrD)r~r rEr)rr ) ir&rrrrr ) rrrefrrr r r zipr rm) rrHbcdzrw pivot_offsetsr rjs r test_rrefrsq!RA 666 1 $$ $q!aSAq!aSA 666 1666#7 <1 << << <q!YA 666 6A3aS/#: :: :q!YA 666 69+#6 66 6q!01A 666 6%/%/%/+1$2 22 2 q!01Aq!01Aq!01Aq!01A 666  FF%F  & FF%F  & FF%F  &%& && && & AA aA 666 1 $$ $ 666 1 $$ $ ' ' ' ' ) *A C &---- /0 00 0 I %% %!R8Aq>aA>0002 3A 666 6*+Q8C3E)F*+QHR4E)F*+Q8C3E)F); +=$> >> > s Aq!aAtAw1-.AAFF%F( 47QBF#a!Q&7%7!%;<1aa1q) +,'1A&&&&'rctd\}}}}tddgddgddgddgg}t||||g}|j|tddgddgddgddggtd|z|zgd|zdz |dz z g|g|ggfk(sJy)Nza b c drr*rDrr~r)rrrref_rhs)rHrrrABs r test_rref_rhsrs#JAq!QAAAA/0A1a|A ::a=VFFFF %   1qMqSUQqS[MMM    rc tgdgdgdgdgdgdgjddd }jd d d d }jdd d}|d ddftgdgk(sJ|d ddftgdgk(sJ|d ddftgdgk(sJttfdttfdttfdy)N)rr~rr*)rrrr)rrDr*r)rDrrr)rrrr&)rrrrEr)rDr r+r6rr7rr!)rrrr)rrc,jdddS)Nr)rDrEr+rCsrrz"test_issue_17827..0r.rc,jdddS)NrrrDr!rrsrrz"test_issue_17827..1r$rc.jddddS)Nr6rr rDr7rrsrrz"test_issue_17827..2r;r)rrrrF)DEFrs @rtest_issue_17827rs  A G!!4A IAAA#5:BIr:< =A1aBED52:,>)?@ !1aArD52:,?@ !1aTEBJ@@BC OffhOGV $w. /5!''? BB B _ $$ $rctgdgdgdgdg}|tjdtzz }|jdk(sJ|dzjdk(sJ|dzjdk(sJy)N)r*r*r*r)rrrr)rrrr)rrrDr*r~rrD)rrrr)rrs rtest_issue_15872rZsn o~|LMA FJJqMA A 668q== qD;;=A   qD;;=A  rN)sympy.core.numbersrsympy.core.symbolrsympy.testing.pytestrsympy.matricesrrrr r (sympy.functions.elementary.miscellaneousr sympy.simplify.simplifyr sympy.abcr rIrbrhrrrrrrrrrrrsb %'--$'9,!JH!JH6\*~>'B U*%(r