K i'8\ddlmZddlmZddlmZmZmZmZm Z ddl m Z ddl m Z mZmZddlmZmZddlmZmZddlmZdd lmZdd lmZdd lmZdd lmZm Z dd l!m"Z"m#Z#ddl m$Z$ddl%m&Z&m'Z'm(Z(m)Z)m*Z*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:d Z;d!Zztest_powsimp..jsA1wqzQAsz (-1)**(2/3)g?g@g?)r rrrrrr rrrrrangerr is_Mulallstrrr rr) rrrr.r!r2r6wmr@exeqs rA test_powsimprLs #JAq!Q A AqD1r7NQ!W, .! 33 3 R!GraRj(1r72 4 99 9  !Q$aR.1r7 "# &)*1a4!qb'>AG+C)D EE E AadQ!WnqA2w./d <! DD D q6#a&=CF3q6M )) ) 3q6#a&= !SQZ // / 3q6#a&=A%ad* +!q1u~ == = 3q6#a&=A%ad*E : AE 1q1u:   3q6#a&=Q'A.Q7!Q$q!t)C D AEAIs1vA&QU3 44 4 3s1vc!f}% &#c!fSVm*< << < 3s1vc!f}%D 1SQU_ DD D 1a419 QU ++ + A#a&L#qb')5t D SQZaR  !! ! A#a&L#qb') 5 SQZaR  !! ! A#a&L#qb') *q3q1u:~sA2w.F FF F A#a&L#qb')5 9 SQZaR  !! ! A#a&L#qb')6 : Qs1vXsA2w   5d +DAqsA 1a41Q31"+% &!Q$ .. . 1q1Q3xAaC()!a!A#hq1Q3x.?*@@t L aC1Q3!A#,    1q1Q3xz? /1q1Q3xz? BB B 1q1Q3xz? .!a1f+ == =  QBaRaRAY' '(ue E QBaRaRAY' '( )) )  QBaRaRAY' '(ue E QBaRaRAY' '( )) ) AEAaC=ue <Q1 MM M AaC!A#Iq=tU ;!ac 1} LL L 3q61s1vc!f},-D 9 ACAJ   1QAad^#$ /1QQU_3D DD D AqDAI> -!a!e*q @@ @ 1ad1a4i!^#$ /1a!a%j1_3D DD Dd#A AaC#a&=? #!q3q6z': :: : AaC#a&=? #q2A;'7 77 7 1qs8 1 $$ $ B!A#; B!A#; .. .T"A B!A#; 1 $$ $ B1": 2' )) ) B!A#;d +q 00 0g-GAq! !A Aad1a4B 2;!ac(1qs8+A!H4 44 4 !A Aad1a4B 2;2'A2a46QqS/1 11 1 Q A Aad1a4B 2;21+r!tAvk1 11 1 Qx1~  B 2;??bff 8(1a.(8 88 88 8 1qs8 1 $$ $ 3qs8 AaC (( ( E!H=qtED)*= >B 2;" * * AadT!Q$Z(@A AA A AbDF DAJ./ 1] BB B CF7 Qw && & AqsGb= !c"gai"_ 44 4 QqS1SQZ] "B 2;"   1a419a1fx1~55 qS!AqD&8Aq>) ) ** * 31:c1f$ % ,, ,/>sn"ctt tztttz z tttz  k(sJtt tzt tzztttz z tttz z tttz tttz zk(sJt dd}|dt tji}t| t z|t zz j|dt zj|k(sJt| t z|t zzj||dz t zj|k(sJt dd}|dt tji}t| t z|t zz j|dt jt tjzk(sJt| t z|t zzj||dz t zj|k(sJt t ztt zz }t||k(sJy) Nr2Tr3r#r5r.r;r&) rrrrrr rr Halfsubs)r2repsr.rKs rAtest_powsimp_negated_baserQs QBFDQK' (T!a%[L 88 8 QBFaR!V$T!a%[0a!e< =a!eTRSVWRW[AX XX Xd#A q!QVV D QB71a4< % %d +a~~d/C CC C QB71a4< % %d +!Q$ /@/@/F FF Fd#A r1aff D QB71a4< % %d +qbYYq!&&5I/I II I QB71a4< % %d +!Q$ /@/@/F FF F "qAB 2;"  ctd\}}}tdd\}}}t||z||zzd|||zzk(sJt||z||zzd||z||zzk(sJt||z||zzd|||zzk(sJt||z||zzd||z||zzk(sJt||z||zzd||z||zzk(sJt||z||zzd||z||zzk(sJt||z||zzd||z||zzk(sJt||z||zzd||z||zzk(sJt||z||zzd||z||zzk(sJt||z||zz||zzd|||z|zzk(sJt||z||zz||zzd||z||zz||zzk(sJt||z||zz||zzd|||z|zzk(sJt||z||zz||zzd||z||zz||zzk(sJt||z||zz||zzd||z||zz||zzk(sJt||z||zz||zzd||z||zz||zzk(sJt||z||zz||zzd||z||zz||zzk(sJt||z||zz||zzd||z||zz||zzk(sJt||z||zz||zzd||z||zz||zzk(sJy) Nzx,y,zzA B CF commutativerFr)r+rr r)rrrABCs rAtest_powsimp_ncrZsgGAq!g51GAq! 1a419e ,AE :: : 1a419f -Aad :: : 1a419e ,AE :: : 1a419e ,1QT 99 9 1a419f -Aad :: : 1a419e ,1QT 99 9 1a419e ,1QT 99 9 1a419f -Aad :: : 1a419e ,1QT 99 9 1a419QT>5 1QQ^ CC C 1a419QT>6 2ad1a4i1n DD D 1a419QT>5 1QQ^ CC C 1a419QT>5 1QT!Q$Yq!t^ CC C 1a419QT>6 2ad1a4i1n DD D 1a419QT>5 1QT!Q$Yq!t^ CC C 1a419QT>5 1QT!Q$Yq!t^ CC C 1a419QT>6 2ad1a4i1n DD D 1a419QT>5 1QT!Q$Yq!t^ CC CrRcttddtzzdtzzdtdtzzdzzk(sJy)Nr#r1r")rrrrRrAtest_issue_6440r_s6 2ad71a4< AAaC! $4 44 4rRc B td\}}tdd\}}tdd\}}t||k(sJt|d|ttddzzd|zzzz|d|ttddzzd|zzzzk(sJtt ttddzd|zzsJt|ttddzzd|zz|ttddzzd|zzk(sJtt d|zt dzdd|zzk(sJtt |dz|k(sJ|d|zz|d |zzz}t|||dzzd|zzk(sJt||z||zzsJtt d|zt |z|d|zzk(sJtt |t tt tzzttz|zk(sJtt dt tt tzztdztdzzk(sJt|d|zzd|zz|z|d|zzd|zz|zk(sJt|d|zzd|zz|zd |d |z|z|zzk(sJt|ttddzzd|z|z z|z|ttddzzd|z|z z|zk(sJt|d|zz|d |zzztzd ||dzzd|ztzzk(sJt|d|zz|d |zzz|z||dzzd|z|zzk(sJ|dtzzd|zz|z}t||k(sJ|dz|d zztz||zz}t||k(sJ|dz|d zztz||zzdz}t||dz|d zztzd|z|zzk(sJt|dz|d zztz||zzd ||dzzdtz|z|zzk(sJt|dz|d zztz||zzdzd ||dzzd tz|z|zzk(sJt|dz|d zz|z||dzzd|zzk7sJtdd\}}t|dz|d zz|z||dzzd|zzk(sJt||tddzz||dz zzd|zz|td dz|z|dzzk(sJtt |d|zz|d |zzz||dzz|zk(sJtd |zdd|zzk(sJtd |z|zdd|z|zzk(sJtd |z|zdd|zz|zk(sJy) Nr,zp qTr3zi,jr7r#r1r"r9) r rrrrrrrr)rrr2qr6jrKr@s rAtest_powdenestrds[ 5>DAq 54 (DAq 5$ 'DAq Q<1   QA(1a. 01QqS999 :q1a!HUVXYNJZF[_`ab_bEcCc?c dd d c!HQN*+qs3 44 4 a!HQN*+qs3 4!aA>N:OSTUVSV9W XX X S1SV_ %QqS 11 1 T!Q$Z A %% % QqS!ac( B R=Qq!tVqsO ++ + ada!e_ %% % S1SV_ %QqS 11 1 SCFSVO,- .1Q3( :: : SCFSVO,- .!Q$q!t) ;; ; q1Q3x1Q3'!+ ,!ac(ac1BQ0F FF F q1Q3x1Q3'!+4 8A!AaL HH H q1Xa^+,!A6: ; q!Q AaCE *Q . 00 0 a!A#hq1Q3x'!+4 8Qq!tVqs1u 1a41Q3q57   ad1a4i!^ $1a41Q3 77 7 54 (DAq ad1a4i!^ $1a41Q3 77 7 a!HQN*+A!H4!< =!XaQR^BSTUBUYZ\]Y]A^ ^^ ^ T!ac(1qs8+, -!AqD&1 << < QT?a!A#h && & adQY 1qs1u: -- - QT!V AaC ** *rRcLtdd\}}}td\}}}t||z|z|z||z||zz||zzk(sJt||z||zz|z|||zz|||zzzk(sJt||z|z||zz|z|||z|zz||dzzzk(sJy)Nx y zTpolarza b cr#)r r)rrrrrcs rAtest_powdenest_polarrjsgT*GAq!gGAq! ac!eaZ AqDAIadN 22 2 ad1a4i!^ $AaCQqS(9 99 9 q!tai1nq( )Q1QZAqD -A AA ArRctttddtztzdz}t |tttztddtzdzk(sJ|j Jy)Nr^r#)rrrr r is_positive)args rAtest_issue_5805rns` !HU2r1% %r )A -C S>bqk%B*::Q> >> > ?? "" "rRctddd}t|d}||k(sJ|jdtdk(sJy)NM Tr'r)rrargsr)rpexprs rA(test_issue_9324_powsimp_on_matrix_symbolrtsBS"b!A 14 D 199 99Q<3s8 ## #rRc Ddtdzdtdtdzdzzz ttd dz tjzz}ttj|j Dcgc] }t |c}dk(sJt |j dk(sJt|dk(sJt tdtdztdtdz zdzdk(sJt |dk7sJycc}w)Nr#rr1r$)rr rNr make_argsnormalrr)rrs rAtest_issue_6367rzs 47 Ad1T"X:?++,tT"XIbL1664I/JJA S]]8188:%>?? @A EE E 8188: ! ## # A;!   4DG $T!d1g+%66: ;q @@ @ 1:?? @sDcddlm}ddlm}t d\}}}t dd\}}}|dd |zz|d t zt z|zk(sJt||z||zz||z|zk(sJ||zd |z |zzd k(sJd |z |z|| zk(sJ||||z||||zk(sJt||||z|||zk(sJt||||z||zz||zz||d z||zzk(sJt||||z||zz||zzd |||z|||zzzk(sJt||||z|d zt|zt|z||z||zzz|||zzt||d |z|zzzt|zk(sJtt||||zt||||zk(sJtt||||zd t|||zk(sJy)Nr) polar_lift) exp_polarrfzp q rTrgr5r#r$rr)r') $sympy.functions.elementary.complexesr|&sympy.functions.elementary.exponentialr}r r rrr)r|r}rrrr2rbrs rAtest_powsimp_polarrs?@gGAq!gT*GAq! rNac "i"Qq&9 99 9 1a4!Q$; AaC!8 ++ + a41Q3(?a   aC!8qA2w   Q< ! $ ! Yq\(A AA A 9Q< ! , -1q51A AA A 9Q< ! ,QT1!Q$6 7 9Q<1q5! "" " 9Q< ! ,QT1!Q$6 F!a%QU# $$ $ ! Yq\!)A,.s1v5A>AadJ L q1u:AyQ33 3c!f < == = 3y|IaL01 2 IaL1 %& '' ' 3y|IaL01 = Ia!e   rRctttz}t|}ttttz}t||zt|dzk(sJt||dzzttztt|dzzk(sJt|tdzz|dzztz|dz|dzzk(sJt|tz|dzztdzz|dz|zk(sJtt|dzztdzz|dzk(sJtt|dzztzttz|dzzk(sJttt|dzztz|dzk(sJttt|dzzttzttttz|dzzk(sJtt tt|dzzttztdttttdzz|dzzk(sJt|dz|ztdzztz|dzk(sJttztz}|t|z}|j dusJt|t|dzk(sJtt ttddzz}t|t|zt|dzk(sJt|dzt|zt|dzk(sJt|dztt|ztt|dzk(sJy) Nr1r#rCF)evaluateT )rrrrrrErr)rrris rAtest_issue_5728rs $q' A QA T!WQYA 1Q3<47A: %% % 1QT6$q'> "d1gadl 22 2 1QT6!Q$;q= !QT!Q$Y .. . 1Q3q!t8AqD= !QT!V ++ + 1QT6!Q$; 1a4 '' ' 1QT6!8 !AqD (( ( 471a4<> "ad ** * 471a4<Q' (DGDGOAqD,@ @@ @ 3tAwq!t|DG+Q? @ QQ 1a4   1a46!Q$;q= !QT )) ) 1QA $q' A 88t   1:a! ## # #aA A 1T!W9 a! ++ + 1a4Q< DGQJ .. . 1a4T!W % &$tAw-*: :: :rRctdd\}}}}tt|t|zt|zt t| zt| zt| zk(sJtt |dt |dzt |dzt |dzdt ddz | t ddzz| t ddzz| t ddzz| t ddzzk(sJy)Nz n1 n2 n3 n4Tr;r1r5r$)r rrrrr)n1n2n3n4s rAtest_issue_from_PR1599r4s]T:NBB DHT"X%d2h. / 49 T2#YtRCy( )* ) DQKR +DQK7R C D x1~  x1~  "sXa^3 468S8Aq>4I JLN3QYZ[]^Q_J_ ` `a `rRcxtdd}tddd}tdd}d|d z tjz zd|td d ztjz zz }t d|d z zt |zk(sJt d|d z zt |zk(sJt d|td d zzt |z k(sJt |d|d z tjz zd|td d ztjzzzk(sJt d|td d zzt |zk(sJy) NrTr7l)evennonzeror.)oddr5r#r1)r r rNrrr)rrr.e_xs rAtest_issue_10195r=s:sD!Ast,AsA 1qvv "(1a.(8166(A!B BC B!A#; 1a4 '' ' B!A#; 1a4 '' ' B!HQN*+ ,A 55 5 39I FF:3   B!HQN*+ ,!a 77 7rRctdtztddzddtdz zzk(sJtddtzzdz ddtdz zzk(sJy)Nr1r#r$)rrrr^rRrAtest_issue_15709rIs[ 1a4A& '1Q1X: 55 5 1QT6!8 !ac( ** *rRctdd\}}t||zdz||zdzz||zdz||zdzzk(sJy)Nzx yFrTr#rV)rrs rAtest_issue_11981rNsO 5e ,DAq AaC!8qsQh& 'AaC!8qsQh+> >> >rRctdd}d|dzz td|dzzz}tt|t|cxk(r|dzdzt ddz z k(sJJy)NrTr/r5r#r$r1)r rrrr )rr@s rAtest_issue_17524rSsj$A adDQTN"A GAJ 8A; GAqD1H!Q3G2G GG GG GrRc ttttdzdttk(sJtttj t z zdt zzdtk(sJddlm}dtz }tt|z tt|z zzt dtz |z zz|z}t||ddttzt dtz zzttzk(sJy)Nr#Tr9r)expand_power_baser$) rrrrr rNrsympy.core.functionrrrrr)rr@rss rAtest_issue_19627rYs T#a&!)_D 1SV ;; ; a!&&(mqs+4 8A == =5 AA !HQ1X a1q5!)n ,q 0D &t48 T!a!e*_SV # $$ $rRctdd\}}t|tz|tzz }tdz}|jt|}|jsJt||z||zz |k(sJtdd}tt |zt |zz }|dz}|j||}|jsJtt |zt |zz |k(sJy)Nzp1, p2Tr3r$r6r7)r rrrOis_Powrr)p1p2refr@ansr6s rAtest_issue_22546rds X -FB "a%A+ C AA ((1a.C ::: 2q5Q; 3 && &T"A !Q$q!t) C AA ((1a.C ::: 1a419  $$ $rRN)=rrsympy.core.mulrsympy.core.numbersrrrrr sympy.core.singletonr sympy.core.symbolr r r rrr(sympy.functions.elementary.miscellaneousrr(sympy.functions.elementary.trigonometricr'sympy.functions.special.gamma_functionsrsympy.functions.special.hyperr"sympy.matrices.expressions.matexprrsympy.simplify.powsimprrsympy.simplify.simplifyrrr sympy.abcrrrrrrLrQrZr_rdrjrnrtrzrrrrrrrrrr^rRrArs(77"66=A89/;78!##k-Z  D:5++\B# $4;:a 8+ ? H $ %rR