+
    iD                    
   ^ RI Ht ^ RI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 ^ RIHt ^ RIHtHtHt ^ R	IHtHtHtHt ^ R
IHt ^ RIHtHtH t H!t!H"t"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/H0t0H1t1 ^ RI2H3t3 ^ RI4H5t5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ RI;H<t<H=t= ^ RI>H?t? ^ RI@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItI ^ RIJHKtKHLtL ^ RIMHNtN ^ RIOHPtP ^ RIQHRtR ^ RISHTtT ^ RIUHVtV ^ RIWHXtX ^ RIYHZtZH[t[ ^ R I\H]t] ^ R!I^H_t_H`t` ^ R"IaHbtb ^ R#IcHdtd ^ R$IeHftf ^ R%IgHhth ^ R&IiHjtjHktkHltlHmtm ^ R'InHoto ^ R(IpHqtq ^ R)IrHstsHtttHutuHvtvHwtw ^ R*IxHytyHztzH{t{H|t|H}t}H~t~ ^ R+IHt ^ R,IHt ^ R-IHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHt ^ R.IHtHtHtHtHtHtHtHt ^ R/IHt ^ R0IHt ^ R1IHtHtHtHtHtHtHtHtHt ^ R2IHtHt ^ R3IHtHt ^ R4IHtHtHt ^ R5IHt ^ R6IHtHt ^ R7IHt ^ R8IHt ^ R9IHtHtHtHt ^ R:IHtHtHtHtHt ^ R;IHt ^ R<IHtHtHtHtHt ^ R=IHtHtHt ^ R>IHtHtHtHtHtHtHt ^ R?It ! R@ RA]EP                  4      t](! RB4      w  tEt EtEtEtEtEtEtEtEtEt	]! RC4      Et
]'! RD4      Et]'! RE4      Et RRF ltRRG lEtRH EtRI EtRJ EtRK EtRL EtRM EtRN EtRO EtRP EtRQ EtRR EtRS EtRT EtRU EtRV EtRW EtRX EtRY EtRZ Et R[ Et!R\ Et"R] Et#]R^ 4       Et$R_ Et%R` Et&Ra Et'Rb Et(Rc Et)Rd Et*Re Et+Rf Et,Rg Et-Rh Et.Ri Et/Rj Et0Rk Et1Rl Et2Rm Et3Rn Et4Ro Et5Rp Et6Rq Et7Rr Et8Rs Et9Rt Et:Ru Et;Rv Et<Rw Et=Rx Et>Ry Et?Rz Et@R{ EtAR| EtBR} EtCR~ EtDR EtER EtFR EtGR EtHR EtIR EtJR EtKR EtLR EtMR EtNR EtOR EtPR EtQR EtRR EtSR EtTR EtUR EtVR EtWR EtXR EtYR EtZR Et[R Et\R Et]R Et^R Et_R Et`R EtaR EtbR EtcR EtdR EteR EtfR EtgR EthR EtiR EtjR EtkR EtlR EtmR EtnR EtoR EtpR EtqR EtrR EtsR EttR EtuR EtvR EtwR EtxR EtyR EtzR Et{R Et|R Et}R Et~R EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR?# )    )Product)Sum)Add)Basic)DictTuple)
DerivativeFunctionLambdaSubs)Mul)
EulerGammaGoldenRatioCatalan)IRationaloopi)Pow)EqGeGtLeLtNe)S)Symbolsymbols)	conjugate)LambertW)airyaiairyaiprimeairybiairybiprime)	Heaviside)fresnelcfresnels)SingularityFunction)dirichlet_eta)RaySegment)Integral)	And
EquivalentITEImpliesNandNorNotOrXor)Matrixdiag)MatrixSlice)Trace)FF)ZZ)QQ)RR)grlexilex)groebner)RootSumrootof)fps)fourier_series)Limit)O)SeqAdd
SeqFormulaSeqMulSeqPer)Contains)Range)
Complement	FiniteSetIntersectionIntervalUnion)
AssignmentAddAugmentedAssignmentSubAugmentedAssignmentMulAugmentedAssignmentDivAugmentedAssignmentModAugmentedAssignment)UnevaluatedExpr)Tr).AbsChiCiEiKroneckerDelta	PiecewiseShiSiatan2betabinomialcatalanceilingcoseulerexpexpint	factorial
factorial2floorgammahyperlogmeijergsinsqrtsubfactorialtan
uppergammalerchphipolylog
elliptic_k
elliptic_f
elliptic_eelliptic_pi
DiracDeltabell	bernoulli	fibonacci
tribonaccilucas	stieltjesmathieucmathieusmathieusprimemathieucprime)AdjointInverseMatrixSymbol	TransposeKroneckerProductBlockMatrix	OneMatrix
ZeroMatrix)hadamard_power)	mechanics)	TransferFunctionFeedbackTransferFunctionMatrixSeriesParallel
MIMOSeriesMIMOParallelMIMOFeedback
StateSpace)jouledegree)pprintpretty)center_accentis_combiningcenter)ConditionSet)ImageSet
ProductSet)SetExpr)Normal)
CovarianceExpectationProbabilityVariance)ImmutableDenseNDimArrayImmutableSparseNDimArrayMutableDenseNDimArrayMutableSparseNDimArraytensorproduct)TensorProduct)TensorIndexTypetensor_indices
TensorHeadTensorElementtensor_heads)raises_both_exp_powwarns_deprecated_sympy)
CoordSys3DGradientCurl
DivergenceDotCross	LaplacianNc                       ] tR t^VtRtR# )
lowergamma N__name__
__module____qualname____firstlineno____static_attributes__r       e/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/printing/pretty/tests/test_pretty.pyr   r   V   s    r   r   za,b,c,d,x,y,z,k,n,s,pfthetaphic                    \        WRRR7      # )zASCII pretty-printingForderuse_unicode	wrap_linexprettyexprr   s   &&r   r   r   
  s    4%5IIr   c                    \        WRRR7      # )zUnicode pretty-printingTFr   r   r   s   &&r   uprettyr     s    4$%HHr   c                  n   \        R 4      R 8X  g   Q h\        R 4      R 8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q hR# xxxzxxx'xxxzxxx"xxxzxxx"xxx'xxxzxxx
xxxNr   r   r   r   test_pretty_ascii_strr         5?e###5?e###::---9*,,,::---9*,,,::---::---?$666::---r   c                  n   \        R 4      R 8X  g   Q h\        R 4      R 8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q hR# r   r   r   r   r   test_pretty_unicode_strr   !  r   r   c                      \        \        4      R 8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q hR# )   ∞z	alpha^+_1u   α⁺₁rc      βlambdau   λN)r   r   r   r   r   r   test_upretty_greekr   .  s[    B=E!!!F;')Z777F6N$,,,6(#$,,,r   c                      \        \        R 4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q hR# )beta12u   β₁₂Y00u   Y₀₀Y_00zF^+-u   F⁺⁻Nr   r   r   r   r   test_upretty_multiindexr   5  s_    F8$&*444F5M#y000F6N$	111F6N$	111r   c                     \        \        R 4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R	8X  g   Q h\        \        R
4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q hR# )beta_1_2u	   β₁ ₂zbeta^1^2u   β¹ ²zbeta_1^2u   β²₁
beta_10_20u   β₁₀ ₂₀zbeta_ax_gamma^iu   βⁱₐₓ ᵧz	F^1^2_3_4u   F¹ ²₃ ₄z	F_1_2^3^4u   F³ ⁴₁ ₂	F_1_2_3_4u   F₁ ₂ ₃ ₄z	F^1^2^3^4u   F¹ ² ³ ⁴Nr   r   r   r   test_upretty_sub_superr   <  s    F:&(K777F:&(I555F:&(I555F<(*.????F,-/3DDDDF;')_<<<F;')-====F;')-????F;')_<<<r   c                     \        \        R 4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R	8X  g   Q h\        \        R
4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q hR# )F_betau   FᵦF_gammau   FᵧF_rhou   FᵨF_phiu   FᵩF_chiu   FᵪF_au   FₐF_eu   FₑF_iu   FᵢF_ou   FₒF_uu   FᵤF_ru   FᵣF_vu   FᵥF_xu   FₓNr   r   r   r   test_upretty_subs_missing_in_24r   H  s/   F8$&&000F9%'6111F7O%///F7O%///F7O%///F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---r   c                     \        \        R 4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R	8X  g   Q h\        \        R
4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q hR# )F_hu   FₕF_ku   FₖF_lu   FₗF_mu   FₘF_nu   FₙF_pu   FₚF_su   FₛF_tu   FₜNr   r   r   r   test_missing_in_2X_issue_9047r	  Y  s    F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---F5M#v---r   c                     \        \        R 4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R	8X  g   Q h\        \        R
4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q h\        \        R 4      4      R 8X  g   Q h\        \        R!4      4      R!8X  g   Q h\        \        R"4      4      R#8X  g   Q h\        \        R$4      4      R%8X  g   Q h\        \        R&4      4      R'8X  g   Q h\        \        R(4      4      R'8X  g   Q h\        \        R)4      4      R*8X  g   Q h\        \        R+4      4      R,8X  g   Q h\        \        R-4      4      R.8X  g   Q h\        \        R/4      4      R08X  g   Q h\        \        R14      4      R28X  g   Q h\        \        R34      4      R38X  g   Q h\        \        R44      4      R48X  g   Q hR5# )6	Fmathringu   F̊Fddddotu   F⃜Fdddotu   F⃛Fddotu   F̈Fdotu   ḞFchecku   F̌Fbreveu   F̆Facuteu   F́Fgraveu   F̀Ftildeu   F̃Fhatu   F̂Fbaru   F̅Fvecu   F⃗Fprimeu   F′FprmFboldFbmFcalFscrFfrakFnormu   ‖F‖Favgu   ⟨F⟩Fabsz|F|Fmagxvecdotu   x⃗̇xDotVecu   ẋ⃗xHATNormu	   ‖x̂‖xMathring_yCheckPRM__zbreveAbsu   x̊_y̌′__|z̆| alphadothat_nVECDOT__tTildePrimeu   α̇̂_n⃗̇__t̃′x_dotx__dotNr   r   r   r   test_upretty_modifiersr*  d  s   F;')U222F9%'6111F8$&&000F7O%...F6N$---F8$&%///F8$&%///F8$&%///F8$&%///F8$&%///F6N$---F6N$---F6N$...F8$&&000F6N$...F7O%000F5M#u,,,F6N$...F6N$...F7O%000F7O%222F6N$	111F6N$---F6N$---F9%'8333F9%'8333F:&(K777F;<>BUUUUF=>@D[[[[F7O%000F8$&(222r   c                      ^ RI Hp  \        V ! ^^4      4      R8X  g   Q h\        V ! ^4      4      R8X  g   Q h\        V ! ^^4      ! ^^4      4      R8X  g   Q h\        V ! 4       4      R8X  g   Q hR# )r   Cyclez(1 2)z(2)z
(1 3)(4 5)()N) sympy.combinatorics.permutationsr-  r   r,  s    r   test_pretty_Cycler0    si    6%1+')))%(u$$$%1+a#$444%'?d"""r   c                     ^ RI Hp  V ! ^^4      ! ^^4      p\        VRRR7      R8X  g   Q h\        VRRR7      R8X  g   Q h\        VRRR7      R8X  g   Q h\        VRRR7      R8X  g   Q h\        4       ;_uu_ 4        V P                  pRV n        \        VRR7      R8X  g   Q h\        VRR7      R8X  g   Q hW n        R	R	R	4       R	#   + '       g   i     R	# ; i)
r   )PermutationT)perm_cyclicr   z
(1 2)(3 4)Fu   ⎛0 1 2 3 4⎞
⎝0 2 1 4 3⎠z/0 1 2 3 4\
\0 2 1 4 3/r   N)r/  r2  r   r   print_cyclic)r2  p1old_print_cyclics      r   test_pretty_Permutationr8    s    <	Q	1a	 B24T:lJJJ24U;|KKK25d;   25e<   
 	!	!&33#( rt,	 	  ru-	 	  $4  
"	!	!	!s   =AC		C	c                     \        \        ^4      ) ^,          4      R8X  g   Q h\        \        ^4      ) ^,          4      R8X  g   Q h\        p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^\        ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        R9,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^4      R9R	R
7      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        R:,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^^4      ,          p RpRp\        V R	R	R	R7      V8X  g   Q h\        V RR	R	R7      V8X  g   Q h\        \        R;^4      ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR:\        ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^^R	R
7      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,          \        ,           ^,           p RpRpRpRpRpRp\        V 4      W4V39   g   Q h\        V 4      WgV39   g   Q h^\        ,
          p RpRpRpRp\        V 4      W439   g   Q h\        V 4      Wg39   g   Q h^^\        ,          ,
          p RpRpRpRp\        V 4      W439   g   Q h\        V 4      Wg39   g   Q h\        \        ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ) \        ,          p R pR!p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,           \        ,          p R"pR#pR$pR%p\        V 4      W439   g   Q h\        V 4      Wg39   g   Q h^\        ,           \        ,          p R&pR'pR(pR)pR*pR+p\        V 4      W4V39   g   Q h\        V 4      WgV39   g   Q hR;\        ,          \        ^
,           ,          p R,pR-pR.pR/p\        V 4      W439   g   Q h\        V 4      Wg39   g   Q h\        P                  ) ^\        ,          ,
          p R0pR1p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        P                  ^\        ,          ,
          p R2pR3p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        P                  ) ^\        ,          ^,          ,
          p R4pR5p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        P                  ^\        ,          ^,          ,
          p R6pR7p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR8# )<   z-1/2z-13 
----
 22 r   r   z 2
x z1
-
x   1
─
xz -1.0
x    Fevaluatez -1.0
2    y 
--
 2
x    y 
──
 2
x z	 1/3
x   )r   r   root_notationTz 1  
----
 5/2
x   u    1  
────
 5/2
x   z    x
(-2) z 1
3          2
1 + x + x  2        
x  + x + 1z 2        
x  + 1 + x1 - x-x + 11 - 2*x-2*x + 1u	   1 - 2⋅xu
   -2⋅x + 1zx
-
yu   x
─
y-x 
---
 y    -x 
───
 y z2 + x
-----
  y  zx + 2
-----
  y  u   2 + x
─────
  y  u   x + 2
─────
  y  z	y*(1 + x)z	(1 + x)*yz	y*(x + 1)u   y⋅(1 + x)u   (1 + x)⋅yu   y⋅(x + 1)z-5*x  
------
10 + xz-5*x  
------
x + 10u"   -5⋅x  
──────
10 + xu"   -5⋅x  
──────
x + 10z
-3*x - 1/2u   -3⋅x - 1/2z	1/2 - 3*xu   1/2 - 3⋅xz  3*x   1
- --- - -
   2    2u'     3⋅x   1
- ─── - ─
   2    2z1   3*x
- - ---
2    2 u!   1   3⋅x
─ - ───
2    2 Ng      )
r   r   r   r   xr   r   yr   Half)	r   	ascii_str	ucode_strascii_str_1ascii_str_2ascii_str_3ucode_str_1ucode_str_2ucode_str_3s	            r   test_pretty_basicrV    sj   HQK<>#v---HRL=#%   D 
  $<9$$$4=I%%%qDD  
 $<9$$$4=I%%%Q3D   $<9$$$4=I%%% d7D  
 $<9$$$4=I%%% qtTE*D  
 $<9$$$4=I%%%QU7D   $<9$$$4=I%%% hq!nD  
 4Ue'( ( (4TU'( ( ( hr1oD   $<9$$$4=I%%%7D  
 $<9$$$4=I%%% q!e$D  
 $<9$$$4=I%%%qD1HqLD      
 $<KkBBBB4=[{CCCCq5D 
 
 
  $<K55554=[6666qs7D 
 
 
  $<K55554=[6666Q3D   $<9$$$4=I%%%2a4D   $<9$$$4=I%%%E19D     $<K55554=[6666E19D 
 
 
 
 
  $<KkBBBB4=[{CCCC a4R=D     $<K55554=[6666FF7QqS=D 
  $<9$$$4=I%%%66AaC<D 
  $<9$$$4=I%%%FF7QqSU?D   $<9$$$4=I%%%66AaCE>D   $<9$$$4=I%%%r   c                     \         ) \        ,          p R pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\         ) \        ,          \        ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\         ^,          \        ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\         ^,          ) \        ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\         ) \        \        ,          ,          p RpR	p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\
        ) \        ^,          ,          p R
pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \
        ) \        ,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR\        ^,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR\        ^,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        R^%4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )rG  rH  z-x*z 
-----
  y  u   -x⋅z 
─────
  y  z 2
x 
--
y u    2
x 
──
y z  2 
-x  
----
 y  u     2 
-x  
────
 y  z-x 
---
y*zu   -x 
───
y⋅zz-a 
---
 2 
y  u   -a 
───
 2 
y  z -a 
 ---
  b 
y   u    -a 
 ───
  b 
y   z-1 
---
 2 
y  u   -1 
───
 2 
y  z-10 
----
  2 
 b  u   -10 
────
  2 
 b  z-200 
-----
 37  u   -200 
─────
 37  Nii8)rK  rL  r   r   zabr   r   rN  rO  s      r   test_negative_fractionsr]  D  s   2a4D   $<9$$$4=I%%%2a46D   $<9$$$4=I%%%a46D   $<9$$$4=I%%%qD57D   $<9$$$4=I%%%2qs8D   $<9$$$4=I%%%2ad7D   $<9$$$4=I%%%r!t9D   $<9$$$4=I%%%ad7D   $<9$$$4=I%%%q!t8D   $<9$$$4=I%%%D"D   $<9$$$4=I%%%r   c                     \        ^ ^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^ RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^^RR7      p \        V 4      R	8X  g   Q h\        V 4      R
8X  g   Q h\        ^^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^ ^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^ ^ ^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^R1RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        R\        RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^^^\        RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        R1^RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^^^^ \
        \        RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        ^^^^\        ,           ^ \
        \        RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        ^^4      \        ^^4      RR7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        ,           \        ^^4      RR7      p \        V 4      R 8X  g   Q h\        V 4      R!8X  g   Q h\        \        ^^4      \        \
        ,           RR7      p \        V 4      R"8X  g   Q h\        V 4      R#8X  g   Q h\        \        P                  \        \
        ,           RR7      p \        V 4      R$8X  g   Q h\        V 4      R%8X  g   Q h\        \        \
        ,
          \        P                  RR7      p \        V 4      R&8X  g   Q h\        V 4      R'8X  g   Q h\        \        ^^4      \        \
        ,
          \        P                  \        \
        ,           RR7      p \        V 4      R(8X  g   Q h\        V 4      R)8X  g   Q h\        \        \
        ,           \        ^^4      \        P                  \
        \        ,
          RR7      p \        V 4      R*8X  g   Q h\        V 4      R+8X  g   Q h\        \        \
        ,           \        ^^4      \        ^^4      \        ^^4      RR7      p \        V 4      R,8X  g   Q h\        V 4      R-8X  g   Q h\        \        ^^4      \        \
        ,           \        P                  \
        \        ,
          RR7      p \        V 4      R.8X  g   Q h\        V 4      R/8X  g   Q hR0# )2r   Fr<  z0*1u   0⋅1z1*0u   1⋅0z1*1u   1⋅1z1*1*1u	   1⋅1⋅1z1*2u   1⋅2z0 + 1z1*1*2u	   1⋅1⋅2z	0 + 0 + 1z1*-1u   1⋅-1g      ?z1.0*xu   1.0⋅xz	1*1*2*3*xu   1⋅1⋅2⋅3⋅xz-1*1u   -1⋅1z4*3*2*1*0*y*xu   4⋅3⋅2⋅1⋅0⋅y⋅xz4*3*2*(z + 1)*0*y*xu   4⋅3⋅2⋅(z + 1)⋅0⋅y⋅xz2/3*5/7u	   2/3⋅5/7z(x + y)*1/2u   (x + y)⋅1/2zx + y
-----
  2  u   x + y
─────
  2  z	1*(x + y)u   1⋅(x + y)z	(x - y)*1u   (x - y)⋅1z1/2*(x - y)*1*(x + y)u   1/2⋅(x - y)⋅1⋅(x + y)z(x + y)*3/4*1*(y - z)u   (x + y)⋅3/4⋅1⋅(y - z)z(x + y)*1*3/4*5/6u   (x + y)⋅1⋅3/4⋅5/6z3/4*(x + y)*1*(y - z)u   3/4⋅(x + y)⋅1⋅(y - z)NrX  )
r   r   r   r   rK  rL  rY  r   r   Oner   s    r   test_Mulra    s>   q!e$D$<5   4=G###q!e$D$<5   4=G###q!e$D$<5   4=G###q!Q'D$<7"""4=K'''q!e$D$<5   4=G###q!e$D$<7"""4=G###q!Q'D$<7"""4=K'''q!Q'D$<;&&&4=K'''q"u%D$<6!!!4=H$$$sA&D$<7"""4=I%%%q!Q1u-D$<;&&&4=////r1u%D$<6!!!4=H$$$q!Q1aU3D$<?***4=7777q!Q!Q1u5D$<00004=====x1~x1~>D$<9$$$4=K'''q1uhq!nu5D$<=(((4=O+++x1~q1uu5D$<00004=;;;;quua!ee,D$<;&&&4=M)))q1uaeee,D$<;&&&4=M)))x1~q1uaeeQUUCD$<22224=9999q1uhq!naeeQUUCD$<22224=9999q1uhq!nhq!nhq!neTD$<....4=5555x1~q1uaeeQUUCD$<22224=9999r   c                     \        \        ) ^,           ) \        ) ^\        ^4      ,          ,
          ^,           ,          \        ) ^,           \        ) ^,           ,          ,
          4      R8X  g   Q h\	        \        ) ^,           ) \        ) ^\        ^4      ,          ,
          ^,           ,          \        ) ^,           \        ) ^,           ,          ,
          4      R8X  g   Q hR# )   zO         2           /         ___    \
- (5 - y)  + (x - 5)*\-x - 2*\/ 2  + 5/uO            2                          
- (5 - y)  + (x - 5)⋅(-x - 2⋅√2 + 5)N)r   rK  rs   rL  r   r   r   r   test_issue_5524rd  1  s    QBF)aR!DG)^a/0QBFaR!V3DDE   aR!V9qb1T!W9nq01aR!Vqb1f4EEF  r   c                     \        \        ^,          \        ,           ^,           RR7      R8X  g   Q h\        \        ^,          \        ,           ^,           RR7      R8X  g   Q h\        ^\        ,
          RR7      R8X  g   Q h\        ^\        ,
          RR7      R8X  g   Q h\        ^^\        ,          ,
          RR7      R8X  g   Q h\        ^^\        ,          ,
          RR7      R	8X  g   Q h^\        ^,          ,          \        ^,          ,           \        ^,          ,
          \        ^,          ,           p \        V R
R7      R8X  g   Q h\        V RR7      R8X  g   Q h\        V RR7      R8X  g   Q h\        \        ^,          ^,          ,
          \        ^,          ^x,          ,           \        \        ^,          4      ,           pRpRp\        VR
R7      V8X  g   Q h\	        VR
R7      V8X  g   Q h\        VRR7      V8X  g   Q h\	        VRR7      V8X  g   Q h\        VRR7      V8X  g   Q h\	        VRR7      V8X  g   Q hR
# )   lexr   rB  zrev-lexrA  rD  rC  rF  rE  Nz'   4    2    3    2
2*x  - x  + y  + y z' 2    3    2      4
y  + y  - x  + 2*x zS     3    5         
    x    x      / 6\
x - -- + --- + O\x /
    6    120        ue        3    5         
    x    x      ⎛ 6⎞
x - ── + ─── + O⎝x ⎠
    6    120        )r   rK  rL  rF   r   )r   r   rN  rO  s       r   test_pretty_orderingri  ?  s   !Q$(Q,e,  
 !Q$(Q,i0  
 !a%u%111!a%y)W444!ac'':555!ac'+y888	!Q$A1q!t#A!4   
 !5!  
 !9%   q!tAv:1S 1QT7*D   $d#y0004t$	111$e$	1114u%222$i(I5554y)Y666r   c                      \        \        4      \        \        4      u;8X  d	   R 8X  g   Q h Q h\        \        4      R8X  g   Q hR# )r      γN)r   r   strr   r   r   r   test_EulerGammarm  z  s7    *Z@L@@@@@:$&&&r   c                      \        \        4      \        \        4      u;8X  d	   R 8X  g   Q h Q h\        \        4      R8X  g   Q hR# )r   u   φN)r   r   rl  r   r   r   r   test_GoldenRatioro    s8    +#k"2CmCCCCC;4'''r   c                  b    \        \        4      \        \        4      u;8X  d	   R 8X  g   Q h Q hR# )GN)r   r   r   r   r   r   test_Catalanrr    s$    '?gg.5#55555r   c                     \        \        \        4      p R pR p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        ^,           ,          \        ^,          4      p RpRpR	pR
p\        V 4      W439   g   Q h\	        V 4      WV39   g   Q hR# )zx = yzx < yzx > yzx <= yu   x ≤ yzx >= yu   x ≥ yz#  x       2
----- != y 
1 + y      z#  x       2
----- != y 
y + 1      u,     x      2
───── ≠ y 
1 + y     u,     x      2
───── ≠ y 
y + 1     N)
r   rK  rL  r   r   r   r   r   r   r   )r   rN  rO  rP  rQ  rS  rT  s          r   test_pretty_relationalrt    s   a8D 
  $<9$$$4=I%%%a8D 
  $<9$$$4=I%%%a8D 
  $<9$$$4=I%%%a8D 
  $<9$$$4=I%%%a8D 
  $<9$$$4=I%%%aQiAD     $<K55554=[6666r   c                  ~    \        \        \        4      p R pR p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR# )zx := yN)rR   rK  rL  r   r   r\  s      r   test_Assignmentrv    sH    aD 
  $<9$$$4=I%%%r   c                  ^   \        \        \        4      p R pR p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR# )zx += yzx -= yzx *= yzx /= yzx %= yN)	rS   rK  rL  r   r   rT   rU   rV   rW   r\  s      r   test_AugmentedAssignmentrx    s`   !!Q'D 
  $<9$$$4=I%%%!!Q'D 
  $<9$$$4=I%%%!!Q'D 
  $<9$$$4=I%%%!!Q'D 
  $<9$$$4=I%%%!!Q'D 
  $<9$$$4=I%%%r   c                     \         \        R,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\         \	        ^^4      ,          \        \	        R	^4      ,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        4      ^,          \        \        4      ^,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )
rf  r>  r?  z 3/2
y   
----
 5/2
x   u     3/2
y   
────
 5/2
x   z'   3   
sin (x)
-------
   2   
tan (x)u5      3   
sin (x)
───────
   2   
tan (x)NrI  rJ  )rL  rK  r   r   r   rr   ru   r\  s      r   test_pretty_rationalrz  .  s    QU7D   $<9$$$4=I%%%hq!nq(2q/11D   $<9$$$4=I%%%q619SVQYD   $<9$$$4=I%%%r   c            
        ^\         ,          \        \         4      ,           p RpRpRpRpRp\        V 4      W39   g   Q h\        V 4      W4V39   g   Q h\	        \         4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\	        \         \         ^,          ^,           ,          4      p RpR	pR
pRp\        V 4      W39   g   Q h\        V 4      W439   g   Q h\	        ^\
        \	        \         4      ,
          ,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        RRR7      p\        V4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^V,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        V4      4      4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V^,           4      p RpRpRpRp\        V 4      W39   g   Q h\        V 4      W439   g   Q h\        V4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^V,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        RRR7      p\        V4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^V,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        V4      4      4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V^,           4      p RpRpRpRp\        V 4      W39   g   Q h\        V 4      W439   g   Q h^\        V\        4      ,          p R pR!p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^\        ^V,          \        4      ,          p R"pR#p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^\        V^,          \        4      ,          p R$pR%p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      p R&pR&p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      p R&pR&p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      p R'pR'p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      p R'pR'p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V\         4      p R(pR(p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      p R)pR)p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\!        V4      p R*pR*p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\#        V4      p R+pR+p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\%        V4      p R,pR-p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\%        V\         4      p R.pR/p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\'        \         \
        \(        4      p R0pR0p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\+        \         \
        \(        4      p R1pR1p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\-        \         \
        \(        4      p R2pR2p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\/        \         \
        \(        4      p R3pR3p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\1        \         4      p R4pR4p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\3        R54      p	\1        V	! \         ^,           4      4      p R6pR7pR6pR7p\        V 4      W39   g   Q h\        V 4      W439   g   Q hV	! \         4      p R8pR8p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hV	! \         \
        4      p R9pR9p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hV	! \         \
        ^,           ,          \
        4      p R:pR;pR<pR=p\        V 4      W39   g   Q h\        V 4      W439   g   Q hV	! \         \         \         \         \         \         ,          ,          ,          ,          ,          4      p R>pR?p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\5        \         4      ^,          p R@pR@p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\1        \6        \8        \:        ,          ,           4      p RApRBp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\1        \        \6        \8        \:        ,          ,           4      4      p RCpRDp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\1        V	! ^\1        V	! \         4      4      ,           4      4      p REpRFpRGpRHp\        V 4      W39   g   Q h\        V 4      W439   g   Q hV	! \         \
        ^,           ,          \
        4      p R:pR;pR<pR=p\        V 4      W39   g   Q h\        V 4      W439   g   Q h\=        ^\
        \=        \         4      ,
          ,          4      p RIpRJp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\?        ^\
        \?        \         4      ,
          ,          4      p RKpRLp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\A        V4      p RMpRMp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\A        ^^^^^V,          ,           ,          ,           ,          4      p RNpROp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\A        V\         4      p RPpRPp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\A        V\         ^,          4      p RQpRRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hRS# )Tz>Tests for Abs, conjugate, exp, function braces, and factorial.z       x
2*x + e z x      
e  + 2*xu          x
2⋅x + ℯ u    x     
ℯ + 2⋅xu    x      
ℯ  + 2⋅xz|x|u   │x│z#|  x   |
|------|
|     2|
|1 + x |z#|  x   |
|------|
| 2    |
|x  + 1|u?   │  x   │
│──────│
│     2│
│1 + x │u?   │  x   │
│──────│
│ 2    │
│x  + 1│z    1    
---------
|y - |x||u7       1    
─────────
│y - │x││nTintegerzn!z(2*n)!u   (2⋅n)!z((n!)!)!z(1 + n)!z(n + 1)!z!nz!(2*n)u   !(2⋅n)zn!!z(2*n)!!u	   (2⋅n)!!z((n!!)!!)!!z	(1 + n)!!z	(n + 1)!!z  /n\
2*| |
  \k/u     ⎛n⎞
2⋅⎜ ⎟
  ⎝k⎠z  /2*n\
2*|   |
  \ k /u'     ⎛2⋅n⎞
2⋅⎜   ⎟
  ⎝ k ⎠z  / 2\
  |n |
2*|  |
  \k /u-     ⎛ 2⎞
  ⎜n ⎟
2⋅⎜  ⎟
  ⎝k ⎠zC 
 nzB 
 nzB (x)
 n   zF 
 nzL 
 nzT 
 nzstieltjes 
         nu   γ 
 nzstieltjes (x)
         n   u   γ (x)
 n   z
C(x, y, z)z
S(x, y, z)zC'(x, y, z)zS'(x, y, z)z_
xr   z________
f(1 + x)z________
f(x + 1)zf(x)zf(x, y)z# /  x     \
f|-----, y|
 \1 + y   /z# /  x     \
f|-----, y|
 \y + 1   /u9    ⎛  x     ⎞
f⎜─────, y⎟
 ⎝1 + y   ⎠u9    ⎛  x     ⎞
f⎜─────, y⎟
 ⎝y + 1   ⎠zk / / / / / x\\\\\
 | | | | \x /||||
 | | | \x    /|||
 | | \x       /||
 | \x          /|
f\x             /u    ⎛ ⎛ ⎛ ⎛ ⎛ x⎞⎞⎞⎞⎞
 ⎜ ⎜ ⎜ ⎜ ⎝x ⎠⎟⎟⎟⎟
 ⎜ ⎜ ⎜ ⎝x    ⎠⎟⎟⎟
 ⎜ ⎜ ⎝x       ⎠⎟⎟
 ⎜ ⎝x          ⎠⎟
f⎝x             ⎠z   2   
sin (x)z_     _
a - I*bu   _     _
a - ⅈ⋅bz _     _
 a - I*b
e       u     _     _
 a - ⅈ⋅b
ℯ       z#___________
 /    ____\
f\1 + f(x)/z#___________
 /____    \
f\f(x) + 1/u+   ___________
 ⎛    ____⎞
f⎝1 + f(x)⎠u+   ___________
 ⎛____    ⎞
f⎝f(x) + 1⎠z;     /     1      \
floor|------------|
     \y - floor(x)/u;   ⎢   1   ⎥
⎢───────⎥
⎣y - ⌊x⌋⎦zG       /      1       \
ceiling|--------------|
       \y - ceiling(x)/u;   ⎡   1   ⎤
⎢───────⎥
⎢y - ⌈x⌉⎥zE 
 nzWE         
     1    
 ---------
       1  
 1 + -----
         1
     1 + -
         nuu   E         
     1    
 ─────────
       1  
 1 + ─────
         1
     1 + ─
         nzE (x)
 n   z  /x\
E |-|
 n\2/u     ⎛x⎞
E ⎜─⎟
 n⎝2⎠N)!rK  ri   r   r   rZ   rL  r   rk   rt   rl   rd   kre   r~   r   r   r   r   r   r   rY  r   r   r   r   r
   rr   rZ  r[  r   rm   rf   rh   )
r   rP  rQ  rS  rT  rU  rN  rO  r|  r   s
             r   test_pretty_functionsr  j  s    aC#a&LD     
 $<K55554=[{CCCCq6D 
  $<9$$$4=I%%%q!Q$(|D     $<K55554=[6666qAAJ D   $<9$$$4=I%%%sD!AQ<D 
  $<9$$$4=I%%%QqS>D 
  $<9$$$4=I%%%Yy|,-D 
  $<9$$$4=I%%%QUD 
 
 
 
 $<K55554=[6666?D 
  $<9$$$4=I%%%!D 
  $<9$$$4=I%%%sD!Aa=D 
  $<9$$$4=I%%%ac?D 
  $<9$$$4=I%%%jA/0D 
  $<9$$$4=I%%%a!eD 
 
 
 
 $<K55554=[6666Xa^D   $<9$$$4=I%%%Xac1D   $<9$$$4=I%%%XadAD   $<9$$$4=I%%%1:D  
 $<9$$$4=I%%%1:D  
 $<9$$$4=I%%%7D  
 $<9$$$4=I%%%Q<D  
 $<9$$$4=I%%%Q?D  
 $<9$$$4=I%%%Q<D  
 $<9$$$4=I%%%8D  
 $<9$$$4=I%%%a=D  
 $<9$$$4=I%%%Q<D  
 $<9$$$4=I%%%Q?D  
 $<9$$$4=I%%%Aq!DII$<9$$$4=I%%%Aq!DII$<9$$$4=I%%%Aq!DII$<9$$$4=I%%%Aq!DII$<9$$$4=I%%%Q<D  
 $<9$$$4=I%%%AQq1uXD    
 $<K55554=[6666Q4D 
  $<9$$$4=I%%%Q7D 
  $<9$$$4=I%%%QAY?D     $<K55554=[6666Q1aAg:D   $<9$$$4=I%%%q619D  
 $<9$$$4=I%%%Q1WD  
 $<9$$$4=I%%%SQqS\"D   $<9$$$4=I%%%aIadO+,.D     $<K55554=[6666QAY?D     $<K55554=[6666a%(l#$D   $<9$$$4=I%%%1GAJ'(D   $<9$$$4=I%%%8D  
 $<9$$$4=I%%%A1qs7O$%D	 	  $<9$$$4=I%%%A;D  
 $<9$$$4=I%%%AaC=D   $<9$$$4=I%%%r   c                     \        ^4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^\        ^^4      ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^\        ^R4      ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          ^,           4      p RpR	p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^\        ^4      ,           \        ^^4      ,          p R
pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^^\        ,          ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^\
        ,           4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h^^\        ^,          ,           ^\        ,           ,          ,           \        ^^4      ,          ^\        \        ^R4      ,          ,           \        ^\        ^,          ,           4      ,          ,           p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )rf  z  ___
\/ 2    √2z3 ___
\/ 2 u   3 ___
╲╱ 2 i  z1000___
  \/ 2 u   1000___
  ╲╱ 2 z#   ________
  /  2     
\/  x  + 1 u)      ________
  ╱  2     
╲╱  x  + 1 z,   ___________
3 /       ___ 
\/  1 + \/ 5  u   3 ________
╲╱ 1 + √5 zx ___
\/ 2 u   x ___
╲╱ 2 z  ________
\/ 2 + pi u     _______
╲╱ 2 + π z     ____________              
    /      2        1000___    
   /      x  + 1      \/ x  + 1
4 /   2 + ------  + -----------
\/        x + 2        ________
                      /  2     
                    \/  x  + 3 u       ____________              
    ╱      2        1000___    
   ╱      x  + 1      ╲╱ x  + 1
4 ╱   2 + ──────  + ───────────
╲╱        x + 2        ________
                      ╱  2     
                    ╲╱  x  + 3 N)rs   r   r   r   rK  r   r\  s      r   test_pretty_sqrtr  h  s   7D   $<9$$$4=I%%%hq!nD  
 $<9$$$4=I%%%hq$D  
 $<9$$$4=I%%%1q>D   $<9$$$4=I%%%QK(1a.(D  
 $<9$$$4=I%%%qs8D  
 $<9$$$4=I%%%B<D  
 $<9$$$4=I%%%	AqD1q5 $QN+./!Xa5F2F.FQQRTUQUX-VWD   $<9$$$4=I%%%r   c                  x    \        ^4      p RpRp\        V RRR7      V8X  g   Q h\        V RRR7      V8X  g   Q hR# )rf  u     ___
╲╱ 2 r  TF)r   use_unicode_sqrt_charN)rs   r   )r   
ucode_str1
ucode_str2s      r   test_pretty_sqrt_char_knobr    sa    7D   4T).03=> > >4T)-/2<= = =r   c                  V    \        \        R 4      4      p Rp\        V 4      V8X  g   Q hR# )C1u     ____
╲╱ C₁ N)rs   r   r   )r   rO  s     r   (test_pretty_sqrt_longsymbol_no_sqrt_charr    s.    tD 
 4=I%%%r   c                      \        R 4      w  r\        W4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )zx, yz	d   
 x,yu
   δ   
 x,yN)r   r^   r   r   rK  rL  r   rN  rO  s        r   test_pretty_KroneckerDeltar   	  sQ    6?DA!D  
 $<9$$$4=I%%%r   c                  H   \        R 4      w  rr#\        R\        R7      p\        V! V ^,          ^,          4      W^,          V34      pRpRp\        V! V ^,          ^,          4      W^,          V3V^V34      pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q hR# )zn m k lr   clsu       l           
─┬──────┬─      
 │      │   ⎛ 2⎞
 │      │   ⎜n ⎟
 │      │  f⎜──⎟
 │      │   ⎝9 ⎠
 │      │       
       2        
  n = k         z    l           
__________      
 |      |   / 2\
 |      |   |n |
 |      |  f|--|
 |      |   \9 /
 |      |       
       2        
  n = k         u_      m          l           
─┬──────┬─ ─┬──────┬─      
 │      │   │      │   ⎛ 2⎞
 │      │   │      │   ⎜n ⎟
 │      │   │      │  f⎜──⎟
 │      │   │      │   ⎝9 ⎠
 │      │   │      │       
  l = 1           2        
             n = k         z    m          l           
__________ __________      
 |      |   |      |   / 2\
 |      |   |      |   |n |
 |      |   |      |  f|--|
 |      |   |      |   \9 /
 |      |   |      |       
  l = 1           2        
             n = k         N)r   r
   r   r   r   )r|  mr  lr   r   unicode_strrN  s           r   test_pretty_productr  	  s    #JA!"A1acAX;qD!-D	 	  1acAX;qD!q!Qi8D	 	  $<9$$$4=K'''r   c                     \        \        \        4      p \        V 4      R 8X  g   Q h\        V 4      R8X  g   Q h\        \        \        ^,           4      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \        ^,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        ^,          4      ^,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        3\        4      p RpR	p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        3\        ^,          4      p R
pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        33\        ^,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )zx -> xu   x ↦ xz
x -> x + 1u   x ↦ x + 1z      2
x -> x u        2
x ↦ x z          2
/      2\ 
\x -> x / u'           2
⎛     2⎞ 
⎝x ↦ x ⎠ z(x, y) -> xu   (x, y) ↦ xz           2
(x, y) -> x u             2
(x, y) ↦ x z              2
((x, y),) -> x u                2
((x, y),) ↦ x N)r   rL  r   r   rK  r\  s      r   test_pretty_Lambdar  J	  s   !Q<D$<8###4=I%%%!QqS>D$<<'''4=M)))!QT?D  
 $<9$$$4=I%%%!QT?AD   $<9$$$4=I%%%1a&!DII$<9$$$4=I%%%1a&!Q$D  
 $<9$$$4=I%%%Aq6)QT"D  
 $<9$$$4=I%%%r   c                  \   \        \        ^,
          \        ^,           \        4      p \        V 4      R8X  g   Q h\        ^\        ,          ^,           ^\        ,
          \        4      p\        V4      R8X  g   Q h\        \        \        ^,           \        4      p\        V4      R8X  g   Q hR# )r:  u   s - 1
─────
s + 1u'   2⋅s + 1
───────
 3 - p u     p  
─────
p + 1N)r   sr   p)tf1tf2tf3s      r   test_pretty_TransferFunctionr  	  s}    
1q5!a%
+C3<::::
1Q37AE1
-C3<FFFF
1a!eQ
'C3<::::r   c            
         \        \        \        ,           \        ^\        ,          ,
          \        4      p \        \        \        ,
          \        \        ,           \        4      p\        \        ^,          \        ,           \        \        ,
          \        4      p\        ^^\        4      p\        W.W#..4      p\        V.V) ..4      p\        W) V) .W#) V..4      p\        W.W#) .V) V ) ..4      p\        V) V ) .W2) .W..4      pRp	Rp
RpRpRpRp\	        \        W4      4      V	8X  g   Q h\	        \        V) V ) 4      4      V
8X  g   Q h\	        \        W \        V ) V4      4      4      V8X  g   Q h\	        \        \        W4      \        W4      4      4      V8X  g   Q h\	        \        WT4      4      V8X  g   Q h\	        \        \        Wx) 4      Wd4      4      V8X  g   Q hR# )rf  u             ⎛ 2    ⎞
⎛ x + y ⎞ ⎜x  + y⎟
⎜───────⎟⋅⎜──────⎟
⎝x - 2⋅y⎠ ⎝-x + y⎠un   ⎛-x + y⎞ ⎛-x - y ⎞
⎜──────⎟⋅⎜───────⎟
⎝x + y ⎠ ⎝x - 2⋅y⎠u   ⎛ 2    ⎞                            
⎜x  + y⎟ ⎛ x + y ⎞ ⎛-x - y    x - y⎞
⎜──────⎟⋅⎜───────⎟⋅⎜─────── + ─────⎟
⎝-x + y⎠ ⎝x - 2⋅y⎠ ⎝x - 2⋅y   x + y⎠u                     ⎛         2    ⎞
⎛ x + y    x - y⎞ ⎜x - y   x  + y⎟
⎜─────── + ─────⎟⋅⎜───── + ──────⎟
⎝x - 2⋅y   x + y⎠ ⎝x + y   -x + y⎠u]  ⎡ x + y   x - y⎤  ⎡ 2    ⎤ 
⎢───────  ─────⎥  ⎢x  + y⎥ 
⎢x - 2⋅y  x + y⎥  ⎢──────⎥ 
⎢              ⎥  ⎢-x + y⎥ 
⎢ 2            ⎥ ⋅⎢      ⎥ 
⎢x  + y     2  ⎥  ⎢ -2   ⎥ 
⎢──────     ─  ⎥  ⎢ ───  ⎥ 
⎣-x + y     3  ⎦τ ⎣  3   ⎦τu                                                 ⎛⎡ x + y    x - y ⎤    ⎡ x - y    x + y ⎤ ⎞
                                               ⎜⎢───────   ───── ⎥    ⎢ ─────   ───────⎥ ⎟
⎡ x + y   x - y⎤  ⎡                    2    ⎤  ⎜⎢x - 2⋅y   x + y ⎥    ⎢ x + y   x - 2⋅y⎥ ⎟
⎢───────  ─────⎥  ⎢ x + y   -x + y  - x  - y⎥  ⎜⎢                ⎥    ⎢                ⎥ ⎟
⎢x - 2⋅y  x + y⎥  ⎢───────  ──────  ────────⎥  ⎜⎢ 2              ⎥    ⎢          2     ⎥ ⎟
⎢              ⎥  ⎢x - 2⋅y  x + y    -x + y ⎥  ⎜⎢x  + y     -2   ⎥    ⎢  -2     x  + y ⎥ ⎟
⎢ 2            ⎥ ⋅⎢                         ⎥ ⋅⎜⎢──────     ───  ⎥  + ⎢  ───    ────── ⎥ ⎟
⎢x  + y     2  ⎥  ⎢ 2                       ⎥  ⎜⎢-x + y      3   ⎥    ⎢   3     -x + y ⎥ ⎟
⎢──────     ─  ⎥  ⎢x  + y    -2      x - y  ⎥  ⎜⎢                ⎥    ⎢                ⎥ ⎟
⎣-x + y     3  ⎦τ ⎢──────    ───     ─────  ⎥  ⎜⎢-x + y   -x - y ⎥    ⎢-x - y   -x + y ⎥ ⎟
                  ⎣-x + y     3      x + y  ⎦τ ⎜⎢──────   ───────⎥    ⎢───────  ────── ⎥ ⎟
                                               ⎝⎣x + y    x - 2⋅y⎦τ   ⎣x - 2⋅y  x + y  ⎦τ⎠N)	r   rK  rL  r   r   r   r   r   r   )r  r  r  tf4tfm1tfm2tfm3tfm4tfm5	expected1	expected2	expected3	expected4	expected5	expected6s                  r   test_pretty_Seriesr  	  s   
1q5!ac'1
-C
1q5!a%
+C
1a4!8QUA
.C
1a
#C!C:z":;D!C5C4&/2D!Ct#4sD#6F"GHD!C:T{cTC4L"IJD!SD3$<#tsj"IJD    	    6##$	11163$%&)3336#HcT3$789YFFF6(3,hs.@ABiOOO:d)*i777:l47DERRRr   c            
         \        \        \        ,           \        ^\        ,          ,
          \        4      p \        \        \        ,
          \        \        ,           \        4      p\        \        ^,          \        ,           \        \        ,
          \        4      p\        \        ^,          \        ,
          \        ^,          \        ,           \        4      p\        W.W#) .V) V ) ..4      p\        V) V ) .W2) .W..4      p\        V ) V.V) V.W..4      p\        V ) V) .V) V) ..4      pRpRp	Rp
RpRpRp\	        \        W4      4      V8X  g   Q h\	        \        V) V ) 4      4      V	8X  g   Q h\	        \        W \        V ) V4      4      4      V
8X  g   Q h\	        \        \        W4      \        W4      4      4      V8X  g   Q h\	        \        V) V) V4      4      V8X  g   Q h\	        \        \        Wu) 4      V4      4      V8X  g   Q hR# )rf  uI    x + y    x - y
─────── + ─────
x - 2⋅y   x + yuN   -x + y   -x - y 
────── + ───────
x + y    x - 2⋅yu    2                                  
x  + y    x + y    ⎛-x - y ⎞ ⎛x - y⎞
────── + ─────── + ⎜───────⎟⋅⎜─────⎟
-x + y   x - 2⋅y   ⎝x - 2⋅y⎠ ⎝x + y⎠u                               ⎛ 2    ⎞
⎛ x + y ⎞ ⎛x - y⎞   ⎛x - y⎞ ⎜x  + y⎟
⎜───────⎟⋅⎜─────⎟ + ⎜─────⎟⋅⎜──────⎟
⎝x - 2⋅y⎠ ⎝x + y⎠   ⎝x + y⎠ ⎝-x + y⎠u  ⎡ x + y   -x + y ⎤    ⎡ x - y    x + y ⎤    ⎡ x + y    x - y ⎤ 
⎢───────  ────── ⎥    ⎢ ─────   ───────⎥    ⎢───────   ───── ⎥ 
⎢x - 2⋅y  x + y  ⎥    ⎢ x + y   x - 2⋅y⎥    ⎢x - 2⋅y   x + y ⎥ 
⎢                ⎥    ⎢                ⎥    ⎢                ⎥ 
⎢ 2            2 ⎥    ⎢     2    2     ⎥    ⎢ 2            2 ⎥ 
⎢x  + y   x - y  ⎥    ⎢x - y    x  + y ⎥    ⎢x  + y   x - y  ⎥ 
⎢──────   ────── ⎥  + ⎢──────   ────── ⎥  + ⎢──────   ────── ⎥ 
⎢-x + y    3     ⎥    ⎢ 3       -x + y ⎥    ⎢-x + y    3     ⎥ 
⎢         x  + x ⎥    ⎢x  + x          ⎥    ⎢         x  + x ⎥ 
⎢                ⎥    ⎢                ⎥    ⎢                ⎥ 
⎢-x + y   -x - y ⎥    ⎢-x - y   -x + y ⎥    ⎢-x + y   -x - y ⎥ 
⎢──────   ───────⎥    ⎢───────  ────── ⎥    ⎢──────   ───────⎥ 
⎣x + y    x - 2⋅y⎦τ   ⎣x - 2⋅y  x + y  ⎦τ   ⎣x + y    x - 2⋅y⎦τu  ⎡ x - y    x + y ⎤                        ⎡-x + y   -x - y  ⎤ 
⎢ ─────   ───────⎥                        ⎢──────   ─────── ⎥ 
⎢ x + y   x - 2⋅y⎥  ⎡-x - y    -x + y⎤    ⎢x + y    x - 2⋅y ⎥ 
⎢                ⎥  ⎢───────   ──────⎥    ⎢                 ⎥ 
⎢     2    2     ⎥  ⎢x - 2⋅y   x + y ⎥    ⎢      2     2    ⎥ 
⎢x - y    x  + y ⎥  ⎢                ⎥    ⎢-x + y   - x  - y⎥ 
⎢──────   ────── ⎥ ⋅⎢   2           2⎥  + ⎢───────  ────────⎥ 
⎢ 3       -x + y ⎥  ⎢- x  - y  x - y ⎥    ⎢ 3        -x + y ⎥ 
⎢x  + x          ⎥  ⎢────────  ──────⎥    ⎢x  + x           ⎥ 
⎢                ⎥  ⎢ -x + y    3    ⎥    ⎢                 ⎥ 
⎢-x - y   -x + y ⎥  ⎣          x  + x⎦τ   ⎢ x + y    x - y  ⎥ 
⎢───────  ────── ⎥                        ⎢───────   ─────  ⎥ 
⎣x - 2⋅y  x + y  ⎦τ                       ⎣x - 2⋅y   x + y  ⎦τN)	r   rK  rL  r   r   r   r   r   r   )r  r  r  r  r  r  r  r  r  r  r  r  r  r  s                 r   test_pretty_Parallelr  	  s   
1q5!ac'1
-C
1q5!a%
+C
1a4!8QUA
.C
1a4!8QTAXq
1C!C:T{cTC4L"IJD!SD3$<#tsj"IJD!SD#;#scZ"HID!SD3$<3$">?D     "   8C%&)3338SD3$'(I5558CfcT3&789YFFF8F3,fS.>?@IMMM<ud34	AAA<
4 7>?9LLLr   c                  (   \        ^^\        4      p \        \        \        ,           \        ^\        ,          ,
          \        4      p\        \        \        ,
          \        \        ,           \        4      p\        \        ^,          ^\        ,          ,
          ^,           \        ^,           \        4      p\        \        ^\        ^,          ,          ,
          \        \        ,           \        4      p\        ^\        ,
          \        \        ,
          \        4      p\        ^^\        4      pRpRpRp	Rp
RpRpRpRpR	pR
p\        \	        W4      4      V8X  g   Q h\        \	        WV,          V,          4      4      V8X  g   Q h\        \	        WV,          V,          4      4      V	8X  g   Q h\        \	        W,          V 4      4      V
8X  g   Q h\        \	        W,          V4      4      V8X  g   Q h\        \	        W5,          W!,          4      4      V8X  g   Q h\        \	        WF4      4      V8X  g   Q h\        \	        WP4      4      V8X  g   Q h\        \	        W,          V^4      4      V8X  g   Q h\        \	        WP^4      4      V8X  g   Q hR# )r:  u        ⎛1⎞     
     ⎜─⎟     
     ⎝1⎠     
─────────────
1   ⎛ x + y ⎞
─ + ⎜───────⎟
1   ⎝x - 2⋅y⎠u                  ⎛1⎞                 
                ⎜─⎟                 
                ⎝1⎠                 
────────────────────────────────────
                      ⎛ 2          ⎞
1   ⎛x - y⎞ ⎛ x + y ⎞ ⎜y  - 2⋅y + 1⎟
─ + ⎜─────⎟⋅⎜───────⎟⋅⎜────────────⎟
1   ⎝x + y⎠ ⎝x - 2⋅y⎠ ⎝   y + 5    ⎠uU                   ⎛ x + y ⎞                  
                 ⎜───────⎟                  
                 ⎝x - 2⋅y⎠                  
────────────────────────────────────────────
                      ⎛ 2          ⎞        
1   ⎛ x + y ⎞ ⎛x - y⎞ ⎜y  - 2⋅y + 1⎟ ⎛1 - x⎞
─ + ⎜───────⎟⋅⎜─────⎟⋅⎜────────────⎟⋅⎜─────⎟
1   ⎝x - 2⋅y⎠ ⎝x + y⎠ ⎝   y + 5    ⎠ ⎝x - y⎠u-    ⎛ x + y ⎞ ⎛x - y⎞  
  ⎜───────⎟⋅⎜─────⎟  
  ⎝x - 2⋅y⎠ ⎝x + y⎠  
─────────────────────
1   ⎛ x + y ⎞ ⎛x - y⎞
─ + ⎜───────⎟⋅⎜─────⎟
1   ⎝x - 2⋅y⎠ ⎝x + y⎠u        ⎛ x + y ⎞ ⎛x - y⎞      
      ⎜───────⎟⋅⎜─────⎟      
      ⎝x - 2⋅y⎠ ⎝x + y⎠      
─────────────────────────────
1   ⎛ x + y ⎞ ⎛x - y⎞ ⎛1 - x⎞
─ + ⎜───────⎟⋅⎜─────⎟⋅⎜─────⎟
1   ⎝x - 2⋅y⎠ ⎝x + y⎠ ⎝x - y⎠u             ⎛ 2          ⎞                   
           ⎜y  - 2⋅y + 1⎟ ⎛1 - x⎞           
           ⎜────────────⎟⋅⎜─────⎟           
           ⎝   y + 5    ⎠ ⎝x - y⎠           
────────────────────────────────────────────
    ⎛ 2          ⎞                          
1   ⎜y  - 2⋅y + 1⎟ ⎛1 - x⎞ ⎛x - y⎞ ⎛ x + y ⎞
─ + ⎜────────────⎟⋅⎜─────⎟⋅⎜─────⎟⋅⎜───────⎟
1   ⎝   y + 5    ⎠ ⎝x - y⎠ ⎝x + y⎠ ⎝x - 2⋅y⎠u$      ⎛       3⎞    
    ⎜x - 2⋅y ⎟    
    ⎜────────⎟    
    ⎝ x + y  ⎠    
──────────────────
    ⎛       3⎞    
1   ⎜x - 2⋅y ⎟ ⎛2⎞
─ + ⎜────────⎟⋅⎜─⎟
1   ⎝ x + y  ⎠ ⎝2⎠u     ⎛1 - x⎞  
  ⎜─────⎟  
  ⎝x - y⎠  
───────────
1   ⎛1 - x⎞
─ + ⎜─────⎟
1   ⎝x - y⎠u        ⎛ x + y ⎞ ⎛x - y⎞      
      ⎜───────⎟⋅⎜─────⎟      
      ⎝x - 2⋅y⎠ ⎝x + y⎠      
─────────────────────────────
1   ⎛ x + y ⎞ ⎛x - y⎞ ⎛1 - x⎞
─ - ⎜───────⎟⋅⎜─────⎟⋅⎜─────⎟
1   ⎝x - 2⋅y⎠ ⎝x + y⎠ ⎝x - y⎠u     ⎛1 - x⎞  
  ⎜─────⎟  
  ⎝x - y⎠  
───────────
1   ⎛1 - x⎞
─ - ⎜─────⎟
1   ⎝x - y⎠N)r   rL  rK  r   r   )tfr  r  r  r  tf5tf6r  r  r  r  r  r  	expected7	expected8	expected9
expected10s                    r   test_pretty_Feedbackr  6
  s    	!Q	"B
1q5!ac'1
-C
1q5!a%
+C
1a4!A#:>1q5!
4C
1qAv:q1ua
0C
1q5!a%
+C
1a
#C 	 	   
 
     8B$%2228BC,-:::8CS-.);;;8CGR()Y6668CGS)*i7778CGSW-.);;;8C%&)3338C$%2228CGS!,-:::8CQ'(J666r   c                     \        \        \        ,           \        ^\        ,          ,
          \        4      p \        \        \        ,
          \        \        ,           \        4      p\        W.W..4      p\        W.W..4      p\        W .W..4      pRpRp\	        \        W#^4      4      V8X  g   Q h\	        \        W#,          V4      4      V8X  g   Q hR# )rf  u  ⎛    ⎡ x + y    x - y ⎤  ⎡ x - y    x + y ⎤ ⎞-1   ⎡ x + y    x - y ⎤ 
⎜    ⎢───────   ───── ⎥  ⎢ ─────   ───────⎥ ⎟     ⎢───────   ───── ⎥ 
⎜    ⎢x - 2⋅y   x + y ⎥  ⎢ x + y   x - 2⋅y⎥ ⎟     ⎢x - 2⋅y   x + y ⎥ 
⎜I - ⎢                ⎥ ⋅⎢                ⎥ ⎟   ⋅ ⎢                ⎥ 
⎜    ⎢ x - y    x + y ⎥  ⎢ x + y    x - y ⎥ ⎟     ⎢ x - y    x + y ⎥ 
⎜    ⎢ ─────   ───────⎥  ⎢───────   ───── ⎥ ⎟     ⎢ ─────   ───────⎥ 
⎝    ⎣ x + y   x - 2⋅y⎦τ ⎣x - 2⋅y   x + y ⎦τ⎠     ⎣ x + y   x - 2⋅y⎦τu  ⎛    ⎡ x + y    x - y ⎤  ⎡ x - y    x + y ⎤  ⎡ x + y    x + y ⎤ ⎞-1   ⎡ x + y    x - y ⎤  ⎡ x - y    x + y ⎤ 
⎜    ⎢───────   ───── ⎥  ⎢ ─────   ───────⎥  ⎢───────  ───────⎥ ⎟     ⎢───────   ───── ⎥  ⎢ ─────   ───────⎥ 
⎜    ⎢x - 2⋅y   x + y ⎥  ⎢ x + y   x - 2⋅y⎥  ⎢x - 2⋅y  x - 2⋅y⎥ ⎟     ⎢x - 2⋅y   x + y ⎥  ⎢ x + y   x - 2⋅y⎥ 
⎜I + ⎢                ⎥ ⋅⎢                ⎥ ⋅⎢                ⎥ ⎟   ⋅ ⎢                ⎥ ⋅⎢                ⎥ 
⎜    ⎢ x - y    x + y ⎥  ⎢ x + y    x - y ⎥  ⎢ x - y    x - y ⎥ ⎟     ⎢ x - y    x + y ⎥  ⎢ x + y    x - y ⎥ 
⎜    ⎢ ─────   ───────⎥  ⎢───────   ───── ⎥  ⎢ ─────    ───── ⎥ ⎟     ⎢ ─────   ───────⎥  ⎢───────   ───── ⎥ 
⎝    ⎣ x + y   x - 2⋅y⎦τ ⎣x - 2⋅y   x + y ⎦τ ⎣ x + y    x + y ⎦τ⎠     ⎣ x + y   x - 2⋅y⎦τ ⎣x - 2⋅y   x + y ⎦τN)r   rK  rL  r   r   r   )r  r  tfm_1tfm_2tfm_3r  r  s          r   test_pretty_MIMOFeedbackr  
  s    
1q5!ac'1
-C
1q5!a%
+C"SJ
#;<E"SJ
#;<E"SJ
#;<E   <a01  <U34  r   c            	         \        \        \        ,           \        ^\        ,          ,
          \        4      p \        \        \        ,
          \        \        ,           \        4      p\        \        ^,          ^\        ,          ,
          ^,           \        ^,           \        4      p\        \        \        ^,          \        ,           ^,           \        4      p\        ^\        ,
          \        \        ,
          \        4      p\        ^^\        4      pRpRpRpRp	Rp
\        \	        V .V..4      4      V8X  g   Q h\        \	        V .V.V) ..4      4      V8X  g   Q h\        \	        W.W#.WE..4      4      V8X  g   Q h\        \	        WV.V) V) V) ..4      4      V	8X  g   Q h\        \	        \        W4      W.\        WT4      W) ..4      4      V
8X  g   Q hR# )rf  u   ⎡ x + y ⎤ 
⎢───────⎥ 
⎢x - 2⋅y⎥ 
⎢       ⎥ 
⎢ x - y ⎥ 
⎢ ───── ⎥ 
⎣ x + y ⎦τu@  ⎡    x + y     ⎤ 
⎢   ───────    ⎥ 
⎢   x - 2⋅y    ⎥ 
⎢              ⎥ 
⎢    x - y     ⎥ 
⎢    ─────     ⎥ 
⎢    x + y     ⎥ 
⎢              ⎥ 
⎢   2          ⎥ 
⎢- y  + 2⋅y - 1⎥ 
⎢──────────────⎥ 
⎣    y + 5     ⎦τu  ⎡   x + y        x - y   ⎤ 
⎢  ───────       ─────   ⎥ 
⎢  x - 2⋅y       x + y   ⎥ 
⎢                        ⎥ 
⎢ 2                      ⎥ 
⎢y  - 2⋅y + 1      y     ⎥ 
⎢────────────  ──────────⎥ 
⎢   y + 5       2        ⎥ 
⎢              x  + x + 1⎥ 
⎢                        ⎥ 
⎢   1 - x          2     ⎥ 
⎢   ─────          ─     ⎥ 
⎣   x - y          2     ⎦τu  ⎡    x - y        x + y       y     ⎤ 
⎢    ─────       ───────  ──────────⎥ 
⎢    x + y       x - 2⋅y   2        ⎥ 
⎢                         x  + x + 1⎥ 
⎢                                   ⎥ 
⎢   2                               ⎥ 
⎢- y  + 2⋅y - 1   x - 1      -2     ⎥ 
⎢──────────────   ─────      ───    ⎥ 
⎣    y + 5        x - y       2     ⎦τu  ⎡ x + y  x - y   x + y       y     ⎤ 
⎢───────⋅─────  ───────  ──────────⎥ 
⎢x - 2⋅y x + y  x - 2⋅y   2        ⎥ 
⎢                        x  + x + 1⎥ 
⎢                                  ⎥ 
⎢  1 - x   2     x + y      -2     ⎥ 
⎢  ───── + ─    ───────     ───    ⎥ 
⎣  x - y   2    x - 2⋅y      2     ⎦τN)r   rK  rL  r   r   r   r   )r  r  r  r  r  r  r  r  r  r  r  s              r   "test_pretty_TransferFunctionMatrixr  
  s   
1q5!ac'1
-C
1q5!a%
+C
1a4!A#:>1q5!
4C
1adQhlA
.C
1q5!a%
+C
1a
#C    "
 	  )C53%.9:iGGG)C53%3$*@ABiOOO)C:zC:*NOPT]]]])Cc?cTC4#<N*OPQU^^^^)F3,<c+G(SVJ\^acgIh*ijk  r   c            
      &   \        \        \        .4      \        \        .4      \        \        .4      \        \
        .4      4      p \        ^ ^.^^ ..4      p\        ^^ .4      p\        ^ ^..4      p\        ^ .4      p\        WW44      p\        \        RR.^^ ..4      \        R^ .^ ^..4      \        ^ ^.^ ^..4      \        ^^.^^..4      4      pRpRpRp	\        V 4      V8X  g   Q h\        V4      V8X  g   Q h\        V4      V	8X  g   Q hR# )r         ?u,   ⎡[a]  [b]⎤
⎢        ⎥
⎣[c]  [d]⎦uq   ⎡⎡0  1⎤  ⎡1⎤⎤
⎢⎢    ⎥  ⎢ ⎥⎥
⎢⎣1  0⎦  ⎣0⎦⎥
⎢           ⎥
⎣[0  1]  [0]⎦u   ⎡⎡-1.5  -2⎤  ⎡0.5  0⎤⎤
⎢⎢        ⎥  ⎢      ⎥⎥
⎢⎣ 1    0 ⎦  ⎣ 0   1⎦⎥
⎢                    ⎥
⎢  ⎡0  1⎤     ⎡2  2⎤ ⎥
⎢  ⎢    ⎥     ⎢    ⎥ ⎥
⎣  ⎣0  2⎦     ⎣1  1⎦ ⎦Ng      rI  )r   r6   rZ  r[  cdr   )
ss1ABCDss2ss3r  r  r  s
             r   test_pretty_StateSpacer  '  s(   
VQC[&!+vqc{FA3K
HCAA A1vAAxAsA
Q1
 C
VdBZ!Q01S!Hq!f-.QFQF+,QFQF+,.C    3<9$$$3<9$$$3<9$$$r   c                  b   \        ^4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^\        ,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          \        ^,          ,           4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^\        \
        34      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^\        ,          \        \
        34      p RpR	p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          \        ^,          ,           \        \
        3\        \
        34      p R
pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )r:  zO(1)z /1\
O|-|
 \x/u    ⎛1⎞
O⎜─⎟
 ⎝x⎠z9 / 2    2                  \
O\x  + y ; (x, y) -> (0, 0)/uA    ⎛ 2    2                 ⎞
O⎝x  + y ; (x, y) → (0, 0)⎠zO(1; x -> oo)u   O(1; x → ∞)z) /1         \
O|-; x -> oo|
 \x         /u5    ⎛1       ⎞
O⎜─; x → ∞⎟
 ⎝x       ⎠z= / 2    2                    \
O\x  + y ; (x, y) -> (oo, oo)/uE    ⎛ 2    2                 ⎞
O⎝x  + y ; (x, y) → (∞, ∞)⎠N)rF   r   r   rK  rL  r   r\  s      r   test_pretty_orderr  P  s   Q4D 
  $<9$$$4=I%%%QqS6D   $<9$$$4=I%%%QTAqD[>D  
 $<9$$$4=I%%%QB=D 
  $<9$$$4=I%%%QqS1b'?D   $<9$$$4=I%%%QTAqD[1b'Ar7+D  
 $<9$$$4=I%%%r   c                     \        \        \        4      \        R R7      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      \        R R7      \        ,           p RpRpRpRp\        V 4      W439   g   Q h\	        V 4      WV39   g   Q h\        \        \        \
        ,           4      \        ,           \        4      p RpR	pR
pRp\        V 4      W439   g   Q h\	        V 4      WV39   g   Q \	        V 4      4       h\        \        \        4      \        ^,          ,           \        \
        4      p RpRpRpRpRpRp\        V 4      W4V39   g   Q h\	        V 4      WVV39   g   Q h\        ^\        ,          \
        ,          \
        \        4      \        ^,          ,           p RpRpRpRpRpRp\        V 4      W4V39   g   Q h\	        V 4      WVV39   g   Q h\        ^\        ,          \
        ,          \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        ^\        ,          \
        ,          \        ^4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        ^\        ,          \
        ,          \        \        \
        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        R4      p	\        R4      p
V
! V	4      P                  V	4      p R pR!p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      \        \        34      p R"pR#p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR$# )%Fr<  z d         
--(log(x))
dx        u$   d         
──(log(x))
dx        z,    d         
x + --(log(x))
    dx        z,d             
--(log(x)) + x
dx            u0       d         
x + ──(log(x))
    dx        u0   d             
──(log(x)) + x
dx            z8d                 
--(log(x + y) + x)
dx                z8d                 
--(x + log(x + y))
dx                u@   ∂                 
──(log(x + y) + x)
∂x                u@   ∂                 
──(x + log(x + y))
∂x                zK   2              
  d  /          2\
-----\log(x) + x /
dy dx             zK   2              
  d  / 2         \
-----\x  + log(x)/
dy dx             zK  2               
 d   / 2         \
-----\x  + log(x)/
dy dx             u]      2              
  d  ⎛          2⎞
─────⎝log(x) + x ⎠
dy dx             u]      2              
  d  ⎛ 2         ⎞
─────⎝x  + log(x)⎠
dy dx             u]     2               
 d   ⎛ 2         ⎞
─────⎝x  + log(x)⎠
dy dx             zG   2             
  d             2
-----(2*x*y) + x 
dx dy            zG        2        
 2     d         
x  + -----(2*x*y)
     dx dy       zG       2         
 2    d          
x  + -----(2*x*y)
     dx dy       u[      2             
  ∂             2
─────(2⋅x⋅y) + x 
∂x ∂y            u[           2        
 2     ∂         
x  + ─────(2⋅x⋅y)
     ∂x ∂y       u[          2         
 2    ∂          
x  + ─────(2⋅x⋅y)
     ∂x ∂y       z6 2        
d         
---(2*x*y)
  2       
dx        uD    2        
∂         
───(2⋅x⋅y)
  2       
∂x        z; 17        
d          
----(2*x*y)
  17       
dx         uK    17        
∂          
────(2⋅x⋅y)
  17       
∂x         zE   3         
  d          
------(2*x*y)
     2       
dy dx        u[      3         
  ∂          
──────(2⋅x⋅y)
     2       
∂y ∂x        alpharc   z;  d                
------(beta(alpha))
dalpha             u!   d       
──(β(α))
dα      z1 n       
d        
---(f(x))
  n      
dx       u7    n       
d        
───(f(x))
  n      
dx       N)r	   rp   rK  r   r   rL  r   r
   diffr   r|  )r   rN  rO  rP  rQ  rS  rT  rR  rU  r  rc   s              r   test_pretty_derivativesr    s   c!fa%0D   $<9$$$4=I%%%c!fa%014D     $<K55554=[6666 c!a%j1na(D     $<K55554=[66EE6 c!fq!tmQ*D       $<KkBBBB4=[{CCCCac!eQ"QT)D       $<KkBBBB4=[{CCCCac!eQ"D   $<9$$$4=I%%%ac!eQ#D   $<9$$$4=I%%%ac!eQ1%D   $<9$$$4=I%%% 7OEFD;E"D   $<9$$$4=I%%%adQF#D   $<9$$$4=I%%%r   c                  <   \        \        \        4      \        4      p R pRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        ^,          \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      ^,          \        \        4      ^,          ,          4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        ^\        ,          ,          \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        ^,          \        ^^34      p RpR	p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        ^,          \        \        ^^4      ^
34      p R
pRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        ^,          \        ^,          ,          \        \        4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      \        \        4      ,          \        ^ \        3\        ^ ^\        ,          34      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR# )z@  /         
 |          
 | log(x) dx
 |          
/           u)   ⌠          
⎮ log(x) dx
⌡          z5  /     
 |      
 |  2   
 | x  dx
 |      
/       u'   ⌠      
⎮  2   
⎮ x  dx
⌡      z}  /          
 |           
 |    2      
 | sin (x)   
 | ------- dx
 |    2      
 | tan (x)   
 |           
/            uv   ⌠           
⎮    2      
⎮ sin (x)   
⎮ ─────── dx
⎮    2      
⎮ tan (x)   
⌡           zS  /        
 |         
 |  / x\   
 |  \2 /   
 | x     dx
 |         
/          uH   ⌠         
⎮  ⎛ x⎞   
⎮  ⎝2 ⎠   
⎮ x     dx
⌡         zO  2      
  /      
 |       
 |   2   
 |  x  dx
 |       
/        
1        u7   2      
⌠      
⎮  2   
⎮ x  dx
⌡      
1      zO 10      
  /      
 |       
 |   2   
 |  x  dx
 |       
/        
1/2      uC   10       
⌠        
⎮    2   
⎮   x  dx
⌡        
1/2      zk  /  /           
 |  |            
 |  |  2  2      
 |  | x *y  dx dy
 |  |            
/  /             uQ   ⌠ ⌠            
⎮ ⎮  2  2      
⎮ ⎮ x ⋅y  dx dy
⌡ ⌡            aC   2*pi pi                           
   /   /                           
  |   |                            
  |   |  sin(theta)                
  |   |  ---------- d(theta) d(phi)
  |   |   cos(phi)                 
  |   |                            
 /   /                             
0    0                             u   2⋅π π             
 ⌠  ⌠             
 ⎮  ⎮ sin(θ)      
 ⎮  ⎮ ────── dθ dφ
 ⎮  ⎮ cos(φ)      
 ⌡  ⌡             
 0  0             N)r,   rp   rK  r   r   rr   ru   r   rL  thrg   phr   r\  s      r   test_pretty_integralsr    s   CFAD   $<9$$$4=I%%%AqD!D   $<9$$$4=I%%%SVaK3q6A+-.D
   $<9$$$4=I%%%A1Iq!D   $<9$$$4=I%%%AqD1a)$D	   $<9$$$4=I%%%AqD1hq!nb12D	   $<9$$$4=I%%%AqDAIq!$D   $<9$$$4=I%%%CGCGOb!R[2q!B$-@D
   $<9$$$4=I%%%r   c                  D   \        4       p R pR p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^^ R 4      p R pR p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^ ^R 4      p R pR p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          ^,           ^.\        \        \        ,           ..4      p RpRpRpRp\        V 4      W439   g   Q h\        V 4      WV39   g   Q h\        \        \        ,          \        \
        .^ \        \        \        ,          \        ,          4      ^..4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR	p\        \        R
^^4      !  p \        V 4      V8X  g   Q hR# )[]c                     ^ # r   r   ijs   &&r   <lambda>$test_pretty_matrix.<locals>.<lambda>p      Qr   c                     ^ # r  r   r  s   &&r   r  r  u  r  r   z?[     2       ]
[1 + x     1  ]
[             ]
[  y     x + y]z?[ 2           ]
[x  + 1    1  ]
[             ]
[  y     x + y]uO   ⎡     2       ⎤
⎢1 + x     1  ⎥
⎢             ⎥
⎣  y     x + y⎦uO   ⎡ 2           ⎤
⎢x  + 1    1  ⎥
⎢             ⎥
⎣  y     x + y⎦z}[x                 ]
[-     y      theta]
[y                 ]
[                  ]
[    I*k*phi       ]
[0  e           1  ]u}   ⎡x           ⎤
⎢─    y     θ⎥
⎢y           ⎥
⎢            ⎥
⎢    ⅈ⋅k⋅φ   ⎥
⎣0  ℯ       1⎦u   ⎡v̇_msc_00     0         0    ⎤
⎢                            ⎥
⎢   0      v̇_msc_01     0    ⎥
⎢                            ⎥
⎣   0         0      v̇_msc_02⎦vdot_mscN)r6   r   r   rK  rL  r  ri   r   r  r  r7   r   )r   rN  r  rP  rQ  rS  rT  rO  s           r   test_pretty_matrixr  i  s   8DIK$<9$$$4=K'''!Q'DIK$<9$$$4=K'''!Q'DIK$<9$$$4=K'''AqD1Ha=1a!e*-.D     $<K55554=[6666AaCB<!S1R[!!456D   $<9$$$4=I%%%  j1-.D4=K'''r   c                     \        R 4      w  rr#\        \        \        \        3 EF  pV! V 4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hV! ^V ,          V.W#..4      pV! ^V ,          W.4      p\        We4      p\        WU4      pRp	Rp
\        V4      V	8X  g   Q h\        V4      V
8X  g   Q hRp	Rp
\        V4      V	8X  g   Q h\        V4      V
8X  g   Q hRp	Rp
\        V4      V	8X  g   Q h\        V4      V
8X  g   Q hRp	R	p
\        V4      V	8X  g   Q h\        V4      V
8X  g   Q hV! W^V,          ..4      pV! V .V.^V,          ..4      pV! VP                  4       .4      pR
p	Rp
\        V4      V	8X  g   Q h\        V4      V
8X  g   Q hRp	Rp
\        V4      V	8X  g   Q h\        V4      V
8X  g   Q hRp	Rp
\        V4      V	8X  g   Q h\        V4      V
8X  d   EK  Q h	  R# )zx y z wrK  z"[1   ]
[-  y]
[x   ]
[    ]
[z  w]u8   ⎡1   ⎤
⎢─  y⎥
⎢x   ⎥
⎢    ⎥
⎣z  w⎦z[1      ]
[-  y  z]
[x      ]u+   ⎡1      ⎤
⎢─  y  z⎥
⎣x      ⎦a  [[1   y]                       ]
[[--  -]              [z      ]]
[[ 2  x]  [ y    2 ]  [-   y*z]]
[[x    ]  [ -   y  ]  [x      ]]
[[     ]  [ x      ]  [       ]]
[[z   w]  [        ]  [ 2     ]]
[[-   -]  [y*z  w*y]  [z   w*z]]
[[x   x]                       ]u  ⎡⎡1   y⎤                       ⎤
⎢⎢──  ─⎥              ⎡z      ⎤⎥
⎢⎢ 2  x⎥  ⎡ y    2 ⎤  ⎢─   y⋅z⎥⎥
⎢⎢x    ⎥  ⎢ ─   y  ⎥  ⎢x      ⎥⎥
⎢⎢     ⎥  ⎢ x      ⎥  ⎢       ⎥⎥
⎢⎢z   w⎥  ⎢        ⎥  ⎢ 2     ⎥⎥
⎢⎢─   ─⎥  ⎣y⋅z  w⋅y⎦  ⎣z   w⋅z⎦⎥
⎣⎣x   x⎦                       ⎦ag  [ [1   y]             ]
[ [--  -]             ]
[ [ 2  x]   [ y    2 ]]
[ [x    ]   [ -   y  ]]
[ [     ]   [ x      ]]
[ [z   w]   [        ]]
[ [-   -]   [y*z  w*y]]
[ [x   x]             ]
[                     ]
[[z      ]  [ w      ]]
[[-   y*z]  [ -   w*y]]
[[x      ]  [ x      ]]
[[       ]  [        ]]
[[ 2     ]  [      2 ]]
[[z   w*z]  [w*z  w  ]]u#  ⎡ ⎡1   y⎤             ⎤
⎢ ⎢──  ─⎥             ⎥
⎢ ⎢ 2  x⎥   ⎡ y    2 ⎤⎥
⎢ ⎢x    ⎥   ⎢ ─   y  ⎥⎥
⎢ ⎢     ⎥   ⎢ x      ⎥⎥
⎢ ⎢z   w⎥   ⎢        ⎥⎥
⎢ ⎢─   ─⎥   ⎣y⋅z  w⋅y⎦⎥
⎢ ⎣x   x⎦             ⎥
⎢                     ⎥
⎢⎡z      ⎤  ⎡ w      ⎤⎥
⎢⎢─   y⋅z⎥  ⎢ ─   w⋅y⎥⎥
⎢⎢x      ⎥  ⎢ x      ⎥⎥
⎢⎢       ⎥  ⎢        ⎥⎥
⎢⎢ 2     ⎥  ⎢      2 ⎥⎥
⎣⎣z   w⋅z⎦  ⎣w⋅z  w  ⎦⎦z#[[      1]]
[[x  y  -]]
[[      z]]u=   ⎡⎡      1⎤⎤
⎢⎢x  y  ─⎥⎥
⎣⎣      z⎦⎦z[x]
[ ]
[y]
[ ]
[1]
[-]
[z]u9   ⎡x⎤
⎢ ⎥
⎢y⎥
⎢ ⎥
⎢1⎥
⎢─⎥
⎣z⎦z)[[x]]
[[ ]]
[[y]]
[[ ]]
[[1]]
[[-]]
[[z]]uc   ⎡⎡x⎤⎤
⎢⎢ ⎥⎥
⎢⎢y⎥⎥
⎢⎢ ⎥⎥
⎢⎢1⎥⎥
⎢⎢─⎥⎥
⎣⎣z⎦⎦N)	r   r   r   r   r   r   r   r   tolist)rK  rL  rY  w	ArrayTypeMM1M2M3rN  rO  MrowMcolumnMcol2s                 r   test_pretty_ndim_arraysr    sn   #JA!-/GI^`vw	aLayCqzS   !Qx!()!Q{#2!1  	 	 ayI%%%qzY&&& 	 	 bzY&&&r{i'''	 		 	 bzY&&&r{i''' 	& 	$ bzY&&&r{i'''1Q-)aS1#Aw/07>>+,- 	 	 d|y(((t}	))) 	 	 g)+++w9,,, 	 	 e}	)))u~***] xr   c                      \        R ^^4      p \        R^^4      p\        \        W4      4      R8X  g   Q h\        \        WV 4      4      R8X  g   Q hR# )r  r  u   A⊗Bu	   A⊗B⊗AN)r   r   r   )r  r  s     r   test_tensor_TensorProductr  q  sQ    S!QAS!QA=&':555=q)*.????r   c                      ^ RI Hp  ^ RIHp V! V P                  V P
                  4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hR# )r   )R2)WedgeProductu   ⅆ x∧ⅆ yzd x/\d yN)sympy.diffgeom.rnr  sympy.diffgeomr  dxdyr   r   )r  r  wps      r    test_diffgeom_print_WedgeProductr  x  s@    $+	beeRUU	#B2;/)))":$$$r   c                  `   \        R ^^4      p \        R^^4      p\        \        V 4      4      R8X  g   Q h\        \        W,           4      4      R8X  g   Q h\        \        V 4      \        V4      ,           4      R8X  g   Q h\        \        W,          4      4      R8X  g   Q h\        \        V4      \        V 4      ,          4      R8X  g   Q h\        \        V ^,          4      4      R8X  g   Q h\        \        V 4      ^,          4      R8X  g   Q h\        \        \        V 4      4      4      R	8X  g   Q h\        \        \        V 4      4      4      R
8X  g   Q h\        \        \	        V 4      4      4      R8X  g   Q h\        \	        \        V 4      4      4      R8X  g   Q h\        \        V 4      4      R8X  g   Q h\        \        W,           4      4      R8X  g   Q h\        \        V 4      \        V4      ,           4      R8X  g   Q h\        \        W,          4      4      R8X  g   Q h\        \        V4      \        V 4      ,          4      R8X  g   Q h\        \        V ^,          4      4      R8X  g   Q h\        \        V 4      ^,          4      R8X  g   Q h\        \        \        V 4      4      4      R8X  g   Q h\        \        \        V 4      4      4      R8X  g   Q h\        \        \	        V 4      4      4      R8X  g   Q h\        \	        \        V 4      4      4      R8X  g   Q h\        R4      p\        \        V4      4      R8X  g   Q h\        \        W ,           4      4      R8X  g   Q h\        \        \        \        ^^4      V 3V\        ^^4      334      4      4      R8X  g   Q hR# )XYz +
X z       +
(X + Y) z +    +
X  + Y z     +
(X*Y) z +  +
Y *X z    +
/ 2\ 
\X / z    2
/ +\ 
\X / z     +
/ -1\ 
\X  / z    -1
/ +\  
\X /  z    +
/ T\ 
\X / z    T
/ +\ 
\X / u    †
X u          †
(X + Y) u    †    †
X  + Y u        †
(X⋅Y) u    †  †
Y ⋅X u       †
⎛ 2⎞ 
⎝X ⎠ u       2
⎛ †⎞ 
⎝X ⎠ u        †
⎛ -1⎞ 
⎝X  ⎠ u       -1
⎛ †⎞  
⎝X ⎠  u       †
⎛ T⎞ 
⎝X ⎠ u       T
⎛ †⎞ 
⎝X ⎠ u-         †
⎡1  2⎤ 
⎢    ⎥ 
⎣3  4⎦ uQ               †
⎛⎡1  2⎤    ⎞ 
⎜⎢    ⎥ + X⎟ 
⎝⎣3  4⎦    ⎠ uu              †
⎡  𝟙     X⎤ 
⎢         ⎥ 
⎢⎡1  2⎤   ⎥ 
⎢⎢    ⎥  𝟘⎥ 
⎣⎣3  4⎦   ⎦ Nr:  rf  )      )
r   r   r   r   r   r   r6   r   r   r   r  r  r  s      r   test_Adjointr    sR   S!QAS!QA'!*)))'!%.!%9999'!*wqz)*.@@@@'!#,#3333'!*WQZ'(N:::'!Q$- $;;;;'!*a- $;;;;''!*%&*DDDD''!*%&*DDDD')A,'(,CCCC)GAJ'(,CCCC71:*,,,715>"&<<<<71:
*+/EEEE713< $888871:gaj()-AAAA71a4=!'( ( (71:q=!'( ( (771:&'*+ + +771:&'*+ + +79Q<()'( ( (9WQZ()'( ( ( A71:	  
 713< 	      
 7;1a!(<)*Jq!,<(=(? @ A B	  r   c                  @   \        R ^^4      p \        R^^4      p\        \        V 4      4      R8X  g   Q h\        \        W,           4      4      R8X  g   Q h\        \        V 4      \        V4      ,           4      R8X  g   Q h\        \        W,          4      4      R8X  g   Q h\        \        V4      \        V 4      ,          4      R8X  g   Q h\        \        V ^,          4      4      R8X  g   Q h\        \        V 4      ^,          4      R8X  g   Q h\        \        \        V 4      4      4      R	8X  g   Q h\        \        \        V 4      4      4      R
8X  g   Q h\	        \        V 4      4      R8X  g   Q h\	        \        W,           4      4      R8X  g   Q h\	        \        V 4      \        V4      ,           4      R8X  g   Q h\	        \        W,          4      4      R8X  g   Q h\	        \        V4      \        V 4      ,          4      R8X  g   Q h\	        \        V ^,          4      4      R8X  g   Q h\	        \        V 4      ^,          4      R8X  g   Q h\	        \        \        V 4      4      4      R8X  g   Q h\	        \        \        V 4      4      4      R8X  g   Q h\        R4      p\	        \        V4      4      R8X  g   Q h\	        \        W ,           4      4      R8X  g   Q h\	        \        \        \        ^^4      V 3V\        ^^4      334      4      4      R8X  g   Q hR# )r  r  z T
X z       T
(X + Y) z T    T
X  + Y z     T
(X*Y) z T  T
Y *X z    T
/ 2\ 
\X / z    2
/ T\ 
\X / z     T
/ -1\ 
\X  / z    -1
/ T\  
\X /  u        T
(X⋅Y) u    T  T
Y ⋅X u       T
⎛ 2⎞ 
⎝X ⎠ u       2
⎛ T⎞ 
⎝X ⎠ u        T
⎛ -1⎞ 
⎝X  ⎠ u       -1
⎛ T⎞  
⎝X ⎠  u+         T
⎡1  2⎤ 
⎢    ⎥ 
⎣3  4⎦ uO               T
⎛⎡1  2⎤    ⎞ 
⎜⎢    ⎥ + X⎟ 
⎝⎣3  4⎦    ⎠ us              T
⎡  𝟙     X⎤ 
⎢         ⎥ 
⎢⎡1  2⎤   ⎥ 
⎢⎢    ⎥  𝟘⎥ 
⎣⎣3  4⎦   ⎦ Nr  )	r   r   r   r   r   r6   r   r   r   r   s      r   test_Transposer    s   S!QAS!QA)A,8+++)AE"#';;;;)A,1-.2DDDD)AC.!%5555)A,y|+,>>>)AqD/"&====)A,/"&====)GAJ'(,FFFF')A,'(,FFFF9Q< H,,,9QU#$(<<<<9Q<)A,./3EEEE9QS>"&88889Q<	!,-1AAAA9QT?#%& & &9Q<?#%& & &9WQZ()() ) )79Q<()() ) ) A9Q< 	  
 9QS>"	      
 9[9Q?A*>+,jA.>*?*A B C D	  r   c                  r   \        ^^.^^..4      p \        ^^.^^..4      pRpRpRpRp\        \        V 4      4      V8X  g   Q h\        \        V 4      4      V8X  g   Q h\        \        V 4      \        V4      ,           4      V8X  g   Q h\        \        V 4      \        V4      ,           4      V8X  g   Q hR# )r:  z   /[1  2]\
tr|[    ]|
  \[3  4]/u8     ⎛⎡1  2⎤⎞
tr⎜⎢    ⎥⎟
  ⎝⎣3  4⎦⎠zG  /[1  2]\     /[2  4]\
tr|[    ]| + tr|[    ]|
  \[3  4]/     \[6  8]/uw     ⎛⎡1  2⎤⎞     ⎛⎡2  4⎤⎞
tr⎜⎢    ⎥⎟ + tr⎜⎢    ⎥⎟
  ⎝⎣3  4⎦⎠     ⎝⎣6  8⎦⎠N)r6   r   r9   r   )r  r  rP  rS  rQ  rT  s         r   test_pretty_Trace_issue_9044r    s    AA AAA A     %({***58+++%(U1X%&+55558eAh&';666r   c                  \
   \        R RR7      p \        R4      w  rr4p\        RW 4      p\        R^
^
4      p\        R^
^
4      p\        VRR4      p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hWaV^,           1W"^,           13,          p	\	        V	4      \        V	4      u;8X  d	   R	8X  g   Q h Q hWaV^,           ^1W"^,           ^13,          p	\	        V	4      \        V	4      u;8X  d	   R
8X  g   Q h Q hVRV1VR13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVRV1VR13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hWaR1RV13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hWaV1W413,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hWaW%1WEV13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hWaRV1VRV13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVRW1RWT13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVRRV1RRV13,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q h\        VRR4      p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q h\        VRV R3RV R34      p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q h\        V^ V R3^ V R34      p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q h\        V^ V ^3^ V ^34      p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR ,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR!,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR",          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR#,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR$,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hVR%,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hWx,           R&,          p	\	        V	4      \        V	4      u;8X  d	   R8X  g   Q h Q hR# )'r|  Tr}  z	x y z w tr  r  ZNzX[:, :]zX[x:x + 1, y:y + 1]zX[x:x + 1:2, y:y + 1:2]z	X[:x, y:]z	X[x:, :y]zX[x:y, z:w]zX[x:y:t, w:t:x]zX[x::y, t::w]zX[:x:y, :t:w]zX[::x, ::y]zX[::2, ::2]zX[1:2:3, 4:5:6]zX[1:3:5, 4:6:8]r:  
   rf  zX[1:10:2, :]zY[:5, 1:9:2]zY[:5, 1::2]zY[5:6, :5:2]z	X[:1, :1]zX[:1:2, :1:2]z(Y + Z)[2:, 2:])NNN)r   NN):r:  rf  r  :r  rc     ):r:  r  rc  :r  r
     )Nrc  N:r:  	   rf  )r  r  )rc  :Nrc  rf  )r   r:  Nr  )r   r:  rf  r  )rf  NNr  )r   r   r   r8   r   r   )
r|  rK  rL  rY  r  tr  r  r  r   s
             r   test_MatrixSlicer    s   sD!A[)NA!S!AS"b!AS"b!Aq,.@AD$<74=5I55555q1uWaAgD$<74=A,AAAAAAq1uQYa%	!"D$<74=E,EEEEEERaRV9D$<74=7K77777RaRV9D$<74=7K77777R!V9D$<74=7K77777qS!#X;D$<74=9M99999qUAE\?D$<74==,======TT14a4Z=D$<74=;O;;;;;TaT4A4Z=D$<74=;O;;;;;SqS#A#X;D$<74=9M99999q/?;D$<74=5I55555q4D/D!T?;D$<74=5I55555q1a,At5D$<74=5I55555q1a)aAY/D$<74=9M99999\?D$<74==,======\?D$<74==,======V9D$<74=:N:::::Y<D$<74=:N:::::Z=D$<74=9M99999W:D$<74=:N:::::X;D$<74=7K77777\?D$<74=;O;;;;;E6?D$<74==,======r   c                     \        R RR7      p \        RW 4      p\        V4      \        V4      u;8X  d	   R8X  g   Q h Q hVP                  V,          P                  \        4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        \        ^\        ,          4      pW,          P                  V4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )	r|  Tr}  r  z)              / T  \
(d -> sin(d)).\X *X/u4                ⎛ T  ⎞
(d ↦ sin(d))˳⎝X ⋅X⎠z,/     1\      
|x -> -|.(n*X)
\     x/      u<   ⎛    1⎞      
⎜x ↦ ─⎟˳(n⋅X)
⎝    x⎠      N)	r   r   r   r   T	applyfuncrr   r   rK  )r|  r  r   rN  rO  lamdas         r   test_MatrixExpressionsr  =  s    sD!AS!A!9
)c))))) CCES!DII $<9$$$4=I%%%1acNEC??5!DI
I
 $<9$$$4=I%%%r   c                  \   ^ RI Hp  \        RRR7      p\        RV^4      p\        RV^4      p\	        ^^. RO4      p\	        ^^. RO4      p\        V ! W#4      4      R8X  g   Q h\        V ! WE4      4      R8X  g   Q h\        V ! W#4      4      R	8X  g   Q h\        V ! WE4      4      R
8X  g   Q hR# )r   )
DotProductr|  Tr}  r  r  zA*Bz[1  2  3]*[1  3  4]u   A⋅Bu   [1  2  3]⋅[1  3  4]Nr:  rf  r  )r:  r  r  )%sympy.matrices.expressions.dotproductr  r   r   r6   r   r   )r  r|  r  r  r  r  s         r   test_pretty_dotproductr  b  s    @T"AS!QAS!QAq!YAq!YA*Q"#u,,,*Q"#'<<<<:a#$///:a#$(????r   c                     ^ RI Hp HpHpHpHp \        R	4      p\        V ! V4      4      R8X  g   Q h\        V ! V! V4      4      4      R8X  g   Q h\        R^^4      p\        V ! V4      4      R8X  g   Q h\        V ! We,           4      4      R8X  g   Q h\        V ! V! V! ^^4      V3WT! ^^4      334      4      4      R8X  g   Q hR# )
r   )Determinantr   r   r   r   u    │1  2│
│    │
│3  4│uG   │      -1│
│⎡1  2⎤  │
│⎢    ⎥  │
│⎣3  4⎦  │r  u   │X│u>   │⎡1  2⎤    │
│⎢    ⎥ + X│
│⎣3  4⎦    │ua   │  𝟙     X│
│         │
│⎡1  2⎤   │
│⎢    ⎥  𝟘│
│⎣3  4⎦   │Nr  )	sympy.matricesr  r   r   r   r   r6   r   r   )r  r   r   r   r   r  r  s          r   test_pretty_Determinantr   p  s    WW A;q>"&JJJJ;wqz*+	  
 	S!QA;q>"i///;qu%&	   ;{Yq!_a,@-.
1a0@,A,C  D E F	  r   c                     \        \        \        ^8  3\        ^,          R34      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        ^8  3\        ^,          R34      ) p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        ^ 8  3\        R34      ,           \        \        \        ,          \        ^8  3\        ^,          \        ^8  3R4      ,           ^,           p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        ^ 8  3\        R34      ,
          \        \        \        ,          \        ^8  3\        ^,          \        ^8  3R4      ,           ^,           p RpR	p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        ^ 8  3\        R34      ,          p R
pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        ^ 8  3\        R34      \        \        \        ,          \        ^8  3\        ^,          \        ^8  3R4      ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        ^ 8  3\        R34      ) \        \        \        ,          \        ^8  3\        ^,          \        ^8  3R4      ,          p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^ \        ^\        ,          4      ^8  3^\        \        4      ^8  3\        \        RR^\        ,          4      ,          R34      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        ^ 8  3\        R34      ^RR7      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )r:  TzJ/x   for x < 1
|             
< 2           
|x   otherwise
\             uT   ⎧x   for x < 1
⎪             
⎨ 2           
⎪x   otherwise
⎩             zY //x   for x < 1\
 ||             |
-|< 2           |
 ||x   otherwise|
 \\             /uw    ⎛⎧x   for x < 1⎞
 ⎜⎪             ⎟
-⎜⎨ 2           ⎟
 ⎜⎪x   otherwise⎟
 ⎝⎩             ⎠a                        //x            \    
                      ||-   for x < 2|    
                      ||y            |    
    //x  for x > 0\   ||             |    
x + |<            | + |< 2           | + 1
    \\y  otherwise/   ||y   for x > 2|    
                      ||             |    
                      ||1   otherwise|    
                      \\             /    u                        ⎛⎧x            ⎞    
                      ⎜⎪─   for x < 2⎟    
                      ⎜⎪y            ⎟    
    ⎛⎧x  for x > 0⎞   ⎜⎪             ⎟    
x + ⎜⎨            ⎟ + ⎜⎨ 2           ⎟ + 1
    ⎝⎩y  otherwise⎠   ⎜⎪y   for x > 2⎟    
                      ⎜⎪             ⎟    
                      ⎜⎪1   otherwise⎟    
                      ⎝⎩             ⎠    a                        //x            \    
                      ||-   for x < 2|    
                      ||y            |    
    //x  for x > 0\   ||             |    
x - |<            | + |< 2           | + 1
    \\y  otherwise/   ||y   for x > 2|    
                      ||             |    
                      ||1   otherwise|    
                      \\             /    u                        ⎛⎧x            ⎞    
                      ⎜⎪─   for x < 2⎟    
                      ⎜⎪y            ⎟    
    ⎛⎧x  for x > 0⎞   ⎜⎪             ⎟    
x - ⎜⎨            ⎟ + ⎜⎨ 2           ⎟ + 1
    ⎝⎩y  otherwise⎠   ⎜⎪y   for x > 2⎟    
                      ⎜⎪             ⎟    
                      ⎜⎪1   otherwise⎟    
                      ⎝⎩             ⎠    z5  //x  for x > 0\
x*|<            |
  \\y  otherwise/uI     ⎛⎧x  for x > 0⎞
x⋅⎜⎨            ⎟
  ⎝⎩y  otherwise⎠a(                  //x            \
                ||-   for x < 2|
                ||y            |
//x  for x > 0\ ||             |
|<            |*|< 2           |
\\y  otherwise/ ||y   for x > 2|
                ||             |
                ||1   otherwise|
                \\             /ut                  ⎛⎧x            ⎞
                ⎜⎪─   for x < 2⎟
                ⎜⎪y            ⎟
⎛⎧x  for x > 0⎞ ⎜⎪             ⎟
⎜⎨            ⎟⋅⎜⎨ 2           ⎟
⎝⎩y  otherwise⎠ ⎜⎪y   for x > 2⎟
                ⎜⎪             ⎟
                ⎜⎪1   otherwise⎟
                ⎝⎩             ⎠a1                   //x            \
                 ||-   for x < 2|
                 ||y            |
 //x  for x > 0\ ||             |
-|<            |*|< 2           |
 \\y  otherwise/ ||y   for x > 2|
                 ||             |
                 ||1   otherwise|
                 \\             /u}                   ⎛⎧x            ⎞
                 ⎜⎪─   for x < 2⎟
                 ⎜⎪y            ⎟
 ⎛⎧x  for x > 0⎞ ⎜⎪             ⎟
-⎜⎨            ⎟⋅⎜⎨ 2           ⎟
 ⎝⎩y  otherwise⎠ ⎜⎪y   for x > 2⎟
                 ⎜⎪             ⎟
                 ⎜⎪1   otherwise⎟
                 ⎝⎩             ⎠ap  /                                 1     
|            0               for --- < 1
|                                |y|    
|                                       
<            1               for |y| < 1
|                                       
|   __0, 2 /1, 2       | 1\             
|y*/__     |           | -|   otherwise 
\  \_|2, 2 \      0, 1 | y/             u  ⎧                                 1     
⎪            0               for ─── < 1
⎪                                │y│    
⎪                                       
⎨            1               for │y│ < 1
⎪                                       
⎪  ╭─╮0, 2 ⎛1, 2       │ 1⎞             
⎪y⋅│╶┐     ⎜           │ ─⎟   otherwise 
⎩  ╰─╯2, 2 ⎝      0, 1 │ y⎠             Fr<  zC               2
//x  for x > 0\ 
|<            | 
\\y  otherwise/ uU                  2
⎛⎧x  for x > 0⎞ 
⎜⎨            ⎟ 
⎝⎩y  otherwise⎠ N)r:  T))rf  r:  r   )r   )r:  r   )r_   rK  r   r   rL  rZ   rq   r   r\  s      r   test_pretty_piecewiser"    s   aQZ!Q$.D   $<9$$$4=I%%%q!a%j1a4,//D   $<9$$$4=I%%%y!QUaY//)QqS!a%LT1q5M93  !"D
 
  $<9$$$4=I%%%y!QUaY//)QqS!a%LT1q5M93  !"D
 
  $<9$$$4=I%%%Y1q5zAt9--D   $<9$$$4=I%%%aQZ!T+IqsAElQT1L E- D
 
  $<9$$$4=I%%%q!a%j1d),,Y!QU|adA
M F. D
 
  $<9$$$4=I%%%aQqSA&CFQJ!G E1Q3=  ; !%:' (D
 
  $<9$$$4=I%%% y!QUaY/UCD   $<9$$$4=I%%%r   c                      \        \        \        \        4      p \	        V 4      R 8X  g   Q h\        V 4      R8X  g   Q hR# )z)/y    for x  
<            
\z  otherwiseu/   ⎧y    for x  
⎨            
⎩z  otherwiseN)r/   rK  rL  rY  r   r   r`  s    r   test_pretty_ITEr$  g  sG    q!Q<D$<	
 
 

 4=    r   c            
      d	   Rp R pR p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h. p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h/ p / pRpRp\        V 4      V8X  g   Q h\        V4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      V8X  g   Q h^\        ,          3p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,          ^\        ,          \        \        \	        \
        4      ^,          \        \        4      ^,          ,          .p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,          ^\        ,          \        \        \	        \
        4      ^,          \        \        4      ^,          ,          3p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          ^\        ,          \        \        \	        \
        4      ^,          \        \        4      ^,          ,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \	        \        4      /p \        \        \	        \        4      /4      pR	pR	p\        V 4      V8X  g   Q h\        V4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      V8X  g   Q h^\        ,          ^\        ,          \        \	        \        4      ^,          /p \        ^\        ,          ^\        ,          \        \	        \        4      ^,          /4      pR
pRp\        V 4      V8X  g   Q h\        V4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      V8X  g   Q h\        ^,          .p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,          3p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^,          ^/p \        \        ^,          ^/4      pRpRp\        V 4      V8X  g   Q h\        V4      V8X  g   Q h\        V 4      V8X  g   Q h\        V4      V8X  g   Q hR# )r.  r  z{}z 1  
(-,)
 x  u   ⎛1 ⎞
⎜─,⎟
⎝x ⎠z                 2        
  2  1        sin (theta) 
[x , -, x, y, -----------]
     x            2       
               cos (phi)  u   ⎡                2   ⎤
⎢ 2  1        sin (θ)⎥
⎢x , ─, x, y, ───────⎥
⎢    x           2   ⎥
⎣             cos (φ)⎦z                 2        
  2  1        sin (theta) 
(x , -, x, y, -----------)
     x            2       
               cos (phi)  u   ⎛                2   ⎞
⎜ 2  1        sin (θ)⎟
⎜x , ─, x, y, ───────⎟
⎜    x           2   ⎟
⎝             cos (φ)⎠z{x: sin(x)}z8 1  1        2    
{-: -, x: sin (x)}
 x  y             uH   ⎧1  1        2   ⎫
⎨─: ─, x: sin (x)⎬
⎩x  y            ⎭z	  2 
[x ]u   ⎡ 2⎤
⎣x ⎦z  2  
(x ,)u   ⎛ 2 ⎞
⎝x ,⎠z  2    
{x : 1}u#   ⎧ 2   ⎫
⎨x : 1⎬
⎩     ⎭Nr   )
r   r   rK  rL  rr   r  rg   r  r   r   )r   rN  rO  expr_2s       r   test_pretty_seqr'  u  s   D 
  $<9$$$4=I%%%D 
  $<9$$$4=I%%%DF 
  $<9$$$&>Y&&&4=I%%%6?i'''aC6D   $<9$$$4=I%%%qD!A#q!SWaZB
23D   $<9$$$4=I%%%qD!A#q!SWaZB
23D   $<9$$$4=I%%%AqsAq#b'1*SWaZ"78D   $<9$$$4=I%%%s1v;D1c!f+F 
  $<9$$$&>Y&&&4=I%%%6?i'''aC1aQ#D1Q3!QA	*+F   $<9$$$&>Y&&&4=I%%%6?i''' qD6D  
 $<9$$$4=I%%%qD7D  
 $<9$$$4=I%%%A;D  
 $<9$$$4=I%%%qD!9D1a4)_F   $<9$$$&>Y&&&4=I%%%6?i'''r   c                     \        4       p \        \        4       4      pW.p\        V4      R 8X  g   Q h\        V4      R 8X  g   Q hW0p\        V4      R8X  g   Q h\        V4      R8X  g   Q hWW/p\        WW/4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q h\        V4      R8X  g   Q h\        V4      R8X  g   Q hR# )z[Basic(Basic()), Basic()]z{Basic(), Basic(Basic())}z2{Basic(): Basic(Basic()), Basic(Basic()): Basic()}N)r   r   r   r   )b1b2r   expr2s       r   test_any_object_in_sequencer,  I  s    	B	uwB8D$<66664=77778D$<66664=7777BD""!"E$<OOOOFG G GEF F FFG G Gr   c                     \        \        4       4      R 8X  g   Q h\        \        4       4      R 8X  g   Q h\        \        4       4      R8X  g   Q h\        \        4       4      R8X  g   Q h^\        ,          \        0p \        V 4      p\        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        V4      R8X  g   Q h\        V4      R8X  g   Q hR# )zset()zfrozenset()z 1    
{-, x}
 x    u"   ⎧1   ⎫
⎨─, x⎬
⎩x   ⎭z5           1     
frozenset({-, x})
           x     uO            ⎛⎧1   ⎫⎞
frozenset⎜⎨─, x⎬⎟
         ⎝⎩x   ⎭⎠N)r   setr   	frozensetrK  )s1s2s     r   test_print_builtin_setr2  a  s    #%=G###35>W$$$)+-///9;=000
A#qB	2B":   2;   ":   2;  r   c                     \         p \        V ! \        \        ,          \        ^,          .!  4      R8X  g   Q h\        V ! \	        ^^4      !  4      R8X  g   Q h\        V ! \	        ^^4      !  4      R8X  g   Q h\        \        \        ,          \        ^,          04      R8X  g   Q h\        \        \	        ^^4      4      4      R8X  g   Q h\        \        \	        ^^4      4      4      R8X  g   Q h\        \        \        \        ,          \        ^,          .4      4      R8X  g   Q h\        \        \	        ^^4      4      4      R8X  g   Q h\        \        \	        ^^4      4      4      R8X  g   Q h\        \        ^ ^^4      4      R8X  g   Q hRpR	p\        \        ^ ^^4      4      V8X  g   Q h\        \        ^ ^^4      4      V8X  g   Q hR
pRp\        \        ^^R4      4      V8X  g   Q h\        \        ^^R4      4      V8X  g   Q hRpRp\        \        ^ \        ^4      4      V8X  g   Q h\        \        ^ \        ^4      4      V8X  g   Q hRpRp\        \        \        RR4      4      V8X  g   Q h\        \        \        RR4      4      V8X  g   Q hRpRp\        \        R\        ) R4      4      V8X  g   Q h\        \        R\        ) R4      4      V8X  g   Q hR# )rf  z  2      
{x , x*y}z{1, 2, 3, 4, 5}z'{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}z)            2       
frozenset({x , x*y})zfrozenset({1, 2, 3, 4, 5})z2frozenset({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12})z	{0, 1, 2}z{0, 1, ..., 29}u   {0, 1, …, 29}z{30, 29, ..., 2}u   {30, 29, …, 2}z{0, 2, ...}u   {0, 2, …}z{..., 2, 0}u   {…, 2, 0}z{-2, -3, ...}u   {-2, -3, …}NrX  rI  )
rN   r   rK  rL  ranger.  r/  rL   r   r   )r  rN  rO  s      r   test_pretty_setsr5    s   A!ac1a4[/"  
 !U1a[/"&7777!U1b\"#'PPPP1Q31+  
 #eAqk"#'8888#eArl#$12 2 2 )QqS!Q$K()  
 )E!QK()-IIII)E!RL)*<= = = %1a.![000!I!I%2q/"i///5B?#y000"I"I%Ar"#y0005Q#$	111II%2q/"i///5B?#y000II%B#$	1115R$%222II%RC$%2225bS"%&)333r   c                      \        ^^4      p \        V 4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )r:  zSetExpr([1, 3])N)rP   r   r   r   )ivserN  rO  s       r   test_pretty_SetExprr9    sD    	!QB	B!I!I":"""2;)###r   c                     \        \        \        \        3\        \        ,           4      0 Rm^^04      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        33\        \        ,           4      \        0 Rm^^04      4      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        ^,          4      \        P                  4      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        ^\        ^,          ,          4      \        P                  4      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        \        3^\        \        ,           ^,          ,          4      \        P                  \        P                  4      p R	pR
p\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        R4      \        R4      ^,           ,          .4      R8X  g   Q h\        \        \        R4      \        R4      ^,           .4      4      R8X  g   Q hR# )r:  z%{x + y | x in {1, 2, 3}, y in {3, 4}}u)   {x + y │ x ∊ {1, 2, 3}, y ∊ {3, 4}}z&{x + y | (x, y) in {1, 2, 3} x {3, 4}}u*   {x + y │ (x, y) ∊ {1, 2, 3} × {3, 4}}z)  2                 
{x  | x in Naturals}u<   ⎧ 2 │      ⎫
⎨x  │ x ∊ ℕ⎬
⎩   │      ⎭zS 1                  
{-- | x in Naturals}
  2                 
 x                  uf   ⎧1  │      ⎫
⎪── │ x ∊ ℕ⎪
⎨ 2 │      ⎬
⎪x  │      ⎪
⎩   │      ⎭z    1                                    
{-------- | x in Naturals, y in Naturals}
        2                                
 (x + y)                                 u   ⎧   1     │             ⎫
⎪──────── │ x ∊ ℕ, y ∊ ℕ⎪
⎨       2 │             ⎬
⎪(x + y)  │             ⎪
⎩         │             ⎭ihatr  u/   ⎡  î  ⎤
⎢─────⎥
⎣i + 1⎦u%   ⎡  î  ⎤
⎢     ⎥
⎣i + 1⎦N>   r:  rf  r  )r   r   rK  rL  r   r   r   r   Naturalsr   r6   )imgsetrN  rO  s      r   test_pretty_ImageSetr>    s   faVQU+YA?F7I;I&>Y&&&6?i'''fq!fYA.
9q!f0MNF8I<I&>Y&&&6?i'''fQ1oqzz2FII &>Y&&&6?i''' fQ!Q$'4FI
I &>Y&&&6?i'''faVQAz\2AJJ

KF-I
#I &>Y&&&6?i''' F6NfSkAo678 =   
 66&>6#;?;<= B   r   c                     R p Rp\        \        \        \        \	        \        4      ^ 4      \
        P                  4      4      V 8X  g   Q h\        \        \        \        \	        \        4      ^ 4      \
        P                  4      4      V8X  g   Q h\        \        \        \        \        \
        P                  RR7      \        ^4      4      4      R8X  g   Q h\        \        \        \        \        \
        P                  RR7      \        ^4      4      4      R8X  g   Q h\        \        \        \        \        ^8  \        R8  4      \        ^^^4      4      4      R8X  g   Q h\        \        \        \        \        ^8  \        R8  4      \        ^^^4      4      4      R8X  g   Q h\        \        \        \        \        ^8  \        R8  4      \        ^^4      4      4      R8X  g   Q h\        \        \        \        \        ^8  \        R8  4      \        ^^4      4      4      R8X  g   Q h\        \        ^\        ^,          ,          ^ 8  4      pRp R	p\        V4      V 8X  g   Q h\        V4      V8X  g   Q h\        \        ^\        ^,          ,          ^ 8  \
        P                  4      pR
p Rp\        V4      V 8X  g   Q h\        V4      V8X  g   Q hR# )z#{x | x in (-oo, oo) and sin(x) = 0}u"   {x │ x ∊ ℝ ∧ (sin(x) = 0)}Fr<  z{1}EmptySet   ∅z{2}z3     1      
{x | -- > 0}
      2     
     x      u|   ⎧  │ ⎛1     ⎞⎫
⎪x │ ⎜── > 0⎟⎪
⎨  │ ⎜ 2    ⎟⎬
⎪  │ ⎝x     ⎠⎪
⎩  │         ⎭z                        1      
{x | x in (-oo, oo) and -- > 0}
                         2     
                        x      u   ⎧  │         ⎛1     ⎞⎫
⎪x │ x ∊ ℝ ∧ ⎜── > 0⎟⎪
⎨  │         ⎜ 2    ⎟⎬
⎪  │         ⎝x     ⎠⎪
⎩  │                 ⎭NrX  )r   r   rK  r   rr   r   Realsr   rK   rN   r-   r4   )rN  rO  condsets      r   test_pretty_ConditionSetrD    s(   5I4I,q"SVQ-9:iGGG<2c!fa=!'':;yHHH,q(1agg"F	RSUVZ____<8Aqww#GSTVW[````,q#a!eQV"4i1a6HIJjXXX<3q1ua"f#5yAq7IJKuTTT,q"QUAF"3Yq!_EF%OOO<2a!eQV#4i1oFG5PPP1a1fqj)GI
I '?i'''7y(((1a1fqj!''2G#I
 I '?i'''7y(((r   c                     ^ RI Hp  V ! \        ^^4      \        ^^4      ,          4      pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q hV ! \        ^ ^4      \        ^ ^\
        ,          4      ,          RR7      pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q hV ! \        ^^\        ^,          ,          4      \        ^^4      ,          4      pRpR	p\        V4      V8X  g   Q h\	        V4      V8X  g   Q hV ! \        ^ ^\        ^,          ,          4      \        ^ ^\
        ,          4      ,          RR7      pR
pRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q hR# )r   )ComplexRegionz#{x + y*I | x, y in [3, 5] x [4, 6]}u+   {x + y⋅ⅈ │ x, y ∊ [3, 5] × [4, 6]}T)polarz@{r*(I*sin(theta) + cos(theta)) | r, theta in [0, 1] x [0, 2*pi)}uC   {r⋅(ⅈ⋅sin(θ) + cos(θ)) │ r, θ ∊ [0, 1] × [0, 2⋅π)}z                       1            
{x + y*I | x, y in [3, --] x [4, 6]}
                        2           
                       a            u   ⎧        │        ⎡   1 ⎤         ⎫
⎪x + y⋅ⅈ │ x, y ∊ ⎢3, ──⎥ × [4, 6]⎪
⎨        │        ⎢    2⎥         ⎬
⎪        │        ⎣   a ⎦         ⎪
⎩        │                        ⎭a                                                   1               
{r*(I*sin(theta) + cos(theta)) | r, theta in [0, --] x [0, 2*pi)}
                                                  2              
                                                 a               uD  ⎧                      │        ⎡   1 ⎤           ⎫
⎪r⋅(ⅈ⋅sin(θ) + cos(θ)) │ r, θ ∊ ⎢0, ──⎥ × [0, 2⋅π)⎪
⎨                      │        ⎢    2⎥           ⎬
⎪                      │        ⎣   a ⎦           ⎪
⎩                      │                          ⎭N)sympy.sets.fancysetsrF  rP   r   r   r   rZ  )rF  cregionrN  rO  s       r   test_pretty_ComplexRegionrJ  :  sZ   2HQN8Aq>9:G5I=I'?i'''7y(((HQN8Aqt+<<DIGRIUI'?i'''7y(((HQ!Q$/A>?G(I
-I '?i'''7y(((HQ!Q$/AbD0AANGEI
=I '?i'''7y(((r   c                      \        ^^4      \        ^^4      rRpRp\        \        W4      4      V8X  g   Q h\        \        W4      4      V8X  g   Q hR# )rf  u   [2, 3] ∪ [4, 7]z[2, 3] U [4, 7]N)rP   r   rQ   r   )rZ  r[  rO  rN  s       r   test_pretty_Union_issue_10414rL  g  sM    Aq>8Aq>q#I!I5;9,,,%+)+++r   c                      \        R 4      w  rr#\        W4      \        W#4      rTRpRp\        \        WE4      4      V8X  g   Q h\	        \        WE4      4      V8X  g   Q hR# )z
x, y, z, wu   [x, y] ∩ [z, w]z[x, y] n [z, w]N)r   rP   r   rO   r   )rK  rL  rY  r  rZ  r[  rO  rN  s           r   $test_pretty_Intersection_issue_10414rN  o  sY    &JA!A>8A>q#I!I<%&)333,q$%222r   c                      R p \        \        ^ ^4      ^,          4      V 8X  g   Q hRp \        \        ^ ^4      ^,          4      V 8X  g   Q hR# )z      1
[0, 1] z      2
[0, 1] N)r   rP   )rO  s    r   test_ProductSet_exponentrP  x  sH    "I8Aq>1$%222"I8Aq>1$%222r   c            
          R p \        ^^4      \        ^^4      r!\        \        W,          V\        ^^4      ,          4      4      V 8X  g   Q hR# )u)   ([4, 7] × {1, 2}) ∪ ([2, 3] × [4, 7])N)rP   r   rQ   rN   )rO  rZ  r[  s      r   test_ProductSet_parenthesisrR    sA    ;IAq>8Aq>q5a	!Q/01Y>>>r   c                      R p Rp\        ^^4      \        ^^4      r2\        W#,          4      V 8X  g   Q h\        W#,          4      V8X  g   Q hR# )z[2, 3] x [4, 7]u   [2, 3] × [4, 7]N)rP   r   r   )rN  rO  rZ  r[  s       r   %test_ProductSet_prod_char_issue_10413rT    sG    !I"IAq>8Aq>q!#;)###13<9$$$r   c                    a
 \        \        ^,          ^ \        34      p \        R4      pRpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q hRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q h\        \        ^,          R4      p\        RR4      pRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q hRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q h\        \        ^,          \        ) ^ 34      p\        R\        ) ^ 34      pRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q hR	pR
p\	        V4      V8X  g   Q h\        V4      V8X  g   Q hRpRp\	        \        W4      4      V8X  g   Q h\        \        W4      4      V8X  g   Q hRpRp\	        \        WE4      4      V8X  g   Q h\        \        WE4      4      V8X  g   Q hRpRp\	        \        Wg4      4      V8X  g   Q h\        \        Wg4      4      V8X  g   Q hRpRp\	        \        W4      4      V8X  g   Q h\        \        W4      4      V8X  g   Q hRpRp\	        \        WE4      4      V8X  g   Q h\        \        WE4      4      V8X  g   Q hRpRp\	        \        Wg4      4      V8X  g   Q h\        \        Wg4      4      V8X  g   Q h\        \        ^,          \        ^ \        34      o
\        \        V
3R l4       \        \        V
3R l4       \        R4      p\        V\        ^,          ,          \        ^ ^34      p	RpRp\	        V	4      V8X  g   Q h\        V	4      V8X  g   Q hR# )rf  z[0, 1, 4, 9, ...]u   [0, 1, 4, 9, …]z[1, 2, 1, 2, ...]u   [1, 2, 1, 2, …]z	[0, 1, 4]z	[1, 2, 1]z[..., 9, 4, 1, 0]u   […, 9, 4, 1, 0]z[..., 2, 1, 2, 1]u   […, 2, 1, 2, 1]z[1, 3, 5, 11, ...]u   [1, 3, 5, 11, …]z	[1, 3, 5]z[..., 11, 5, 3, 1]u   […, 11, 5, 3, 1]z[0, 2, 4, 18, ...]u   [0, 2, 4, 18, …]z	[0, 2, 4]z[..., 18, 4, 2, 0]u   […, 18, 4, 2, 0]c                     < \        S 4      # Nr   s7s   r   r  'test_pretty_sequences.<locals>.<lambda>  s	    r
r   c                     < \        S 4      # rW  )r   rX  s   r   r  rZ    s	    r   r[  z[0, b, 4*b]u   [0, b, 4⋅b]Nr  r   rf  )rH   rZ  r   rJ   r   r   rG   rI   rK  r   NotImplementedErrorr   )r0  r1  rN  rO  s3s4s5s6r[  s8rY  s             @r   test_pretty_sequencesrc    sI   	AqD1b'	"B	B#I#I":"""2;)####I#I":"""2;)###	AqD&	!B		BII":"""2;)###II":"""2;)###	AqDB3(	#B	"a	!B#I#I":"""2;)####I#I":"""2;)###$I$I&.!Y...6">"i///II&.!Y...6">"i///$I$I&.!Y...6">"i///$I$I&.!Y...6">"i///II&.!Y...6">"i///$I$I&.!Y...6">"i/// 
AqD1a)	$B
 23
 34sA	AadFQ1I	&BII":"""2;)###r   c                      \        \        \        \        ) \        34      p R pRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR# )zt                      2*sin(3*x)      
2*sin(x) - sin(2*x) + ---------- + ...
                          3           u                         2⋅sin(3⋅x)    
2⋅sin(x) - sin(2⋅x) + ────────── + …
                          3         N)rD   rK  r   r   r   r   rN  rO  s      r   test_pretty_FourierSeriesrf    sP    q1rc2,'A   !9	!!!1:"""r   c                      \        \        ^\        ,           4      4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR# )r:  z oo              
____             
\   `            
 \         -k  k 
  \   -(-1)  *x  
  /   -----------
 /         k     
/___,            
k = 1            u    ∞               
____             
╲                
 ╲         -k  k 
  ╲   -(-1)  ⋅x  
  ╱   ───────────
 ╱         k     
╱                
‾‾‾‾             
k = 1            N)rC   rp   rK  r   r   re  s      r   test_pretty_FormalPowerSeriesrh     sM    CAJA
   !9	!!!1:"""r   c            	         \        \        \        \        4      p R pRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        ^,          \        ^ 4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        ^\        ,          \        ^ 4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      \        ,          \        ^ 4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      \        ,          \        ^ R4      p R	pR
p\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        \        4      ,           \        ^ 4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        ^ 4      ^,          p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        \        ^,          \        ^ 4      ,          \        ^ 4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h^\        \        \        \        ^,          \        ^ 4      ,          \        ^ 4      ,          p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        \        \        4      \        ^ RR7      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR# )z lim x
x->oo u   lim x
x─→∞ z      2
 lim x 
x->0+  u         2
 lim x 
x─→0⁺  z     1
 lim -
x->0+xu        1
 lim ─
x─→0⁺xz)     /sin(x)\
 lim |------|
x->0+\  x   /uG        ⎛sin(x)⎞
 lim ⎜──────⎟
x─→0⁺⎝  x   ⎠-z)     /sin(x)\
 lim |------|
x->0-\  x   /uG        ⎛sin(x)⎞
 lim ⎜──────⎟
x─→0⁻⎝  x   ⎠z# lim (x + sin(x))
x->0+            u)    lim (x + sin(x))
x─→0⁺            z        2
/ lim x\ 
\x->0+ / u+           2
⎛ lim x⎞ 
⎝x─→0⁺ ⎠ z5     /       /y\\
 lim |x* lim |-||
x->0+\  y->0+\2//u]        ⎛       ⎛y⎞⎞
 lim ⎜x⋅ lim ⎜─⎟⎟
x─→0⁺⎝  y─→0⁺⎝2⎠⎠z;       /       /y\\
2* lim |x* lim |-||
  x->0+\  y->0+\2//ue          ⎛       ⎛y⎞⎞
2⋅ lim ⎜x⋅ lim ⎜─⎟⎟
  x─→0⁺⎝  y─→0⁺⎝2⎠⎠z+-)dirzlim sin(x)
x->0      u   lim sin(x)
x─→0      N)rE   rK  r   r   r   rr   rL  r\  s      r   test_pretty_limitsrl  #  s$   Ar?D  
 $<9$$$4=I%%%Aq!D   $<9$$$4=I%%%1aD   $<9$$$4=I%%%Q1a D   $<9$$$4=I%%%Q1a%D   $<9$$$4=I%%%SVQ"D  
 $<9$$$4=I%%%Aq>1D   $<9$$$4=I%%%51Qq>!1a(D   $<9$$$4=I%%%U1U1Q3q^#Q**D   $<9$$$4=I%%%QA4(D   $<9$$$4=I%%%r   c                      \        \        ^,          ^\        ,          ,           ^,
          ^ 4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )rc  z3       / 5              \
CRootOf\x  + 11*x - 2, 0/u=          ⎛ 5              ⎞
CRootOf⎝x  + 11⋅x - 2, 0⎠N)rB   rK  r   r   r\  s      r   test_pretty_ComplexRootOfrn    sX    !Q$A+/1%D   $<9$$$4=I%%%r   c            	         \        \        ^,          ^\        ,          ,           ^,
          RR7      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        ^,          ^\        ,          ,           ^,
          \	        \
        \        \
        4      4      4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )rc  F)autoz-       / 5           \
RootSum\x  + 11*x - 2/u7          ⎛ 5           ⎞
RootSum⎝x  + 11⋅x - 2⎠z?       / 5                   z\
RootSum\x  + 11*x - 2, z -> e /uK          ⎛ 5                  z⎞
RootSum⎝x  + 11⋅x - 2, z ↦ ℯ ⎠N)rA   rK  r   r   r   rY  ri   r\  s      r   test_pretty_RootSumrq    s    1a4"Q$;?/D   $<9$$$4=I%%%1a4"Q$;?F1c!f$56D   $<9$$$4=I%%%r   c                  4   \        . \        \        4      p R pRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q h\        ^,          ^\        ,          ,
          \        ,
          ^,           \        ^,          ^\        ,          ,
          \        ,           ^,
          .p\        V\        \        RR7      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hV P                  R4      p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hR	# )
z-GroebnerBasis([], x, y, domain=ZZ, order=lex)u.   GroebnerBasis([], x, y, domain=ℤ, order=lex)r>   rh  z             /[ 2                 2              ]                              \
GroebnerBasis\[x  - x - 3*y + 1, y  - 2*x + y - 1], x, y, domain=ZZ, order=grlex/u                ⎛⎡ 2                 2              ⎤                             ⎞
GroebnerBasis⎝⎣x  - x - 3⋅y + 1, y  - 2⋅x + y - 1⎦, x, y, domain=ℤ, order=grlex⎠rg  z             /[       2           4      3      2           ]                            \
GroebnerBasis\[2*x - y  - y + 1, y  + 2*y  - 3*y  - 16*y + 7], x, y, domain=ZZ, order=lex/u                ⎛⎡       2           4      3      2           ⎤                           ⎞
GroebnerBasis⎝⎣2⋅x - y  - y + 1, y  + 2⋅y  - 3⋅y  - 16⋅y + 7⎦, x, y, domain=ℤ, order=lex⎠N)r@   rK  rL  r   r   fglm)r   rN  rO  Fs       r   test_GroebnerBasisru    s   B1D 
 
 $<9$$$4=I%%%	
A!a!	QTAaCZ!^a/0AAq!7+D   $<9$$$4=I%%%99UD   $<9$$$4=I%%%r   c                      \        \        P                  4      R 8X  g   Q h\        \        P                  4      R8X  g   Q hR# )UniversalSetu   𝕌N)r   r   rw  r   r   r   r   test_pretty_UniversalSetrx  "  s0    !..!^3331>>"f,,,r   c                  F   \        \        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\	        \        \
        4      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        4      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        R4      p\	        V!  p \        V 4      R	8X  g   Q h\        V 4      R
8X  g   Q h\        V!  p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \
        \        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        \
        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \
        \        R R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q hR# )Fr<  zNot(x)u   ¬xz	And(x, y)u   x ∧ yzOr(x, y)u   x ∨ yza:fzAnd(a, b, c, d, e, f)u   a ∧ b ∧ c ∧ d ∧ e ∧ fzOr(a, b, c, d, e, f)u   a ∨ b ∨ c ∨ d ∨ e ∨ fz	Xor(x, y)u   x ⊻ yz
Nand(x, y)u   x ⊼ yz	Nor(x, y)u   x ⊽ yzImplies(x, y)u   x → yzImplies(y, x)u   y → xzEquivalent(x, y)   x ⇔ yN)r3   rK  r   r   r-   rL  r4   r   r5   r1   r2   r0   r.   )r   symss     r   test_pretty_Booleanr|  '  sY   q5!D$<8###4=E!!!q!9D$<;&&&4=I%%%a8D$<:%%%4=I%%%5>D:D$<22224=====t9D$<11114=====q!e$D$<;&&&4=I%%%1u%D$<<'''4=I%%%q!e$D$<;&&&4=I%%%1a%(D$<?***4=I%%% 1a%(D$<?***4=I%%%aU+D$<----4=I%%%aU+D$<----4=I%%%r   c                  f   \        ^4      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\
        p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        \        ,          p \        V 4      R	8X  g   Q h\        V 4      R
8X  g   Q h\        \        \        3,          p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        P                  ! \        4      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        P                  ! \        \        4      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        P                  ! \        \        \        R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        P                  ! \        \        \        R7      p \        V 4      R8X  g   Q h\        V 4      R8X  g   Q hR# )   zGF(23)u	   ℤ₂₃r;   u   ℤr<   u   ℚr=   u   ℝzQQ[x]u   ℚ[x]zQQ[x, y]u	   ℚ[x, y]zZZ(x)u   ℤ(x)zZZ(x, y)u	   ℤ(x, y)rh  zQQ[x, y, order=grlex]u   ℚ[x, y, order=grlex]zQQ[x, y, order=ilex]u   ℚ[x, y, order=ilex]N)r:   r   r   r;   r<   r=   rK  rL  
frac_field	poly_ringr>   r?   r`  s    r   test_pretty_Domainr  g  s   b6D$<8###4=K'''D$<44=E!!!D$<44=E!!!D$<44=E!!!a5D$<7"""4=H$$$ad8D$<:%%%4=K'''==D$<7"""4=H$$$==AD$<:%%%4=K'''<<1E*D$<22224=4444<<1D)D$<11114=3333r   c                     \        \        R 4      RRR7      R8X  g   Q h\        \        R 4      RRR7      R8X  g   Q h\        \        R 4      RRR7      R 8X  g   Q h\        \        R 4      \        ,          RRRR7      R9   g   Q h\        \        R 4      \        ,          RRRR7      R	9   g   Q h\        \        R 4      \        ,          RRRR7      R	9   g   Q hR# )
z0.3TF)	full_precr   z0.300000000000000rp  )r  r   r   N)z0.300000000000000*xzx*0.300000000000000)z0.3*xzx*0.3)r   r   rK  r   r   r   test_pretty_precr    s    1U8tu=ATTTT1U8v?CVVVV1U8u>%GGG1U8A:5ER W    1U8A:UeT Y    1U8A:EUS X   r   c                      ^ RI p ^ RIHp V! 4       pV P                  pW n         \	        \
        RRR7       W0n        VP                  4       R8X  g   Q hR#   Y0n        i ; i)r   N)StringIOF)r   r   zpi
)sysior  stdoutr   r   getvalue)r  r  fdssos       r   test_pprintr    sP    	B
**CJru6
;;=F""" 
s   A Ac                      ! R R4      p  ! R R4      p\        V 4      \        V 4      8X  g   Q h\        V4      \        V4      8X  g   Q hR# )z;Test that the printer dispatcher correctly handles classes.c                       ] tR tRtRtR# )test_pretty_class.<locals>.Ci  r   Nr   r   r   r   r  r        r   r  c                       ] tR tRtRtR# )test_pretty_class.<locals>.Di  r   Nr   r   r   r   r  r    r  r   r  N)r   rl  )r  r  s     r   test_pretty_classr    sD       1;#q("""1;#q("""r   c                      ^ p \        ^4       F&  pW\        V\        ,           4      ,          ,          p K(  	  \        V 4      P	                  R4      R8w  g   Q h\        V RR7      P	                  R4      R8X  g   Q hR# )r   
F)r   NrX  )r4  rr   rK  r   find)	huge_exprr  s     r   test_pretty_no_wrap_liner    sg    I2Ys1q5z\!	 9)..t4:::9.33D9R???r   c                  (    \        \        R  4       R# )c                  .    \        \        ^4      RR7      # )r  garbage)method)r   r   r   r   r   r  test_settings.<locals>.<lambda>  s    fQqT)<r   N)r   	TypeErrorr   r   r   test_settingsr    s    
9<=r   c                     ^ RI Hp HpHpHpHpHp \        W3,          V^ V34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        W3,          V\        V34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V\        W,          V \        ) \        34      ,          V^ WU,          34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V\        W,          V \        ) \        34      ,          V^ \        W ,          V \        ) \        34      34      pRpR	p\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V\        W,          V \        ) \        34      ,          W0V,           V ^,          ,           V^,          ,           W,          ,           ^V ,          ,           \        W ,          V \        ) \        34      34      pR
pRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V\        W,          V \        ) \        34      ,          V^ W,           V ^,          ,           V^,          ,           W,          ,           ^V ,          ,           34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        W ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V ^,          V ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V ^,          V ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V ^,          ^,          V ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V ^,          \        V ^,          ,          ,          V,          V ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        ^V ^,          ,          V ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        ^\        W,          ,          ,          V ^ \        34      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q h\        ^\        W,          ,          ,          V ^ \        3\        ^^34      pRpRp\        ^^^^^V,          ,           ,          ,           ,          ^,           V^o^^V,          ,           3V^^V,           ,          \        34      ^^^V,          ,           ,          ,           pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR # )!r   )rK  rZ  r[  r  r  r|  z> n      
___     
\  `    
 \     k
 /    k 
/__,    
k = 0   uU     n     
 ___    
 ╲      
  ╲    k
  ╱   k 
 ╱      
 ‾‾‾    
k = 0   zE  n      
 ___     
 \  `    
  \     k
  /    k 
 /__,    
k = oo   uW     n     
 ___    
 ╲      
  ╲    k
  ╱   k 
 ╱      
 ‾‾‾    
k = ∞   a     n              
  n               
______            
\     `           
 \        oo      
  \        /      
   \      |       
    \     |   n   
     )    |  x  dx
    /     |       
   /     /        
  /      -oo      
 /      k         
/_____,           
 k = 0            u*     n            
  n             
______          
╲               
 ╲              
  ╲     ∞       
   ╲    ⌠       
    ╲   ⎮   n   
    ╱   ⎮  x  dx
   ╱    ⌡       
  ╱     -∞      
 ╱     k        
╱               
‾‾‾‾‾‾          
k = 0           a   oo                 
  /                 
 |                  
 |   x              
 |  x  dx           
 |                  
/                   
-oo                 
 ______             
 \     `            
  \         oo      
   \         /      
    \       |       
     \      |   n   
      )     |  x  dx
     /      |       
    /      /        
   /       -oo      
  /       k         
 /_____,            
  k = 0             u  ∞                 
⌠                 
⎮   x             
⎮  x  dx          
⌡                 
-∞                
 ______           
 ╲                
  ╲               
   ╲      ∞       
    ╲     ⌠       
     ╲    ⎮   n   
     ╱    ⎮  x  dx
    ╱     ⌡       
   ╱      -∞      
  ╱      k        
 ╱                
 ‾‾‾‾‾‾           
 k = 0            a            oo                          
           /                          
          |                           
          |   x                       
          |  x  dx                    
          |                           
         /                            
         -oo                          
          ______                      
          \     `                     
           \                  oo      
            \                  /      
             \                |       
              \               |   n   
               )              |  x  dx
              /               |       
             /               /        
            /                -oo      
           /                k         
          /_____,                     
     2        2       1   x           
k = n  + n + x  + x + - + -           
                      x   n           uY           ∞                           
         ⌠                           
         ⎮   x                       
         ⎮  x  dx                    
         ⌡                           
         -∞                          
          ______                     
          ╲                          
           ╲                         
            ╲                ∞       
             ╲               ⌠       
              ╲              ⎮   n   
              ╱              ⎮  x  dx
             ╱               ⌡       
            ╱                -∞      
           ╱                k        
          ╱                          
          ‾‾‾‾‾‾                     
     2        2       1   x          
k = n  + n + x  + x + ─ + ─          
                      x   n          a/   2        2       1   x           
n  + n + x  + x + - + -           
                  x   n           
        ______                    
        \     `                   
         \                oo      
          \                /      
           \              |       
            \             |   n   
             )            |  x  dx
            /             |       
           /             /        
          /              -oo      
         /              k         
        /_____,                   
         k = 0                    uO   2        2       1   x          
n  + n + x  + x + ─ + ─          
                  x   n          
        ______                   
        ╲                        
         ╲                       
          ╲              ∞       
           ╲             ⌠       
            ╲            ⎮   n   
            ╱            ⎮  x  dx
           ╱             ⌡       
          ╱              -∞      
         ╱              k        
        ╱                        
        ‾‾‾‾‾‾                   
         k = 0                   z/ oo    
 __    
 \ `   
  )   x
 /_,   
x = 0  uO     ∞    
 ___   
 ╲     
  ╲    
  ╱   x
 ╱     
 ‾‾‾   
x = 0  z> oo     
___     
\  `    
 \     2
 /    x 
/__,    
x = 0   uW     ∞     
 ___    
 ╲      
  ╲    2
  ╱   x 
 ╱      
 ‾‾‾    
x = 0   z? oo    
___    
\  `   
 \    x
  )   -
 /    2
/__,   
x = 0  ug    ∞     
____   
╲      
 ╲     
  ╲   x
  ╱   ─
 ╱    2
╱      
‾‾‾‾   
x = 0  zP oo     
____    
\   `   
 \     3
  \   x 
  /   --
 /    2 
/___,   
x = 0   us    ∞      
____    
╲       
 ╲     3
  ╲   x 
  ╱   ──
 ╱    2 
╱       
‾‾‾‾    
x = 0   z oo           
____          
\   `         
 \           n
  \   /    x\ 
   )  |    -| 
  /   | 3  2| 
 /    \x *y / 
/___,         
x = 0         u     ∞           
_____         
╲             
 ╲            
  ╲          n
   ╲  ⎛    x⎞ 
   ╱  ⎜    ─⎟ 
  ╱   ⎜ 3  2⎟ 
 ╱    ⎝x ⋅y ⎠ 
╱             
‾‾‾‾‾         
x = 0         zP oo     
____    
\   `   
 \    1 
  \   --
  /    2
 /    x 
/___,   
x = 0   us    ∞      
____    
╲       
 ╲    1 
  ╲   ──
  ╱    2
 ╱    x 
╱       
‾‾‾‾    
x = 0   zb oo       
____      
\   `     
 \     -a 
  \    ---
  /     b 
 /    y   
/___,     
x = 0     u    ∞        
____      
╲         
 ╲     -a 
  ╲    ───
  ╱     b 
 ╱    y   
╱         
‾‾‾‾      
x = 0     z  2     oo     
____  ____     
\   ` \   `    
 \     \     -a
  \     \    --
  /     /    b 
 /     /    y  
/___, /___,    
y = 1 x = 0    u     2     ∞      
____  ____     
╲     ╲        
 ╲     ╲     -a
  ╲     ╲    ──
  ╱     ╱    b 
 ╱     ╱    y  
╱     ╱        
‾‾‾‾  ‾‾‾‾     
y = 1 x = 0    a                1                          
          1 + -                          
   oo         n                          
 _____    _____                          
 \    `   \    `                         
  \        \      /        1    \        
   \        \     |1 + ---------|        
    \        \    |          1  |     1  
     )        )   |    1 + -----| + -----
    /        /    |            1|       1
   /        /     |        1 + -|   1 + -
  /        /      \            k/       k
 /____,   /____,                         
      1   k = 111                        
k = -----                                
    m + 1                                u                1                          
          1 + ─                          
   ∞          n                          
 ______   ______                         
 ╲        ╲                              
  ╲        ╲                             
   ╲        ╲     ⎛        1    ⎞        
    ╲        ╲    ⎜1 + ─────────⎟        
     ╲        ╲   ⎜          1  ⎟     1  
     ╱        ╱   ⎜    1 + ─────⎟ + ─────
    ╱        ╱    ⎜            1⎟       1
   ╱        ╱     ⎜        1 + ─⎟   1 + ─
  ╱        ╱      ⎝            k⎠       k
 ╱        ╱                              
 ‾‾‾‾‾‾   ‾‾‾‾‾‾                         
      1   k = 111                        
k = ─────                                
    m + 1                                N)	sympy.abcrK  rZ  r[  r  r  r|  r   r   r   r   r,   rL  )	rK  rZ  r[  r  r  r|  r   rN  rO  s	            r   test_pretty_sumr    s   **qtaAYD 	  $<9$$$4=I%%%qtaQZ D 	  $<9$$$4=I%%%q8AD1rc2,/01a,?D & $ $<9$$$4=I%%%qB3|$&()1hqta"b\.J'KMD 2 , $<9$$$4=I%%%q8AD1rc2,/0	q51a4<!Q$!#&!A#.B3|0L3N OD 6 0 $<9$$$4=I%%%qB3|$&()1aeadlQT.AQS.IQqS.Q'RTD ( & $<9$$$4=I%%%qa*D 	  $<9$$$4=I%%%q!taBZ D 	  $<9$$$4=I%%%qsQ2JD	   $<9$$$4=I%%%q!tAv1bz"D
   $<9$$$4=I%%%1Q1X!Aq":.D    $<9$$$4=I%%%qAv1bz"D
   $<9$$$4=I%%%qQSzAq":&D
   $<9$$$4=I%%%qQSzAq":1ay1D
   q!a	AaC  3AaC(1aQi*<>@A1qs7LD ( , $<9$$$4=I%%%r   c                     \         p R pRpRpRp^ RIHpHpHp \        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\        V P                  WV^,          ,          V^,          ,          4      4      V8X  g   Q h\        V P                  WV^,          ,          V^,          ,          4      4      V8X  g   Q h\        ^V,          \        ,          V^,          ,          \        ,          V^,          ,          4      V8X  g   Q h\        ^V,          \        ,          V^,          ,          \        ,          V^,          ,          4      V8X  g   Q hR# )zO              2
kilogram*meter 
---------------
          2    
    second     uo                 2
kilogram⋅meter 
───────────────
          2    
    second     zm                    2
3*x*y*kilogram*meter 
---------------------
             2       
       second        u                       2
3⋅x⋅y⋅kilogram⋅meter 
─────────────────────
             2       
       second        )kgr  r  r   N)
r   sympy.physics.unitsr  r  r  r   r   
convert_torK  rL  )r   
ascii_str1unicode_str1
ascii_str2unicode_str2r  r  r  s           r   
test_unitsr    s   D     -,4=G###$<7"""4??2d71a4<01\AAA$//"T'!Q$,/0J>>>1R46!Q$;q=A%&,666!B$q&A+a-1$%333r   c            	      J   \        R 4      p \        V ! \        4      \        \        ^,          4      pRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V ! \        4      P                  \        4      \        ^ 4      pRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q h\        V ! \        4      P                  \        4      \        ,          \        \        3^ \        ^^4      34      pRpRp\	        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )r   z(f(x))|     2
      |x=phi u   (f(x))│   2
      │x=φ z,/d       \|   
|--(f(x))||   
\dx      /|x=0uB   ⎛d       ⎞│   
⎜──(f(x))⎟│   
⎝dx      ⎠│x=0zm/d       \|          
|--(f(x))||          
|dx      ||          
|--------||          
\   y    /|x=0, y=1/2u   ⎛d       ⎞│          
⎜──(f(x))⎟│          
⎜dx      ⎟│          
⎜────────⎟│          
⎝   y    ⎠│x=0, y=1/2N)	r
   r   rK  r  r   r   r  rL  r   )r   r   rN  r  s       r   test_pretty_Subsr    s   A!aQD   $<9$$$4=K'''!		!a#D   $<9$$$4=K'''!		!QAHQN(;<D   $<9$$$4=K'''r   c                     \        \        \        \        4      4      R 8X  g   Q h\        \	        \        \        4      4      R8X  g   Q h\        \        \        4      RR7      R8X  g   Q h\        \        RR7      R8X  g   Q h\        \        R\        R7      ! \        4      RR7      R8X  g   Q h\        \        R\        R7      RR7      R	8X  g   Q hR
# )u   γ(x, y)u   Γ(x, y)Tr4  u   Γ(x)u   Γrn   r  u   γ(x)rk  N)	r   r   rK  rL  rv   r   rn   r   r
   r   r   r   test_gammasr  =  s    :a#$
222:a#$
22258.'9995d+t333771!4$G7RRR771tDLLLr   c                     \        \        \        \        4      R R7      R8X  g   Q h\        \        \        \        4      RR7      R8X  g   Q h\        \        R R7      R8X  g   Q h\        \        RR7      R8X  g   Q h\	        R4      p \        V ! \        4      R R7      R8X  g   Q h\        V ! \        \        \
        4      RR7      R	8X  g   Q h\        V R R7      R
8X  g   Q hR# )Tr4  u   Β(x, y)FzB(x, y)u   Βr  rc   u   β(x)zbeta(x, y, z)r   N)r   rc   rK  rL  r
   rY  )mybetas    r   	test_betar  F  s    4!9$/:===4!9%0I===4T*d2224U+s222fF6!9$/7:::6!Q?6/III6t,444r   c                       ! R  R\         4      p \        V RR7      R8X  g   Q h\        V ! \        4      RR7      R8X  g   Q hR# )c                       ] tR tRtRtR# )6test_function_subclass_different_name.<locals>.mygammaiS  r   Nr   r   r   r   mygammar  S  r  r   r  Tr4  z
mygamma(x)N)rn   r   rK  )r  s    r   %test_function_subclass_different_namer  R  s<    % 7-;;;71:40MAAAr   c                  2   \        \        \        ^ \        4      RR7      R8X  g   Q h\        \        \        ^\        4      RR7      R8X  g   Q h\        \        \        R
\        4      RR7      R8X  g   Q h\        \        \        \        \        4      RR7      R8X  g   Q h\        \        \        \
        \        4      RR7      R8X  g   Q h\        \        \        ^ \        4      RR7      R8X  g   Q h\        \        \        ^\        4      RR7      R8X  g   Q h\        \        \        R
\        4      RR7      R8X  g   Q h\        \        \        \        \        4      RR7      R8X  g   Q h\        \        \        \
        \        4      RR7      R8X  g   Q hR	# )r   Tr4  z	   n
<x> z       n
<x - 1> z       n
<x + 1> z        n
<-a + x> z       n
<x - y> FNrX  )r   r(   rK  r|  rZ  rL  r   r   r   test_SingularityFunctionr  Y  s   &q!Q/TB  
 &q!Q/TB  
 &q"a0dC  
 &q!Q/TB  
 &q!Q/TB  
 &q!Q/UC  
 &q!Q/UC  
 &q"a0eD  
 &q!Q/UC  
 &q!Q/UC  r   c                      \        \        \        4      R R7      R8X  g   Q h\        \        \        ^4      R R7      R8X  g   Q h\        \        \        \        ^4      ,          R R7      R8X  g   Q hR# )Tr4  u   δ(x)u    (1)    
δ    (x)u      (1)    
x⋅δ    (x)N)r   r}   rK  r   r   r   test_deltasr    sl    :a=d3w>>>:a#6  
 1Z1%%48  r   c            	         \        RR\        4      p R pRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        RR\        4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^.^.\        4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \
        ^,          R\        ,          3R\        4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \
        \        R4      R\        ,          3R\        ^,          4      p R	pR
p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^^.^^.^^^^\        ,          ^,           ,          ^,           ,          ^,           ,          4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )uB    ┌─  ⎛  │  ⎞
 ├─  ⎜  │ z⎟
0╵ 0 ⎝  │  ⎠z3  _         
 |_  /  |  \
 |   |  | z|
0  0 \  |  /uB    ┌─  ⎛  │  ⎞
 ├─  ⎜  │ x⎟
0╵ 1 ⎝1 │  ⎠z3  _         
 |_  /  |  \
 |   |  | x|
0  1 \1 |  /uB    ┌─  ⎛2 │  ⎞
 ├─  ⎜  │ x⎟
1╵ 1 ⎝1 │  ⎠z3  _         
 |_  /2 |  \
 |   |  | x|
1  1 \1 |  /u        ⎛  π         │  ⎞
 ┌─  ⎜  ─, -2⋅k   │  ⎟
 ├─  ⎜  3         │ x⎟
2╵ 4 ⎜            │  ⎟
     ⎝-3, 3, 4, 5 │  ⎠z                      
  _  / pi         |  \
 |_  | --, -2*k   |  |
 |   | 3          | x|
2  4 |            |  |
     \-3, 3, 4, 5 |  /z2/3ui    ┌─  ⎛2/3, π, -2⋅k │  2⎞
 ├─  ⎜             │ x ⎟
3╵ 4 ⎝-3, 3, 4, 5  │   ⎠zg  _                      
 |_  /2/3, pi, -2*k |  2\
 |   |              | x |
3  4 \ -3, 3, 4, 5  |   /us       ⎛     │       1      ⎞
     ⎜     │ ─────────────⎟
     ⎜     │         1    ⎟
 ┌─  ⎜1, 2 │ 1 + ─────────⎟
 ├─  ⎜     │           1  ⎟
2╵ 2 ⎜3, 4 │     1 + ─────⎟
     ⎜     │             1⎟
     ⎜     │         1 + ─⎟
     ⎝     │             x⎠a                             
     /     |       1      \
     |     | -------------|
  _  |     |         1    |
 |_  |1, 2 | 1 + ---------|
 |   |     |           1  |
2  2 |3, 4 |     1 + -----|
     |     |             1|
     |     |         1 + -|
     \     |             x/Nr   )r:  rI  )r  r  rc  )ro   rY  r   r   rK  r   r  r   r   rO  rN  s      r   
test_hyperr    s   RD   $<9$$$4=I%%%T1D   $<9$$$4=I%%%!qc1D   $<9$$$4=I%%%"Q$1}a0D   $<9$$$4=I%%%"ah1%}ad;D   $<9$$$4=I%%%!Q!QAq!A#'{Q$7!$;!<=D
   $<9$$$4=I%%%r   c                  2   \        \        \        \        .^.^ ^.. RO\        4      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^\        ^,          .^\        ^.. . \        ^,          4      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q hRpRp\        ^.^
,          ^.^.^.\        4      p \	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        ^^.^^.^.^^.^^^^\        ,          ^,           ,          ^,           ,          ^,           ,          4      p RpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        V \        4      p R	pR
p\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )r:  u   ╭─╮2, 3 ⎛π, π, x     1    │  ⎞
│╶┐     ⎜                 │ z⎟
╰─╯4, 5 ⎝ 0, 1    1, 2, 3 │  ⎠zb __2, 3 /pi, pi, x     1    |  \
/__     |                   | z|
\_|4, 5 \  0, 1     1, 2, 3 |  /u           ⎛   π          │   ⎞
╭─╮0, 2 ⎜1, ─  2, 5, π │  2⎟
│╶┐     ⎜   7          │ z ⎟
╰─╯5, 0 ⎜              │   ⎟
        ⎝              │   ⎠z        /   pi           |   \
 __0, 2 |1, --  2, 5, pi |  2|
/__     |   7            | z |
\_|5, 0 |                |   |
        \                |   /u   ╭─╮ 1, 10 ⎛1, 1, 1, 1, 1, 1, 1, 1, 1, 1  1 │  ⎞
│╶┐       ⎜                                │ z⎟
╰─╯11,  2 ⎝             1                1 │  ⎠z __ 1, 10 /1, 1, 1, 1, 1, 1, 1, 1, 1, 1  1 |  \
/__       |                                | z|
\_|11,  2 \             1                1 |  /u          ⎛           │       1      ⎞
        ⎜           │ ─────────────⎟
        ⎜           │         1    ⎟
╭─╮1, 2 ⎜1, 2  3, 4 │ 1 + ─────────⎟
│╶┐     ⎜           │           1  ⎟
╰─╯4, 3 ⎜ 3    4, 5 │     1 + ─────⎟
        ⎜           │             1⎟
        ⎜           │         1 + ─⎟
        ⎝           │             x⎠aL          /           |       1      \
        |           | -------------|
        |           |         1    |
 __1, 2 |1, 2  3, 4 | 1 + ---------|
/__     |           |           1  |
\_|4, 3 | 3    4, 5 |     1 + -----|
        |           |             1|
        |           |         1 + -|
        \           |             x/uc  ⌠                                        
⎮         ⎛           │       1      ⎞   
⎮         ⎜           │ ─────────────⎟   
⎮         ⎜           │         1    ⎟   
⎮ ╭─╮1, 2 ⎜1, 2  3, 4 │ 1 + ─────────⎟   
⎮ │╶┐     ⎜           │           1  ⎟ dx
⎮ ╰─╯4, 3 ⎜ 3    4, 5 │     1 + ─────⎟   
⎮         ⎜           │             1⎟   
⎮         ⎜           │         1 + ─⎟   
⎮         ⎝           │             x⎠   
⌡                                        a.    /                                       
 |                                        
 |         /           |       1      \   
 |         |           | -------------|   
 |         |           |         1    |   
 |  __1, 2 |1, 2  3, 4 | 1 + ---------|   
 | /__     |           |           1  | dx
 | \_|4, 3 | 3    4, 5 |     1 + -----|   
 |         |           |             1|   
 |         |           |         1 + -|   
 |         \           |             x/   
 |                                        
/                                         Nr  )rq   r   rK  rY  r   r   r,   r  s      r   test_meijergr    s   BA;aVY:D   $<9$$$4=I%%%Ar!t9q"aj"b!Q$7D   $<9$$$4=I%%%   A3r6A3aS!,D$<9$$$4=I%%%Aq8aVaS1a&!Q1Q37a5H15L2MND
 
  $<9$$$4=I%%%D!D   " $<9$$$4=I%%%r   c                  .   \        R RR7      w  rpW,          VR,          ,          pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hVR,          V ,          V,          pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hWR,          ,          V,          pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hWR,          ,          V,          \        ,          pR	pR
p\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )zA,B,CFcommutativez     -1
A*B*C  u        -1
A⋅B⋅C  z -1    
C  *A*Bu    -1    
C  ⋅A⋅Bz   -1  
A*C  *Bu      -1  
A⋅C  ⋅Bz   -1  
A*C  *B
-------
   x   u1      -1  
A⋅C  ⋅B
───────
   x   NrX  )r   r   r   rK  )r  r  r  r   rN  rO  s         r   test_noncommutativer    s<   g51GA!3q"u9D  
 $<9$$$4=I%%%b5719D  
 $<9$$$4=I%%%U719D  
 $<9$$$4=I%%%U719Q;D   $<9$$$4=I%%%r   c                      \        R 4      w  r\        V\        ^4      ,          \        V 4      4      pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q hR# )x yzW     /  ___         \
     |\/ 2 *y    ___|
atan2|-------, \/ x |
     \  20          /uI        ⎛√2⋅y    ⎞
atan2⎜────, √x⎟
     ⎝ 20     ⎠N)r   rb   rs   r   r   r  s        r   test_pretty_special_functionsr    sa    5>DA 49d1g&D   $<9$$$4=I%%%r   c                      \        RR4      p \        V 4      R8X  g   Q h\        RR\        ,          R7      p \        V 4      R8X  g   Q hR# )	r   z'Segment2D(Point2D(0, 1), Point2D(0, 2))gGz@)anglez0Ray2D(Point2D(1, 1), Point2D(2, tan(pi/50) + 1))N)r   r:  r\  )r:  r:  )r+   r   r*   r   )es    r   test_pretty_geometryr    sD    A!9AAAAF$r'"A!9JJJJr   c                     \        \        4      p R p\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\	        ^\
        4      p RpRp\        V 4      V8X  g   Q h\        V 4      V8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q hR# )zEi(x)u   E₁(z)zexpint(1, z)zShi(x)zSi(x)zCi(x)zChi(x)N)
r]   rK  r   r   rj   rY  r`   ra   r\   r[   )r   stringrO  rN  s       r   test_expintr    s   a5DF$<6!!!4=F"""!Q<DII$<9$$$4=I%%%#a&>X%%%"Q%=G###"Q%=G####a&>X%%%3q6?h&&&2a5>W$$$2a5>W$$$3q6?h&&&r   c                  0   R p Rp\        ^\        ^,           ,          4      p\        V4      V 8X  g   Q h\        V4      V8X  g   Q hRp Rp\	        ^^^\        ,           ,          4      p\        V4      V 8X  g   Q h\        V4      V8X  g   Q hRp Rp\        ^\        ^,           ,          4      p\        V4      V 8X  g   Q h\        V4      V8X  g   Q hRp Rp\        ^^^\        ,           ,          4      p\        V4      V 8X  g   Q h\        V4      V8X  g   Q hRp R	p\        ^^\        ,          4      p\        V4      V 8X  g   Q h\        V4      V8X  g   Q hR
p Rp\        ^^\        ,          ^4      p\        V4      V 8X  g   Q h\        V4      V8X  g   Q hR# )z /  1  \
K|-----|
 \z + 1/u0    ⎛  1  ⎞
K⎜─────⎟
 ⎝z + 1⎠z  / |  1  \
F|1|-----|
 \ |z + 1/u<    ⎛ │  1  ⎞
F⎜1│─────⎟
 ⎝ │z + 1⎠z /  1  \
E|-----|
 \z + 1/u0    ⎛  1  ⎞
E⎜─────⎟
 ⎝z + 1⎠z  / |  1  \
E|1|-----|
 \ |z + 1/u<    ⎛ │  1  ⎞
E⎜1│─────⎟
 ⎝ │z + 1⎠z  / |4\
Pi|3|-|
  \ |x/u)    ⎛ │4⎞
Π⎜3│─⎟
 ⎝ │x⎠z   /   4| \
Pi|3; -|6|
  \   x| /u2    ⎛   4│ ⎞
Π⎜3; ─│6⎟
 ⎝   x│ ⎠N)ry   rY  r   r   rz   r{   r|   rK  )rN  rO  r   s      r   test_elliptic_functionsr    s      aQi D$<9$$$4=I%%%   aAE#D$<9$$$4=I%%%   aQi D$<9$$$4=I%%%   aAE#D$<9$$$4=I%%%   q!A#D$<9$$$4=I%%%   q!A#q!D$<9$$$4=I%%%r   c                  .   ^ RI Hp HpHpHpHp V ! R^ ^4      p\        V! V^ 8  4      4      R8X  g   Q hV! R^4      p\        V! V^8  4      4      R8X  g   Q hV! R^4      pV! R^4      p\        V! \        Wx4      4      P                  4      R8X  g   Q hR	# )
r   )r   DieExponentialpspacewherex1u   Domain: 0 < x₁ ∧ x₁ < ∞d1u   Domain: d₁ = 5 ∨ d₁ = 6rZ  r[  u3   Domain: 0 ≤ a ∧ 0 ≤ b ∧ a < ∞ ∧ b < ∞N)	sympy.statsr   r  r  r  r  r   r   domain)	r   r  r  r  r  r  r  r  r  s	            r   test_RandomDomainr  f  s    CCtQA5Q< $EEEED!A5Q< $CCCCCACA6%+&--.=> > >r   c                     \         P                  ! \        \        4      p \         P                  ! \        \        4      pV P                  \        \        \        ,           ,          4      p\        V4      R 8X  g   Q h\        V4      R 8X  g   Q hVP                  \        \        ,           4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hR# )z	x/(x + y)zx + yN)r<   r  rK  rL  r  convertr   r   )rt  Rr   s      r   test_PrettyPolyr  t  s    
aA
QA99QAYD$<;&&&4=K'''99QUD$<7"""4=G###r   c                      \        \        ^RRR7      4      R8X  g   Q h\        \        \        ^\        ,          4      4      R8X  g   Q hR# )rf  Fr<  z1 
--
 5
2 z 1 
 --
 pi
x  NrJ  )r   r   rK  r   r   r   r   test_issue_6285r    sE    #ae,-1AAAA#a!B$.!

 
 
r   c                  P   \        \        \        ^,          \        4      ^,          4      R8X  g   Q h\        \        \        ^,          \        4      ^,          4      R8X  g   Q h\        \	        \        ^,          \        ^ ^34      ^,          4      R8X  g   Q h\        \	        \        ^,          \        ^ ^34      ^,          4      R8X  g   Q h\        \        \        ^,          \        ^^34      ^,          4      R8X  g   Q h\        \        \        ^,          \        ^^34      ^,          4      R8X  g   Q h\        R4      p \        \        V ! \        4      \        4      ^,          4      R8X  g   Q h\        \        V ! \        4      \        4      ^,          4      R	8X  g   Q hR
# )rf  zS          2
/  /     \ 
| |      | 
| |  2   | 
| | x  dx| 
| |      | 
\/       / uN            2
⎛⌠      ⎞ 
⎜⎮  2   ⎟ 
⎜⎮ x  dx⎟ 
⎝⌡      ⎠ z_          2
/ 1      \ 
|___     | 
|\  `    | 
| \     2| 
| /    x | 
|/__,    | 
\x = 0   / u             2
⎛  1     ⎞ 
⎜ ___    ⎟ 
⎜ ╲      ⎟ 
⎜  ╲    2⎟ 
⎜  ╱   x ⎟ 
⎜ ╱      ⎟ 
⎜ ‾‾‾    ⎟ 
⎝x = 0   ⎠ zZ           2
/  2      \ 
|______   | 
| |  |   2| 
| |  |  x | 
| |  |    | 
\x = 1    / u              2
⎛  2      ⎞ 
⎜─┬──┬─   ⎟ 
⎜ │  │   2⎟ 
⎜ │  │  x ⎟ 
⎜ │  │    ⎟ 
⎝x = 1    ⎠ r   z/          2
/d       \ 
|--(f(x))| 
\dx      / u?             2
⎛d       ⎞ 
⎜──(f(x))⎟ 
⎝dx      ⎠ N)r   r,   rK  r   r   r   r
   r	   )r   s    r   test_issue_6359r    s   (1a4#Q&'	 	 	 8AqD!$a'(   #adQ1I&)*	
 
 
 3q!taAY'*+
   '!Q$Aq	*A-.	 	 	 71a4!Q+Q./	 	 	 	A*QqT1%q()   :adA&)*  r   c                      R p Rp\        ^\        \        4      ,          4      V 8X  g   Q h\        ^\        \        4      ,          4      V8X  g   Q hR# )z  1  
-----
  ___
\/ x u   1 
──
√xN)r   rs   rK  r   )rN  rO  s     r   test_issue_6739r    sN       !DG)	)))1T!W9***r   c                  N    R F  p \        \        V 4      4      V 8X  d   K  Q h	  R# )dexpr2_d1tauN)r  zdexpr2^d1tau)r   r   )	symb_names    r   !test_complicated_symbol_unchangedr    s$    5	fY'(I555 6r   c                     ^ RI Hp HpHpHpHpHp V ! R4      pV ! R4      pV ! R4      pV! WgR4      p	V! WxR4      p
V! V4      pV! R4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q h\        V	4      R	8X  g   Q h\        V	4      R
8X  g   Q h\        V4      R8X  g   Q h\        V4      R8X  g   Q h\        W,          4      R8X  g   Q h\        W,          4      R8X  g   Q h\        V4      R8X  g   Q h\        V4      R8X  g   Q hV! 4       p\        V4      R8X  g   Q h\        V4      R8X  g   Q hV! V	RV
\        P                  /4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hV! V	RV
\        P                  /W,          R/4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hV! V4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hR# )r   )ObjectIdentityMorphismNamedMorphismCategoryDiagramDiagramGridA1A2A3f1f2K1u   A₁z
f1:A1-->A2u   f₁:A₁——▶A₂z
id:A1-->A1u   id:A₁——▶A₁zf2*f1:A1-->A3u   f₂∘f₁:A₁——▶A₃u   K₁r@  rA  uniquez{f2*f1:A1-->A3: EmptySet, id:A1-->A1: EmptySet, id:A2-->A2: EmptySet, id:A3-->A3: EmptySet, f1:A1-->A2: {unique}, f2:A2-->A3: EmptySet}u   {f₂∘f₁:A₁——▶A₃: ∅, id:A₁——▶A₁: ∅, id:A₂——▶A₂: ∅, id:A₃——▶A₃: ∅, f₁:A₁——▶A₂: {unique}, f₂:A₂——▶A₃: ∅}z{f2*f1:A1-->A3: EmptySet, id:A1-->A1: EmptySet, id:A2-->A2: EmptySet, id:A3-->A3: EmptySet, f1:A1-->A2: {unique}, f2:A2-->A3: EmptySet} ==> {f2*f1:A1-->A3: {unique}}u   {f₂∘f₁:A₁——▶A₃: ∅, id:A₁——▶A₁: ∅, id:A₂——▶A₂: ∅, id:A₃——▶A₃: ∅, f₁:A₁——▶A₂: {unique}, f₂:A₂——▶A₃: ∅} ══▶ {f₂∘f₁:A₁——▶A₃: {unique}}zA1  A2
      
A3    u   A₁  A₂
      
A₃    N)sympy.categoriesr  r  r  r  r  r  r   r   r   r@  )r  r  r  r  r  r  r  r  r  r  r  id_A1r  r  grids                  r   test_categoriesr    s   7 7 
B	B	B	rt	$B	rt	$BR E	$B":2;&   ":%%%2;2222%=L(((5>3333"%=O+++25><<<<":2;&    		A!9
"""1:Xr1::./A!9 @ @ @ @ 1:     	Xr1::.(0CDA!9 ) ) ) ) 1: ? ? ? ? q>D$<33334=::::r   c                  R   \         P                  ! \        \        4      p V P	                  ^4      pVP                  \        \        .^\        ^,          .4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hV P                  \        ^,          \        4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hW,          pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR	pR
pR# )rf  u          2
ℚ[x, y] z        2
QQ[x, y] u3   ╱        ⎡    2⎤╲
╲[x, y], ⎣1, x ⎦╱z#              2  
<[x, y], [1, x ]>u   ╱ 2   ╲
╲x , y╱z  2    
<x , y>u              2     
    ℚ[x, y]      
─────────────────
╱        ⎡    2⎤╲
╲[x, y], ⎣1, x ⎦╱zY            2    
    QQ[x, y]     
-----------------
              2  
<[x, y], [1, x ]>u+  ╱⎡    3⎤                                                ╲
│⎢   x ⎥   ╱        ⎡    2⎤╲           ╱        ⎡    2⎤╲│
│⎢1, ──⎥ + ╲[x, y], ⎣1, x ⎦╱, [2, y] + ╲[x, y], ⎣1, x ⎦╱│
╲⎣   2 ⎦                                                ╱z      3                                                  
     x                   2                           2   
<[1, --] + <[x, y], [1, x ]>, [2, y] + <[x, y], [1, x ]>>
     2                                                   N)	r<   old_poly_ringrK  rL  free_module	submoduler   r   ideal)r  rt  r  rO  rN  r   Qs          r   test_PrettyModulesr  *  sU   
AA	aA	QFQ1I&A   1:"""!9	!!!   1:"""!9	!!!	1aA   1:"""!9	!!!	A   1:"""!9	!!!  r   c                  6   \         P                  ! \        4      \        ^,          ^,           .,          p RpRp\        V 4      V8X  g   Q h\	        V 4      V8X  g   Q hRpRp\        V P
                  4      V8X  g   Q h\	        V P
                  4      V8X  g   Q hR# )rf  u=     ℚ[x]  
────────
╱ 2    ╲
╲x  + 1╱z# QQ[x]  
--------
  2     
<x  + 1>u!       ╱ 2    ╲
1 + ╲x  + 1╱z      2     
1 + <x  + 1>N)r<   r  rK  r   r   one)r  rO  rN  s      r   test_QuotientRingr    s    
QTAXJ&A   1:"""!9	!!!   155>Y&&&!%%=I%%%r   c                  H   ^ RI Hp  \        P                  ! \        4      pV ! VP                  ^4      VP                  ^4      ^ .4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hV ! VP                  ^4      VP                  ^4      ^ ^ .4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hV ! VP                  ^4      VP                  ^4      \        ..,          ^ .4      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )	r   )homomorphismu3             1         1
[0] : ℚ[x]  ──> ℚ[x] z/           1          1
[0] : QQ[x]  --> QQ[x] u^   ⎡0  0⎤       2         2
⎢    ⎥ : ℚ[x]  ──> ℚ[x] 
⎣0  0⎦                  zP[0  0]        2          2
[    ] : QQ[x]  --> QQ[x] 
[0  0]                    ui                       1
          1     ℚ[x] 
[0] : ℚ[x]  ──> ─────
                <[x]>z_                      1
           1     QQ[x] 
[0] : QQ[x]  --> ------
                 <[x]> N)sympy.polys.agcar  r<   r  rK  r  r   r   )r  r  r   rO  rN  s        r   test_Homomorphismr
    s4   -
Aa(!--*:QC@D   4=I%%%$<9$$$a(!--*:QFCD   4=I%%%$<9$$$a(!--*:qcU*BQCHD   4=I%%%$<9$$$r   c                      \        R RR7      w  r\        W,          4      p\        V4      R8X  g   Q h\        V4      R8X  g   Q hR# )zA BFr  zTr(A*B)u	   Tr(A⋅B)N)r   rY   r   r   )r  r  r  s      r   test_Trr    s?    5e,DA
13A!9
"""1:$$$r   c                  j    \        R\        ^,
          RR7      ^,           p \        V 4      R8X  g   Q hR# )rf  Fr<  z5 - 2*(x - 2)NrI  )r   rK  r   )eqs    r   test_pretty_Addr    s+    	RQ	'!	+B":(((r   c                      \        \        \        \        \        4      4      4      R 8X  g   Q h\        \        \        \        \        4      4      4      R8X  g   Q hR# )u   x ⇎ yu   x ↛ yN)r   r3   r.   rK  rL  r0   r   r   r   test_issue_7179r    s?    3z!Q'()Y6663wq!}%&)333r   c                  N    \        \        \        \        4      4      R 8X  g   Q hR# )rz  N)r   r.   rK  rL  r   r   r   test_issue_7180r    s    :a#$	111r   c                     \        \        P                  \        P                  ,
          4      R 8X  g   Q h\	        \        P                  \        P                  ,
          4      R8X  g   Q h\        \        P                  \        P
                  ,
          4      R8X  g   Q h\	        \        P                  \        P
                  ,
          4      R8X  g   Q hR# )z(-oo, oo) \ Naturalsu	   ℝ \ ℕz(-oo, oo) \ Naturals0u   ℝ \ ℕ₀N)r   r   rB  r<  r   	Naturals0r   r   r   test_pretty_Complementr    s    !''AJJ&'+BBBB177QZZ'(L888!''AKK'(,DDDD177Q[[()_<<<r   c                  (   ^ RI Hp  \        V ! \        ^^4      \        ^^4      RR7      4      R8X  g   Q h\	        \
        4      ;_uu_ 4        \        V ! \        ^^4      \        ^^4      RR7      4       RRR4       R#   + '       g   i     R# ; i)r   SymmetricDifferenceFr<  u   [2, 3] ∆ [3, 5]N)sympy.sets.setsr  r   rP   r   r]  r   r  s    r   test_pretty_SymmetricDifferencer    ss    3&x!}hqm !45 5 5	#	$	$"8Aa=(1Q-ERS 
%	$	$	$s   )B  B	c                      \        \        \        \        P                  4      4      R 8X  g   Q h\        \        \        \        P                  4      4      R8X  g   Q hR# )zContains(x, Integers)u	   x ∈ ℤN)r   rK   rK  r   Integersr   r   r   r   test_pretty_Containsr    s?    (1ajj)*.EEEE8Aqzz*+{:::r   c                  v    ^ RI Hp  V ! RRR7      pRpRp\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )r   sympifyz&((x+x**4)/(x-1))-(2*(x-1)**4/(x-1)**4)Fr<  u              4    4    
  2⋅(x - 1)    x  + x
- ────────── + ──────
          4    x - 1 
   (x - 1)           zm           4    4    
  2*(x - 1)    x  + x
- ---------- + ------
          4    x - 1 
   (x - 1)           N)
sympy.corer!  r   r   )r!  r  rO  rN  s       r   test_issue_8292r#    sL    "85IA   !9	!!!1:"""r   c                      \        R 4      p V ! \        4      P                  \        4      ) pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q hR# )rL  u!    d       
-──(y(x))
 dx      z   d       
- --(y(x))
  dx      N)r
   rK  r  r   r   )rL  r   rO  rN  s       r   test_issue_4335r%  )  sX    AaDIIaL=D   $<9$$$4=I%%%r   c                  N    ^ RI Hp  V ! RRR7      pRp\        V4      V8X  g   Q hR# )r   r   z2*x*y**2/1**2 + 1Fr<  uF        2    
2⋅x⋅y     
────── + 1
   2      
  1       N)r"  r!  r   )r!  r  rO  s      r   test_issue_8344r'  <  s0    "#e4A  1:"""r   c                      \        ^^RR7      p \        ^
RRR7      p\        WRR7      pRp\        V4      V8X  g   Q hR# )rf  Fr<  u    3 
2  
───
  2
10 NrI  )r   r   r   )rK  rL  r  rO  s       r   test_issue_6324r)  J  sH    Aq5!ABU#AA5!A  1:"""r   c                     \        \        ^,          4      \        \        ^,          4      ,          p Rp\        V 4      V8X  g   Q h\        \        4      \	        ^4      ^,          ,          p Rp\        V 4      V8X  g   Q hR# )rf  u              ⎛x⎞
        cos⎜─⎟
           ⎝2⎠
⎛   ⎛x⎞⎞      
⎜sin⎜─⎟⎟      
⎝   ⎝2⎠⎠      u/           11
        ──
        13
(sin(x))  N)rr   rK  rg   r   r   )r  rO  s     r   test_issue_7927r+  Y  sn    AaC#ac(A  1:"""A2rA  1:"""r   c            	         ^ RI Hp Hp \        R4      pV \        ,          \        V! V4      \        ,          \        \        V,          4      ,          V^ ^34      ,          V \        ^,          ,          \        V! V4      ^,          \        ,          \        ^\        ,          V,          4      ,          V^ ^34      ,          ,           pRp\        V4      V8X  g   Q hR# )r   )r  r  r   uH       1                              1                   
   2 ⌠                              ⌠                   
λ⋅x ⋅⎮ 2⋅π⋅φ(t)⋅sin(2⋅π⋅t) dt + λ⋅x⋅⎮ π⋅φ(t)⋅sin(π⋅t) dt
     ⌡                              ⌡                   
     0                              0                   N)	r  r  r  r
   rK  r,   r   rr   r   )r  r  r   r  rO  s        r   test_issue_6134r-  p  s    "
5/CaQ3r!t9,q!Qi885A:hsSTvVWxXZ{[^_`ac_cde_e[fOfijlmophqFr;rrA  1:"""r   c            
      f   R p \        ^^RR4      \        ^^4      \        \        4      r2p\        \	        V\        W#4      4      4      V 8X  g   Q hRp\        \        4      \        \        4      \        \        4      \        ^^4      3w  rVrx\        \        WV\        Wx4      4      4      V8X  g   Q hR# )u   (2, 3) ∪ ([1, 2] \ {x})Tu   {x} ∩ {y} ∩ ({z} \ [1, 2])N)	rP   rN   rK  r   rQ   rM   rL  rY  rO   )	r  rZ  r[  r  r  r  r  r   gs	            r   test_issue_9877r0    s    -Jq!T4((1a.)A,!A5Jq,-.*<<<2J1y|Yq\8Aq>IJA!<j&678JFFFr   c                     \         \        R\        \        ,           RR7      ,           p \	        V 4      R8X  g   Q h\         \        R\        \        ,
          \
        ,           RR7      ,           p\	        V4      R8X  g   Q hR# )r:  Fr<  zc - (a + b)zc - (a - b + d)NrX  )r  r   rZ  r[  r   r  )expr1r+  s     r   test_issue_13651r3    sY    BA..E%=M)))BA	E22E%=----r   c                      ^ RI Hp  RpRp\        RRR7      p\        V ! V4      4      V8X  g   Q h\	        V ! V4      4      V8X  g   Q hR# )r   )primenuznu(n)u   ν(n)r|  Tr}  N)%sympy.functions.combinatorial.numbersr5  r   r   r   )r5  r  r  r|  s       r   test_pretty_primenur7    sI    =JJT"A'!*+++71:*,,,r   c                      ^ RI Hp  RpRp\        RRR7      p\        V ! V4      4      V8X  g   Q h\	        V ! V4      4      V8X  g   Q hR# )r   )
primeomegazOmega(n)u   Ω(n)r|  Tr}  N)r6  r9  r   r   r   )r9  r  r  r|  s       r   test_pretty_primeomegar:    sI    @JJT"A*Q- J...:a=!Z///r   c                     ^ RI Hp  RpRpRpRpRpRpRpRpRp	Rp
\        R	R
R7      p\        V ! V^4      4      V8X  g   Q h\	        V ! V^4      4      V8X  g   Q h\        V ! V^,           ^4      4      V8X  g   Q h\	        V ! V^,           ^4      4      V8X  g   Q h\        V ! ^V,          ^4      4      V8X  g   Q h\	        V ! ^V,          ^4      4      V8X  g   Q h\        V ! V^4      ^,           4      V8X  g   Q h\	        V ! V^4      ^,           4      V8X  g   Q h\        ^V ! V^4      ,          4      V	8X  g   Q h\	        ^V ! V^4      ,          4      V
8X  g   Q hR# )r   )Modzx mod 7z(x + 1) mod 7z	2*x mod 7u   2⋅x mod 7z(x mod 7) + 1z2*(x mod 7)u   2⋅(x mod 7)rK  Tr}  N)r"  r<  r   r   r   )r<  r  r  r  r  
ascii_str3
ucode_str3
ascii_str4
ucode_str4
ascii_str5
ucode_str5rK  s               r   test_pretty_ModrC    s]   JJ J JJJ J JJ JT"A#a)
***3q!9+++#a!eQ- J...3q1ua=!Z///#a!eQ- J...3q1ua=!Z///#a)a- J...3q!9q=!Z///!c!Qi- J...1s1ay=!Z///r   c                  r    \        \        R 4      4      R 8X  g   Q h\        \        R 4      4      R 8X  g   Q hR# ) N)r   r   r   r   r   r   test_issue_11801rF    s0    &*###6":"$$$r   c                     \        R 4      p \        ^V ,          4      pRp\        V4      V8X  g   Q hRp\        V^,          4      V8X  g   Q hRp\        V^,           4      V8X  g   Q hRp\        W,          4      V8X  g   Q hR# )rK  r;  u!      2
⎛1⎞ 
⎜─⎟ 
⎝x⎠ u       1
1 + ─
    xu     1
x⋅─
  xN)r   rX   r   )rK  herO  s      r   test_pretty_UnevaluatedExprrI    s    A	1	B  2;)###  2q5>Y&&&  26?i'''  14=I%%%r   c                  j    \        ^ ^ .^ ^ ..4      \        ^ ^ .4      3p Rp\        V 4      V8X  g   Q hR# )r   uM   ⎛⎡0  0⎤  ⎡0⎤⎞
⎜⎢    ⎥, ⎢ ⎥⎟
⎝⎣0  0⎦  ⎣0⎦⎠N)r6   r   )r  rO  s     r   test_issue_10472rK    sD    	!Q!Q 	!61a&>2A  1:"""r   c                     \        R ^^4      p \        R^^4      p\        R^^4      pRpRp\        V R	,          4      V8X  g   Q h\        V R	,          4      V8X  g   Q hRpRp\        ^V R	,          ,          4      V8X  g   Q h\        ^V R	,          ,          4      V8X  g   Q hRpRpVR	,          P                  W V,
          4      p\        V4      V8X  g   Q h\        V4      V8X  g   Q hR# )
r  r  r  A_00u   A₀₀z3*A_00u   3⋅A₀₀z(-B + A)[0, 0]N)r   r   )r   r   r   subs)r  r  r  r  r  rt  s         r   test_MatrixElement_printingrO     s    S!QAS!QAS!QAJJ!D'?z)))1T7z)))JJ!AdG)+++1QtW9+++!J!J	$QAA!9###1:###r   c                      \        R 4      w  rr#\        R4      pRp\        W,          V,          VP                  ,          4      V8X  g   Q hRp\        ^V,          VP                  ,          4      V8X  g   Q hR# )zx y t jr  uI   ⎛   t⎞    
⎜⎛x⎞ ⎟ j_e
⎜⎜─⎟ ⎟    
⎝⎝y⎠ ⎠    u%   ⎛1⎞    
⎜─⎟ j_e
⎝y⎠    N)r   r   r   r  )rK  rL  r  r  r  rO  s         r   test_issue_12675rQ    sq    #JA!3A  AC!8ACC< I---  AaC9***r   c                  &   \        R ^^4      p \        R^^4      p\        R^^4      p\        V ) V,          V,          4      R8X  g   Q h\        W,
          4      R8X  g   Q h\        W,          V,          W,          ,
          W,          ,
          4      R8X  g   Q h\        R\        \        4      p\        R\        \        4      p\        W4,           4      R8X  g   Q hR	p\        \        ) V,          RV,          V,          ,           4      V8X  g   Q hR
# )r  r  r  z-A*B*Cz-B + Az-A*B -B*C + A*B*CrK  zy*zx + y*z     2     
-2*y*  -a*xNrI  )r   r   r|  rZ  )r  r  r  rK  rL  rN  s         r   test_MatrixSymbol_printingrS  ,  s    S!QAS!QAS!QA1"Q$q&>X%%%!%=H$$$!#a%!#+#$(;;;; 	S!QAT1a A!%=H$$$ 
 1"Q$Aa- I---r   c                     ^Z\         ,          p \        V 4      R8X  g   Q h\        \         ,          p\        V4      R8X  g   Q h\        \        \         ,          ^Z\         ,          ,           4      p\        V4      R8X  g   Q hR# )Z   u   90°u   x°u   cos(x° + 90°)N)r   r   rK  rg   )r2  r+  expr3s      r   test_degree_printingrW  A  sb    vIE%=F"""fHE%=E!!!&2f9$%E%=----r   c                     \        R 4      p \        \        V P                  V P                  V P                  ,          ^V P
                  ,          V P                  ,          ,           4      4      R8X  g   Q h\        \        \        V P                  V P                  4      ,          4      R8X  g   Q h\        \        V P                  V P                  ,          ^V P
                  ,          V P                  ,          ,           4      4      R8X  g   Q h\        \        V P                  V P                  ,          ^V P
                  ,          V P                  ,          ,           4      4      R8X  g   Q h\        \        V P                  V P                  V P                  ,          ^V P
                  ,          V P                  ,          ,           4      4      R8X  g   Q h\        \        V P                  ^V P
                  ,          ,           4      4      R8X  g   Q h\        \        V P                  ^V P
                  ,          ,           4      4      R8X  g   Q hR# )	r  u"   (i_A)×((x_A) i_A + (3⋅y_A) j_A)u   x⋅(i_A)×(j_A)u    ∇×((x_A) i_A + (3⋅y_A) j_A)u!   ∇⋅((x_A) i_A + (3⋅y_A) j_A)u#   (i_A)⋅((x_A) i_A + (3⋅y_A) j_A)u   ∇(x_A + 3⋅y_A)u   ∆(x_A + 3⋅y_A)N)r   r   r   r  rK  rL  r  r   r   r   r   r   )r  s    r    test_vector_expr_pretty_printingrY  J  sx   3A5acc!##gaeACCi/015YYYY1U133_$%);;;;4ACC!ACC%)+,-1SSSS:acc!##g!##acc	1237ZZZZ3qssACCGAaccE!##I-./3XXXX8ACC!##I&'+????9QSS133Y'(,@@@@r   c                     \        R 4      p \        RV 4      w  rp\        RV 4      p\        RV .4      w  rVrx\        RW .4      p	V) p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V) 4      p
R	pR	p\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hRV! V) 4      ,          p
R
pRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV	! W) 4      p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV	! W) 4      p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV	! W) 4      V! V4      ,          V! V4      ,          p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q h^\        ,           V! V4      ,          p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      ^V! V4      ,          ,           p
RpRp\	        V
4      V8X  g   Q h\        V
4      V8X  g   Q hR# )Li j ki_0A B C DHz-iz i
A 
  z i_0
A   
    u    i₀
A  
   z  
A 
 iz     
-3*A 
    iu        
-3⋅A 
    iz i 
H  
  jz L_0   
H      
    L_0u    L₀  
H    
   L₀z) i     L_0  k
H    *A   *B 
  L_0        u+    i    L₀  k
H   ⋅A  ⋅B 
  L₀       z          i
(x + 1)*A 
          u"            i
(x + 1)⋅A 
          z   i    i
3*B  + A 
         u      i    i
3⋅B  + A 
         Nr  )r   r   r   r   r   r   rK  )r[  r  r  r  i0r  r  r  r  r_  r   rN  rO  s                r   test_pretty_print_tensor_exprra  [  s   AWa(GA!	q	!Bi!-JA!3A2D 
  $<9$$$4=I%%%Q4D   $<9$$$4=I%%%R5D   $<9$$$4=I%%%aR5D   $<9$$$4=I%%%ae8D   $<9$$$4=I%%%Q8D   $<9$$$4=I%%%Q8D   $<9$$$4=I%%%Q8AaD=1D   $<9$$$4=I%%%aC1:D   $<9$$$4=I%%%Q4!AaD&=D   $<9$$$4=I%%%r   c            	      p   ^ RI Hp  \        R4      p\        RV4      w  r#p\	        RV.4      w  rVrx\        RW.4      p	V ! V! V4      V! V4      4      p
RpRp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      V ! V	! WB) 4      V! V4      4      ,          p
RpR	p\        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      V ! V! V4      V! V) 4      ,          ^V	! WB) 4      ,          ,           V! V4      4      ,          p
R
pRp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      V! V4      ,           V ! V! V4      V! V4      4      ,          p
RpRp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV! V4      V! V4      ,           V ! V! V) 4      V! V4      4      ,          p
RpRp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q hV ! V! V) 4      V! V) 4      ,           V! V) 4      V! \        ) 4      4      p
Rp\        V
4      V8X  g   Q hV ! ^V! V) 4      ,          V! V) 4      V! \        ) 4      4      p
Rp\        V
4      V8X  g   Q h\        V	! W#4      V^/4      p
RpTp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q h\        V	! W#4      V^V^/4      p
RpTp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q h\        V	! W#4      V^/4      p
RpTp\        V	! V) V4      V) ^/4      p
RpTp\        V
4      V8X  g   Q h\        V
4      V8X  g   Q hR# )r   )PartialDerivativer[  r\  r^  r_  z' d / i\
---|A |
  j\  /
dA     
       u=    ∂ ⎛ i⎞
───⎜A ⎟
  j⎝  ⎠
∂A     
       zO L_0  d / k   \
A   *---|H    |
       j\  L_0/
     dA        
               ua    L₀  ∂ ⎛ k  ⎞
A  ⋅───⎜H   ⎟
      j⎝  L₀⎠
    ∂A       
             z L_0  d /   k       k     \
A   *---|3*H     + B *C   |
       j\    L_0       L_0/
     dA                    
                           u    L₀  ∂ ⎛   k      k    ⎞
A  ⋅───⎜3⋅H    + B ⋅C  ⎟
      j⎝    L₀       L₀⎠
    ∂A                  
                        zm/ i    i\   d  / L_0\
|A  + B |*-----|C   |
\       /   L_0\    /
          dD         
                     u   ⎛ i    i⎞  ∂  ⎛ L₀⎞
⎜A  + B ⎟⋅────⎜C  ⎟
⎝       ⎠   L₀⎝   ⎠
          ∂D       
                   zw/ L_0    L_0\  d /    \
|A    + B   |*---|C   |
\           /   j\ L_0/
              dD       
                       u   ⎛ L₀    L₀⎞  ∂ ⎛   ⎞
⎜A   + B  ⎟⋅───⎜C  ⎟
⎝         ⎠   j⎝ L₀⎠
            ∂D      
                    u      2            
  ∂    ⎛       ⎞
───────⎜A  + B ⎟
       ⎝ i    i⎠
∂A  ∂A          
  n   j         uu      2         
  ∂    ⎛    ⎞
───────⎜3⋅A ⎟
       ⎝   i⎠
∂A  ∂A       
  n   j      z i=1,j
H     
      z i=1,j=1
H       
        z i,j=1
H     
      z    j
H    
 i=1 N)
sympy.tensor.toperatorsrc  r   r   r   r   r   r   r|  r   )rc  r[  r  r  r  r  r  r  r  r_  r   rN  rO  s                r   &test_pretty_print_tensor_partial_derivre    s   9AWa(GA!i!-JA!3AQqT1Q4(D   $<9$$$4=I%%%Q4!!Ar(AaD11D   $<9$$$4=I%%%Q4!!A$q!u*q1bz"91Q4@@D   $<9$$$4=I%%%aD1Q4K*1Q4166D   $<9$$$4=I%%%aD1Q4K*1aR5!A$77D   $<9$$$4=I%%%QrUQrU]AqbE1aR59DI 4=I%%%Qq!uWaeQrU3DI 4=I%%%11Q%(D  I$<9$$$4=I%%%11aA,/D  I$<9$$$4=I%%%11a&)D  IA2qQB7+D  I$<9$$$4=I%%%r   c                  j    \        R ^^4      p \        V \        W 4      ,          4      pRpW8X  g   Q hR# )rZ  z	a*(a x a)N)r   r   r   )rZ  r  results      r   test_issue_15560rh    s4    S!QAq"1()*AF;;r   c                  ~    R p Rp\        \        ^^4      4      V8X  g   Q h\        \        ^^4      4      V 8X  g   Q hR# )u   Li₂(3)zpolylog(2, 3)N)r   rx   r   )uresultaresults     r   test_print_polylogrl    s>    GG'!Q- G+++71a=!W,,,r   c                     \        R 4      w  rRpRp\        \        W4      4      V8X  g   Q h\        \        W4      4      V8X  g   Q hRpRp\        \	        W4      4      V8X  g   Q h\        \	        W4      4      V8X  g   Q hR# )s, zu   Liₛ(z)zpolylog(s, z)u   Eₛ(z)zexpint(s, z)N)r   r   rx   r   rj   )r  rY  rj  rk  s       r   (test_print_expint_polylog_symbolic_orderro    s}    6?DAGG'!- G+++71=!W,,,GG&,7***6!< G+++r   c                  j    \        R 4      w  rRp\        \        V ^,          V4      4      V8X  g   Q hR# )rn  u%          ⎛ 2   ⎞
polylog⎝s , z⎠N)r   r   rx   )r  rY  rO  s      r   )test_print_polylog_long_order_issue_25309rq    s7    6?DA 
 71a4#$	111r   c                      \        R 4      p \        \        V ^^4      4       RpRp\        \        V ^^4      4      V8X  g   Q h\        \        V ^^4      4      V8X  g   Q hR# )rZ  u   Φ(a, 1, 2)zlerchphi(a, 1, 2)N)r   r   rw   r   )rZ  rj  rk  s      r   test_print_lerchphirs    s^    sA
8Aq!G!G(1a#$///8Aq!$%000r   c                      \         P                  ! R 4      p Rp\        V P                  V P                  V P
                  34      pW!8X  g   Q hR# )Nz(n_x, n_y, n_z)N)r   ReferenceFramer   rK  rL  rY  )ru  rg  r  s      r   test_issue_15583rw    s=      %AFQSS!##A;;r   c                     R  p ^ RI Hp \        R^^4      pV ! V! V4      4      R8X  g   Q h\        R^^4      p\        R^^4      p\        R^^4      pV ! V) 4      R8X  g   Q hV ! W"V,          ,
          V,
          4      R8X  g   Q hV ! V) V,          W#,          V,          ,
          V,
          4      R8X  g   Q h\        R	^^4      pV ! V4      R
8X  g   Q h\        R^^4      pV ! V4      R8X  g   Q h\        R^^4      pV ! V4      R8X  g   Q h\        R4      p\        R4      p\        R^^4      p\        R^^4      p	V ! Wc,          V,          Wy,          ,           4      R8X  g   Q h\        R^^4      p	\        R^^4      pV ! Wc,          V,          Wy,          ,           4      R8X  g   Q h\        R^^4      pV ! V4      R8X  g   Q hR# )c                      \        V R RRR7      # )TFbold)r   r   mat_symbol_styler   r`  s   &r   
boldpretty)test_matrixSymbolBold.<locals>.boldpretty  s    tQWXXr   )tracer  u   tr(𝐀)r  r  u   -𝐀u   -𝐁 -𝐀⋅𝐁 + 𝐀u&   -𝐁 -𝐀⋅𝐁 -𝐀⋅𝐁⋅𝐂Addotu   𝐀̈omegau   ω	omeganormu   ‖ω‖r  r[  r  r  u   b⋅𝐝 + α⋅𝐁⋅𝐜deltaBetau   b⋅δ + α⋅Β⋅𝐜A_2u   𝐀₂N) sympy.matrices.expressions.tracer~  r   r   )
r|  r~  r  r  r  r  rZ  r[  r  r  s
             r   test_matrixSymbolBoldr    s   Y 7S!QAeAh:---S!QAS!QAS!QAqb>W$$$aA#gk"&AAAAqbdQSUlQ&'+SSSSWa#Aa=H$$$!Q'Ee$$$a+Ee
***wAsAS!QAS!QAac!eACi $AAAAWa#AVQ"Aac!eACi $====UAq!Aa=I%%%r   c                      \        R R4      R8X  g   Q h\        RR4      R8X  g   Q h\        RR4      R8X  g   Q h\        RR4      R8X  g   Q h\        R	R4      R
8X  g   Q h\        RR4      R8X  g   Q hR# )rZ  u   ̃u   ãaau   aãaaau   aãaaaaau   aaãaaaaaau   aaãaaabcdefgu   ⃜u
   abcd⃜efgN)r   r   r   r   test_center_accentr    s    34===45??? 56'AAA!678CCC"78IEEE$CDTTTr   c                  H  a  ^ RI Ho  S ! ^\        ,           RR7      R8X  g   Q hS ! ^\        ,           RR7      R8X  g   Q hS ! ^\        ,           RRR7      R8X  g   Q hS ! ^\        ,           RRR7      R	8X  g   Q h\        \        V 3R
 l4       \        \
        V 3R l4       R# )r   r   Fr4  z1 + ITu   1 + ⅈr  )r   imaginary_unitu   1 + ⅉc                  (   < S ! \         \         R 7      # )r  r   r   s   r   r  %test_imaginary_unit.<locals>.<lambda>   s    fQq9r   c                      < S ! \         R R7      # )kkkr  r  r   s   r   r  r  !  s    va>r   N)sympy.printing.prettyr   r   r   r  
ValueErrorr   s   @r   test_imaginary_unitr    s    ,!a%U+w666!a%T*i777!a%U3?7JJJ!a%T#>)KKK
99:
:>?r   c                  B   ^ RI Hp HpHp \	        V ! ^4      4      R8X  g   Q h\        V ! ^4      4      R8X  g   Q h\	        V! ^^4      4      R8X  g   Q h\        V! ^^4      4      R8X  g   Q h\	        V! ^^4      4      R8X  g   Q h\        V! ^^4      4      R8X  g   Q hR# )	r   Identityr   r   r   u   𝕀0u   𝟘1u   𝟙N)r  r  r   r   r   r   r  s      r   test_str_special_matricesr  $  s    >>(1+#%%%8A;6)))*Q"#s***:a#$...)Aq/"c)))9Q?#v---r   c                     \        \        \        4      4      R 8X  g   Q h\        \        \        4      4      R 8X  g   Q h\        \        \        \        4      4      R8X  g   Q h\        \        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R	8X  g   Q h\        \        \        \        4      4      R
8X  g   Q h\        \        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q h\        \        \        4      4      R8X  g   Q hR# )zW(x)zW(x, y)zAi(x)zBi(x)zAi'(x)zBi'(x)zC(x)zS(x)zHeaviside(x)u   θ(x)zHeaviside(x, y)u   θ(x, y)zdirichlet_eta(x)u   η(x)N)r   r    rK  r   rL  r!   r#   r"   r$   r&   r'   r%   r)   r   r   r   test_pretty_misc_functionsr  .  s   (1+&(((8A;6)))(1a.!Y...8Aq>"i///&)'''6!9(((&)'''6!9(((+a.!X---;q>"h...+a.!X---;q>"h...(1+&(((8A;6)))(1+&(((8A;6))))A,>1119Q< G+++)Aq/"&77779Q?#z111-"#'9999=#$///r   c                     \        R RR7      w  rp\        RW4      p\        RW4      p\        W14      pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q h\        V^V,           4      pRpRp\        V4      V8X  g   Q h\	        V4      V8X  g   Q h\        W4P
                  ,          ^V,           4      pR	pR
p\        V4      V8X  g   Q h\	        V4      V8X  g   Q hR# )zm, n, pTr}  r  r  z .n
A  u	    ∘n
A  z .(n + 1)
A        u    ∘(n + 1)
A        z,      .(n + 1)
/   T\        
\A*B /        u8         ∘(n + 1)
⎛   T⎞        
⎝A⋅B ⎠        N)r   r   r   r   r   r  )r  r|  r  r  r  r   rN  rO  s           r   test_hadamard_powerr  G  s
   i.GA!S!AS!A !D  
 $<9$$$4=I%%%!QqS!D  
 $<9$$$4=I%%%!CC%1%D   $<9$$$4=I%%%r   c                      \        R RR7      p \        \        W \        ) ^34      4      R8X  g   Q h\	        \        W \        ) ^34      4      R8X  g   Q hR# )r|  Tr}  z;   1     
  __     
  \ `    
   )    n
  /_,    
n = -oo  uW     1     
 ___    
 ╲      
  ╲     
  ╱    n
 ╱      
 ‾‾‾    
n = -∞  N)r   r   r   r   r   )r|  s    r   test_issue_17258r  z  sb    sD!A#abS!%&   3qrc1+&'	
 
 
r   c                  \    R p V  Uu. uF  p\        V4      NK  	  up. RO8X  g   Q hR# u upi )u   v̇_mN)FTFF)r   )linesyms     r   test_is_combiningr    s3    D)-.#L.#$ $ $.s   )c                     \        \        ^\        ^4      ,          ,          4      R8X  g   Q h\        \        ^\        ^4      ,          ,          4      R8X  g   Q h\        \        ^\        ,          ,          4      R8X  g   Q h\        \        ^\        ,          ,          4      R8X  g   Q h\        \        ^\        ,          ,          4      R8X  g   Q h\        \        ^\        ,          ,          4      R8X  g   Q h\        R4      p \        ^^V ,          ,          4      R8X  g   Q h\        ^^V ,          ,          4      R	8X  g   Q hR
# )r:  z  / -1\
  \e  /
pi     u    ⎛ -1⎞
 ⎝ℯ  ⎠
π     z  1 
  --
  pi
pi  u    1
 ─
 π
π z3      1     
  ----------
  EulerGamma
pi          u    1
 ─
 γ
π x_17u   x₁₇___
 ╲╱ 7 zx_17___
  \/ 7 N)r   r   ri   r   r   r   )rY  s    r   test_issue_17616r    sC   "qQx.!  
 2#a&>"  
 "qt*   2":

 
 
 "q|$%   2*%&

 
 
 	vA1qs8   !ac(  r   c                      \        \        \        ) \        4      4      R 8X  g   Q h\        \        \        \        ) R4      4      R8X  g   Q hR# )z{..., -1, 0, 1, ...}z{..., 1, 0, -1, ...}NrX  )r   rL   r   r   r   r   test_issue_17857r    s=    %R.!%;;;;%RC$%)????r   c                  <   \        R 4      p \        R4      p\        \        V \        V ) \	        V 4      ,           ^ 4      \
        P                  4      4      R8X  g   Q h\        \        V \        V^,          \        ^ \        4      4      \        V) ^,          V^,          4      4      4      R8X  g   Q h\        \        V \        \        ^V ^8  3V ^,          R,
          V ^8  3RV ^8  3V ^,          R34      R,
          ^ 4      \        ^ ^4      4      4      R8X  g   Q hR# )rK  r|  uu   ⎧  │         ⎛      x    ⎞⎫
⎨x │ x ∊ ℂ ∧ ⎝-x + ℯ  = 0⎠⎬
⎩  │                      ⎭u   ⎧  │     ⎧-n   n⎫   ⎛n         ⎞⎫
⎨x │ x ∊ ⎨───, ─⎬ ∧ ⎜─ ∈ [0, ∞)⎟⎬
⎩  │     ⎩ 2   2⎭   ⎝2         ⎠⎭Tu  ⎧  │              ⎛⎛⎧   1     for x ≥ 3⎞          ⎞⎫
⎪  │              ⎜⎜⎪                  ⎟          ⎟⎪
⎪  │              ⎜⎜⎪x                 ⎟          ⎟⎪
⎪  │              ⎜⎜⎪─ - 0.5  for x ≥ 2⎟          ⎟⎪
⎪  │              ⎜⎜⎪2                 ⎟          ⎟⎪
⎨x │ x ∊ [0, 3] ∧ ⎜⎜⎨                  ⎟ - 0.5 = 0⎟⎬
⎪  │              ⎜⎜⎪  0.5    for x ≥ 1⎟          ⎟⎪
⎪  │              ⎜⎜⎪                  ⎟          ⎟⎪
⎪  │              ⎜⎜⎪   x              ⎟          ⎟⎪
⎪  │              ⎜⎜⎪   ─     otherwise⎟          ⎟⎪
⎩  │              ⎝⎝⎩   2              ⎠          ⎠⎭Nr  )r   r   r   r   ri   r   	ComplexesrK   rP   r   rN   r_   )rK  r|  s     r   test_issue_18272r    s   sAsA<2qb3q6k1#5q{{CD(( ( ( <8AaC!R#A9aRPQTSTUVSVCWXY66 6 6 <2iAFacCia=PSVXY]^X^R_1d'"'#$%$'(0A8 9
KK K Kr   c                  B    ^ RI Hp  \        V ! R4      4      R8X  g   Q hR# )r   StrrK  N)sympy.core.symbolr  r   r  s    r   test_Strr    s    %#c(s"""r   c                  D   \        R 4      p \        RRR7      p\        RW4      p\        \        V4      4      R8X  g   Q h\        \	        V4      4      R8X  g   Q h\        \        V^ 8  4      4      R8X  g   Q h\        RW4      p\        \        W#4      4      R	8X  g   Q hR
# )musigmaT)positiver  zE[X]zVar(X)zP(X > 0)r  z	Cov(X, Y)N)r   r   r   r   r   r   r   )r  r  r  r  s       r   test_symbolic_probabilityr    s    	BGd+EsBA+a.!W,,,(1+)++++a!e$%444sBA*Q"#{222r   c                     ^ RI Hp  ^ RIHp \	        R4      p\        R4      w  r4V! W"\        ) \        3^ \        ^ V^\        34      \        \        R\        ,          \        V\        ,          4      ,          V,          ^\        V\        ,          4      ,          V^,          ,          ,           V\        ) 8  V\        8  ,          \        V^ 4      ,          3R	4      \        WB,          4      ,          \        ,          V^\        34      34      p\        V ! V4      4      R8X  g   Q h\        V! W"\        ) \        3^ \        ^ V^\        34      \        ^ V^\        34      34      4      R8X  g   Q hR# )
r   )piecewise_fold)FourierSeriesrK  zk nu{  ⎧                      2⋅sin(3⋅x)                                
⎪2⋅sin(x) - sin(2⋅x) + ────────── + …  for n > -∞ ∧ n < ∞ ∧ n ≠ 0
⎨                          3                                     
⎪                                                                
⎩                 0                            otherwise         r  NrI  )r   T)$sympy.functions.elementary.piecewiser  sympy.series.fourierr  r   r   r   rH   r   r_   rg   rr   r   r   r   )r  r  rK  r  r|  fos         r   test_issue_21758r    sL   C2sA5>DA	qrc2,Jq1a*,Ez2b5QrT?1$qQrT{1a4'77!rc'a"f9MPRSTVWPX9XY	 X	&&(	)+,a*H6 )7 
8B >"%&	NN N N -sB<!ZAq":5N1;A1bz1J2L M NQTU U Ur   c                     ^ RI Hp HpHpHp \        RRR7      w  rEV ! R^4      p\        V4      R8X  g   Q hV! RV4      p\        V4      R8X  g   Q hV! RWtV.4      p\        V4      R8X  g   Q hV! V^ 4      p	\        V	4      R8X  g   Q hR	# )
r   )ManifoldPatchCoordSystemBaseScalarFieldr  T)realr  PrectrK  N)r  r  r  r  r  r   r   )
r  r  r  r  rK  rL  r  r  r  r[  s
             r   test_diffgeomr    s    LL
%d
#CAaA!9c1A!9vqa&)D$<6!!!a A!9r   c                     \        4       ;_uu_ 4        ^ RIHp  V ! ^4      R8X  g   Q h RRR4       \        4       ;_uu_ 4        ^ RIHp V! RRR7      pRRR4       \        4       ;_uu_ 4        XP
                  VP                  u;8X  d	   R8X  g   Q h Q h RRR4       R#   + '       g   i     L; i  + '       g   i     Li; i  + '       g   i     R# ; i)r   )xstrr  N)
prettyFormr  )unicode)r   &sympy.printing.pretty.pretty_symbologyr   sympy.printing.pretty.stringpictr  r  r  )r  r  r  s      r   test_deprecated_prettyFormr    s    		!	!?Aw#~~ 
" 
 	!	!?sC( 
" 
 	!	!yyACC&3&&&&& 
"	! 
"	! 
"	! 
"	!	!s#   B#B6/)C	#B3	6C		C	c                      \        R ^4      R8X  g   Q h\        R ^4      R8X  g   Q h\        R ^R4      R8X  g   Q h\        R ^R4      R8X  g   Q hR# )r  z1 z 1 rj  z-1-z--1--N)r   r   r   r   test_centerr     sX    #q>T!!!#q>U"""#q#%'''#q#')))r   rW  (  sympy.concrete.productsr   sympy.concrete.summationsr   sympy.core.addr   sympy.core.basicr   sympy.core.containersr   r   sympy.core.functionr	   r
   r   r   sympy.core.mulr   r"  r   r   r   sympy.core.numbersr   r   r   r   sympy.core.powerr   sympy.core.relationalr   r   r   r   r   r   sympy.core.singletonr   r  r   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr    sympy.functions.special.besselr!   r"   r#   r$   'sympy.functions.special.delta_functionsr%   'sympy.functions.special.error_functionsr&   r'   -sympy.functions.special.singularity_functionsr(   &sympy.functions.special.zeta_functionsr)   sympy.geometry.liner*   r+   sympy.integrals.integralsr,   sympy.logic.boolalgr-   r.   r/   r0   r1   r2   r3   r4   r5   sympy.matrices.denser6   r7    sympy.matrices.expressions.slicer8   r  r9   sympy.polys.domains.finitefieldr:   sympy.polys.domains.integerringr;   !sympy.polys.domains.rationalfieldr<   sympy.polys.domains.realfieldr=   sympy.polys.orderingsr>   r?   sympy.polys.polytoolsr@   sympy.polys.rootoftoolsrA   rB   sympy.series.formalrC   r  rD   sympy.series.limitsrE   sympy.series.orderrF   sympy.series.sequencesrG   rH   rI   rJ   sympy.sets.containsrK   rH  rL   r  rM   rN   rO   rP   rQ   sympy.codegen.astrR   rS   rT   rU   rV   rW   sympy.core.exprrX   sympy.physics.quantum.tracerY   sympy.functionsrZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   sympy.matrices.expressionsr   sympy.physicsr   sympy.physics.control.ltir   r   r   r   r   r   r   r   r   r  r   r   r  r   r   r   r  r   r   r   sympy.sets.conditionsetr   
sympy.setsr   r   sympy.sets.setexprr   sympy.stats.crv_typesr    sympy.stats.symbolic_probabilityr   r   r   r   sympy.tensor.arrayr   r   r   r   r   sympy.tensor.functionsr   sympy.tensor.tensorr   r   r   r   r   sympy.testing.pytestr   r   r   sympy.vectorr   r   r   r   r   r   r   sympyr  r   rZ  r[  r  r  rK  rL  rY  r  r|  r  r  r   r  r  r   r   r   r   r   r   r   r	  r*  r0  r8  rV  r]  ra  rd  ri  rm  ro  rr  rt  rv  rx  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r"  r$  r'  r,  r2  r5  r9  r>  rD  rJ  rL  rN  rP  rR  rT  rc  rf  rh  rl  rn  rq  ru  rx  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r#  r%  r'  r)  r+  r-  r0  r3  r7  r:  rC  rF  rI  rK  rO  rQ  rS  rW  rY  ra  re  rh  rl  ro  rq  rs  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r	     sP   + )  " / D D  9 9 4 4   : : " / : ; U U = H M @ . . X X X / 8 2 . . 0 , / * 5 # / %   G G ( & R Rd d + *" " " " " " " " " " " "R R R 5 #J J J - ; V V 0 + & (E E^ ^ 0> > O N V V V 	 	 #**A"B 1aAq!Q1aSMG_E]iXJ
I

.
.-2	=.".#3L#40W&tb&JE:P87v'
(
6W7t&;&|9&x z& z&zz&z= &&"6(rH&V;GSTKM\|7~DM`'%RS&lJ&Zs&lQ(hq+h@%1h+\7D6>r"&J@0\&~Q(hG0"J54p$BJ+)\*)Z,33?%Y$x#* #FZ&z&"&@.&b-
=&@14h$
#	#@>C&L*4Z5(pM5B2jw&tx&v=&@&,K',_&D>
$
Od+$6
4;nWt#&L<%~%)
4
2=T;
#.&&###.# G.-00>%
&&R	#$.+*.*.A"a&Hl&^-
,21%&PU@.020&f.$*Z@
K6#
3U$

'*r   