+
    i                     H   R t ^ RIHtHtHtHt ^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHtHt ^ RIHt ^ RI H!t! ^ RI"H#t#H$t$ ^ RI%H&t&H't'H(t(H)t)H*t* R t+R t,R t-R t.R t/R t0R t1R t2R t3R t4R t5]$R 4       t6R t7R t8R# )zOTests for algorithms for partial fraction decomposition of rational
functions. )apart_undetermined_coeffsapart
apart_listassemble_partfrac_list)Expr)Lambda)EIRationalpi	all_close)Eq)S)DummySymbol)sqrt)Matrix)Polyfactor)together)RootSum)raisesXFAIL)xyabcc                     \        ^4      ^8X  g   Q h\        ^\        4      ^8X  g   Q h\        ^,          ^,           \        ^,           ,          ^\        ^,           ,          \        ,           ^,
          r\        V RR7      V8X  g   Q h\        V RR7      V8X  g   Q h^\        ^,           ,          \        ^,           ,          ^^\        ,           ,          ^^\        ,           ,          ,
          r\        V RR7      V8X  g   Q h\        V RR7      V8X  g   Q h^\        ^,           ,          \        ^,           ,          R^\        ,           ,          ^,          ^^\        ,           ,          ^,          ,           r\        V RR7      V8X  g   Q h\        V RR7      V8X  g   Q h\        \        \        ,          ^,           \        \        ,
          ,          \        ^,
          ,          \        4      ^\        ,
          \        \        ,          ,           \        \        ,          ,           \        \        ,          ^,           \        ^,
          ,          \        \        ,
          ,          ,           8X  g   Q h\        \	        \        ^,          ^,           \        ^,           ,          \        4      \        4      \	        \        ^,
          ^\        ^,           ,          ,           \        4      8X  g   Q h\        \        ^,          \
        4      \        ^,          8X  g   Q h\        \
        ,           ^\        ,          \
        ,
          ,          \        ^^4      \
        ,          ^\        ,          \
        ,
          ,          \        P                  ,           r\        V \        RR7      V8X  g   Q h\        V \        RR7      V8X  g   Q h\        \
        ,           ^\        ,          \
        ,
          ,          ^\        ,          ^\        ,          \
        ,
          ,          ^,
          r\        V \
        RR7      V8X  g   Q h\        V \
        RR7      V8X  g   Q h\        \        R 4       R# )   FfullTc                  `    \        ^\        ^,           ,          \        ^,           ,          4      # r   )r   r   r        ]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/tests/test_partfrac.py<lambda>test_apart.<locals>.<lambda>=   s    aQiQ.?(@r%   N)r   r   r   r   r   r   r
   r   Halfr   NotImplementedErrorfgs     r&   
test_apartr/      s   8q==A;!qD1Hq1uq!a%y1}q0q1$$$!###a!e9a!eaQi!QU)3q1$$$!###a!e9a!eb!a%jlQAYq[8q1$$$!###!A#'AF#QU+Q/	A"qsadQha0!b&99: : : QTAXA&*A."QUQAY5F2JJJJ1a=AaCaC!A#'?HQN1,acAg6?qAE"a'''AD!Q&&&aC!A#'?AaC1qMA-qAE"a'''AD!Q&&&
 @Ar%   c            	         \        ^^R 4      p \        V 4      \        ^\        ,          ^\        ^,           ,          ,
          \        ^,           R,          .^^\        ,          ,          \        P                  \        ^,           ,          ,
          ^\        ^,           ,          ^\        ^,           ,          ,
          ..4      8X  g   Q hR# )   c                 \    ^\         V ,           ^,           ,          \         V,           ,          # r#   )r   )ijs   &&r&   r'   #test_apart_matrix.<locals>.<lambda>A   s    !QUQY-Q"7r%   N)r   r   r   r   r*   )Ms    r&   test_apart_matrixr8   @   s    q!78A8v	
1q!a%y1q5B-(	
AaCAFFQU#	#QAYAE%:;    r%   c                  t   \         \        ^,          ,          ^\        ,          ^\         ,          \        ,          ,           \        ^,          ,          ,           ^\        ,          \        ,          \         ^,          ,
          \         \        ^,          ,          ,           \        ^,          ,          ,           R\         ,          \        ,          ^\        ,          \        ^,          ,          ,           \        ,          ,           \        ^,          ,
          p \         ^,          \        ^,          ,          ^\         ,          \        ,          ^\        ,          \         ^,          ,          ,           \        ^,          ,          ,           ^\         ,          \        ,          \        ,          \        ^,          ,           \         ^,          \        ^,          ,          ,           \        ^,          ,          ,           ^\        ,          \        ^,          ,          ^\         ,          \        ,          \        ^,          ,          ,           \        ,          ,           \        ^,          \        ^,          ,          ,           p\	        W,          \        4      ^\         ,          ^\        \        ,           ^,          ,          ,
          \        ^,          \         \         \        ,          \        ,           ^,          ,          ,          ,
          8X  g   Q h\	        ^\        \         ,           \        \        ,           ,          \        \        ,           ,          ,          \        4      ^\         \        ,
          \        \        ,
          ,          \        \        ,           ,          ,          ^\         \        ,
          \        \        ,
          ,          \        \        ,           ,          ,          ,
          ^\         \        ,
          \         \        ,
          ,          \         \        ,           ,          ,          ,           8X  g   Q hR# )   Nr6   )r   r   r   r   r   r,   s     r&   test_apart_symbolicr;   I   s   	!Q$!A#!A+q!t##qs1uq!t|a1f'<ad&BB	Aa!A#ad(	A	 !1	%A	1QT	QqSUQqSAX%q!t++qs1uQwA~	1QT	0a4/ 	Q3q!t8ac!eAqDj0!3	467d1a4i	@A a=AaC!QUQJ,.Aq!A#'A~1FFFFFQUQUOQU+,a0	AEAE?AE"#a!a%!a%!a%)@&AA	AEAE?AE"#	$$ $ $r%   c                  p  a ^ RI Ho V3R lp \        ^,          ^,           ^,          \        ^,
          ^,          \        ^,           ^,          ,          \        ^,          ) ^\        ,          ,           ^,           ,          \        ^,          ^\        ,          ,           ^,
          ,          ,          p^V ! \        \        ^4      ,
          ^,           4      ,          ^V ! \        \        ^4      ,
          ^,
          4      ,          ,
          ^V ! \        ^,           \        ^4      ,           4      ,          ,           ^V ! \        ^,
          \        ^4      ,           4      ,          ,
          ^V ! \        ^,           ^,          4      ,          ,           ^V ! \        ^,
          ^,          4      ,          ,           pW3# )    )Mulc                    < S! ^V RR7      # )r1   F)evaluater$   )exprr>   s   &r&   mul2%_make_extension_example.<locals>.mul2Y   s    1dU++r%   )
sympy.corer>   r   r   )rB   r-   r.   r>   s      @r&   _make_extension_examplerE   V   s   , Q$(QQ
AEA:-1uqs{Q?A!aP	QA	
4DGa 	 	
4DGa 	 
!	
4AQ 	 
! 
4AQ 	 
! 
4Q
		

 
4Q
	
A 4Kr%   c            	         ^\         ^,          ^,           ,          p \        \         \        ,           ,          \        \         \        ,
          ,          ,
          p\        V \        R7      V8X  g   Q h\        V RR7      V8X  g   Q h\         \         ^,
          \         \        ,           ,          ,          p \        \	        \        V 4      4      P                  4       4      V 8X  g   Q h\        4       w  r^ RIHp V! R4      ;_uu_ 4        \        V \         \        ^4      0R7      V8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r1   	extensionT)gaussian)dotprodsimpN)
r   r	   r   r   r   expandrE   sympy.matricesrJ   r   )r-   r.   rJ   s      r&   test_apart_extensionrM   g   s    	1a4!8A	1q5	Aq1uIAa A%%%T"a'''	AEAE?A(58$++-.!333"$DA +	T		Qd1gY/1444 
			s   $D66E	c                  d    \        4       w  r\        V \        \        ^4      0R7      V8X  g   Q hR# )r1   rG   N)rE   r   r   r   r,   s     r&   test_apart_extension_xfailrO   z   s)    "$DAA$q'+q000r%   c                     ^\         ^,          ^,           ,          p \        V RR7      V 8X  g   Q h\        V RR7      P                  \        \         ^,          ^,           \	        \
        \
        \         \
        ,
          ,          4      RR7      ) ^,          4      '       g   Q h^\         ^,          \         ,           ^,           ,          p \        V RR7      V 8X  g   Q h\        V RR7      P                  \        \         ^,          \         ,           ^,           \	        \
        \
        ^,          \        ^^4      ,          \
        \        ^	^4      ,          ,
          \        ^^4      ,           \         \
        ,
          ,          4      RR7      4      '       g   Q h^\         ^,          ^,           ,          p \        V RR7      \        R^4      \         ^,          ^\         ^,          ,          ,
          ^\         ,          ,           ^,
          \         ^,          \         ^,          ,
          \         ^,          ,           \         ,
          ^,           ,          ,          \        ^^4      \         ^,           ,          ,           8X  g   Q h\        V RR7      P                  \        \         ^,          \         ^,          ,
          \         ^,          ,           \         ,
          ^,           \	        \
        \
        \         \
        ,
          ,          4      RR7      ) ^,          \        ^^4      \         ^,           ,          ,           4      '       g   Q hR# )r   Fr    T)autoNr)   )r   r   dummy_eqr   r   r   r
   )r-   s    r&   test_apart_fullrS      sS   	1a4!8A1$$$''	A6!QAY/e	<<Q>@ @ @ @ 	
1a4!8a<A1$$$''1q1q1a4B'!HQO*;;hq"oMPQTUPUVW^c	ef f f f 	
1a4!8A	"aAqD1QT6MAaC/!3adQTkAqD6H	
77  	QNQU+	,, , , ''	A1q!t#a'!+q!QU)5
* 	**+	,/71~A.F	GH H H Hr%   c                  z   R \         ^,          ,          R\         ^,          ,          ,           R\         ,          ,           R,           R\         ^,          ,          R\         ^,          ,          ,           R\         ^,          ,          ,           R\         ,          ,           R,           ,          p R	\         R
,           ,          R\         R,           ,          ,           R\         R,           ,          ,           R\         R,           ,          ,           p\        V RR7      P                  4       p\        W!RRR7      '       g   Q hR# )gV/;>gO6rZ>gJm?g(\µ?g=g6->gak?gv>?g      ?g	,`@g{@@g=?gX7@g``@G?gp"fD@g*u?gV	0@Tr    gMbP?gh㈵>)rtolatolN)r   r   evalfr   )r-   expectedf_aparts      r&   test_apart_full_floatsrZ      s     	AqD #6q!t#;;
a
	 "'	( 	QT!$71$<<
ad
"	#%5a%7	8:=	>		A 	!../
A/
0	1
Q!11
2	3 Q!11
2	3  AD!'')G WT====r%   c                     \        ^\        ,          ^,
          4      p \        \        ^	,          \        ^,          ,
          \        ^,          ,
          \        ^,          ,           ^\        ^,          ,          ,
          ^\        ,          ,           ^,
          4      p\        ^,          ) \        ^,          ,
          \        ^,          ,
          ^,           \        ^,          \        ^,          ,
          ^\        ,          ,
          ^,           ,          ^\        ^,
          ,          ,           p\        W4      V8X  g   Q h\        ^\        RR7      p \        \        \        ,           \        \        ,           ,          \        RR7      p^\        \        ,
          \        \        ,           ,          ,          ^\        \        ,
          \        \        ,           ,          ,          ,
          p\        W4      V8X  g   Q hR# )r1   zZZ[a,b]domainN)r   r   r   r   r   )pqrs      r&   test_apart_undetermined_coeffsra      s   QqS1WAQTAqD[1a4!Q$&1a4/!A#59:A
Q$A1	q	 1a4!Q$;1#4q#89Aq1uIEA$Q*a///Q)$Aa!ea!e_a	2A	AEAE?a!a%!a%11A$Q*a///r%   c                    a ^ RI Hp  V3R lo\        R4      \        R4      \        R4      r2p\        R4      pR\        ,          ^\        ^,          ,          ,
          ^\        ^,          ,          ^\        ,          ,
          ,          p\        V\        V ! R4      R7      pR\        \        ^^4      \        R	R
7      \        V^,
          VRR
7      \        V^4      \        WD) \        ,           4      ^3.3pS! Wg4      '       g   Q h\        ^\        ^,          ^,
          ,          \        V ! R4      R7      p^\        ^ \        RR
7      \        V^,          ^,
          VRR
7      \        WD^,          4      \        WD) \        ,           4      ^3.3pS! Wg4      '       g   Q h^$\        ^,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           \        ,           ^,
          ,          p\        V\        V ! R4      R7      p^\        ^ \        RR
7      \        V^,
          VRR
7      \        V^4      \        WD) \        ,           4      ^3\        V^,          ^,
          VRR
7      \        VRV,          ^,
          4      \        WD) \        ,           4      ^3\        V^,           VRR
7      \        VR4      \        WD) \        ,           4      ^3.3pS! Wg4      '       g   Q hR# )r=   )numbered_symbolsc                 
  < \        V 4      \        \        39   dM   \        ;QJ d(    V3R  l\	        W4       4       F  '       d   K   R# 	  R# ! V3R  l\	        W4       4       4      # W8H  ;'       g    V P                  V4      # )c              3   8   <"   T F  w  rS! W4      x  K  	  R # 5i)Nr$   ).0r3   r4   rR   s   &  r&   	<genexpr>4test_apart_list.<locals>.dummy_eq.<locals>.<genexpr>   s     <)$!x~~)s   FT)typelisttupleallziprR   )r3   r4   rR   s   &&r&   rR   !test_apart_list.<locals>.dummy_eq   s\    7tUm#3<#a)<33<3<3<#a)<<<v&&A&r%   w0w1w2r   w)dummiesQQr\   ZZNr6   r)   )	sympy.utilities.iterablesrc   r   r   r   r   r   r
   r   )	rc   ro   rp   rq   _ar-   gotansrR   s	           @r&   test_apart_listr|      sT   :'
 vd|VD\BB	sB	A!Q$1QT6AaC<(A
Q#3C#8
9CtHQNAd3
rAvr$
'Ar378KQ	OPRCC
Q1QZ,<S,A
BCd1a%b!eaiD)Ira4r37Q)  (! "C C
adQq!tVma1f$qAv-1A56A
Q#3C#8
9Cd1a%
rAvr$
'Ar378KQ	O	b!eaiD	)6"beai+@&SSTWBUWXY	b1fb	&r2r378KQO	QRC Cr%   c            	         ^$\         ^,          ^\         ^,          ,          ,
          ^\         ^,          ,          ,
          ^\         ^,          ,          ,           \         ,           ^,
          ,          p \        V 4      p\        V4      R\         ^,           ,          ^\         ^,           ^,          ,          ,
          ^	\         ^,
          ^,          ,          ,
          ^\         ^,
          ,          ,           8X  g   Q h\        R4      p^\	        ^ \         RR7      \        ^4      \        ^4      ) .\        W"^,          4      \        W") \         ,           4      ^3.3p\        V4      R\        ^4      \         \        ^4      ,           ,          ,          ^\        ^4      \         \        ^4      ,
          ,          ,          ,           8X  g   Q hR# )$   r   ru   r\   Nrw   r)   )r   r   r   r   r   r   r   )r-   pfdr   s      r&   test_assemble_partfrac_listr      s3   
adQq!tVma1f$qAv-1A56A
Q-C!#&"a!e*q!a%!|*CaQQR
l*RUVXY\]X]U^*^^^^c
Ad1a%$q'47();VAs^VTUWY\]W]M^`a(b'c
dC!#&"d1gq47{.C*Dq$q'STW[\]W^S^J_G`*````r%   c                  B    ! R  R\         4      p \        \        \        \        ,          ,           ,          p^^\        ,           ,          p\        W! V4      ,           4      W ! V4      ,           8X  g   Q h\        W! V4      ,          4      W ! V4      ,          8X  g   Q hR# )c                       ] tR t^tRtRtR# )3test_noncommutative_pseudomultivariate.<locals>.fooFr$   N__name__
__module____qualname____firstlineno__is_commutative__static_attributes__r$   r%   r&   foor          r%   r   Nr   r   r   r   r   er   s      r&   &test_noncommutative_pseudomultivariater      sq    d 	1qs7A	1q5	ASVCF
***3q6?aAh&&&r%   c                       ! R  R\         4      p \        \        \        \        ,          ,           ,          p^^\        ,           ,          p\        W! 4       ,           4      W ! 4       ,           8X  g   Q hR# )c                       ] tR t^tRtRtR# ) test_noncommutative.<locals>.fooFr$   Nr   r$   r%   r&   r   r      r   r%   r   Nr   r   s      r&   test_noncommutativer      sK    d 	1qs7A	1q5	ASUq35y(((r%   c                     \        ^\        ,          \        ^,          ^,           ,          \        ^,
          ^\        ^,          ^,           ,          ,          ,
          ^^\        ^,           ,          ,          ,           ^\        ,          ,
          4      ^\        ,          ^,           \        ^,          ^,           ,          ^,          ^\        ^,           ,          ^,          ,           ^\        ,          ,
          8X  g   Q hR# )r1   N)r   r   r$   r%   r&   test_issue_5798r      s    	!QTAX!a%!QTAX,//!QAY-?!A#EG	
1q1a4!8QAE1,qs23 3 3r%   N)9__doc__sympy.polys.partfracr   r   r   r   sympy.core.exprr   sympy.core.functionr   sympy.core.numbersr   r	   r
   r   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   r   (sympy.functions.elementary.miscellaneousr   sympy.matrices.denser   sympy.polys.polytoolsr   r   sympy.polys.rationaltoolsr   sympy.polys.rootoftoolsr   sympy.testing.pytestr   r   	sympy.abcr   r   r   r   r   r/   r8   r;   rE   rM   rO   rS   rZ   ra   r|   r   r   r   r   r$   r%   r&   <module>r      s     ! & > > $ " - 9 ' 0 . + . # #$BN
$"5&1
H0>.0>a ' ')3r%   