K iX`ddlmZddlmZmZmZddlmZmZddl m Z ddl m Z ddl mZmZddlmZmZddlmZdd lmZmZdd lmZmZdd lmZdd lmZdd lm Z ddlm!Z!ddl"m#Z#dZ$dZ%edZ&dZ'dZ(dZ)dZ*e!dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3d Z4d!Z5d"Z6d#Z7y$)%)N)FloatIRational)Symbolsymbols)Abs)sqrt)cossin)eyeMatrix)S)raisesXFAIL)NonSquareMatrixError MatrixError)DFTsimplify)ImmutableMatrix)slow)allclosec bt}tjd}|jdtj dik(sJ|jdgdk(sJ|j ddtgdtgdtgd gfgk(sJ|jddtgdgtgdgtgd ggfgk(sJtgd gdgdg}|jd tj zdtj dtjdik(sJ|j d dtgd gfddtgdgfd dt|d d|dddggfgk(sJ|jd dtgdggfddtgdggfd dtgdggfgk(sJtd}t|dgddgg}|j|dtj dik(sJtdd gddgg}|j d d td dd dggfgk(sJ|jd d tddgggfgk(sJtgdgdgdg}|dd }dd|dd zz}|dd }|ddd|zdz z}|ddd|zdz z }d}||d z z dtdd||d z z z z||d z z |zz d||d z z z zdd||d z z z z|z dggfddtgdgf||d z zdtdd||d z zz z||d z z|zz d||d z zz zdd||d z zz z|z dggfg}tt|D cgc]?} ||| dd ||| dd || d dD cgc] } || d  c} fA} } } |j }tt|D cgc]?} ||| dd ||| dd || d dD cgc] } || d  c} fA} } } t| t| k(sJtdd } tt| t| zgt | zt| gg}|j ddtt | zt| z gdgggfd t| zdtt| zt| z gdgggfgk(sJ|jddtt| zt| z dgggfd t| zdtt | zt| z dgggfgk(sJtddgd!}|j d"|_t#d#|j dd dDdkDsJ|j d"|_t#d$|j dd dDdk(sJttdd%dgddgg}|j td&dt%d'dz z dtt%d' dz tddz gdgggftd&dt%d'dz zdttd(dt%d'dz zgdgggfgk(sJtgjik(sJtgjdgk(sJtgj gk(sJt't(d)t't(d*t't(d+t't(d,t't(d-t't(d.tdd gdd%gg}t+|jdd/t,sJt+|jdd/t.sJt+|jd0d/t,sJt+|jd1d/t.sJycc} wcc} } wcc} wcc} } w)2NFmultipleTrrrrrrrrrrrrrrr)r%rrr)rr%r)rr)r%r%rarr$r)) ! r-c,tt||SN)strr)ens e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_eigen.pyNSztest_eigen..NSHs1Q7| r+)rr&repsreal) rr$rrrrr$r$rc34K|]}|jywr3q.0is r7 ztest_eigen..k3qqss3c34K|]}|jywr3rArCs r7rFztest_eigen..mrGrHr)r*IcFtddgddgddggjS)Nrr$rr)r eigenvalsr9r7ztest_eigen..{'6Aq6Aq6Aq623==?r9cFtddgddgddggjS)Nrrrr)r*r+rMrOr9r7rPztest_eigen..}rQr9c@tgdgdgjS)Nr(rr*r+rMrOr9r7rPztest_eigen..69i01;;=r9c@tgdgdgjS)Nr r)r*rrMrOr9r7rPztest_eigen..rUr9cDtgdgdgjdS)Nr(rTFerror_when_incompleterMrOr9r7rPztest_eigen..#69i01;;',<.r9cDtgdgdgjdS)Nr rWFrYrMrOr9r7rPztest_eigen..r[r9)rrc|Sr3rOxs r7rPztest_eigen..Qr9c|Sr3rOr^s r7rPztest_eigen..r`r9)rrr rNrOne eigenvectsleft_eigenvectsZerorrangelensortedabsrr _eigenvectsmaxr rr isinstancedictlist)RMr'bcdr5r8rrEjr1r2r<ms r7 test_eigenrysA 1 A ;;; &155!* 44 4 ;;; % 22 2 <<> Q " " "$ % & '' '    Q $ $ $& ' ( )) )   A ;;=QquuWa!%%AFFA> >> > <<> VJ'( )VJ'( )VQq!Wa1gq123 4        VZL)* + FK=)* + FI;'( )     s AAA A ;;=Q155!, ,, ,BQ A <<>1vaRG'<&=>? @@ @   QFQF8,<+=$>#? @@ @ 9i01A "aA "a1g+ A "aA 2qAaCE A 2qAaCE A QqS!frBAaCL0A!GQ;?!Q1W+M 2q1Q3w</2A789 :!fZ()* QqS!frBAaCL0A!GQ;?!Q1W+M 2q1Q3w</2A789 :  A27s1v @,- ad1gq>2ad1gq>Q471:&aAq& ( @B @ A16s1v @,- ad1gq>2ad1gq>Q471:&aAq& ( @B @ ": ## # T "CS1S5%C3s8%' (A <<>VqbfSXo.456 7Cj!v#c#h'7!&=>@ B       FQsU3s8^Q/012 3 s3xZVqbfSXoq%9$:;< =    q!12ALL%L0AM 3AMM!,Q/23 3a 77 7LL$L/AM 3AMM!,Q/23 3q 88 8!Q#aV,-A <<> !Q$r(1* $a&DH9Q;!Q3O2PSTRU1V*W)XY !Q$r(1* $a&8B?T"XaZ3O2PSTRU1V*W)XY[ [[ [ ":   !R '' ' ":    ." 44 4 ": "b (( (  ?A  ?A  =?  =?  ./  ./ AA A akk4%k@$ GG G akk4$k? FF F akk;kG NN N akk;kF MM Mw ' @ ' @s0 .` :` ` :.`+(`&8`+` &`+ctgdgdgdg}tddtddz z tddz tddztjg}|j dd }t |}|Dcgc]}|j}}t |}t||D]\}}t||z d krJycc}w) N)r333333?r{)r{?r|)r|r{r{r*r)iT)rationalrg& .>) rrr rrerNrhevalfzipri)rxevalsn_evalsr_s_evalsys r7test_float_eigenvalsrs \<89AAc2% S " x1~%  E kk4$k7GWoG"'(Qqwwy(G(WoGGW%!11Q3x&   !)s<Cctdddddtgttfdj drJtt fdj d\}}y)Nr$rrc&jdSNT)is_diagonalizablerxsr7rPz"test_eigen_vects..s(;(;D(Ar9Tc&jdSr diagonalizersr7rPz"test_eigen_vects..s d 3r9)rrrNotImplementedErrorrrr)PDrxs @r7test_eigen_vectsrsXq!aAq\"A  AB""4(( ( ;34 ]]4 FQr9c td\}}d}t|Dcgc]}td|z}}t|Dcgc]}t|Dcgc]}dc}}}}t|D] }|||||<t|}|j }t ||k(sJt|D]}|||dk(rJ|j d}t |t |k(sJt|ddgd|dgdd |gg}|j }||d|dik(sJ|j d}t |d k(sJ|j|dk(sJ|j|dk(sJycc}wcc}wcc}}w) Nzx yzx%srrTrr$r)rrfrrrNrgsetcount)r_rr6rEdiagonal_variablesrurprNs r7test_issue_8240rs 5>DAq A5:1X>&+>>(-a11U1X ! 1A1 1X($Q'!Q(q A I y>Q   1X5+A./14445 T *I y>S!34 44 4 Aq Aq!9q!Qi01A I Aq! $$ $ T *I y>Q   ??1  "" " ??1  "" "-? 1sE5E? E: E?:E?ctgdgdgdg}|jdtjzdtj dtjdik(sJtgdgdgdgd gd g}|jsJy) Nr#r rr$rrrrrrKrrKrKrrrrrrrrrrrrrrrrr)rrNrrbre)rprxs r7test_eigenvalsrs|  A ;;=QquuWa!%%AFFA> >> >  A ;;==r9ctgdgdgdg}|j}|D])\}}}t|dk(sJ||dz||dzk(r)JyNr#r rrr)rrcrgrpvecsvalmultvec_lists r7test_eigenvectsrsl  A <<>D#0T88}!!!!}HQK///0r9ctgdgdgdg}|j}|D])\}}}t|dk(sJ|d|z||dzk(r)Jyr)rrdrgrs r7test_left_eigenvectsrso  A   D#0T88}!!!{1}HQK///0r9c tgdgdgdg}|j|k(sJ|jd|k(sJ|j|k(sJ|j|||fk(sJ|jd|||fk(sJ|j|k(sJddl}t dD]}g}d}d}t ||zD]}|j dd }||gz}t|||}t |}|j\} } } |j\} } }|j}|j}| | z| z}| | z|z}| j|j|j|j| j|j|jd}|jd\}}}|jd}|jd\}}}||z|z}||z|z}|j|j|j|j|j|j||k(sJ| |k(sJ||k(sJ| |k(sJ||k(sJ||k(sJ||k(sJ||k(rJt dD]}g}d}t ||zD]8}|j dd }|j dd } || tzz}||gz}:t|||}t |}|j\} } } |j\} } }|j}|j}| | z| z}| | z|z}| j|j|j|j| j|j|jd}|jd\}}}|jd}|jd\}}}||z|z}||z|z}|j|j|j|j|j|j||k(sJ| |k(sJ||k(sJ| |k(sJ||k(sJ||k(sJ||k(sJ||k(rJtd d t d d }|jd}|jd |jk(sJ|jdd |jdk(sJ|j\}!}"}#|!|"z|#z|z }$tt|$dksJy)Nr r!r"F)upperrr$i6eiʚ;r-rct|Sr3)r)rEs r7rPz$test_bidiagonalize..ps eAhr9g-q=) r bidiagonalizebidiagonal_decompositionrandomrfrandintrrr applyfuncrirk)%rpr real_test test_valuesrowcol_valuerN1N2N3M1M2M3M0N0N4M4LM0LM1LM2LM3LN0LN1LN2LN3LN4LM4 complex_testsizer>compr'rqrrdiffs% r7test_bidiagonalizers  A ??  !! ! ??? '1 ,, , ??  !! ! % % 'Aq!9 44 4 % %E % 2q!Qi ?? ? ??  !! !1X7  sSy! 0ANN; ;E%/K 0 3[ ) A /Q//1 B//1 B __  Q__  "Wr\ "Wr\      ooEo*222? S#aooE*222? S#Ci#oCi#o      BwwRxxBwwRxxCxxczzCxxczzo7ta7  td{# 0A>>+z:D>>+z:D4!8OE%/K  0 4{ + A 0Q//1 B//1 B __  Q__  "Wr\ "Wr\      ooEo*222? S#aooE*222? S#Ci#oCi#o      BwwRxxBwwRxxCxxczzCxxczzo7r r1eAsm$A &'A % % ' *aoo.? ?? ? % %E % 21 5u9U UU U((*GAq! q519q=D s4y>G ## #r9cRtddgdttfdj\}}|j sJ|tt dgdt ggk(sJtddgdj\}}t d|jDsJt d|jDsJjd \}}||k(sJtgd gd gd gd gj\}}t||z|zsJy)Nr$rr%rrc(jdS)NT reals_onlyrrsr7rPz"test_diagonalize..zs  >r9r)r?rrc3<K|]}t|tywr3rlrrDr5s r7rFz#test_diagonalize..8z!U#8c3<K|]}t|tywr3rrs r7rFz#test_diagonalize..rrTrrrrr)rrrMb`?)rrrr)rrrr) rrrr is_diagonalrallvaluesr)rrrD2rxs @r7test_diagonalizerxsq!]#A ;>? ==?DAq ==?? "aa   q!^$A ==?DAq 8QXXZ8 88 8 8QXXZ8 88 8 MMTM *EAr 7N7 ')9<H JA ==?DAq AaC1  r9c4td\}}}tdd||||g}|jsJ|jsJtddgdjrJtddgd}|jsJ|jdrJy)Nza b cr$)rrrrrTr)rr is_symmetricr)r'rqrrrxs r7test_is_diagonalizablersgGAq!q!aAq\"A >>      aL);;== =q!]#A    ""d"33 33r9ctddgdttfdtddgdj\}}|k(sJtddgdj\}}|k(sJtgdgd gd gd g}|j\}}t ||z|j z|k(sJtd d d gjtd gtd gfk(sJtd d d gjd td gk(sJtgdgdgdgdgdgtt fdtdddtdzzgddtdzzdggj\}}td|DsJtd|DsJy)Nrr$)rKrrKr}r c$jSr3 jordan_formrsr7rPz"test_jordan_form..s r9r))r$rrrrr$rrrrr$rrrrr$)r$rrrrr$rrrrr$rrrrr$)r$r)rr)r?r$rr)rrr$r))rrr?r$rF)calc_transformrrrrrc$jSr3rrsr7rPz"test_jordan_form..s  r9g?g?g?g?c3JK|]}t|txs|dk(ywrNrrDr_s r7rFz#test_jordan_form..#9!z!U#-qAv-9!#c3JK|]}t|txs|dk(ywrrrs r7rFz#test_jordan_form..rr) rrrrrinvrr r)rJArxs @r7test_jordan_formrsq!+,A !89 q! A ==?DAq 6M6q! A ==?DAq 6M6    " #A ==?DAq AaCK A %% % !Q  ( ( *vqc{FA3K.H HH H !Q  ( ( ( >&!+ MM M  "3_oWfghA ;/0 Q!78 Q 8: ;A ==?DAq 9q9 99 9 9q9 99 9r9c^tdd}tddtzgddgg}|jddgk(sJt d}||d<d |d <|j}t |d dt |hk(sJtt|t|gt| t|gg}|jDcgc]}|j}}|tjtjgk(sJtdd gddgddgddgg}|jttd d ztd td z gk(sJ|jjttd d ztd td z ddgk(sJycc}w)Nr_Tr=rrr$r)rrr*)r$r$r)r/)rrrsingular_valuesr rr r r trigsimprrbr T)r_rvalssvs r7test_singular_valuesrssAAaC1a&!"A   1a& (( ( AAAdGAdG   D t9As1v && &QQ CF7CF"345A$%$5$5$7 8bBKKM 8D 8 AEE155> !! ! A A A A   A    d3i"n tBcN34 55 5 33   d3i"n tBcN3Q: ;; ; 9sF*c:tgdgdgdgik(dusJy)Nr#r rF)rrOr9r7 test___eq__rs6     $ $$ $r9ctgdgdgdg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtddgddgg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtgdgdgd g}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtd d gd dgg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtd d gdd gg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtd d t zgt dgg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtdd}tdd}t|ddgd|dgdd|gg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJt|ddgd|dgdd|gg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJt|dgd|gg}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJ|j dk(sJtgdgdgdgdg}|jdk(sJ|jdk(sJ|j dk(sJtgdgdgdg}|jrJ|jrJy)N)r$r%r)r%r$r%)rr%r$TFr*r))r$r%r%)r%r%r$rr$rr-r')positiverq)negativer)ga~2^?=60z?u?1ڿ"ş })rgEߡ?֯mA?)Ewc?)rr gœ?} uq?)rr r g!pb?rrr)rrr$)rr$r)ris_positive_definiteis_positive_semidefiniteis_negative_definiteis_negative_semidefinite is_indefiniterr)rxr'rqs r7 test_definiters  K45A ! !T )) ) % % -- - ! !U ** * % % .. . ??e ## #AA A ! !T )) ) % % -- - ! !U ** * % % .. . ??e ## #  [+67A ! !U ** * % % -- - ! !U ** * % % .. . ??e ## #AA A ! !U ** * % % -- - ! !U ** * % % .. . ??e ## # AA A ! !T )) ) % % -- - ! !U ** * % % .. . ??e ## # AaCA2q'"#A ! !T )) ) % % -- - ! !U ** * % % .. . ??e ## # sT"AsT"AAq Aq!9q!Qi01A ! !T )) ) % % -- - ! !U ** * % % .. . ??e ## #Aq Aq!9q!Qi01A ! !U ** * % % .. . ! !T )) ) % % -- - ??e ## #AA A ! !U ** * % % .. . ! !U ** * % % .. . ??d "" " 4 2 . /  A ! !T )) ) % % -- - ??e ## #  A %%% %))) ))r9c:ddlm}tgdgdgdg}||dk(sJtgddddtzgddtzdgg}||dk(sJtgd gdgd g}||dk(sJtdd gd dgg}||dk(sJtgd gd gdg}||dk(sJtgdgdgdg}||dk(sJtgdgdgdg}||dk(sJtgdgdgdg}||dk(sJy)Nr)"_is_positive_semidefinite_choleskyr Tr*rFr )rrr%r)r)r&)r&rr.)rr.)r.rKr)rKr$r)rrr+)r)r&r$)r&rr%)r$r%r*)rr$r%)r$r*r)r%rr.)sympy.matrices.eigenrrr)rrxs r7#test_positive_semidefinite_choleskyrQsAG 9i01A -a 0D 88 8 Aq#a%=1bdA,78A -a 0E 99 9 9j12A -a 0E 99 9AA A -a 0E 99 9  [+67A -a 0D 88 8 J 23A -a 0D 88 8 K45A -a 0D 88 8 Iz23A -a 0E 99 9r9c\tgdgdgdgdgdg}|jsJy)N)r*rKr$)r&rrr$r)r&rrr&r)r,rrr.r&)r)rrir?)rrc)rs r7test_issue_20582rhs0  A <<>>r9ctd}tgdgdgdgdg}t |z|zj}|tgddddd t d zz d d t d zz ggd gdgtdtz|zdddgddtz|zddgdd|dtzdz t d tzdz zzdgddd|t d  tzdz dtzdz z zggfk(sJy)Nt)rrrr)rrr$r)rr$r$r)rrrr)rrr?r%r)r)rrrr)rrrrrKr$r)rrrrr )rHrs r7test_issue_19210r"ts)s A m\<HIA a!  "A @2rDH}-q!d2h,/?@@@ BCEKT!V!QXYZRT!VQXYZ!Q1Qb!A(=%>XYZ!QDH9Q;q=STUVSVWXSXCX@YZ L\E] ^ ^^ ^r9c Ztdjjd}|j}|dddt dt dz gdgdgggfk(sJ|dddt dt dzgdgdgggfk(sJ|dt dt dgdgdgggfk(sJtdjjd}|j}|dddt dgdgdgdgggfk(sJ|dddt dgdgdgdggt dgdgdgdgggfk(sJ|dt dt dgdgdgdgggfk(sJtd jjd}|j}|dddt dt d z gdgdgdgdgggfk(sJ|dddt tddz t d dz zgdgdgdgdggt tddz t d dz zgdgdgdgdgggfk(sJy) NrT)complexrr%rr$r)r*)r as_explicitexpandrcrr rr)rrcs r7test_issue_20275r's A##D#1AJ a= A !d1g+aS) *+   a= 1 !d1g+aS) *+   a= A !rdQC !"   A##D#1AJ a= A "sQC!% &'   a= 1 !qcA3$ %vsQC!qc.B'CD   a= A !rdQC!% &'   A##D#1AJ a= A !d1g+aS1#s3 45   a= 1 !A$q&4719$%sQC!qc: ; !A$q&4719$%sQC!qc: ; =  r9cftdd}tgdd|dgdd|gg}|jJy)NrqT)nonzeror r)rrr)rqrxs r7test_issue_20752r*s=T"A Aq!9q!Qi01A % % -- -r9cdgdzdgzx}}gd}|j}d|d<d}g}tdD]$}|j||||||z&tdD]$}|j||||||z&tt |j j d k(sJy) Nr r) r$rrrrrrrrrrrr$r-c||d|d|zSr3rO)r_rEs r7rotatez test_issue_25282..rotatesuq!u}r9r:r;)copyrfappendsumrrNr)ddsddsssr.matrEs r7test_issue_25282r7scBh!nB -B B BqE C 2Y2 6"a=6"a=012 2Y2 6"a=6"a=012 vc{$$&--/ 0B 66 6r9N)8sympy.core.evalfrsympy.core.numbersrrrsympy.core.symbolrr$sympy.functions.elementary.complexesr (sympy.functions.elementary.miscellaneousr (sympy.functions.elementary.trigonometricr r sympy.matricesr rsympy.core.singletonrsympy.testing.pytestrrsympy.matrices.exceptionsrr"sympy.matrices.expressions.fourierrsympy.simplify.simplifyrsympy.matrices.immutablerrsympy.testing.matricesrryrrrrrrrrrrrrrrrr"r'r*r7rOr9r7rFs33/49?&".G2,4%+{N| ! !!#<$00F$F$R0 4-:`;:$^*B:.  ^-`. 7r9