
    oVhU                         d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d d	lmZ d d
lmZmZm Z m!Z! d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3y)    )expand_complex)IIntegerRationalpi)Pow)S)Symbolsymbols)Abs	conjugateimresign)exp)coshcothsinhtanh)sqrt)coscotsintanc                     t        dd      } t        dd      }| t        |z  z   | t        |z  z
  z  }|j                         | dz  |dz  z   k(  sJ t        t              t	        t        t
        j                        k(  sJ y NaTrealb   )r
   r   expandr   r   r	   Half)r   r    es      M/home/dcms/DCMS/lib/python3.12/site-packages/sympy/core/tests/test_complex.pytest_complexr&      sp    sAsA	
QqS1qs7A88:A1$$$7c!QVVn$$$    c                     t        dd      } t        dd      }t        dd      }t        dd      }t        d      }| t        |z  z   |z   t        |z  z   }| t        |z  z
  |z
  t        |z  z   }t        |      |k(  sJ t        t        |            t        |      k(  sJ t        t        t        |z              t        t         t        |      z        k(  sJ t        |d	z        |d	z  k(  sJ t        t	        |            t	        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ t        t        |            t        |      k(  sJ y )
Nr   Tr   r    c	imaginarydx   )r
   r   r   r   absr   r   r   r   r   r   r   r   r   )r   r    r)   r,   r-   zzcs          r%   test_conjugater2      s   sAsAsd#Asd#AsA	AaC!acA	
QqS1qs	BQ<2SVB'''S1X#qb1o"6666QT?b!e###SVA&&&T!Wb)))SVB'''SVB'''SVB'''SVB'''T!Wb)))T!Wb)))T!Wb)))T!Wb)))r'   c                      t        dd      } t        dd      }t        |       t        |       k(  sJ t        |        t        |       k(  sJ t        | t        |z  z         t	        | dz  |dz  z         k(  sJ y r   )r
   r/   r   r   r   r   r    s     r%   	test_abs1r5   ,   ss    sAsAq6SVr7c!fq1Q3w<41q!t,,,,r'   c                      t        dd      } t        dd      }t        |       | k7  sJ t        |        | k7  sJ t        | t        |z  z         t        | dz  |dz  z         k7  sJ y )Nr   Fr   r    r!   )r
   r/   r   r   r4   s     r%   	test_abs2r7   4   sg    sAsAq6Q;;r7a<<q1Q3w<41q!t,,,,r'   c            
         t        dd      } t        dd      }t        d      }| t        |z  z   dz  j                  d      | dz  dt        z  | z  |z  z   |dz  z
  k(  sJ t        |dt        z  z        t	        t	        |      t        t        |      z  z   dt        z  z        t        t        t	        |      t        t        |      z  z   dt        z  z        z  z   k(  sJ t        |dt        z  z  d	      t        t        |dt        z  z        z  t	        |dt        z  z        z   k(  sJ t        t        | z        t        |       t        t        |       z  z   k7  sJ t        t        | z        j                  d      t        |       t        t        |       z  z   k(  sJ t        t        | z  |z         j                  d      t        |      t        |       z  t        t        |       z  t        |      z  z   k(  sJ t        t        | z        j                  d      t        t        |       z  k(  sJ t        | t        |z  z         j                  d      t        |       t        |      z  t        t        |      z  t        |       z  z   k(  sJ t        t        | z        j                  d      t        |       k(  sJ t        | t        |z  z         j                  d      t        |       t        |      z  t        t        |      z  t        |       z  z
  k(  sJ t        t        | z        j                  d      t        |       t        z  k(  sJ t        | t        |z  z         j                  d      t        d| z        t        d| z        t        d|z        z   z  t        t        d|z        z  t        d| z        t        d|z        z   z  z   k(  sJ t        t        | z        j                  d      t        t        |       z  k(  sJ t        | t        |z  z         j                  d      t        |       t        |      z  t        t        |      z  t        |       z  z   k(  sJ t        t        | z        j                  d      t        |       k(  sJ t        | t        |z  z         j                  d      t        |       t        |      z  t        t        |      z  t        |       z  z   k(  sJ t        t        | z        j                  d      t        |       t        z  k(  sJ t        | t        |z  z         j                  d      t        |       t        |       z  t        t        |      z  t        |      z  z   t        |       dz  t        |      dz  z   z  j                         k(  sJ y )
Nr-   Tr   yr0   r!   complexF)deep)r
   r   r"   r   r   r   r   r   r   r   r   r   r   )r-   r9   r0   s      r%   
test_evalcr=   <   s   sAsAsA1WqL   .!Q$1Qq.1a42GGGG!ac(#BqEAbeGOqs+C(D	"bea1go1%
&&)' ( ( (	AaCu!"2a!A#h<"Q1X,!>? ? ? qs8s1v#a&((((qs8??4?(CFQs1vX,====qsQw<t,As1v#a&Q0OOOOqs8??4?(AQK777q1Q3w<t,AtAw	DGc!f1    qs8??4?(DG333q1Q3w<t,AtAw	DGc!f1    qs8??4?(DGaK777q1Q3w<t,AaC#ac(T!A#Y&'	$qs)S1XQqS	)*	+, , , !9D)QQZ777AaC=-aQ	CF
T!W2    !9D)SV333AaC=-aQ	CF
T!W2    !9D)SVaZ777AaC=-	aa1SV8CF?	*	a!c!fai		!"(&(+ + +r'   c                      t        d      } d| z  d| z  t        z  k7  sJ d| z  d| z  t        z  k(  sJ d| z  d| z  t        z  k7  sJ y )Nr-   y              @   g      @y        ffffff@)r
   r   r-   s    r%   test_pythoncomplexrA   e   sS    sAa41Q3q5==a43q57??6QqSU??r'   c                  .   t         } dt        z    | dd      z  j                  d      d | dd      z  t        t        dz        z  d | dd      z  t        t        dz        z  t        z  z   k(  sJ dt        z
   | dd      z  j                  d      d | dd      z  t        dt        z  dz        z  d | dd      z  t        dt        z  dz        z  t        z  z
  k(  sJ t        d	      t        z  j                         t        d
       dfk(  sJ y )N   r!   Tr:   r?         i
   r   )r   r   r"   r   r   r   r   as_real_imag)Rs    r%   test_rootcomplexrJ   l   s   A!Va1g%% & AaGC"Q$K/!Qq!W*S2a4[2H2JJK K K!Va1g%% & AaGC"QK/!Qq!W*S2a[2H2JJK K KIaK%%'T"XIq>999r'   c                     ddt         z   z  j                  d      dt         z
  dz  k(  sJ ddt         z  z   dz  j                  d      ddt         z  z
  dz  k(  sJ dt         z   d	z  j                  d      t        dd
      k(  sJ y )NrC   Tr:   r!   r?      i   )r   r"   r    r'   r%   test_expand_inverserQ   u   s    q1uId+Aqy8881WO##D#1b1Q3h]BBBUbM!!$!/8Ar?BBBr'   c                     ddt         z  z   dz  j                  d      ddt         z  z
  k(  sJ ddt         z  z   dz  j                  d      d	d
t         z  z   k(  sJ ddt         z  dz  z   dz  j                  d      t        d      dz  dz  t         dz  dz  z   k(  sJ ddt         z  z   dz  j                  d      t        d      d	z  dz  t        d      d
z  t         z  dz  z
  k(  sJ ddt         z  dz  z   dz  j                  d      t        d      dz  dz  t        d      dz  t         z  dz  z
  k(  sJ t        dd      } t        dd      }t	        | dt         |z  z   z        j                  d      t         t	        d| z        z  t        | |z        z  t	        d| z        t        | |z        z  z   k(  sJ y )Nr!   rF   rG   Tr:   ii9 i  l/iFQ)sTQ[kI".vhBYK_mGgD)M?Hv|=	K#	(HKdtnp!'/4sfv`'w"mlh28e&SF<Yz7`[%?W. b^Ny3}d2gb@-ad3ro# W"j	>~DA ndl2PrEGUAQQ5GR/LI^tdg},$HOaoc"x%mvF:#_   l|   P%f]k/ +l\W!tm?w=Y]Mq/obfI`{	UzB;*pJFm8y;$<[$(fwt*YP$lS@br`=tQb2^a4kUi[|Mabf/wc%Q?;"\V[U-$\lP.Y2;q7[zma=l~\pHXf	]nm
I)Ajo/:swF_)S[-E6>k7USVp:O=VV r?   rC   l   !(smB/$d /u3roVn|(F$9k{i#A#LhO'7kFQ\%oTse{<reUa;C^<Q/Dmc& S"{?Fs-x/ ]'>9_zBWumd?1(DJ3H(2mp=GAL`o~TqC|(L~{~x|<5Bc">L5zuBjC0Ttf>FUY
L-U2Y	<G:@wv p8\[|Q'!AJcj5N904{QVNY\~`Qy@c>LPTN,2)7+0:Y0=F
KXxqk	K@}r[2S*;@~U[JYLD43"n9P49Ta2fw!3$|h}^2#v, l                                                                                                                                                                                                                                                                               l   %"(=M}IdAp!GFq/|/R2@AQ;#i}]Qs^/%hq0%a
I zE~f>#~obh,'
qm4Mqw&k^E%}fdF%W3gI<qx$>$\lMW1kE]<k|9m7m)P Au<o\HK>'Pi<uO}!,73M5~([g)ydLDq0~f;EM-u]+Q$f"4DuB#|UeygOUq|lk8py:.xF&R =GAq"aPB4woFs570-UI(CWh`(^d9y	|n]z<`i/nd&~|s8pffB,z,p#l                                                                                                                                                                                                                                                                            @il   w[Z*~Q1rshK5rQYU@iLD*NpiSDD4x;{_ S*RDik1P0JsLs@y|RY3"t&+|0XdSUR5|U>0W*sIqLI6' `%U/sYjlR~dk1}\B
w0,3nUQfQ.,: L	A.
dX|
Bh3Z! kRL@1K>!D/Sa2R/hNp'epVz13>evA
{h{yy|[|	 _b  E2!/mck8S39%w|Abody$x )2E[k\S]})E`-{YNE<#_2!1ke@BW<j|N3H1I&{m*/)n  S$@F<LM+/NY3Ddan&ExR\A*$`V~d#>v7m'#Z[c{-Vd5R2Cm*Q&Q'#rllT                                                                                                                                                                                                                                                                             j.[hs5b@\{J
X)gx1c$pDismM1Jk`:mu.y^O.y39xgV'#:4u}({L	`Td^zo^y}9o8}Z 'f}WO*{ Hr&fE'(oY*wI_pFpLVO=)MQuNPmv}4|LH6!@0c)+"U&>gQp]Yd sV52$(HT2w8Bz4Fs4f}WE"t!*cU7v@?44Q 5|8Ps
~REg5f
F.,}G^A~>nc~1b	P2tDnVRjCj6{C2?ipR-
45Ll=d)R84&PWfl  Ad2N"<z{Tp}P]3n2@tP2<Io~.a$L=!#>CM|A =^70k 5_s/'[Z.P?GH}#la`<)zMyrOx%JNxK*CQB[4s,(N)G;b2T,Q0J]Ggf,bxBbB;s)MlA{:HS<F2 @PgF/3c=#+] JOA~ob3-enqV8na2Ib;N}n|/kym]{Xt;./Zqs3#Y<;d;]3pLry@f|7Z7OzQPq((vf?K}Qz4stAj|1&J,UC
*H;$r8D0g*PcE	<rD,}{3
_b/JLZ5bx{5#ut%hg,8NI/2#K#h50HA#7B~4oSdAM
kJJ"
=yb'517+cZ(0'~]1Pg)y} MfPPiz*lbQ[	F'!^y2auqYLP5uxs#[Z6WcdFT:\F0} dt /' HhM\1q>BUT+B+\CuWp g&G!Yc/#u
5[<f&l++<~w8clZ/whV?&#d4SQGI*X>^zJg;AeK
3
&rdw=)wLx:hPUP=MpX!U Rs`zIYW&,IoYX4^\_lT                                                                                                                                                                                                                                                                             ^jtgDA9 q:dy"},3 @LaSA`h^		\h}8'-")6 S[:VQ_PTiv8<Wfx~RoFK9,h}W@j2~npUt^jgO6T"(ysNG/JrS!]*qntV]l;6yWk~zkr- ,f\+-9>+L*}$Y#qZuN/J6dIt7{Yl*m
E2&jH;A,'$>8zG_-'q~T].qKZi`4hhstayXG,b1%4	O[{_.`\>_^;}	9C*
=<R-L!vA{;H on.zf L6Gg7g~`6!l`"a 7r   r   r    )r   r"   r   r
   r   r   r   r4   s     r%   test_expand_complexrS   {   s   1WrM!!$!/7VAX3EEEE 1WtO##D#1 	w 	v  wx  	x	xx x x 1QY%%d%3
  x  	x  yT  	T	  m  	m  nG  	G	GG G G 1Wu$$T$2
  B	  	B	  C	]  	]  `g  hi  `j  kX#  `X#  Y#Z#  `Z#  [#u4  `u4  	u4u4 u4 u41QY&&t&4
  R  	R  S[5  	[5  ^5e5  f5g5  ^5h5  i5gM  ^5gM  hMiM  ^5iM  jMrj  ^5rj  	rjrj rj rj 	sAsAq!ac'{""4"0	#ac(
3qs8c!A#hs1Q3x//0 0 0r'   c                  n   ddt        d      z  z
  dz  } | j                         ddt        d      z  z
  k(  sJ t        d      dz  t        dz  z   dz  } | j                         t        dz  k(  sJ t        d      dz  t        z   dz  } | j                         t        d	      d
z  dt        z  dz  z
  k(  sJ y )NrO   r!      it  @   rC   rG          i   i     )r   r"   r   r   )fs    r%   test_expandr[      s    	aRj1A88:r$r({****	A!	b A88:2	A	BA88:d*SU3Y6666r'   c                  0   t        d      } t        |       t        t        |             k(  sJ t        |       t        t        |              k(  sJ t        |       t        t        |             z  t        t        |             t        |       z  z   dk(  sJ y )Nr-   r   )r
   r   r   r   r@   s    r%   test_re_im1652r]      s{    sAa5By|$$$$a5b1&&&&&a5IaL!!By|$4r!u$<<AAAr'   c                      t        d      } | | t        z  z   dt        z   z  j                         t        | t        | z  z   dt        z   z        t	        | t        | z  z   dt        z   z        fk(  sJ y )Nr-   rC   )r
   r   rH   r   r   r@   s    r%   test_issue_5084r_      so    sA1Wq1u++-"a!A#gA5F 31qs7QU#$2& & & &r'   c                     t        dt        z         dz  j                         dt        d      dz  z  t	        d      dz  z  t        d      z  t        d      z  t        d      dz  t        d      dz  z  z   dt        d      dz  z  t        d      dz  z  t        d      z  t	        d      z  t        d      dz  t	        d      dz  z  z   fk(  sJ y )NrC   rF   rM   r!   )r   r   rH   r   r   r   rP   r'   r%   test_issue_5236ra      s    AJM'')bQl47A:.Ec!f.LTRSW.TA	$q'1*/ Ql47A:5c!f<T!WDs1vqyQUVWQXZ[Q[G[[.] ] ] ]r'   c                     t        d      \  } }}t        dd      \  }}}t        dd      }d|z  | z  j                         d|z  t        |       z  d|z  t	        |       z  fk(  sJ | | j                         z  j                         t        |       dz  d	fk(  sJ t	        | | j                         z        d	k(  sJ t	        | |j                         z  |z  |z        t	        | |z        t        |      dz  z  k(  sJ t	        | |j                         z  | z  |z        t	        | dz        t        |      dz  z  k(  sJ t	        ||j                         z  |z  |z        t	        ||z        t        |      dz  z  k(  sJ t	        ||j                         z        t	        ||j                         z  d
      k(  sJ t        |       t        |       j                         z  j                         t        t        |             dz  d	fk(  sJ | dz  j                         t        |       dz  t	        |       dz  z
  dt        |       z  t	        |       z  fk(  sJ t        dd      }t        dd      }||z  | z  j                         t        |z  |z  t	        |       z  t         |z  |z  t        |       z  fk(  sJ ||z  | z  |dz   z  j                         t        |z  |z  t        |      dz   z  t	        |       z  t        |z  |z  t        |       z  t	        |      z  z   t         |z  |z  t        |      dz   z  t        |       z  t        |z  |z  t	        |       z  t	        |      z  z   fk(  sJ dt        z   dt        z
  z  j                         dk(  sJ ddt        z  z   ddt        z  z   z  j                         dk(  sJ y )Nzx, y, zzX, Y, ZF)commutativer   Tr   r!   r   )evaluaterir*   rC   )r   rC   rF   )r.   )	r   r
   rH   r   r   r   r   r   r   )	r-   r9   r0   XYZr   re   rf   s	            r%   test_real_imagrk      s   i GAq!iU3GAq!sAaCE!ac"Q%i1RU%;;;; akkmO))+A	1~===ao!###aoa!"b1gc!fai&7777aoa!"bAhs1vqy&8888aoa!"b1gc!fai&7777ao"Qq{{}_u"EEEEF3q6##%%335	SVa   qD RUAX1q%8!BqE'"Q%-$HHHH 	sAsd#AaCE!ac!eBqEkA2a46"Q%<%@@@@aCE1q5M'')	!Ar!uqy"Q%!A#a%1+be"33	
1Q1	2a5 1Q3q5A;r!u#44.6 6 6 6
 UQUO))+v5551Wq1Q3w--/7:::r'   c                     t         j                  t         j                  dz  z  } | j                         j	                         | j	                         j                         k(  sJ t        d      } | j                         j	                         | j	                         j                         k(  sJ dt
        z  } | j                         j	                         | j	                         j                         k(  sJ y )NrF   zJ-2/3 - (-29/54 + sqrt(93)/18)**(1/3) - 1/(9*(-29/54 + sqrt(93)/18)**(1/3))r!   )r	   NegativeOneOner   nr   )r$   s    r%   test_pow_issue_1724rp      s    
--1557	#A;;=?? 1111	
VWA;;=?? 1111	1A;;=?? 1111r'   c                  b    t        t              j                         t        t              k7  sJ y )N)r   r   r   rP   r'   r%   test_issue_5429rr      s!    7$q')))r'   c                  L    ddl m}  t        t        | z        | t        z  k(  sJ y )Nr   oo)sympy.core.numbersru   r   r   rt   s    r%   test_issue_4124rw      s     %!B$2a4'''r'   c                      t        dd      } t        dd      }t        | dz  |dz  z         }t        |      |k(  sJ t        | t        |z  z         }t        |      |k(  sJ y )Nr-   Tr   r9   r!   )r
   r   r   r/   r   )r-   r9   re   ss       r%   test_issue_11518rz      se    sAsAQTAqD[AQ<1AAIAQ<1r'   N)4sympy.core.functionr   rv   r   r   r   r   sympy.core.powerr   sympy.core.singletonr	   sympy.core.symbolr
   r   $sympy.functions.elementary.complexesr   r   r   r   r   &sympy.functions.elementary.exponentialr   %sympy.functions.elementary.hyperbolicr   r   r   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   r   r&   r2   r5   r7   r=   rA   rJ   rQ   rS   r[   r]   r_   ra   rk   rp   rr   rw   rz   rP   r'   r%   <module>r      s    . 9 9   " / O O 6 J J 9 I I%*0--&+R:C0,7B&]
;@2*(r'   