K iȣLddlmZddlmZddlmZddlmZddlm Z m Z m Z m Z m Z mZddlmZmZddlmZddlmZmZmZmZmZmZmZdd lmZmZmZm Z m!Z!dd l"m#Z#dd l$m%Z%m&Z&dd l'm(Z(dd l)m*Z*m+Z+ddl,m-Z-m.Z.ddl/m0Z0m1Z1m2Z2ddl3m4Z4m5Z5m6Z6ddl7m8Z8ddl9m:Z:ddl;mZ>m?Z?m@Z@mAZAmBZBddlCmDZDddlEmFZFddlGmHZHddlImJZJddlKmLZLddlMmNZNmOZOddlPmQZQmRZRddlSmTZTmUZUddlVmWZWddlXmYZYmZZZddl[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZeddlfmgZgdd lhmiZimjZjmkZkdd!llmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzd"Z{d#Z|d$Z}d%Z~d&Zekd'Zd(Zd)Zd*Zd+Zd,Zd-Zd.Zd/Zd0Zekd1Zd2Zd3Zd4Zd5Zd6Zd7Zd8Zd9Zd:Zd;Zd<Zeid=Zd>Zd?Zd@ZdAZdBZdCZdDZdEZdFZdGZdHZdIZdJZdKZekdLZdMZdNZdOZdPZdQZdRZejdSZdTZdUZdVZdWZdXZeidYZeidZZd[Zd\Zd]Zd^Zd_Zd`ZdaZdbZdcZddZye)f)Sum)Add)Basic) unchanged) count_opsdiffexpandexpand_multinomialFunction Derivative)Mul _keep_coeff) GoldenRatio)EFloatIoopiRationalzoo)EqLtGtGeLe)S)Symbolsymbols)sympify)binomial factorial)Abssign)exp exp_polarlog)coshcschsinh)sqrt) Piecewise)acosasinatancossinsinctan)erf)gamma)hyper)KroneckerDelta)rad)Integral integrate)AndOr)Matrixeye) MatrixSymbol)factorPoly) besselsimp hypersimpinversecombine logcombine nsimplifynthrootposify separatevarssignsimpsimplify)solve)XFAILslow _both_exp_pow)xyztabcdefghinc ttddttddzzz j dz dksJy)NgQ@g@@g333333'@grfa @g-q=)absrJr0r7evalfh/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/simplify/tests/test_simplify.pytest_issue_7263rd%sK 7ST^Q->#>>?FFH   % && &rbctd}tt||z t|k(sJttt|tt|k(sJy)NrO)rrJr!r4rOs rctest_factorial_simplifyrg*sOs A IaLN #uQx // / Iil+ , )A,0G GG Grbc td\ }}}}}}}}}td} tdttt || t t t fDsJd|z d|z z} | ||z||zz k7sJt | ||z||zz k(sJ|dz|dzzdtz|z|dzzz } t | | k(sJdd|zzddd|zzzz dd|zzz } t | dk(sJd |z|dzzd|dzzz d|dzz|zz ||zdzz } t | d |zk(sJ| |z ||zd z|dzzz ||zd z|dzzz} t | d |zk(sJ|||zz|z } t | d|zk(sJ| ||| |zz| |z } t | d|zk(sJdd|z t|tz|z z ztz } t | tt|z dzt|zz dzk(sJtd|dzdzz |j|} t | d|dzdzz k(sJt||dzd|zzdzz |j|} t | ||dzd|zzdzz k(sJtd} td|z||dzzz | g| |||dzzz ggj}t |td| gzd| d|z||dzzz z|dz|||dzzz d|z||dzzz zz z z dk(sJ| ||tzz z||z|tzz z|tz|tzz zt|z|tzz z} t | |t|zz|tzz k(sJ| |dzdz zd|dzz|dzdz zt|dz|dzz dzzz |dzdz t|dz|dzz zz zzt|dz|dzz zz |d |dzzt!|dz |dzz|dzz|dzzdz zt#|zt|dz|dzz dzzz |dzt!|dz |dzz|dzz|dzzdz zt#|zt|dzdz z|dz|dzz zz z |dzt!|dz dz|dzdz zzt!|dz |dzz|dzz|dzzdz zt#|z|dzdz z t!|dz dz|dzdz z|| |dzz|zzt!|dz |dzz|dzz|dzzdz z t!|dz |dzz|dzz|dzzdz zzt#|zztt!|dz dz|dzdz zz|dz|dzz zz zzt!|dz |dzz|dzz|dzzdz zt#|zt|dz|dzz zz z|d |dzzt!|dz |dzz|dzz|dzzdz zt|zt|dz|dzz dzzz |dzt!|dz |dzz|dzz|dzzdz zt|zt|dzdz z|dz|dzz zz z |dzt!|dz dz|dzdz zzt!|dz |dzz|dzz|dzzdz zt|z|dzdz z |t!|dz dz|dzdz zz| |dzz|zzt|zt!|dz |dzz|dzz|dzzdz z zt!|dz dz|dzdz zt!|dz |dzz|dzz|dzzdz zt|zztt!|dz dz|dzdz zz|dz|dzz zz zzt!|dz |dzz|dzz|dzzdz zt|zt|dz|dzz zz z|t!|dz dz|dzdz zz| |zt!|dz |dzz|dzz|dzzdz zt#|zt|dz|dzz z|dzdz zz d|z|zt!|dz |dzz|dzz|dzzdz zt#|zt|dz|dzz dzzz z||zt!|dz dz|dzdz zzt!|dz |dzz|dzz|dzzdz zt#|z|dzdz z |t!|dz dz|dzdz zz|dz |z|zzt#|zt!|dz |dzz|dzz|dzzdz z ztt!|dz dz|dzdz zz|dz|dzz zz zzt#|zt|dz|dzz zz z ||dzdz zd |z|z|dzdz zt|dz|dzz dzzz d|z|zt|dz|dzz zz zzt|dz|dzz zz z||dzdz z|dzdz z| |zt!|dz |dzz|dzz|dzzdz zt|zt|dz|dzz z|dzdz zz d|z|zt!|dz |dzz|dzz|dzzdz zt|zt|dz|dzz dzzz z||zt!|dz dz|dzdz zzt!|dz |dzz|dzz|dzzdz zt|z|dzdz z |t!|dz dz|dzdz zz|dz |z|zzt|zt!|dz |dzz|dzz|dzzdz z ztt!|dz dz|dzdz zz|dz|dzz zz zzt|ztt!|dz dz|dzdz zz|dz|dzz zz z|t!|dz dz|dzdz zzt!|dz |dzz|dzz|dzzdz zt#|dzztdz|dzdz z|dz|dzz z|dzdz zz z |t!|dz dz|dzdz zzt!|dz |dzz|dzz|dzzdz zt|dzztdz|dzdz z|dz|dzz z|dzdz zz z } t | d|ztdz|dz|dzz zz k(sJt d t%t'd t'dk(sJtdd\}} t || z| |zz || z| |zz k(sJt |d||z zz ||z||zz k(sJt |d|z d|z zz||z ||z zk(sJt t)dt)dzt)dk(sJt t)d|zt)dz t)|k(sJt t+gg|t-|k(sJy)Nzx,y,z,k,n,m,w,s,ArXc38K|]}t||k(ywNrJ).0tmps rc z%test_simplify_expr..5sNx}#Nsr^rz/((-1/2)*Boole(True)*Boole(False)-1)*Boole(True)z(2 + Boole(True)*Boole(False))z-Boole(True)/2zA,BF commutative)rr allrrrrJrr/r9rrr<invrRrSr*r0r rr&r5r$) rOrPrQkr\mwsArXrWexprBs rctest_simplify_exprr1sM '(; <Aq!Q1aA A N1b!aR"qb1"/MN NN N !ac A Q1   A;1q51Q3- '' ' 1QT 1R46!Q$;A A;!   QqS1a!A#g; QqS)A A;!   AadQq!tV a1fQh &Q 2A A;"Q$   Q!a%2q!t##q1umAqD&88A A;"Q$   QqS! A A;!a%   1!A$!A A;!a%   acCBKM! "B&A A;C1I:>BqD1!3 33 3!QTAX,"''*A A;!QTAX, && &!QTAaCZ!^$a(--a0A A;!QTAaCZ!^, ,, ,s A1qAvr"aRQq!tV$456::?@!tax:IKO Q$QTAXL !"QBq!tGaKq!teAqDj1a46G!Q$6N 7 2 " 1a4%1*q!t#ad*Q. /"0L114QL8:8;&B!CCCFJA AMqD1a4KM!""%&T$A AqD1H/E*F%FtQPQTE AM1M!tMM H!&!!$Q&()*A&356tadUQYA J = 8 6 R1Wq[6a&6!!%q!teAqDj1a4&7!Q$&>&B!C6D&DFJQPQTE M dQhLGq!teAqDj1a4/!Q$6:;G<1a4!Q$; C A . s1uaA1o&.' ()*AqD1a4K :+ :,=>q!taxL!Q$ K = BqDq!teAqDj1a4'!Q$.23 3CF :Aq!tad{OQPQT N =  !AdAqD5A:1,q!t3a788Q?AqD1a4K D B   !D1a4%!)adQh/00q!teAqDj1a46G!Q$6N 7 2  q6a4!8 1uqy1a4!8&<Aad QT)AqD0145<669!fai<@ABAq!tax 1q!t BdQhB QqS!Q$1q!t "45 55 5 E F 897CS;T U VV V 5e ,DAq AaC!A#I !A#!) ++ + Aq1Q3wK AaCQK // / AqsQqSyM "acAaCi // / CFSVO $A .. . C!Hs1v% &#a& 00 0 E"b!$ %Q // /rbcttzttzztt zzdz }tt zttzzttzzdz }ttzttzzttzzdz }t|||gtttd}t|tttzt t zzttzzttzz t tzz t tzz ttztzttztzzt t ztzzttztzz tt ztzz t tztzz z k(sJy)NroFrk)rOrSrPrTrQrUrVrWrXrYrZr[rKrJ)f_1f_2f_3 solutionss rctest_issue_3557rs A#!)ac/A C A#!)ac/A C A#!)ac/A CsCoq!Q?I IaL ! 1qsQqS1Q3 1 $qs * 1Q1Q1Q 1Q &1Q .1Q 6 8 88 8rbc "tttdzttdzzdk(sJtt tdzt tz tk(sJtttdzttdzzt tt tz zdtzk(sJtt ttdzttdzzt tt tz t tdk(sJtdd}ttt|zztd|zzk(sJtt tztttztddzttdzzdtzz zztttttztddzzdttzz zdttzz ttztttztddzttdzzdtzz zzdttzz zztt tdzzdtzz ztttzz tttztttttzdz zdttzz  dzztttzdz zdttzz z }t|dtd dz ttzttz k(sJtddtzzdz dtzk(sJy) Nr^roncFrurprtrq)rJr0rOr/r4r!rrrrr$rrRr3r*)ranss rctest_simplify_otherrs CFAIA ) *a // / E!a%Lq) *a // / CFAIA )IaLq,AA Ba!e KK K  3q619s1vqy )A,uQx"78 :=?1X FF F 5 )B A"H AF ++ + bSU3qtHRO+a1facl:; ;C#ad8TVXY?FZB[@[ 47A=Qi!#%a4AbD"a,@1QT61Q3<,O(P#P 47$ !AqD!A#' ()-b! 578bz aAbDF mQtAwY' ( (1 ,8..1!B$q&k8:;11$r(:47B BB B AAJqL !QT )) )rbc ttjt}ttjt}t ||zt tk(sJt t tddgddggttdt d gt dtdggk(sJy)Nrrtro)r/rO_eval_rewrite_as_expr2rJr0r$r<)cosAsExptanAsExps rctest_simplify_complexrs1v**1-H1v**1-H HX% &#a& 00 0 CB!Q012 3vA Q@q63q6"?$8% %% %rbcgd}|D]F}t|}tt|dt|ksJt|t|urFJy)N)za(1/2 - sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3) + 1/((1/2 - sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3))za1/((1/2 + sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3)) + (1/2 + sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3)z8-(sqrt(21)/2 + 5/2)**(1/3) - 1/(sqrt(21)/2 + 5/2)**(1/3)ro)ratio)rrrJr)rootsrs rctest_simplify_ratiorsW IE . aD!1-.)A,>>>$A--- .rbcd}d}tdztttdzzttdzzz }|t||||ksJ|t||||ksJt ttdzttdzzd}|t||||ksJ|t||||ksJy)Nc*tt|Srj)lenstrrs rcz'test_simplify_measure..sCD Nrbct| Srj)rrs rcrz'test_simplify_measure..s Yt_,rbror^)measure)rOr0r/rJr)measure1measure2rexpr2s rctest_simplify_measurers*H,H EAA MCFAI- .D HT84 5$ GG G HT84 5$ GG G s1vqy3q619$a (E HUH5 6(5/ II I HUH5 6(5/ II Irbcdtzdtzz}t|ddttzzk(sJt|ddttzzk(sJt|d|k(sJtdddk(sJy)Nr^@TrationalFz0.9 - 0.8 - 0.1r)rOrPrJrs rctest_simplify_rationalrsx a4A:D DT *a!A#h 66 6 DT *cAaCj 88 8 DU +t 33 3 %$ 71 << D 4 q47{T"X5 55 5 DG d1gQ'A g&8A&>B Cq HH H DG aQi!DH*,A %ad+Q 2a 77 7 DG aQi$tAw,.A %ad+Q /1 44 4 %ad+Q /1 44 4rbc8dtdztdztjdz z}t|dz}t |d|k(sJdtdztdztjdz z}t|dz}t |d|k(sJy)Nror^rql Fx:^Vrl73Me')r*rOner rF)rps rc test_nthroot1rs DG d1gf ,A1a4 A 1a=A   DG d1gf ,A1a4 A 1a=A  rbc F td\}}}}td|z|z|zd|z|z|zzd|z|z||zzk(sJt||z||z|zz||zd|zzk(sJtt|z|zt|z|z|zzt|z|zd|zzk(sJt||dzzt|z|t|zt|zz|t||dzzzt|zk(sJt|t ||zz|t |zz|dt |zzt |zk(sJt||dzz|zj sJtd|z|z||zz|dz|dzzk(sJt|tz t ||z t |z z|t |t |z zt | t |z ztz k(sJt||z||z z|dzzd|zzdz|dzdzk(sJtdd}tt|dz||dzzz|td|zzk(sJtt||dz||dzzzz|t|d|zzzk(sJtt||dz||dzzzzd|t|ztd|zzk(sJtt||zj sJtt||zdt|t|zk(sJtd|zdz|zdd d d|d|zdz||ik(sJtd|zdz|zd|g d ||d|zdzik(sJtd|zdz|zdg d d|d|zdz||ik(sJtd|zdz|zd d d|d|zdz||ik(sJtd|zdz|zdd d |d|zdzzik(sJtd d Jtd|z|zdd Jtd|z|zd Jtd|z|zdd d d|z|zik(sJtd d\}}t|||zzd|z|zk(sJt|||zz|d|zzk(sJtd}t|||||zz|||||zzk(sJ|dtdd||zzz}t||k(sJtt||z}|t|t|zk(r |jsJt ddztddzzdz }t||z} t| }| js&|jr|t|t|zk(sJtt||z|z}|t|t|zt|zk(sJtt||z|z t||z|z k(sJy)Nzx,y,z,nr^rorTpositiveforcera)dictrcoeff)rrqzn,mFrurX) rrHrr0r$is_Powr/rr*r r5r_is_Mul) rOrPrQr\rr{rXeqr}rSs rctest_separatevarsrs#JAq!Q !Aa!A#a%') *ac!eQUm ;; ; !ac!e $!QU 33 3 1QAa) *bd1fa!en << < !Q$s1v #a&Q7 8 3q6AqD=#a&  !! ! #a!e* qQx/ 0Aq3q6zN3q64I II I AEQ ' . .. . A AaC (QUQUO ;; ; "S1q5#a&11 2 #aAh-QBs1vI&r) ** * QQ!Q$.14q8 9a!eaZ GG GsT"A QTAadF]+ ,$q1u+ == = Q1qAv ./ 0Ad1a!e9o4E EE E Q1qAv ./t < $q' $q1u+   QqS " ) )) ) QqS  .$q'$q'/ AA A !A#'1D" = !Q!aA& '' ' !A#'1D1# > !Q!a  !! ! !A#'1D" = !Q!aA& '' ' !A#'1D 1 !Q!aA& '' ' !A#'1D$ ? !QqS1W+    % -- - !adB 7 ?? ? !ad + 33 3 !adD 9gqsQw=O OO O 5e ,DAq AaC QUAI -- - AaC Aq1uI -- - A !q1v &!A$1Q4- 77 7 Ab"ac" " #B  r !! !S1XA As1v !((* * A CFAI!A AaCAQAxxAHHc!fSVm);; ;S1QZ A As1v c!f$ $$ $ QqS!G %ac1W 55 5rbc td\}}}tdt|t|zzt|zt|zt|dzt|dzzk(sJtd|zt|z |t|zz t|t|zz |t|zt|zz |t|zzt|z|dzt|dz zt|dzz k(sJtdd\}}tdt|t|zzt||zzt|dzt|dzzk(sJy)Nzx,y,zrox,yTr)rrHr&r$rOrPrQs rc!test_separatevars_advanced_factorrQs^gGAq! CF3q6M)CF2SV; < Q!c!fqj! "" " AA3q61CF3q6MA #a&QCF(#%(V, - q53q6A: A +, -- - 54 (DAq C3q6 N*S1X5 6 Q!c!fqj! "" "rbctdd\}}tt|||dzk(sJtt|dz|Jtdt|z |d|dzz k(sJtd|zt|dzz |d|dzdzz k(sJtt|||||z |dzz k(sJtt|dz||||z dz|dzz k(sJd|zdzt|ztd|zdzz }t||tj d|zdzdd |zzd |dzzzz zk(sJdd|zdz td|zdzzz }t|||tj z |dzd|zdzzd|zdzzz k(sJt||d |zzt|z }t||||z |dzdzz k(sJy) Nzn,kTintegerror^rprrqrrt)rrBr!r rHalf)r\rzterms rctest_hypersimpr]s 5$ 'DAq Yq\1 %Q .. . Yq!t_a ( 00 0 Qy|^Q '1a!e9 44 4 QT)A,/)1 -AEA: == = Xa^Q 'AEAE? :: : Xa!eQ' +A AE/B BB B aC!GYq\ !)AaC!G"4 4D T1 !A#'A1HqAv4E)F!G GG G qsQw !A#'** +D T1 !aff*A!a/@!A#'/J!K KK K Aq>2' !)A, .D T1 !a%!a%!!3 33 3rbc  td}tddk(sJtddk(sJtddk(sJtd|zd|zk(sJtdtddk(sJtdtz dt dz d z k(sJtdt dzd z tgtd z k(sJtd tz tgd tzd z k(sJtt t tztdd zd tdk(sJttt td dzd tdk(sJtt tdd d tzzt gt t t t d z tzzk(sJtd t d tdztzztdk(sJtt dtddk(sJtt dtddk(sJtddtdd k(sJtddtddk(sJtddd d tdd zk(sJt|d!zd"tj|zk(sJtd#|zd"tdd |zk(sJttd jd"td$k(sJttd%t td gt td zd&z k(sJttd%jd t td gt d z td z tdd zk(sJt|d'z |dz k(sJtt d(z t d)z k(sJtt d(z d "t d(z k(sJtt d*z d+t zk(sJtt!d,t"d zzt"d zd-zzd t"d zd.zzzj%trJ|d/z}|j&rt|d/zdk(sJtd0d1d2tdd k(sJtd0dd2tdd k(sJtd3d1d2td4d k(sJtd3dd2td4d k(sJtd5dd2td5k(sJtd6dd2td7k(sJtd8dd2td9k(sJtd:td;dk(sJtddtd?d@k(sJtdAdtdBd@k(sJttdCtddDk(sJtdEd"dk7sJtdF}t( t(|| f}|D]:}t+|t(z}t||k(sJt||z||zk(r:JtdGddHItdGk(sJtt j,d)|zdHJj-d)t j,d)|zk(sJy)KNrOrrtrog@rrr^rprqFevaluatez1/2 - sqrt(3)*I/2zsqrt(sqrt(5)/8 + 5/8)1z1/4z49/17 + 8*I/17g{Gz?) tolerancergMbP?icqg1ZGU?g-C6?gr(?i{iT)rfull?rg @z109861228866811/100000000000000gAk?r@gY@dgHz>iggggk} @g?)rrgRTU @ !g ףp=@@gzGB@(g33333ciig?gɿg镲 q?iWig镲 q̿ig:0yU>ig9(L67infgQUU?exact)rrational_conversion)r)rrErrr*r$rrrr0r.rrr&r\rr?rQatomsrrr#r`)rOrWrinfszirs rctest_nsimplifyrtsrs A Q<1   R=B   Q<1   QU q1u $$ $ S>Xb"- -- - Q_ %!d1g+q 88 8 a$q'k1_{m 4 A EE E Q{][M 2a ma6G GG G SAhq!n,u= >#$ %% % SHQN*U; <'( )) ) T$sU34a!e   QVd +qvvz 99 9 TAX -"a11D DD D SVXXZ$ /12 33 3 U,-CF| <3q6 ! KK K U,-//2RQL A AA!Q' (( ( QsU qs "" " RV 3 && & RVe ,5 88 8 RW " ,, ,tAqDy!Q$$'!QTTN*::;==BU5\JJ J 3A 88 !S&)Q.. . Xt <Q OO O X ="a PP P Xt <Q OO O X ="a PP P R2 5" EE E Ub4 8HRL HH H Ub4 8HRL HH H V  3 33 3 R1 %!Q 77 7 SA &(2q/ 99 9 Ua (HT4,@ @@ @ Vq )XeT-B BB B QtW !X!6 66 6 UT *a // / ,C CS3$ D,2hrk}###a AG+++, Z$G LPXYcPd dd d RXXc]1_' B H H MQSQYQYZ]Q^_`Q` `` `rbcVtd}t|tjk(sJy)NzE1/(1 - (-1)**(2/3) - (-1)**(1/3)) + 1/(1 + (-1)**(2/3) + (-1)**(1/3)))rrErr)rms rctest_issue_9448rs# Y ZC S>QVV ## #rbctd}td}td}td}t| | z ||z k(sJt| |z | |z k(sJt||z ||z k(sJt|| z | |z k(sJt| dz t|zk(sJttddtusJt| |z| |z z ||z||zz k(sJy)NrOrPrSrTr)rrJrr)rOrPrSrTs rctest_extract_minus_signrss As As As A QBrE?ac !! ! QBqD>aRT !! ! AaC=AaC   AqbD>aRT !! ! QBqD>SU "" " HRO $ ++ + QBqD1"q&M "ac1q5k 11 1rbctd}td}td}td}t||j|||j|z||j|||j|zz dk(sJtd||z||j|zt||dz|z dk(sJttd||z |||j|||dzz zdk(sJt||j||||j||z dk(sJy)NrOrPrXrYrr^ro)rr rJrrOrPrXrYs rc test_diffrs+s As A A A AaDIIaL11-! ! QqTYYq\0II Ja OO O AadF1Q499Q<'$qtQw*:: ;q @@ @ D1Q4Oadiil1Q47&:: ;q @@ @ AaDIIaOadii1o5 6! ;; ;rbc  td\}}td}tdd\}}tdd}tt|dt|zzt|dt|zzk(sJtt|dt|zzd t||dzzk(sJt|t|zt|z|t|zt|zk(sJt|t|z|t|zzt||z|t|zzk(sJt|t|zt|z t||z|z k(sJtt|t|zt|t|zk(sJtt|t|zt|t|zk(sJtt d t|z|t|zzt t||z|dzz t t|dz||zz fvsJttt|t|z t|z d tt||z |z k(sJtdt zt|zd dt zt|zk(sJt|dzt|zt|z ||zz d |dzt||z z||zz k(sJtt|dzt|zt|zd t||t|dzzzk(sJt||zt |d z|d zzzt|zt|z t|tdd zzt |d zzz d ||zt |d z|d zzzt||z zt|tdd zz|td dzzz k(sJttt||z  tt||z  zd tt||z  tt||z  zk(sJtdt|zt|zt|zt|zt|zt|t|dzzt|zt||zzk(sJtd t|zd t|zzt|d z|d zzk(sJt||d zztdztd z||d zztdzk(sJt||zt|z| |z td zz||zt|d z zk(sJtt|tdztd|zk(sJtt|tt|z}t||k(sJ|d|di}tt|t|zj||j|k7sJy)NrrSzz,wTrrTrealr^rrsrprqrorwr) rrrDr&r/rr*rrr4r,r_subs)rOrPrSrQr|rTrrepss rctest_logcombine_1rs 5>DAqs A 54 (DAqsA c!fqQx' (CFQs1vX,= == = c!fqQx't 4AadF CC C aAhQ' (Ac!fHs1v,= == = aAh3q6) *c!Q$i!CF(.B BB B aAhQ' (C1QK 77 7 c!fSVm $As1v 55 5 c!fSVm $As1v 55 5 c"SV)aAh./ 0SQT!Q$Y5H36s1a419~3F5H HH H c#a&3q6/*SV34 @ C!HQJ   q1uc!fnD 1a!eSV^ CC C q!tc!f}s1v-!4D A AAaC1Q3    c!fQhs1voA.d ; AaQTlN   qsT!Q$A+..Q7#a&@2aRSUVFWCW GQJD# % aC$q!tad{# #c!A#h .Ax1~4E1EaRSUVFW1W)Y YY Y eS1XI&tS1XI6d C c!A#hYs1Q3xi(( )) ) aAhs1voc!f,s1v5A> ? As1a4yL#a& 3qs8+ ,, , aAh3q6) *c!Q$q!t)n << < aQi#a&(3q61 2aQi#a&6H HH H q1uc!fnQA6 7AE3qs8;K KK K c!fs1vo &#ac( 22 2 SVs3q6{ "B b>R   q!Q>   %#a& 00 0 vq!a%j! "&? ?? ?d#Ad#A q!9DD\NHd x=L (( ("* +QAFF4L +t 33 3 xqsQw*Q1I6==? @= >> > s6!AqD&>!$q1g.557 8" ## #  Aq!c!f*-./AQiGB #++-01 11 1 s4 AQiGB ??:z4:: U:E:($:0;T:CI4:QZ\`:D:$e:-6:>F::(:/B5:T :$:5 : D : :: : ,s(Ictd}tdtzd|tzzdtzd|tzzz dk(sJy)NrXrprwr^rq)r rJrOrP)rXs rctest_issue_4194r6sC A QqS1QqT6\AaC!AaD&L1 2a 77 7rbcttdztdzz dk(sJttdztdzz dk(sJy)Nrr^rrrarbrctest_simplify_float_vs_integerr!<sB AsFQTM "a '' ' AqD1c6M "a '' 'rbc b tdz tzjtjtdtzzfk(sJtdz tzjdtj tdz tzfk(sJttdz tzzjtjttdtzzzfk(sJttdz tzzjdtj ttdz tzzfk(sJtddtzzzdtzdzdzzjdttdzdzzfk(sJddtzzdtzddtzzzzjdtdtztdzzzdzfk(sJddtzzdzjddtzdzdzfk(sJddtzzdtzzjdt tddtzdzdtzzfk(sJd d tzzdtzddtzzzzjdd tzdtztdzzzd zfk(sJd tdtzzzdtzddtzzzzjd ttdzzfk(sJd tdtzzzdtzddtzzzzdzjd tdztdzdzzfk(sJtdzjdtdzfk(sJtjjdtfk(sJtdtzz}|jd|fk(sJtjdtzzjtdddt zfk(sJtd ddtzzjtddtd dtzfk(sJtd ddtzzjtddtd dtzfk(sJddtzdz zjddtdz zfk(sJddtzdz zjddttjdtzdzfk(sJd tddzjdd tddzfk(sJd tddzjd d tddzfk(sJtttd dzdtzttddzdjtdddtzdtzzd tzzfk(sJdtddzdtddztdzzjdddtddztdtdzzfk(sJy)Nr^F)clearrqrorwrprrryrtrrrrrT)radical)rOrPas_content_primitiverrrrInfinityrrr rrQr*rs rctest_as_content_primitiver+Ds aC!G ) ) +AaC/@ @@ @ aC!G ) ) ) 6155!A#':J JJ J qsQwK - - /AFFAq1Q3wK3H HH H qsQwK - -E - :quua1qk>R RR R q1Q3wK1q1 $ : : < QAz\   !Gac1qs7m # 9 9 ; A!QU Oa   !! ! 1WqL . . 0 QqS1WqL   1W!  2 2 4 [1!a )QqS 12 33 3 1HqsA!G} $ : : < BqD1Q3A;  "# $$ $ q!a%yMAaCQqSM ) ? ? A QAY   1q5 ]QqS!ac'] *Q . D D F adAEA:o   qD & & ( AqD    JJ , , .1b' 99 9 QUB  $ $ &1b' 11 1 FFQUO 1 1 3AA27N NN N ROa!e $ : : < QNXb!_q0 1 22 2 ROa!e $ : : < QNHROQ. / 00 0 Q N 0 0 2q!ac(m CC C Q N 0 0 2 q3qvvq1uu56 7 88 8 x1~  3 3 5!QA=N9O OO O x1~  3 3 5!QA=N9O OO O q!QQ(1a.(85 I ^ ^ `2A1 r!t 34 55 5 x1~ 8Aq> 1$q' 9 9 O OX\ O ] q(1a. $q'DG"34 5 66 6rbctt dzzttdz zz}tt|dtjusJt tdz t dtz k(sJtt tz t tz k(sJtt tz dtdtt z dk(sJy)NrorFrrt)rOrIrrtruer"rPr )rWs rc test_signsimpr.ps A26 QAYA Bq!H  '' ' q1u:QU ## # AE?a!e ## # AEE *c"a!ee.L LL Lrbcddlm}m}m}ddlm}t tt tztzdz |tttttzdz zz|ttk(sJt tt tztzdz |tdttztttzdz zz|tdttzk(sJt tdttztt!ddzztttzdz ztt tztzdz z|t!ddtttttzdz zz|ttttttzdz zzdz |tttt#ttzk(sJt |t!ddttdt%tzttttzz k(sJt |tttt tzdz ztt tztzdz |ttzk(sJ|dt&z t)tt&z zt&ttdttz|ddttzttzzdz k(sJt tdztd|d tztz|dd tzztz|dd tzztzzt*d|d tztz|dd tzztz|dd tzztzzzzdz tt|dd tzztdz |dd tzztdz z zt*|dd tzztdz |dd tzztdz z zzzztdzd zt|d tztzt*|d tztzzzzdk(sJt d tdzzt|t!d d dtzd|t!dd dtzzz |t!dd dtzzzt*|t!d d dtzd|t!dd dtzzz |t!dd dtzzzzzdz ttd|t!dd dtzzdz d|t!dd dtzzdz z zt*d|t!dd dtzzdz d|t!dd dtzzdz z zzzzd tdzzt!ddz t|t!dd dtzzt*|t!dd dtzzzzzdk(sJt |tdz t|tdztzdtz|ttztz z dk(sJt |tdz t|tdztz|ttzdtztz|ttztz k(sJt tdz|ttztd z|tdztzz|tdztzdtztz|tdztztd z|tdztzztdz|tdztzz dtz|tdztzz|tdztzk(sJy)Nr)besselibesseljbessely)cosine_transformr^rorprtrsrQrrq r)sympy.functions.special.besselr0r1r2sympy.integrals.transformsr3rAr$rrrPrQr%rSr*rOrr/r'rRr0rT)r0r1r2r3s rctest_besselsimpr9xsJJ; c1"R%'!)nWQ)AbDF2C0C%DD E1    c1"R%'!)nWQ$q' )AbDF:K0K%LL M1T!W9   d1gd2h&q(1a.'88QrT!VDS!BqQR^Shr1otAwy2a7H/HIJaa1R46):!:;<<=> ? 47c$q'l* ++ + ghr1oq1 2 QQb$q')* ++ + ga9aRU1W#5!56 7 QBrE!GAIwq!}$ %% % AaCAaCL!Q / QRAd1gId1g$566q8 99 9 adAr'!A#q/1GB1Ha4HH A!GQ b1a072!8Q3GG A!GQGB1Ha$8$:WQ1Wa=PQR=R$R!Sac1 a '!ac'1"5a"7 78"9::>?TBY7STUVSVXY?IZ!QJ=     bAgq'(2q/1Q3"?!GHUVXYN\]^_\_D`B`"`cjkstuwxky{|}~{~c" A"a!A# &78Aq>1Q3+G)G G'RZ[\^_R`bcdebeJf fg hiijkmnpqstu|~FGIKL~MOPQRORvStSTUtUA!$$Q&t'q(*+QwxA!/L-LQ-NQRSZ[cdegh[iklmnknSoQopqQq-q*rqsntt1Wx1~'(1a.!A#"> >78TUWX>[\]^[^C_A_ _`a bfg gg g gac!nwqsA61WQ]9J19LL MQR RR R gac!nwqsA6AF GAaCRSGU\]^`aUbKbcdKd dd d adGAaL(1a4!Q+??'!A#q/Q RaCE'!a% ad71q5!#444q!tGAE1.Ac"tjSrj)rr)rOkwargss rc_eval_simplifyz+test_polymorphism..A._eval_simplifys 55LrbN)__name__ __module__ __qualname__rGrarbrcr~rDs rbr~rr^ro)rrrJ)r~rSs rctest_polymorphismrKs5E !A$! A A;!  rbc~tdd\}}}}ttt|zt|  k(sJy)Nz n1 n2 n3 n4Tr)rrJrr*)n1n2n3n4s rctest_issue_from_PR1599rQs9]T:NBB Ad2hJ D"I: -- -rbc.tdtzzdtzdzz}t|tdztdtzzzdzk(sJt|jdtdzzdtztzzdtzzdtzzk(sJy)Nr^rorp)rOrPrJr r*s rctest_issue_6811rSs ac'AaC!G B BQ   &( q  F q  F1H  "" " iA !9>> !A#;!   A;!   AaC=A  rbcZtddd}|d|dzdz}t||k(sJy)NMr)rr)rrpi)r>rJ)rjrWs rctest_issue_9324_simplifyrks9S"b!A $!D'D A A;!  rbc>ddlm}m}tddd}tddd}t t dDcgc]}|dz c}}|d}|j |z|z}t||jj||||idk(sJycc}w)Nr)Identitytracevrqror~r) sympy.matrices.expressionsrmrnr>r<rangeTrJ as_explicitxreplace)rmrnror~r[rOX quadratics rctest_issue_9817_simplifyrws;S!QAS!QAuQx(!A()A Aa! I U90023==qAajI Jb PP P)s Bctd}t|ttdz|ttdzk(sJy)NrOro)rrJr(r1rfs rctest_issue_13474ry s8s A AT!W % &!d47m*; ;; ;rbc td\}}tdGfddt}t||||k(sJt|||k(sJt||d|k(sJt|t |dzt |dzzddk(sJt|||d|||k(sJt tt |sJttt |tt |k(sJtdtt d |zzdd |zk(sJttt|tt|k(sJttt|d|k(sJttt|d|k(sJttt|dd|tdz k(sJttt|dd d|tdz k(sJy) Nzx, yrYceZdZdfd Zy))test_simplify_function_inverse..fcSrjra)selfargindexrYs rcinversez1test_simplify_function_inverse..f.inversesHrbN)ro)rHrIrJr)rYsrcrXr|s rbrXT)rr^rorqrwFr) rr rJrCr0r/rr-r&r$rs @rctest_simplify_function_inversers 6?DAq AH AadG !A$ '' ' !AaD' "a '' ' AadGT *a // / AaA CFAI-./ >! CC C Aa1gJ -1Q7 ;; ; T3q6 "" " DQL !T#a&\ 11 1 Ad3qs8n$d 3qs :: : CAK CAK // / CAK .! 33 3 CAK .! 33 3 CAND 1Qs1vX == = CAE2D AQs1vX MM Mrbcddlm}|dtzdtzdzztdtzdzzdfk(sJ|dtzdtzdzzdz tdtzdzzt ddfk(sJ|dtzdtzdzzdz ttdtzdzztdz t ddzfk(sJ|t ddz t ddfk(sJ|dt dzdz t dt jfk(sJ|t dtdtdz fk(sJ|t jtt jtfk(sJ|t j tt jt fk(sJ|dt jdz z ttd tzdzfk(sJy) Nrclear_coefficientsrprwrqr^ro r) sympy.simplify.simplifyrrPrOrr*rrr)Pirrs rctest_clear_coefficientsr)s: ac1Q37m ,AaC!Ga0@ @@ @ ac1Q37ma/ 0Q!a[(1a.4Q QQ Q ac1Q37ma/ 31Q37 QrTHUVXYNEZ7[ [[ [ d1gk *tAwl :: : aQi!m ,a!&&0A AA A adA &1a!e* 44 4 ajj! ,Q ?? ? qtteQ 'ADD1": 55 5 a!$$q&j! ,RTAX >> >rbc ddlmddlm m ddlm ddlmtdd\}}}}td td }td }td }td }||||||||itdtdi fddfd }|||z|z|z|z|z|z||zdzz|z||zdz|zdz|||z||zdzz|z|zd||dz|z|z|z|z|z||zdzz|||zdzzd|||z|dzz|z|dzz|z|dzz|||dzzdzz|||z|dzz|z|dzz|z|dzz||z|zdz|dzz||dz|z|dzz|z|dzz|z|dzz|dz|z|dzzdz||dz|z|dzz|z|dzz|z|z|dz||dzzdzz|dzz|||z|z|z||z|zz|z|z|zz||zdz||z|zdzzz|||z|z|z|z|z|z|z|z|z||zdz|zdz||dz|dzz||zdzz||z||dz|z|dzz||dzz|zdz|dz|z|dzz|z|dzz|z|dzz|z|dzz||dzzdzz|z|dzz|z|dzz} tdD] } | ||zz} || |dz||dzzdzz||dzzdzz||zdzz|||z|z|zdz||z|z|zdzd|||z||zdzz||z||zdzz|dz|dz|dzz|dz|z|dzzz dzz|dzz} | d|z dzk(sJddzzddzzk(sJy)Nr) nc_simplify)MatPowrm)Pow)reduceza b c dFrurOr~rCDc ||zSrjrars rcrz"test_nc_simplify..Bs acrbc ||zSrjrars rcrz"test_nc_simplify..Bs AaCrbc 4|vr|St|r)|jd|jdSt|ttfr4|j|jDcgc] }| c}S| zScc}w)Nrro) isinstancerUrr func) rrSrmrr _to_matrixfuncsrsubstrOs rcrz$test_nc_simplify.._to_matrixDs 5=;  dC *TYYq\2DIIaLA A sCj )% *499+MaJqM+MN N # #,Ns4B c|||k(sJt|t|k(sJ|r.|jd}|||k(sJyy)NdeepF) inv_expand)r doit)r simplifiedrmatrixm_simprrs rc_checkz test_nc_simplify.._checkNsi4d+z999d|vj1111  +00E0BFz$/d;vE EE rbrqr^rsrort)rrprrrwr)TT)rrrprrm sympy.corer functoolsrrrr>rr rq)rSrTrUrVr~rrrrr_rmrrrrrrrrOs @@@@@@@@@rctest_nc_simplifyr5s3; %8JAq!Qs AS!QAS!QAS!QAS!QA 1aAq #E /3 9E$$F 1Q3q5719Q;q=!A# !! #qsQhqj1_5 1Q3!by=?1 a  1a46!8A:a<>1Q3) #Q!axZ> 1Q3q!t8A:ad?1 QT !1a1fq[=1 1Q3q!t8A:ad?1 QT !AaCEA:ad?3 1a46!Q$;q=A a 1 $q!tAvad{Q&67 1a46!Q$;q=A a  !1a41a4! #3ArE#9: 1Q3q57QqSU1WQYq[] "QqS1Hq!A#a%!|$;< 1Q3q5719Q;q=?1 Q !A#!a0 1b5B;!ax 1% 1b571b5=1QU719r/* a46!Q$;q=A a 1 $Q &q!t +Qq!tVaK 7 9!Q$ >q @A ED 2Y !  4AqAvk!1QT6A+-qsRi78 AaCE!Ga**+>,:- -- -rbc ttdttz ztdtdtzt dt dzzz z zk(sJttt dzttdzzt dt dzdztdzt dt dzdzzdz ztdzdz zk(sJtdttdzzdtdtzt dt dzzz dzdz zk(sJdttdzdzz}t||k(sJy)Nror^rp)rJrOr,rrr&r*)rs rctest_issue_17141rs/ ADG $ %QQqSQa[9I5I0I-J)K KK K D!HaKQ * + q47{ Q Qs1tAw;'7':!:1!< .sa!AE1+Qrb) rr6rJrr+rrr<r=rr)NaN)r[rrjrr\s @@rctest_simplify_kroneckerdeltarsG 5>DAqA AaG !Q '' ' AaG !Q '' ' AaG !Q '' ' AaGOOI.1a8 9Q >> > AaGiBq!H yAA Ba1gPQRSUVPWFW WW W AaGa1g% &! ++ +sD!A AaGa1g% &! ++ +q!>?A AqD>Va1gq!Aq'1%=&'1a!Qq!W%=&'AaGQ%7&'AqAw%7%9: :: : CF^Aq11"1a() *-3aSE] ;; ; AJJ1!55"1a() *-.UU 33 3rbc tttttdzz dttz k(sJtdttdzdz tdz z zdttdzzk(sJy)Nr^ror)rJr_rOr"rarbrctest_issue_17292rsh CF3q!t9$ %3q6 11 1 Ac1a4!8a!e,-- .!CAJ, >> >rbctttdz dttd}t|ttdk(sJy)Nr^rorq)r:rr\rJrs rctest_issue_19822rs6 r!A#qz2a8 $D D>R1X %% %rbctttdttd}t |t tdk(sJtt tdttd}t |t tdk(sJy)Nrq)r:rrOrrJrrs rctest_issue_18645rsb r!QxAq "D D>R1X %% % r!QxAq "D D>R1X %% %rbctdd}tdd}tt|d|zt|d|zdz }t |t j k(sJy)Nr[Trr\r^ro)rr:rrrJrr)r[r\rs rctest_issue_18642rsTsD!AsD!A r!QU|R1Q36] +D D>QWW $$ $rbcvtdd}t|d|dk\z}t|t|dk(sJy)Nr\Trrro)rrrJr)r\rs rctest_issue_18389rs:sD!A a8qAv D D>R1X %% %rbcztdd}tt|dk|dk\tjk(sJy)NrOTrro)rrJr;rr-rfs rctest_issue_8373rs4sA Bq1ua1f% &!&& 00 0rbctttdttd}t|tj k(sJy)Nror^)r:rrOrJrrrs rctest_issue_7950rs0 r!QxAq "D D>QWW $$ $rbcRttzdz tz }t||k(sJyNr^)rrrrJrs rctest_issue_22020rs% R462:D D>T !! !rbcntttttztk(sJttttdzzz}ttttdzz|ztdztttdztzzztzk(sJtdzttdzdzz}tttdzdz|ztdztdzttdzdzzzdzk(sJt d}ttt|tdzzz}ttt|tdzz|zttt|tdzzztz|tdzzk(sJy)Nrqr^rorX)rJr#rOr"r )rWrXs rctest_issue_19484rsO DGc!f$ % ** * DQTNA CAqDM!O $1qQTAX(>(B BB B 1tAqD1H~A C1qMA% &!Q$Ac!Q$(m1C*Ca*G GG G A DQqT1W A CAaD!G $q( )Qs1qtQw;/?-?!-CadAg-M MM Mrbcztdd\}}}|||dz zzj|d|z|zzdz k(sJy)Nzx y zFrur^)rrJrs rctest_issue_23543rsGg51GAq! q1Q3wK ! ! #q!A#'{1} 44 4rbcdfdfd}td\}}tdd}t|t||t|dzz j d }t |j t|jd}|||zt|z||zt|dzzz |t|zz|t|dzzz td dzk(sJy) NcFtdtz|z|tz |zzSr)r*rrrs rcrXztest_issue_11004..fs!AbDF|qsQh&&rbc2|||z |zz Srjra)r\rzrXs rcr{ztest_issue_11004..ms!!A# ""rbc"||||zz Srjra)r\rzr{s rcrztest_issue_11004..psAw!Q$rbzN kz0.5rproTrgg?)rrr&r\r rJr)rNrzhalfrQrrXr{s @@rctest_issue_11004rs'#  5>DAq ?D AaGa1q5k !")))5A1"#A  Qs1v q&QU   s1v+  s1q5z/   1     rbcttdj}|tdzz jdk(sJy)Nzx**2r^r)r@rJrO) polynomials rctest_issue_19161r.s3f&&(J q!tO % % '1 ,, ,rbctdd}dtttt|fz}|j |k(sJy)NrVTrr^)rr r0rOrJ)rVrs rctest_issue_22210r3s;sD!A ZAA ' 'D ==?d "" "rbcttdd\}}tdd}td|z||zzd|z||zzk(sJt||z||zz||z||zzk(sJtdd\}}t||z|z||z||zzk(sJt||z||zzt||z|zk(sJy)Nzx yTruZFr^r)rrJr )rOrPrs rctest_reduce_inverses_nc_powr9s 5d +DAq'A AqD1a4K AqD1a4K // / AqD1a4K AqD1a4K // / 54 (DAq 1Q3( q!tad{ ** * AqD1a4K FAaC!8$4 44 4rbctdd}dttdz z|zj|k(sJdttdz z|zj|k(sJy)NruFrur^rqr)rr/rrJ)rus rctest_nc_recursion_coeffrBs^5)A BqD MA  ' ' )Q .. . #bd)Oa  ) ) +q 00 0rbN)sympy.concrete.summationsrsympy.core.addrsympy.core.basicrsympy.core.exprrsympy.core.functionrrr r r r sympy.core.mulr rrrrfrrrrrrrsympy.core.relationalrrrrrsympy.core.singletonrsympy.core.symbolrrsympy.core.sympifyr(sympy.functions.combinatorial.factorialsr r!$sympy.functions.elementary.complexesr"r#&sympy.functions.elementary.exponentialr$r%r&%sympy.functions.elementary.hyperbolicr'r(r)(sympy.functions.elementary.miscellaneousr*$sympy.functions.elementary.piecewiser+(sympy.functions.elementary.trigonometricr,r-r.r/r0r1r2'sympy.functions.special.error_functionsr3'sympy.functions.special.gamma_functionsr4sympy.functions.special.hyperr5(sympy.functions.special.tensor_functionsr6sympy.geometry.polygonr7sympy.integrals.integralsr8r9sympy.logic.boolalgr:r;sympy.matrices.denser<r="sympy.matrices.expressions.matexprr>rgr?r@rrArBrCrDrErFrGrHrIrJsympy.solvers.solversrKsympy.testing.pytestrLrMrNr]rOrPrQrRrSrTrUrVrWrXrYrZr[r\rdrgrrrrrrrrrrrrrrrrrrrrrrrrrr!r+r.r9rArKrQrSrXr^rbrhrkrwryrrrrrrrrrrrrrrrrrrrrrrrrrrarbrcrsf)"%cc+"CCC66"/&J<HHDD9:\\\79/C&;).;0VVV';;>>>>& H^0B 8*(%% . J=% 0 .%5">6>6B "4.AaH$ 2<':T+$:N8 (()6XM"zH,. #7+> Q< NN4 ?4)l7< &>(-- 3:? & &%%&& 1 % " N5 0- # 51rb