
    \hM             
          S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	J
r
Jr  S SKJr  S SKJr  S SKJrJr  S SKJr  S S	KJrJrJrJrJr  S S
KJr  S SKJr  S SKJ r J!r!J"r"J#r#J$r$J%r%J&r&  S SK'J(r(  S SK)J*r*  S SK+J,r,J-r-  S SK.J/r/  S SK0J1r1J2r2J3r3  S SK4J5r5J6r6J7r7J8r8J9r9J:r:  S SK;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJ  S SKKJLrLJMrMJNrNJOrOJPrPJQrQ  S SKRJSrSJTrTJUrU  S SKVJWrWJXrX  S SKYJZrZJ[r[J\r\  S SK]J^r^J_r_J`r`Jara  S SKbJcrc  S SKdJereJfrfJgrgJhrhJiriJjrj  S SKkJlrl  S SKmJnrnJoro  S SKpJqrqJrrrJsrsJtrt  S SKuJvrvJwrwJxrxJyryJzrzJ{r{  S SK|J}r}J~r~  S S KJrJr  S S!KJrJrJrJr  S S"KJrJrJrJrJrJrJrJrJr  S S#KJr  S S$KJrJr  S S%KJrJr  S S&KJrJrJrJrJr  S S'KJr  S S(KJrJrJrJrJrJrJrJrJrJr  S S)KJr  S S*KJrJrJrJrJrJrJr  S S+KJr  S S,KJr  S S-KJr  S S.KJr  S S/KJr  S S0KJr  S S1KJrJrJrJrJrJrJrJr  S S2KJrJr  S S3KJr  S S4KJrJrJrJrJrJrJr  S S5KJr  S S6KJr  S S7KJr  S S8KJr  S S9KJrJr  S S:KJr  S S;KJr  S S<KJr  S S=KJr  S S>KJrJrJrJr  S S?KJr  S S@KJr  S SAKJrJrJr  S SBKJrJrJr  S SCKJr  S SDKJrGJ Gr GJGrGJGrGJGrGJGrGJGr  S SEGKGJGr  S SFGKGJ	Gr	  S SGGK
GJGrGJGrGJGrGJGr  S SHGKGJGrGJGrGJGrGJGrGJGr  S SIGKGJGrGJGr  S SJGKGJGrGJGrGJGr  S SKGKGJGr  S SLGKGJGrGJ Gr GJ!Gr!GJ"Gr"GJ#Gr#GJ$Gr$GJ%Gr%  S SMGK&GJ'Gr'GJ(Gr(GJ)Gr)GJ*Gr*  S SNGK+GJ,Gr,GJ-Gr-GJ.Gr.GJ/Gr/GJ0Gr0GJ1Gr1GJ2Gr2  S SOK Gr3S SPGK4GJ5Gr5GJ6Gr6   " SQ SRG\3GRn                  5      Gr7\3" SS5      u
  Gr8Gr9Gr:Gr;Gr<Gr=Gr>Gr?Gr@GrA\3" STSUSV9u  GrBGrCGrDSW GrESX GrFSY GrGSZ GrHS[ GrIS\ GrJS] GrKS^ GrLS_ GrMG\'S` 5       GrNG\)Sa 5       GrOSb GrPSc GrQSd GrRSe GrSSf GrTSg GrUSh GrVSi GrWSj GrXSk GrYSl GrZSm Gr[Sn Gr\So Gr]Sp Gr^Sq Gr_Sr Gr`Ss GraSt GrbSu GrcSv GrdSw GreSx GrfSy GrgSz GrhS{ GriS| GrjS} GrkS~ GrlS GrmS GrnS GroS GrpS GrqS GrrS GrsS GrtS GruS GrvS GrwS GrxS GryS GrzS Gr{S Gr|S Gr}S Gr~S GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrG\'S 5       GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrGS  GrgO(      )MatAddMatMulArray)
Quaternion)AccumBounds)CyclePermutationAppliedPermutation)Product)Sum)TupleDict)UnevaluatedExpr)
DerivativeFunctionLambdaSubsdiff)Mod)Mul)AlgebraicNumberFloatIIntegerRationaloopievaluate)Pow)EqNe)S)SymbolWildsymbols)FallingFactorialRisingFactorialbinomial	factorial
factorial2subfactorial)	bernoullibellcatalaneulergenocchilucas	fibonacci
tribonaccidivisor_sigmaudivisor_sigmamobiusprimenu
primeomegatotientreduced_totient)Absarg	conjugateim
polar_liftre)LambertWexplog)asinhcoth)ceilingfloorfrac)MaxMinrootsqrt)	Piecewise)acscasincoscotsintan)beta)
DiracDelta	Heaviside)
elliptic_e
elliptic_f
elliptic_kelliptic_pi)ChiCiEiShiSiexpint)gamma
uppergamma)hypermeijerg)mathieucmathieucprimemathieusmathieusprime)	assoc_laguerreassoc_legendre
chebyshevt
chebyshevu
gegenbauerhermitejacobilaguerrelegendre)SingularityFunction)YnmZnm)KroneckerDelta
LeviCivita)dirichlet_etalerchphipolylog	stieltjeszeta)Integral)
CosineTransformFourierTransformInverseCosineTransformInverseFourierTransformInverseLaplaceTransformInverseMellinTransformInverseSineTransformLaplaceTransformMellinTransformSineTransform)Implies)AndOrXor
EquivalentfalseNottrue)Matrix)KroneckerProduct)MatrixSymbol)PermutationMatrix)MatrixSlice)
DotProduct)TransferFunctionSeriesParallelFeedbackTransferFunctionMatrix
MIMOSeriesMIMOParallelMIMOFeedback)
CommutatorOperator)Tr)metergibibytegram	microgramsecondmillimicro)ZZ)field)Poly)ring)RootSumrootof)fps)fourier_series)Limit)Order)SeqAdd
SeqFormulaSeqMulSeqPer)ConditionSet)Contains)ComplexRegionImageSetRange)OrdinalOrdinalOmega
OmegaPower)PowerSet)	FiniteSetIntervalUnionIntersection
ComplementSymmetricDifference
ProductSet)SetExpr)Normal)
CovarianceExpectationProbabilityVariance)ImmutableDenseNDimArrayImmutableSparseNDimArrayMutableSparseNDimArrayMutableDenseNDimArraytensorproduct)ArraySymbolArrayElement)IdxIndexedIndexedBase)PartialDerivative)
CoordSys3DCrossCurlDot
DivergenceGradient	Laplacian)XFAILraises_both_exp_powwarns_deprecated_sympy)latex	translategreek_letters_settex_greek_dictionarymultiline_latexlatex_escapeLatexPrinterN)mutauc                       \ rS rSrSrg)
lowergammab    N__name__
__module____qualname____firstlineno____static_attributes__r       W/var/www/auris/envauris/lib/python3.13/site-packages/sympy/printing/tests/test_latex.pyr   r   b   s    r   r   zx y z t w a b c s pk m nTintegerc                       " S S[         5      n [        U " [        5      5      S:X  d   e " S S[         5      n [        U " [        5      5      S:X  d   eg )Nc                       \ rS rSrS rSrg)test_printmethod.<locals>.Rk   c                 D    SUR                  U R                  S   5      -  $ )Nzfoo(%s)r   )_printargsselfprinters     r   _latex"test_printmethod.<locals>.R._latexl   s    w~~diil;;;r   r   Nr   r   r   r   r  r   r   r   r   Rr   k   s    	<r   r  zfoo(x)c                       \ rS rSrS rSrg)r   p   c                     g)Nfoor   r  s     r   r  r  q   s    r   r   Nr  r   r   r   r  r   p   s    	r   r  )r<   r   x)r  s    r   test_printmethodr  j   sJ    <C < 1;)###C  1;&   r   c                     [        S[        -   5      S:X  d   e[        [        S-  5      S:X  d   e[        [        S[        -   -  5      S:X  d   e[        [        S-  [        -   S-   [        S-  -   5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        S[        -  [        -  S	S
9S:X  d   e[        S[        S-  -  [        -  SS
9S:X  d   e[        SS[        -  -  SS
9S:X  d   e[        [        [        R                  S-  -  5      S:X  d   e[        [        [        R                  [        S-  SSS95      S:X  d   e[        [        [        R                  [        S-  SSS95      S:X  d   e[        [        SSSS95      S:X  d   e[        [        SSSS95      S:X  d   e[        [        [        R                  S[        R                  SS95      S:X  d   e[        [        S[        SSS95      S:X  d   e[        [        S[        SSS95      S:X  d   e[        [        [        [        S5      [        R                  [        -  S-   5      5      S:X  d   e[        [        [        [        S5      [        SS5      [        -  S-   5      5      S:X  d   e[        [        [        [        S5      S[        -  S-   5      5      S:X  d   e[        [        S SSS95      S!:X  d   e[        [        SS SS95      S":X  d   e[        [        SSSS95      S#:X  d   e[        [        S$SSS95      S%:X  d   e[        [        SSSSS95      S&:X  d   e[        [        SSSS95      S':X  d   e[        [        S[        R                  SS95      S(:X  d   e[        [        SS[        R                  SS95      S):X  d   e[        [        SSSS[        SS95      S*:X  d   e[        [        SS$SS95      S+:X  d   e[        [        S,SSSS [        [        SS95      S-:X  d   e[        [        S,SSS[        -   S [        [        SS95      S.:X  d   e[        [        [        SS5      [        SS/5      SS95      S0:X  d   e[        S[        -  5      S1:X  d   e[        S[        -  S2S39S4:X  d   e[        [        S5      * S-  5      S5:X  d   e[        [        S5      * S-  S2S39S6:X  d   e[        S[        S-  -  5      S7:X  d   e[        S[        [        -   -  S-  5      S8:X  d   e[        [        S-  5      S9:X  d   e[        [        S-  S2S39S::X  d   e[        [        [        -   S[        -  -  5      S;:X  d   e[        [        [        -   S[        -  -  S2S39S<:X  d   e[        [        [        -   S[        -  -  S S=9S>:X  d   e[        [        [        -   [        -  5      S?:X  d   e[        [        [        -   [        -  SS=9S?:X  d   e[        S[        S5      -  [        -  S-  5      S@:X  d   e[        S[        S5      -  [        -  S-  SS=9SA:X  d   e[        [        [        [        5      5      SB:X  d   e[        SC5      n [        SD5      n[        U S-  5      SE:X  d   e[        U S-  SSF9SG:X  d   e[        [        U" U 5      U S5      5      SH:X  d   e[        [        U" U 5      U S5      SSF9SI:X  d   e[        S[        [        [        5      -  S-  5      SJ:X  d   e[        S[        [        [        5      -  S-  S2S39SK:X  d   e[        [        [        5      5      SL:X  d   e[        [        [        SS5      -  5      SM:X  d   e[        [        [        SS5      -  SSN9SO:X  d   e[        [        [        5      S-  5      SP:X  d   e[        [        [        5      S2SQ9SL:X  d   e[        [        [        SS5      -  S2SQ9SR:X  d   e[        [        [        5      S-  S2SQ9SP:X  d   e[        [        [        SS,5      -  5      SS:X  d   e[        [        [        SS,5      -  S2ST9SU:X  d   e[        [        S-   [        SS,5      -  5      SV:X  d   e[        [        S-   [        SS,5      -  S2ST9SW:X  d   e[        [!        [        S5      5      5      SX:X  d   e[        [!        [        S5      SSY/5      5      SZ:X  d   e[        [!        [        S5      S[S\95      S]:X  d   e[        [!        [        S5      SSY/S[S\95      S^:X  d   e[        [!        S[        S5      S-  -  / S_QS`S\95      Sa:X  d   e["        R$                  " S5      n[        UR&                  R)                  / SbQ5      5      Sc:X  d   e[        UR&                  R)                  / SbQ5      SdSe9Sf:X  d   e[        UR+                  Sg5      S    5      Sh:X  d   e[        UR+                  Sg5      S    SdSe9Si:X  d   e[        UR+                  S/5      S    5      Sj:X  d   e[        Sk[        -  5      Sl:X  d   e[        Sk[        -  S	S
9Sm:X  d   e[        Sk[        -  SnS
9So:X  d   e[        S[-        [        5      -  5      Sp:X  d   e[        [-        [        5      S$-  5      Sp:X  d   e[        [-        [        5      [        SS5      -  5      Sq:X  d   e[        [-        [        5      [        SS5      -  S2ST9Sr:X  d   e[        [        ) 5      Ss:X  d   e[        [        [        -  5      St:X  d   e[        [        [        -  [        -  5      Su:X  d   e[        [        [        -  5      Sv:X  d   e[        [        [        -  [        -  5      Sw:X  d   e[        [        [        -  [        -  5      Sx:X  d   e[        [/        [        [        5      5      Sy:X  d   e[        [        [        ) -	  ) 5      Sz:X  d   e[        [/        [1        [        [        5      [        5      5      S{:X  d   e[        [/        [        [1        [        [        5      5      5      S|:X  d   e[        [        [        -  ) 5      S}:X  d   e[        [        ) [        S~0S9S:X  d   e[        [        [        -  [        S~[        S0S9S:X  d   e[        [        [        -  [        -  [        S~[        S[        S0S9S:X  d   e[        [        [        -  [        S~[        S0S9S:X  d   e[        [        [        -  [        -  [        S~[        S[        S0S9S:X  d   e[        [        [        -  [        -  [        S~[        S[        S0S9S:X  d   e[        [/        [        [        5      [        S~[        S0S9S:X  d   e[        [        [        SS5      S$SS95      S:X  d   e[        [        [        SS5      SSS95      S:X  d   e[        [        [3        S5      S-  S$SS95      S:X  d   e[        SS2S9n[        [5        U* 5      [7        U5      -  5      S:X  d   e[        [        [        SS5      S$SS95      S:X  d   e[        [        [        S,S5      S$SS95      S:X  d   e[        [        [        SS,5      S$SS95      S:X  d   e[        [        [        SS,5      S$SS95      S:X  d   e[        [        [        SS5      S$SS95      S:X  d   e[        [        [        S$S5      S$SS95      S:X  d   eg )N   x + 1   zx^{2}z	x^{x + 1}   zx^{3} + x^{2} + x + 1z2 x ydot
mul_symbolz2 \cdot x \cdot yz\,z3\,x^{2}\,y      ?z1.5 \cdot 3^{x}   z\sqrt[32]{x}Fr   z!\frac{1}{2} x^{2} \left(-5\right)z\frac{1}{2} x^{2} \cdot 5z\left(-5\right) \left(-5\right)z5 \left(-5\right)z'\frac{1}{2} \left(-5\right) \frac{1}{2}z5 i 5z5 i \left(-5\right)z"x^{2} \left(\frac{x}{2} + 1\right)z$x^{3} \left(\frac{2 x}{3} + 1\right)   zx^{11} \left(2 x + 1\right)r   z	0 \cdot 1z	1 \cdot 0z	1 \cdot 1z\left(-1\right) 1z1 \cdot 1 \cdot 1z	1 \cdot 2z1 \cdot \frac{1}{2}z1 \cdot 1 \cdot \frac{1}{2}z1 \cdot 1 \cdot 2 \cdot 3 xz1 \left(-1\right)   z%4 \cdot 3 \cdot 2 \cdot 1 \cdot 0 y xz*4 \cdot 3 \cdot 2 \left(z + 1\right) 0 y x   z\frac{2}{3} \cdot \frac{5}{7}\frac{1}{x}T)fold_short_fracz1 / xz- \frac{3}{2}z- 3 / 2z\frac{1}{x^{2}}z\frac{1}{2 \left(x + y\right)}z\frac{x}{2}zx / 2z\frac{x + y}{2 x}z\left(x + y\right) / 2 x)long_frac_ratioz \frac{1}{2 x} \left(x + y\right)z\frac{x + y}{x}z\frac{2 \sqrt{2} x}{3}z\frac{2 x}{3} \sqrt{2}z{\binom{x}{y}}x^*fz\left(x^{*}\right)^{2})parenthesize_superz{x^{*}}^{2}z=\frac{d^{2}}{d \left(x^{*}\right)^{2}} f{\left(x^{*} \right)}z2\frac{d^{2}}{d {x^{*}}^{2}} f{\left(x^{*} \right)}z\frac{2 \int x\, dx}{3}z\left(2 \int x\, dx\right) / 3z\sqrt{x}z\sqrt[3]{x})root_notationzx^{\frac{1}{3}}zx^{\frac{3}{2}}itexz\root{3}{x}zx^{\frac{3}{4}})fold_frac_powerszx^{3/4}z \left(x + 1\right)^{\frac{3}{4}}z\left(x + 1\right)^{3/4}z\sqrt{2}z-7 + 3 \sqrt{2}alpha)alias\alphaz3 \alpha - 7)r  r  r'  rU   z\beta^{2} + 3 \beta - 7)r  r  r  r  z%\zeta^{3} + 2 \zeta^{2} + 3 \zeta + 4oldorderz%4 + 3 \zeta + 2 \zeta^{2} + \zeta^{3}   z(\left(19, \zeta^{2} + 5 \zeta + 1\right)z(\left(19, 1 + 5 \zeta + \zeta^{2}\right)z\left(7\right)g0)VC Dz1.5 \cdot 10^{20} xz1.5 \cdot 10^{20} \cdot xtimesz1.5 \times 10^{20} \times xz\frac{1}{\sin{\left(x \right)}}z#\sin^{\frac{3}{2}}{\left(x \right)}z\sin^{3/2}{\left(x \right)}z\neg xz
x \wedge yzx \wedge y \wedge zzx \vee yzx \vee y \vee zzz \vee \left(x \wedge y\right)zx \Rightarrow yzx \not\Rightarrow \neg yz#\left(x \vee y\right) \Rightarrow zz#z \Rightarrow \left(x \vee y\right)z\neg \left(x \wedge y\right)x_isymbol_namesz\neg x_iy_izx_i \wedge y_iz_izx_i \wedge y_i \wedge z_izx_i \vee y_izx_i \vee y_i \vee z_iz$z_i \vee \left(x_i \wedge y_i\right)zx_i \Rightarrow y_iz\frac{1}{\frac{1}{3}}z\frac{1}{(\frac{1}{3})^{2}}d   z\frac{1}{\frac{1}{100}}ppositiveze^{- p} \log{\left(p \right)}z\frac{1}{\frac{2}{3}}z\frac{1}{\frac{4}{3}}z\frac{1}{- \frac{3}{4}}z\frac{1}{-1}z\frac{1}{- \frac{1}{3}})r   r  yr#   Halfr   r   r    r   zrM   r)   r$   r   r   r}   r   r   cyclotomic_fieldextfield_elementprimes_aboverS   r   r   r   rC   rD   )x_starr!  kr7  s       r   test_latex_basicrE  v   s   Q<8###A;("""QU,,,AA1$%)AAAA1Q<8###1Q5)-AAAA1a4e,>>>QTe,0BBBBAFFAI/111QVVQT267;____QVVQT1u56:VVVVRe,-1SSSSQU+,0DDDDQVVR%89=ggggQ1u-.(:::Q2./3IIIISAYq1-.2WWWWSAYAq 01 456:aaaaSBZ1q)*.LLLLQE*+|;;;QE*+|;;;QE*+|;;;RU+,0DDDDQ1u-.2FFFFQE*+|;;;Q/04JJJJQ166E23&' ' 'Q1aU34&' ' 'QU+,0DDDDQ1aAq59:01 1 1Q1ac1aU;<56 6 6Xa^Xa^eDE() ) ) 1:'''1d+x777!A$q>----!A$q$/:===1a4=....AE1!BBBB1:'''1d+x777!a%!A##7777!a%!A#5#$ $ $!a%!A#2+, , ,!a%1111!a%A.2DDDD!DG)A+q!%>>>>!DG)A+q!4!" " "!Q $5555E]FA8888u5GGGAfIva015uuuuAfIva0UK  PE  E  E  E8Aq>!!#$(BBBB8Aq>!!#T:)* * * a>[(((HQN"#~555HQN"%8<NNNNa! 2222at$333HQN"..@@@a!$'+====HQN"#'9999HQN"T:jHHH!a%(1a.()+, , ,!a%(1a.(4@#$ $ $a)*k999a1b'237IIIIa89YFFFa1b'AB  QqT!VjGH"# # # 	AA$$\2301 1 1$$\2%@01 1 1#A&'34 4 4#A&e467 7 7"1%&*;;;;?4444e,0LLLLg.&' ' ' 3q6?@@@@Q BBBBQ!Q'(./ / /Q!Q'$?&' ' ' !9	!!!Q<=(((Q5555Q<;&&&Q1111!a%1!BBBBA#555517 ;;;;Aa!$%)OOOOBqG$%)OOOO1q5?====!1e*-<<<Qa5%9:  Q!UAua)GH$% % %Qa5%9:oMMMQ!UAua)GH ! ! !!a%1Aua5+IJ/0 0 0Aa5-AB  Xa^R%89=UUUUXa^R%89=[[[[WQZ^R%89=WWWWsT"AaRQ $DDDDXa^R%89=UUUUXa^R%89=UUUUXb!_b59:>XXXXXb!_b59:oMMMXa^R%89=UUUUXb!_b59:>XXXXr   c                      [        S5      S:X  d   e[        S5      S:X  d   e[        S 5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   eg )NTz\text{True}Fz\text{False}z\text{None})r   r   r   r   r   r   test_latex_builtinsrG    s\    ;.(((<?***;.(((;.(((<?***r   c                  N   [        [        [        SS5      5      S:X  d   e[        [        [        SS5      5      S:X  d   e[        [        [        SS5      5      S:X  d   e[        [        [        [        [        5      5      S:X  d   e[        [        [        SS	5      5      S
:X  d   e[        [        [        SS5      5      S:X  d   e[        [        [        SS5      S-  5      S:X  d   e[        [        [        SS5      S-  5      S:X  d   e[        [        [        SS5      S-  5      S:X  d   e[        [        [        [        [        5      S-  5      S:X  d   e[        [        [        SS	5      S-  5      S:X  d   e[        [        [        SS5      S-  S-  5      S:X  d   eg )Nr  r  z&{\left\langle x - 4 \right\rangle}^{5}r:  z&{\left\langle x + 3 \right\rangle}^{4}r   z"{\left\langle x \right\rangle}^{4}z({\left\langle - a + x \right\rangle}^{n}r5  z'{\left\langle x - 4 \right\rangle}^{-2}r  z'{\left\langle x - 4 \right\rangle}^{-1}r  z.{\left({\langle x - 4 \rangle}^{5}\right)}^{3}z.{\left({\langle x + 3 \rangle}^{4}\right)}^{3}z*{\left({\langle x \rangle}^{4}\right)}^{3}z0{\left({\langle - a + x \rangle}^{n}\right)}^{3}z/{\left({\langle x - 4 \rangle}^{-2}\right)}^{3}z/{\left({\langle x - 4 \rangle}^{-1}\right)}^{9})r   rs   r  anr   r   r   test_latex_SingularityFunctionrK    s   $Q1-.12 2 2$QA./12 2 2$Q1-.-. . .$Q1-.34 4 4$Q2./23 3 3$Q2./23 3 3 $Q1-q019: : :$QA.129: : :$Q1-q0156 6 6$Q1-q01;< < <$Q2.12:; ; ;%aB/2Q67:; ; ;r   c                      [        [        SSS5      5      S:X  d   e[        [        SS5      " SSS5      5      S:X  d   e[        [        5       5      S:X  d   eg )	Nr  r  r  \left( 1\; 2\; 4\right)r     *\left( 1\; 2\right)\left( 4\; 5\; 6\right)\left( \right))r   r   r   r   r   test_latex_cyclerQ  6  s\    q!Q $>>>>q!Q1%&56 6 6>....r   c                     [        [        SSS5      5      S:X  d   e[        [        SS5      " SSS5      5      S:X  d   e[        [        5       5      S:X  d   e[        [        SS5      [        S5      -  5      S	:X  d   e[        [        S5      5      S
:X  d   e[        [        SS5      SS9S:X  d   e[        [        SS5      " SS5      SS9S:X  d   e[        [        5       SS9S:X  d   e[        5          [        R                  n S[        l        [        [        SS5      " SS5      5      S:X  d   eU [        l        S S S 5        g ! , (       d  f       g = f)Nr  r  r  rM  r  rN  rO  rP  z"\left( 2\; 4\right)\left( 5\right)z\left( 5\right)r   F)perm_cyclicz,\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}r  z<\begin{pmatrix} 0 & 1 & 2 & 3 \\ 1 & 0 & 3 & 2 \end{pmatrix})r   r	   r   print_cyclic)old_print_cyclics    r   test_latex_permutationrV  =  sj   Q1%&*DDDDQ"1a+,56 6 6#4444Q";q>12-. . .Q $6666Q"678 8 8Q"1a(e<GH H HE2   
 	!&33#( [A&q!,-KL 	L L#3  
"	!	!s   7A	E		
Ec                  v   [        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      SS9S:X  d   e[        [        S5      S	S
SS9S:X  d   e[        [        S5      S	S
SS9S:X  d   e[        [        S5      S	S
SS9S:X  d   e[        [        S5      SS
SS9S:X  d   eg )Ng}Ô%ITz1.0 \cdot 10^{100}g0.++z1.0 \cdot 10^{-100}r/  r  z1.0 \times 10^{-100}z10000.0Fr5  r  )	full_precminmaxz1.0 \cdot 10^{4}r  r  z0.099999Tz9.99990000000000 \cdot 10^{-2})r   r   r   r   r   test_latex_Floatr[  T  s    w $9999x!%;;;;xW5     y!UB  y!UB  y!UB  z"dC)* * *r   c                  	   [        S5      n [        [        U R                  U R                  U R
                  -  S-  U R                  -   5      5      S:X  d   e[        [        U R                  U R                  5      5      S:X  d   e[        [
        [        U R                  U R                  5      -  5      S:X  d   e[        [        [
        U R                  -  U R                  5      5      S:X  d   e[        [        SU R
                  -  U R                  -  5      5      S:X  d   e[        [        SU R
                  -  U R                  -  U R                  -   5      5      S:X  d   e[        [        S[
        -  U R
                  -  U R                  -  5      5      S	:X  d   e[        [
        [        SU R
                  -  U R                  -  5      -  5      S
:X  d   e[        [        SU R
                  -  U R                  -  U R                  -   5      5      S:X  d   e[        [        SU R
                  -  U R                  -  5      5      S:X  d   e[        [
        [        SU R
                  -  U R                  -  5      -  5      S:X  d   e[        [        U R                  U R                  U R
                  -  S-  U R                  -   5      5      S:X  d   e[        [        U R                  U R                  5      5      S:X  d   e[        [        [
        U R                  -  U R                  5      5      S:X  d   e[        [
        [        U R                  U R                  5      -  5      S:X  d   e[        [        U R
                  5      5      S:X  d   e[        [        U R
                  SU R                  -  -   5      5      S:X  d   e[        [
        [        U R
                  5      -  5      S:X  d   e[        [        [
        U R
                  -  5      5      S:X  d   e[        [        U R
                  5      5      S:X  d   e[        [        U R
                  SU R                  -  -   5      5      S:X  d   e[        [
        [        U R
                  5      -  5      S:X  d   e[        [        [
        U R
                  -  5      5      S:X  d   eg )NAr  zs\mathbf{\hat{i}_{A}} \times \left(\left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}} + \mathbf{\hat{k}_{A}}\right)z0\mathbf{\hat{i}_{A}} \times \mathbf{\hat{j}_{A}}z?x \left(\mathbf{\hat{i}_{A}} \times \mathbf{\hat{j}_{A}}\right)zM- \mathbf{\hat{j}_{A}} \times \left(\left(x\right)\mathbf{\hat{i}_{A}}\right)zM\nabla\times \left(\left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}}\right)zd\nabla\times \left(\mathbf{\hat{i}_{A}} + \left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}}\right)zO\nabla\times \left(\left(3 \mathbf{{x}_{A}} x\right)\mathbf{\hat{j}_{A}}\right)z\x \left(\nabla\times \left(\left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}}\right)\right)zc\nabla\cdot \left(\mathbf{\hat{i}_{A}} + \left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}}\right)zL\nabla\cdot \left(\left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}}\right)z[x \left(\nabla\cdot \left(\left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}}\right)\right)zr\mathbf{\hat{i}_{A}} \cdot \left(\left(3 \mathbf{{x}_{A}}\right)\mathbf{\hat{j}_{A}} + \mathbf{\hat{k}_{A}}\right)z/\mathbf{\hat{i}_{A}} \cdot \mathbf{\hat{j}_{A}}zJ\mathbf{\hat{j}_{A}} \cdot \left(\left(x\right)\mathbf{\hat{i}_{A}}\right)z>x \left(\mathbf{\hat{i}_{A}} \cdot \mathbf{\hat{j}_{A}}\right)z\nabla \mathbf{{x}_{A}}z9\nabla \left(\mathbf{{x}_{A}} + 3 \mathbf{{y}_{A}}\right)z&x \left(\nabla \mathbf{{x}_{A}}\right)z&\nabla \left(\mathbf{{x}_{A}} x\right)z\Delta \mathbf{{x}_{A}}z9\Delta \left(\mathbf{{x}_{A}} + 3 \mathbf{{y}_{A}}\right)z&x \left(\Delta \mathbf{{x}_{A}}\right)z&\Delta \left(\mathbf{{x}_{A}} x\right))r   r   r   ijr  rD  r   r   r   r   r<  r   )r]  s    r   test_latex_vector_expressionsr`  c  s9   3AqssACCGAIaccM*+~  qssACC!;< < <5acc?"#JK K Kquacc"#XY Y Y aeACCi!XY Y YaeACCim$%op p pac!##gacck"#Z[ [ [4!##acc	?"#gh h h AaccE!##IaccM*+no o oAaccE!##I&'WX X X:aeACCi(()fg g g QSS!##acc'!)ACC-()}~ ~ ~QSS!##:; ; ;QqssUACC!UV V V3qssACC=!IJ J J !###====!##!##+&'DE E E8ACC=!%NNNN!ACC%!%NNNN133 $>>>>133133;'(DE E E9QSS>!"&OOOO1QSS5!"&OOOOr   c                  H   [        S5      u  pn[        S5      u  p4pV[        U5      S:X  d   e[        U5      S:X  d   e[        U5      S:X  d   e[        U5      S:X  d   e[         Vs1 s H  owR                  5       iM     nn[	        U[        [        R                  " 5       5      -
  5      S:X  d   e[        X-   5      S:X  d   e[        X-  5      S:X  d   e[        [        S5      5      S	:X  d   e[        [        S
5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      [        S5      -  5      S:X  d   eg s  snf ) NzGamma, lambda, rhoztau, Tau, TAU, taU\tau
\mathrm{T}r   z\Gamma + \lambdaz\Gamma \lambdaq1zq_{1}q21zq_{21}epsilon0z\epsilon_{0}omega1
\omega_{1}91	alpha_newz\alpha_{new}zC^origzC^{orig}zx^alphaz
x^{\alpha}z
beta^alphaz\beta^{\alpha}ze^Alphaze^{\mathrm{A}}zomega_alpha^betaz\omega^{\beta}_{\alpha}omegarU   z\omega^{\beta})	r&   r   r   
capitalizelensetr   keysr$   )	Gammalmbdarhor   TauTAUtaUlcapitalized_letterss	            r   test_latex_symbolsrx    s	    45E# !56Cc:   :&&&:   :   3DE3Da<<>3DE"S)=)B)B)D%EEF!KKK#6666#4444(***9,,,
#$777!"m333%'''$%888!"k111	"#}444%&*;;;;	"#'8888*+,0JJJJF6N237HHHH Fs   )Hc                      [        S5      u  pn[        X -  U:H  5      S:X  d   e[        X!-  U -  S:H  5      S:X  d   e[        US-  US-  -  5      S:X  d   eg )Nzrho, mass, volumez$\rho \mathrm{volume} = \mathrm{mass}r  z/\rho \mathrm{volume} {\mathrm{mass}}^{(-1)} = 1r  z/{\mathrm{mass}}^{3} \cdot {\mathrm{volume}}^{3}r&   r   )rr  massvolumes      r   test_latex_symbols_failingr}    s     34Cv!HI I I$)*:; ; ;q619$%:; ; ;r   c                  E   [        [        [        5      5      S:X  d   e[        [        S5      [        S5      -   5      S:X  d   e[        S5      n [        U " [        5      5      S:X  d   e[        U 5      S:X  d   e[        S5      n[        U" [        [        5      5      S:X  d   e[        U5      S:X  d   e[        S	5      n[        U" [        [        [
        5      5      S
:X  d   e[        U5      S	:X  d   e[        S5      n[        U5      S:X  d   e[        U" [        5      5      S:X  d   e[        S5      n[        U" [        [        [
        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        SS95      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        U" [        5      5      S:X  d   e[        U5      S:X  d   e[        S5      n[        U" [        [        [
        5      5      S:X  d   e[        U" [        5      5      S:X  d   e[        U5      S:X  d   e[        S5      n[        U5      S:X  d   e[        U" [        5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S 5      5      S!:X  d   e[        [        S"5      5      S#:X  d   e[        [        S$5      5      S!:X  d   e[        [        S%5      5      S#:X  d   e[        [        S&5      5      S':X  d   e[        [        S(5      5      S):X  d   e[        [        S5      " [        S*5      5      5      S+:X  d   e[        [        S 5      " [        S*5      5      5      S,:X  d   e[        [        S"5      " [        S*5      5      5      S-:X  d   e[        [        S$5      " [        S*5      5      5      S,:X  d   e[        [        S&5      " [        S*5      5      5      S.:X  d   e[        [        S(5      " [        S*5      5      5      S/:X  d   e[        [        S5      " 5       S-  5      S0:X  d   e[        [        S 5      " 5       S-  5      S1:X  d   e[        [        S"5      " 5       S-  5      S2:X  d   e[        [        S$5      " 5       S-  5      S1:X  d   e[        [        S%5      " 5       S-  5      S2:X  d   e[        [        S5      " [        S*5      5      S-  5      S3:X  d   e[        [        S 5      " [        S*5      5      S-  5      S4:X  d   e[        [        S"5      " [        S*5      5      S-  5      S5:X  d   e[        [        S$5      " [        S*5      5      S-  5      S4:X  d   e[        [        S%5      " [        S*5      5      S-  5      S5:X  d   e[        [        S65      5      S6:X  d   e[        [        S75      5      S:X  d   e[        [        S85      5      S9:X  d   e[        [        S5      5      S:X  d   e[        [        S:5      5      S9:X  d   e[        [        S65      " 5       5      S;:X  d   e[        [        S75      " 5       5      S<:X  d   e[        [        S85      " 5       5      S=:X  d   e[        [        S5      " 5       5      S<:X  d   e[        [        S:5      " 5       5      S=:X  d   e[        [        S65      " 5       S-  5      S>:X  d   e[        [        S75      " 5       S-  5      S?:X  d   e[        [        S85      " 5       S-  5      S@:X  d   e[        [        S5      " 5       S-  5      S?:X  d   e[        [        S:5      " 5       S-  5      S@:X  d   e[        [        S65      " [        S*5      5      S-  5      SA:X  d   e[        [        S75      " [        S*5      5      S-  5      SB:X  d   e[        [        S85      " [        S*5      5      S-  5      SC:X  d   e[        [        S5      " [        S*5      5      S-  5      SB:X  d   e[        [        S:5      " [        S*5      5      S-  5      SC:X  d   e[        [        S65      " 5       SD-  5      SE:X  d   e[        [        S75      " 5       SD-  5      SF:X  d   e[        [        S85      " 5       SD-  5      SG:X  d   e[        [        S5      " 5       SD-  5      SF:X  d   e[        [        S:5      " 5       SD-  5      SG:X  d   e[        [        S65      " [        S*5      5      SD-  5      SH:X  d   e[        [        S75      " [        S*5      5      SD-  5      SI:X  d   e[        [        S85      " [        S*5      5      SD-  5      SJ:X  d   e[        [        S5      " [        S*5      5      SD-  5      SI:X  d   e[        [        S:5      " [        S*5      5      SD-  5      SJ:X  d   e[        [        S65      " 5       [        -  5      SK:X  d   e[        [        S75      " 5       [        -  5      SL:X  d   e[        [        S85      " 5       [        -  5      SM:X  d   e[        [        S5      " 5       [        -  5      SL:X  d   e[        [        S:5      " 5       [        -  5      SM:X  d   e[        [        S65      " [        S*5      5      [        -  5      SN:X  d   e[        [        S75      " [        S*5      5      [        -  5      SO:X  d   e[        [        S85      " [        S*5      5      [        -  5      SP:X  d   e[        [        S5      " [        S*5      5      [        -  5      SO:X  d   e[        [        S:5      " [        S*5      5      [        -  5      SP:X  d   e[        S5      n[        [        S65      " 5       U-  5      SQ:X  d   e[        [        S75      " 5       U-  5      SR:X  d   e[        [        S85      " 5       U-  5      SS:X  d   e[        [        S5      " 5       U-  5      SR:X  d   e[        [        S:5      " 5       U-  5      SS:X  d   e[        [        S65      " [        S*5      5      U-  5      ST:X  d   e[        [        S75      " [        S*5      5      U-  5      SU:X  d   e[        [        S85      " [        S*5      5      U-  5      SV:X  d   e[        [        S5      " [        S*5      5      U-  5      SU:X  d   e[        [        S:5      " [        S*5      5      U-  5      SV:X  d   e[        [        SW5      " [        5      5      SX:X  d   e[        [        SW5      " [        5      U-  5      SY:X  d   e[        [        SZ5      " [        5      5      SX:X  d   e[        [        SZ5      " [        5      U-  5      SY:X  d   e[        [        S[5      " [        5      5      S\:X  d   e[        S]5      n[        U5      S^:X  d   e[        U" [        5      5      S_:X  d   e[        [        [        5      5      S`:X  d   e[        [        [        5      SaSb9Sc:X  d   e[        [        S[        S-  -  5      SaSb9Sd:X  d   e[        [        [        S-  5      SaSb9Se:X  d   e[        [        [        5      S-  5      Sf:X  d   e[        [        [        5      S-  SgSh9Si:X  d   e[        [        [        5      S-  SjSh9Sk:X  d   e[        [        [        S-  5      SjSaSl9Sm:X  d   e[        [        [        5      SgSh9Sn:X  d   e[        [        [        5      SgSh9So:X  d   e[        [        [        5      5      Sp:X  d   e[        [        [        * 5      5      Sq:X  d   e[        [        [        5      S-  5      Sr:X  d   e[        [        [        5      5      Ss:X  d   e[        [        [        * 5      5      St:X  d   e[        [        [        5      S-  5      Su:X  d   e[        [!        [        5      5      Sv:X  d   e[        [!        [        * 5      5      Sw:X  d   e[        [!        [        5      S-  5      Sx:X  d   e[        [#        S[        5      5      Sy:X  d   e[        [#        S[        5      S-  5      Sz:X  d   e[        [%        S{[        5      5      S|:X  d   e[        ['        S{[        5      5      S}:X  d   e[        [)        [        5      5      S~:X  d   e[        [+        [        5      5      S:X  d   e[        [-        [        5      5      S:X  d   e[        [)        [        5      S-  5      S:X  d   e[        [+        [        5      S-  5      S:X  d   e[        [-        [        5      S-  5      S:X  d   e[        [/        [        S[        S{-  5      5      S:X  d   e[        [/        [        [        5      S-  5      S:X  d   e[        [1        [        S[        S{-  5      5      S:X  d   e[        [1        [        [        5      S-  5      S:X  d   e[        [3        [        5      5      S:X  d   e[        [3        [        5      S-  5      S:X  d   e[        [5        [        5      5      S:X  d   e[        [5        [        [        -   5      5      S:X  d   e[        [7        [        5      5      S:X  d   e[        [9        [        5      5      S:X  d   e[        [9        [        5      S-  5      S:X  d   e[        [9        [        S-  5      5      S:X  d   e[        [;        [        5      5      S:X  d   e[=        S5      n[        [;        U5      5      S:X  d   e[        [?        [        5      5      S:X  d   e[        [?        [        [        5      5      S:X  d   e[        [?        [        [        S45      5      S:X  d   e[        [?        [        [        [@        45      5      S:X  d   e[        [?        [        [        -
  [        [        45      5      S:X  d   e[        [?        [        [        [        5      5      S:X  d   e[        [?        [        [        [        5      5      S:X  d   e[        [?        [        [        [@        4[        [@        45      5      S:X  d   e[        [C        [        [        5      5      S:X  d   e[        [C        [        [        5      S-  5      S:X  d   e[        [E        [        [        5      5      S:X  d   e[        [E        [        [        5      S-  5      S:X  d   e[        [G        [        5      5      S:X  d   e[        [I        [        5      5      S:X  d   e[        [5        [        5      5      S:X  d   e[        [7        [        5      5      S:X  d   e[        [K        [        [        5      5      S:X  d   e[        [M        [        5      5      S:X  d   e[        [O        [        5      5      S:X  d   e[        [O        [        5      S-  5      S:X  d   e[        [O        [        [        5      5      S:X  d   e[        [O        [        [        5      S-  5      S:X  d   e[        [Q        [        5      5      S:X  d   e[        [Q        [        5      S-  5      S:X  d   e[        [S        [        [        5      5      S:X  d   e[        [S        [        [        5      S-  5      S:X  d   e[        [U        [        [        [V        5      5      S:X  d   e[        [U        [        [        [V        5      S-  5      S:X  d   e[        [Y        [        5      5      S:X  d   e[        [Y        [        5      S-  5      S:X  d   e[        [Y        [        [        5      5      S:X  d   e[        [Y        [        [        5      S-  5      S:X  d   e[        [[        [
        5      5      S:X  d   e[        [[        [
        5      S-  5      S:X  d   e[        []        [        [        5      5      S:X  d   e[        []        [        [        5      S-  5      S:X  d   e[        [_        [        [        5      5      S:X  d   e[        [_        [        [        5      S-  5      S:X  d   e[        [_        [
        5      5      S:X  d   e[        [_        [
        5      S-  5      S:X  d   e[        [a        [        [        [
        5      5      S:X  d   e[        [a        [        [        [
        5      S-  5      S:X  d   e[        [a        [        [        5      5      S:X  d   e[        [a        [        [        5      S-  5      S:X  d   e[        [c        [        5      5      S:X  d   e[        [c        [        5      S-  5      S:X  d   e[        [e        [        [        5      5      S:X  d   e[        [e        [        [        5      S-  5      S:X  d   e[        [g        [        5      S-  5      S:X  d   e[        [i        [        5      S-  5      S:X  d   e[        [k        [        5      S-  5      S:X  d   e[        [m        [        5      S-  5      S:X  d   e[        [m        [        5      5      S:X  d   e[        [o        [V        [        [p        [        5      5      S:X  d   e[        [o        [V        [        [p        [        5      S-  5      S:X  d   e[        [s        [V        [        [        5      5      S:X  d   e[        [s        [V        [        [        5      S-  5      S:X  d   e[        [u        [V        [        5      5      S:X  d   e[        [u        [V        [        5      S-  5      S:X  d   e[        [w        [V        [        5      5      S:X  d   e[        [w        [V        [        5      S-  5      S:X  d   e[        [y        [V        [        5      5      S:X  d   e[        [y        [V        [        5      S-  5      S:X  d   e[        [{        [V        [        [        5      5      S:X  d   e[        [{        [V        [        [        5      S-  5      S:X  d   e[        [}        [V        [        5      5      S:X  d   e[        [}        [V        [        5      S-  5      S:X  d   e[        [        [V        [        [        5      5      S:X  d   e[        [        [V        [        [        5      S-  5      S:X  d   e[        [        [V        [        5      5      S:X  d   e[        [        [V        [        5      S-  5      S:X  d   e[        SSaS9n	[        SSaS9n
[        [        [V        [        X5      5      S:X  d   e[        [        [V        [        X5      S{-  5      S:X  d   e[        [        [V        [        X5      5      S:X  d   e[        [        [V        [        X5      S{-  5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      S{-  5      S:X  d   e[        [        [V        5      5      S:X  d   e[        [        [V        5      S-  5      S:X  d   e[        [        [V        5      5      S:X  d   e[        [        [V        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [V        5      5      S:X  d   e[        [        [V        5      S-  5      S:X  d   e[        [        [V        5      5      S:X  d   e[        [        [V        5      S-  5      S:X  d   e[        [        [V        5      5      S:X  d   e[        [        [V        S5      5      S:X  d   e[        [        [V        [        5      5      S:X  d   e[        [        [V        5      [        [V        5      -  5      S:X  d   e[        [        [        [V        5      S5      5      S:X  d   e[        [        [V        5      [        -  5      S:X  d   e[        [        [V        [        5      [        -  5      S:X  d   e[        [        [        S5      5      S:X  d   e[        [        [        S-   S5      5      S:X  d   e[        [        S[        S-   5      5      S:X  d   e[        [        S[        -  S5      5      S:X  d   e[        [        SS[        -  5      5      S:X  d   e[        [        [        S5      S-   5      S:X  d   e[        S[        [        S5      -  5      S:X  d   e[        [        SS[        -  5      [V        -  5      S:X  d   e[        S5      n[        U" [        5      5      S:X  d   e[        U5      GS :X  d   eg (  Nze^{x}r  r  z	e + e^{2}r!  zf{\left(x \right)}gzg{\left(x,y \right)}hzh{\left(x,y,z \right)}Liz\operatorname{Li}z"\operatorname{Li}{\left(x \right)}rU   z\beta{\left(x,y,z \right)}z!\operatorname{B}\left(x, y\right)Fr   z!\operatorname{B}\left(x, x\right)z%\operatorname{B}^{2}\left(x, y\right)z\beta{\left(x \right)}\betarb   z\gamma{\left(x,y,z \right)}z\gamma{\left(x \right)}\gammaa_1za_{1}za_{1}{\left(x \right)}abz\operatorname{ab}ab1z\operatorname{ab}_{1}ab12z\operatorname{ab}_{12}ab_1ab_12ab_cz\operatorname{ab}_{c}ab_cdz\operatorname{ab}_{cd}r  z"\operatorname{ab}{\left(x \right)}z&\operatorname{ab}_{1}{\left(x \right)}z'\operatorname{ab}_{12}{\left(x \right)}z&\operatorname{ab}_{c}{\left(x \right)}z'\operatorname{ab}_{cd}{\left(x \right)}z%\operatorname{ab}^{2}{\left( \right)}z)\operatorname{ab}_{1}^{2}{\left( \right)}z*\operatorname{ab}_{12}^{2}{\left( \right)}z&\operatorname{ab}^{2}{\left(x \right)}z*\operatorname{ab}_{1}^{2}{\left(x \right)}z+\operatorname{ab}_{12}^{2}{\left(x \right)}rI  a1a12za_{12}a_12za{\left( \right)}za_{1}{\left( \right)}za_{12}{\left( \right)}za^{2}{\left( \right)}za_{1}^{2}{\left( \right)}za_{12}^{2}{\left( \right)}za^{2}{\left(x \right)}za_{1}^{2}{\left(x \right)}za_{12}^{2}{\left(x \right)}    za^{32}{\left( \right)}za_{1}^{32}{\left( \right)}za_{12}^{32}{\left( \right)}za^{32}{\left(x \right)}za_{1}^{32}{\left(x \right)}za_{12}^{32}{\left(x \right)}za^{a}{\left( \right)}za_{1}^{a}{\left( \right)}za_{12}^{a}{\left( \right)}za^{a}{\left(x \right)}za_{1}^{a}{\left(x \right)}za_{12}^{a}{\left(x \right)}za^{ab}{\left( \right)}za_{1}^{ab}{\left( \right)}za_{12}^{ab}{\left( \right)}za^{ab}{\left(x \right)}za_{1}^{ab}{\left(x \right)}za_{12}^{ab}{\left(x \right)}za^12za^{12}{\left(x \right)}z)\left(a^{12}\right)^{ab}{\left(x \right)}a__12a_1__1_2za^{1}_{1 2}{\left(x \right)}rg  rh  z\omega_{1}{\left(x \right)}z\sin{\left(x \right)}T)fold_func_bracketsz\sin {x}z\sin {2 x^{2}}z\sin {x^{2}}z(\operatorname{asin}^{2}{\left(x \right)}full)inv_trig_stylez\arcsin^{2}{\left(x \right)}powerz\sin^{-1}{\left(x \right)}^{2})r  r  z\sin^{-1} {x^{2}}z&\operatorname{arccsc}{\left(x \right)}z&\operatorname{arsinh}{\left(x \right)}zk!z\left(- k\right)!zk!^{2}z!kz!\left(- k\right)z\left(!k\right)^{2}zk!!z\left(- k\right)!!zk!!^{2}z{\binom{2}{k}}z{\binom{2}{k}}^{2}r  z{\left(3\right)}_{k}z{3}^{\left(k\right)}z\left\lfloor{x}\right\rfloorz\left\lceil{x}\right\rceilz#\operatorname{frac}{\left(x\right)}z \left\lfloor{x}\right\rfloor^{2}z\left\lceil{x}\right\rceil^{2}z'\operatorname{frac}{\left(x\right)}^{2}z\min\left(2, x, x^{3}\right)z\min\left(x, y\right)^{2}z\max\left(2, x, x^{3}\right)z\max\left(x, y\right)^{2}\left|{x}\right|z\left|{x}\right|^{2}!\operatorname{re}{\left(x\right)}zE\operatorname{re}{\left(x\right)} + \operatorname{re}{\left(y\right)}!\operatorname{im}{\left(x\right)}z\overline{x}z\overline{x}^{2}z\Gamma\left(x\right)wz\Gamma\left(w\right)zO\left(x\right)r   z$O\left(x; x\rightarrow \infty\right)z#O\left(x - y; x\rightarrow y\right)zGO\left(x; \left( x, \  y\right)\rightarrow \left( 0, \  0\right)\right)zQO\left(x; \left( x, \  y\right)\rightarrow \left( \infty, \  \infty\right)\right)z\gamma\left(x, y\right)z\gamma^{2}\left(x, y\right)z\Gamma\left(x, y\right)z\Gamma^{2}\left(x, y\right)z\cot{\left(x \right)}z\coth{\left(x \right)}zx^{\frac{1}{y}}z\arg{\left(x \right)}z\zeta\left(x\right)z\zeta^{2}\left(x\right)z\zeta\left(x, y\right)z\zeta^{2}\left(x, y\right)z\eta\left(x\right)z\eta^{2}\left(x\right)z#\operatorname{Li}_{x}\left(y\right)z'\operatorname{Li}_{x}^{2}\left(y\right)z\Phi\left(x, y, n\right)z\Phi^{2}\left(x, y, n\right)z
\gamma_{x}z\gamma_{x}^{2}z\gamma_{x}\left(y\right)z\gamma_{x}\left(y\right)^{2}zK\left(z\right)zK^{2}\left(z\right)zF\left(x\middle| y\right)zF^{2}\left(x\middle| y\right)zE\left(x\middle| y\right)zE^{2}\left(x\middle| y\right)zE\left(z\right)zE^{2}\left(z\right)z\Pi\left(x; y\middle| z\right)z"\Pi^{2}\left(x; y\middle| z\right)z\Pi\left(x\middle| y\right)z\Pi^{2}\left(x\middle| y\right)z"\operatorname{Ei}{\left(x \right)}z&\operatorname{Ei}^{2}{\left(x \right)}z"\operatorname{E}_{x}\left(y\right)z&\operatorname{E}_{x}^{2}\left(y\right)z'\operatorname{Shi}^{2}{\left(x \right)}z&\operatorname{Si}^{2}{\left(x \right)}z&\operatorname{Ci}^{2}{\left(x \right)}z$\operatorname{Chi}^{2}\left(x\right)z \operatorname{Chi}\left(x\right)z&P_{n}^{\left(a,b\right)}\left(x\right)z7\left(P_{n}^{\left(a,b\right)}\left(x\right)\right)^{2}z$C_{n}^{\left(a\right)}\left(x\right)z5\left(C_{n}^{\left(a\right)}\left(x\right)\right)^{2}T_{n}\left(x\right)z$\left(T_{n}\left(x\right)\right)^{2}zU_{n}\left(x\right)z$\left(U_{n}\left(x\right)\right)^{2}zP_{n}\left(x\right)z$\left(P_{n}\left(x\right)\right)^{2}z$P_{n}^{\left(a\right)}\left(x\right)z5\left(P_{n}^{\left(a\right)}\left(x\right)\right)^{2}zL_{n}\left(x\right)z$\left(L_{n}\left(x\right)\right)^{2}z$L_{n}^{\left(a\right)}\left(x\right)z5\left(L_{n}^{\left(a\right)}\left(x\right)\right)^{2}zH_{n}\left(x\right)z$\left(H_{n}\left(x\right)\right)^{2}thetarealphiz!Y_{n}^{m}\left(\theta,\phi\right)z2\left(Y_{n}^{m}\left(\theta,\phi\right)\right)^{3}z!Z_{n}^{m}\left(\theta,\phi\right)z2\left(Z_{n}^{m}\left(\theta,\phi\right)\right)^{3}z+\operatorname{polar\_lift}{\left(0 \right)}z/\operatorname{polar\_lift}^{3}{\left(0 \right)}z\phi\left(n\right)z#\left(\phi\left(n\right)\right)^{2}z\lambda\left(n\right)z&\left(\lambda\left(n\right)\right)^{2}z\sigma\left(x\right)z\sigma^{2}\left(x\right)z\sigma_y\left(x\right)z\sigma^{2}_y\left(x\right)z\sigma^*\left(x\right)z\sigma^*^{2}\left(x\right)z\sigma^*_y\left(x\right)z\sigma^*^{2}_y\left(x\right)z\nu\left(n\right)z"\left(\nu\left(n\right)\right)^{2}z\Omega\left(n\right)z%\left(\Omega\left(n\right)\right)^{2}zW\left(n\right)r  zW_{-1}\left(n\right)zW_{k}\left(n\right)zW^{2}\left(n\right)zW^{k}\left(n\right)zW^{p}_{k}\left(n\right)r  z	x \bmod 7z\left(x + 1\right) \bmod 7z7 \bmod \left(x + 1\right)z2 x \bmod 7z7 \bmod 2 xz\left(x \bmod 7\right) + 1z2 \left(x \bmod 7\right)z\left(7 \bmod 2 x\right)^{n}fjlkdz%\operatorname{fjlkd}{\left(x \right)}z\operatorname{fjlkd})Or   rC   r  r   r<  r>  rU   r$   rI  rS   rP   rO   rE   r*   rD  r,   r+   r)   r'   r(   rH   rG   rI   rK   rJ   r<   rA   r?   r>   rb   r%   r   r   r   rc   rR   rF   rL   r=   r|   rx   rz   ry   rJ  r{   rZ   rY   rX   r[   r^   ra   r_   r`   r]   r\   rp   brn   rl   rm   rr   rk   rq   rj   ro   rt   mru   r@   r:   r;   r5   r6   r8   r9   rB   r    r7  r   )r!  r  r  r  mybetar  r  rg  r  r  r  r  s               r   test_latex_functionsr    sC   Q=H$$$Q#a&!\111A1;////8tA1a>44448tA1a 99998t	$B9,,,,A<@@@@fF1a!%BBBBa DDDDa%()-QQQQaQ#KKKK8888=H$$$A1a >>>>1;44448y   
5/C:!!!Q=5555%!X---
 $ $8888%!%====&!"&????&!"&>>>>'"#'@@@@&!"&>>>>'"#'@@@@$s,-1VVVV%-.2[[[[&!&+./3]]]]&!&+./3\\\\&!&+./3\\\\'"6#;/04^^^^ $!1$%)QQQQ%"A%&*VVVV&!#Q&'+XXXX&!#Q&'+WWWW'"$a'(,YYYY$s,a/04]]]]%-q015bbbb&!&+.126dddd&!&+.126cccc'"6#;/2367 7 7
 #4'''$ H,,,%!Y...%!X---&!"i/// #!%9999$!"&>>>>%"#'@@@@%"#'????&!#$(AAAA #!#$(@@@@$!1$%)EEEE%"A%&*GGGG%"A%&*FFFF&!#Q&'+HHHH#vc{+Q./3LLLL$s,a/04QQQQ%-q015SSSS%-q015RRRR&!&+.126TTTT#"$%)BBBB$!2%&*GGGG%"B&'+IIII%"B&'+HHHH&!#R'(,JJJJ#vc{+R/04NNNN$s,b015SSSS%-r126UUUU%-r126TTTT&!&+.237VVVV#!#$(@@@@$!1$%)EEEE%"A%&*GGGG%"A%&*FFFF&!#Q&'+HHHH#vc{+Q./3LLLL$s,a/04QQQQ%-q015SSSS%-q015RRRR&!&+.126TTTT	B#"$%)BBBB$!2%&*GGGG%"B&'+IIII%"B&'+HHHH&!#R'(,JJJJ#vc{+R/04NNNN$s,b015SSSS%-r126UUUU%-r126TTTT&!&+.237VVVV&!!$%)CCCC&!!$*+/[[[['"1%&*DDDD'"1%+,0\\\\*%a()-LLLL hF=M)))====Q=4444QD1[@@@Qq!tV6  QTt4   a! KKKKa!F3'( ( (a!G4)* * *adG$(*   a012 2 2q&112 2 2 1%'''A2#77771q!Y...a!U***qb!"&::::a!#$(>>>>A6)))QB $9999A!"j000!Q $5555!Q"#'<<<<!!Q'(,CCCCA&'+BBBBq?==== ====a>CCCCq1!DDDDQ#DDDDa! JJJJQ1a4!%DDDDQA">>>>Q1a4!%DDDDQA">>>>Q=////Q6666A<????AEPQ Q QA<????1/1111q!%88881a4!%8888q?5555S	Aq?5555q?0000q!!3333q1a&!"&8888q1b'"#'NNNNq1uq!f%&./ / /q!Q RS S Sq!Q RS S Sq1b'Ar7+,\] ] ]Aq!"&@@@@Aq!1$%)GGGGAq!"&@@@@Aq!1$%)GGGGQ=4444a>6666A<????A<????a 2222Q=4444a>3333a! ::::a 9999aQ#@@@@q!"&;;;;q!1$%)BBBBA#IIII1qGH H H!Q"#'BBBB!Q"A%&*IIII1-///1q!%66661a!%@@@@1a!#$(GGGGA#5555A!"&<<<<Aq!"&BBBBAq!1$%)IIIIAq!"&BBBBAq!1$%)IIIIA#5555A!"&<<<<Q1%&*KKKKQ1%q()-. . .Q"#'EEEEQ"A%&*LLLLA<@@@@A?GGGG1"GGGG1q!%NNNNQIIIIA?GGGGA?GGGGQFFFFQ=????1a#$12 2 21a#Q&'BC C CAq!$%/0 0 0Aq!$a'(@A A AAq!"&<<<<Aq!1$%/0 0 0Aq!"&<<<<Aq!1$%/0 0 0!Q $::::!Q"#'NNNN1a()/0 0 01a(!+,@A A A!Q $::::!Q"#'NNNN1a()/0 0 01a(!+,@A A AA#9999A!"&MMMM7&E
T
"CQ5&'+OOOOQ5&)*=> > >Q5&'+OOOOQ5&)*=> > > A67 7 7A!":; ; ;  5555q!%KKKK#$(@@@@#q()12 2 2 q!"&====q!1$%)DDDDq!$%)BBBBq!$a'(,IIII"#'@@@@"A%&*GGGG1%&*EEEE1%q()-LLLL 4444q!%JJJJA#::::A!#$01 1 1 !!3333!R!%<<<<!Q $::::!x{*+/EEEEXa[!$%)????!a $::::!Q"#'AAAAQ|+++QUA#@@@@QA#@@@@QUA>111QA>111QQ#@@@@SAY#>>>>QA!"&EEEE WEq?FFFF<2222r   c                  z     " S S[         5      n [        U 5      S:X  d   e[        U " [        5      5      S:X  d   eg )Nc                       \ rS rSrSrg)6test_function_subclass_different_name.<locals>.mygammai)  r   Nr   r   r   r   mygammar  )  s    r   r  z\operatorname{mygamma}z'\operatorname{mygamma}{\left(x \right)})rb   r   r  )r  s    r   %test_function_subclass_different_namer  (  s9    % >6666 JJJJr   c                     SSK Jn Jn  [        [	        [        [        [        U 5      [        S5      S[        SSS[        -  5      U5      5      S:X  d   e[        [	        [        5       [        S5      S[        5       U5      5      S	:X  d   e[        [        U S4S
U5      5      S:X  d   e[        [        [        5       [        S5      U5      5      S:X  d   eg )Nr   r  r>  r  )r   r  r  r  zt{G_{4, 5}^{2, 3}\left(\begin{matrix} \pi, \pi, x & 1 \\0, 1 & 1, 2, \frac{3}{\pi} \end{matrix} \middle| {z} \right)})r   zS{G_{1, 1}^{1, 0}\left(\begin{matrix}  & 1 \\0 &  \end{matrix} \middle| {z} \right)})r  zL{{}_{2}F_{1}\left(\begin{matrix} 2, x \\ 3 \end{matrix}\middle| {z} \right)}zH{{}_{0}F_{1}\left(\begin{matrix}  \\ 1 \end{matrix}\middle| {z} \right)})	sympy.abcr  r>  r   re   r   r   rd   r  s     r   test_hyper_printingr  /  s    r2q)58q!QrT!2A7 8	<< < < %(D%'1=>^_ _ _1vtQ'(	22 2 2 uwa!,-	22 2 2r   c                     SSK Jn JnJnJnJnJnJnJnJ	nJ
n	  SSKJn
  [        U " [        U
S-  5      [        -  5      S:X  d   e[        U" [        U
5      5      S:X  d   e[        U" [        U
5      5      S:X  d   e[        U" [        U
5      5      S:X  d   e[        U" [        U
S-  5      S-  5      S	:X  d   e[        U" [        U
5      5      S
:X  d   e[        U" [        U
5      5      S:X  d   e[        U" [        U
5      5      S:X  d   e[        U" [        U
5      5      S:X  d   e[        U	" [        U
5      5      S:X  d   eg )Nr   )
besseljbesselybesselibesselkhankel1hankel2jnynhn1hn2r>  r  zJ^{k}_{n}\left(z^{2}\right)zY_{n}\left(z\right)zI_{n}\left(z\right)zK_{n}\left(z\right)z.\left(H^{(1)}_{n}\left(z^{2}\right)\right)^{2}zH^{(2)}_{n}\left(z\right)zj_{n}\left(z\right)zy_{n}\left(z\right)zh^{(1)}_{n}\left(z\right)zh^{(2)}_{n}\left(z\right))sympy.functions.special.besselr  r  r  r  r  r  r  r  r  r  r  r>  r   rJ  rD  )r  r  r  r  r  r  r  r  r  r  r>  s              r   test_latex_besselr  @  s5   B B B AqD!1$%)GGGGA#9999A#9999A#9999AqD!1$%9: : :A#????Aq?4444Aq?4444Q;;;;Q;;;;r   c                      SSK Jn Jn  SSKJn  [        U " U5      5      S:X  d   e[        U" U5      5      S:X  d   e[        U " U5      S-  5      S:X  d   e[        U" U5      S-  5      S:X  d   eg )	Nr   )fresnelsfresnelcr  zS\left(z\right)zC\left(z\right)r  zS^{2}\left(z\right)zC^{2}\left(z\right))'sympy.functions.special.error_functionsr  r  r  r>  r   )r  r  r>  s      r   test_latex_fresnelr  R  sp    L!!3333!!3333!a $::::!a $::::r   c                  4    [        S[        -  5      S:X  d   eg )Nr  z\left(-1\right)^{x}r   r  r   r   r   test_latex_bracketsr  [  s    "q>3333r   c                  N   [        SSSS9n [        [        SSSS95      n[        U [        U 5      -  5      n[        US   [        US   5      -  5      nUS:X  d   eUS:X  d   eS	n[        [	        S
[        S5      5      5      S:X  d   e[        [	        S[        S5      5      5      S:X  d   e[        [	        S[        S[        S5      5      5      5      SU-   S-   :X  d   e[        [	        S[        S[        S5      S-   5      5      5      SU-   S-   :X  d   e[        [	        S[        S[        S5      [        S5      45      5      5      SU-   S-   :X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   eg )NPsi_0TF)complexr  Psir   z\Psi_{0} \overline{\Psi_{0}}z \overline{{\Psi}_{0}} {\Psi}_{0}z\mathrel{..}\nobreak x1r^  z{x_{1}}_{i}x2z{x_{2}}_{i}x3Nz{x_{3}}_{{i}_{0zN - 1}}r  zN}}x4rI  r  z{x_{4}}_{{i}_{azb}}rb   r  za ba_bza_{b})r$   r   r   r>   r   r   )
Psi_symbolPsi_indexedsymbol_latexindexed_latexintervals        r   test_latex_indexedr  _  s   E:JfUDuEFKi
&;;<L+a.9[^+DDEM::::???? )Hvc{+,>>>s3x()^;;;s3s456:LX:UV_:____s3sA678<Nx<WX]<]]]]s3VC[(ABCDHZ[cHcdiHiiiiW%&)333U#$...U#$000r   c                  	   [        [        [        S-  [        SS95      S:X  d   e[        [        [        [        5      [        S-  -   [        SS95      S:X  d   e[        [        [        [        [        5      [        S-  -   [        SS9SS95      S:X  d   e[        [        [        [        [        [        5      [        S-  -   [        SS9SS9SS95      S:X  d   e[        [        [        [        [        -  5      [        SS95      S	:X  d   e[        [        [        [        [        -  5      [        S-  -   [        SS95      S
:X  d   e[        [        [        [        [        [        -  5      [        S-  -   [        SS9[        SS95      S:X  d   e[        [        [        [        [        [        [        -  5      [        S-  -   [        SS9[        SS9[        SS95      S:X  d   e[        S5      n [        [        [        U " [        [        5      [        SS9[        SS95      S[        U " [        [        5      5      -   :X  d   e[        [        [        [        U " [        [        5      [        SS9[        SS9[        SS95      S[        U " [        [        5      5      -   :X  d   e[        [        [        [        S-  [        SS9* [        SS95      S:X  d   e[        [        [        [        [        [        [        SS9[        SS9* [        SS9[        SS95      S:X  d   e[        [        [        [        [        * [        -  5      [        S[        45      [        SS95      S:X  d   e[        [        [        [        SS9S-  5      S:X  d   e[        [        U " [        5      [        5      S-  5      S:X  d   e[        [        U " [        5      [        [        45      5      S:X  d   e[        S5      n[        S5      n[        [        U " X5      U5      5      S:X  d   e[        S5      n[        [        U " [        5      [        U45      5      S:X  d   e[        S5      n[        [        U " [        5      [        [        X45      45      5      S:X  d   e[        [        U " [        5      [        5      SS9S :X  d   eg )!Nr  Fr   z\frac{d}{d x} x^{3}r  z8\frac{d}{d x} \left(x^{2} + \sin{\left(x \right)}\right)z@\frac{d^{2}}{d x^{2}} \left(x^{2} + \sin{\left(x \right)}\right)z@\frac{d^{3}}{d x^{3}} \left(x^{2} + \sin{\left(x \right)}\right)z3\frac{\partial}{\partial x} \sin{\left(x y \right)}zH\frac{\partial}{\partial x} \left(x^{2} + \sin{\left(x y \right)}\right)zP\frac{\partial^{2}}{\partial x^{2}} \left(x^{2} + \sin{\left(x y \right)}\right)zP\frac{\partial^{3}}{\partial x^{3}} \left(x^{2} + \sin{\left(x y \right)}\right)r!  z*\frac{\partial^{2}}{\partial y\partial x} z.\frac{\partial^{3}}{\partial y\partial x^{2}} z0\frac{d}{d x} \left(- \frac{d}{d x} y^{2}\right)z<\frac{d^{2}}{d x^{2}} \left(- \frac{d^{2}}{d x^{2}} y\right)r   z5\frac{d}{d y} \int\limits_{0}^{\infty} e^{- x y}\, dxz \left(\frac{d}{d x} x\right)^{2}z1\left(\frac{d}{d x} f{\left(x \right)}\right)^{2}z(\frac{d^{n}}{d x^{n}} f{\left(x \right)}r  r  z<\frac{\partial}{\partial x_{1}} f{\left(x_{1},x_{2} \right)}n1z0\frac{d^{n_{1}}}{d x^{n_{1}}} f{\left(x \right)}n2z`\frac{d^{\max\left(n_{1}, n_{2}\right)}}{d x^{\max\left(n_{1}, n_{2}\right)}} f{\left(x \right)}rddiff_operatorz2\frac{\mathrm{d}}{\mathrm{d} x} f{\left(x \right)})r   r   r  rS   r<  r   r}   rC   r   rJ  r$   rJ   )r!  r  r  r  r  s        r   test_latex_derivativesr  t  sU   adA./  c!fq!tmQ78CD D Dd3q6AqD=!e<uMNKL L L d4AAq5AER]bcdKL L L c!a%j!e45>? ? ?c!a%j1a4'U;<ST T Td3qs8ad?A>ERS[\ \ \d4AaC1a4UCQQVWYZejkl[\ \ \ 	Ad1Q7A6EJK5a1gFG G G d4!QU;QOQR]bcd9E!Aq'NJK K K tAqDE221eDEI||||dDa5!9!UKKAW\]^_inopGH H H hsA2a4y1a*5q5IJ@A A A aU+Q./+, , , adA!"<= = = adQF#$34 4 4 
B	Bai$%)hhhh	BadQG$%)\\\\	BadQB,-.kl l l adAd37llllr   c                  f    [        [        [        [        -  [        [        4S5      5      S:X  d   eg )Nr  r  z+\left. x y \right|_{\substack{ x=1\\ y=2 }})r   r   r  r<  r   r   r   test_latex_subsr    s'    acAq66*+/]]]]r   c                     [        [        [        [        5      [        5      5      S:X  d   e[        [        [        S-  [        SS45      5      S:X  d   e[        [        [        S-  [        SS45      5      S:X  d   e[        [        [        [        S-  -  [        SS4[        5      5      S	:X  d   e[        [        [        [        S-  -  [        SS4[        5      S
S9S:X  d   e[        [        [        [        S-  -  [        SS4[        5      S
SS9S:X  d   e[        [        [        [        S45      5      S:X  d   e[        [        [        [        -  [        [        5      5      S:X  d   e[        [        [        [        -  [
        -  [        [        [
        5      5      S:X  d   e[        [        [        [        -  [
        -  [        -  [        [        [
        [        5      5      S:X  d   e[        [        [        [        [        [        [        [        [        5      5      S:X  d   e[        [        [        [        [        [
        SS45      5      S:X  d   e[        [        [        [        S-  [        5      * [        5      5      S:X  d   e[        [        [        [        [        [        5      * [        5      * [        5      5      S:X  d   e[        [        [
        [
        5      S-  5      S:X  d   e[        [        [        [
        -   [
        5      5      S:X  d   e[        [        [        [
        S-  -   [
        5      5      S:X  d   e[        [        [        [        -  [
        5      5      S:X  d   e[        [        [        [        5      SS9S:X  d   e[        [        [        [        SS45      SS9S:X  d   eg ) Nz\int \log{\left(x \right)}\, dxr  r   r  z\int\limits_{0}^{1} x^{2}\, dx
      z \int\limits_{10}^{20} x^{2}\, dxz)\int\int\limits_{0}^{1} x^{2} y\, dx\, dy	equation*modezI\begin{equation*}\int\int\limits_{0}^{1} x^{2} y\, dx\, dy\end{equation*}Tr  r%  z&$$\int\int_{0}^{1} x^{2} y\, dx\, dy$$z\int\limits^{0} x\, dxz\iint x y\, dx\, dyz\iiint x y z\, dx\, dy\, dzz#\iiiint t x y z\, dx\, dy\, dz\, dtz8\int\int\int\int\int\int x\, dx\, dx\, dx\, dx\, dx\, dxz,\int\limits_{0}^{1}\int\int x\, dx\, dy\, dzz(\int \left(- \int y^{2}\, dx\right)\, dxz=\int \left(- \int \left(- \int y\, dx\right)\, dx\right)\, dxz\left(\int z\, dz\right)^{2}z\int \left(x + z\right)\, dzz&\int \left(x + \frac{z}{2}\right)\, dzz\int x^{y}\, dzr  r  z\int x\, \mathrm{d}xz#\int\limits_{0}^{1} x\, \mathrm{d}x)r   r}   rD   r  r<  r>  tr   r   r   test_latex_integralsr    s6   #a&!$%)KKKK!Q$Aq	*+)* * *!Q$B,-+, , ,!AqD&1a)Q/045 5 5!AqD&1a)Q/kBTU U U!AqD&1a)Q/kM45 5 5!aV$%)BBBB!A#q!$%)????!A#a%Aq)*.LLLL!A#a%'1aA././ / /!Q1aA./CD D D!QAq!9-.78 8 8 8AqD++A./34 4 48Xa]N155a89HI I I !Q"#'FFFF!a%#$(GGGG!AaC%#$12 2 2!Q$"#'9999 !Qt48OOOO!aAY't<@ffffr   c            	         [         [        4 Hp  n [        U " [        [        -  [        S-  /5      5      S:X  d   e[        U " [        SS5      5      5      S:X  d   e[        U " [        SS5      5      5      S:X  a  Mp   e   [        n [        U " [        [        -  [        S-  /6 5      S:X  d   e[        U " [        SS5      6 5      S:X  d   e[        U " [        SS5      6 5      S:X  d   eg )Nr  z\left\{x^{2}, x y\right\}r  rN  z\left\{1, 2, 3, 4, 5\right\}   z4\left\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12\right\})	frozensetrn  r   r  r<  ranger   ss    r   test_latex_setsr    s    Q!QT{^$(DDDDQuQ{^$(GGGGQuQ|_%CD 	D D  	AQqS!Q$K!%AAAAE!QK!%DDDDE!RL!"?@ @ @r   c                  T    [        SS5      n [        U 5      n[        U5      S:X  d   eg )Nr  r  z%SetExpr\left(\left[1, 3\right]\right))r   r   r   )ivses     r   test_latex_SetExprr    s)    	!QB	B9@@@@r   c                     [        [        SS5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SSS5      5      S:X  d   e[        [        SS	S5      5      S
:X  d   e[        [        S	SS5      5      S:X  d   e[        [        S[        S5      5      S:X  d   e[        [        [        SS5      5      S:X  d   e[        [        S[        * S5      5      S:X  d   e[        [        [        * [        5      5      S:X  d   e[        [        [        [        * S5      5      S:X  d   e[        S5      u  pn[        [        XU5      5      S:X  d   e[        [        U SS5      5      S:X  d   e[        [        SUS5      5      S:X  d   e[        [        SSU5      5      S:X  d   e[	        SSS9n[	        SSSS9n[	        SSSS 9n[        [        X3S-   5      5      S!:X  d   e[        [        [        * US5      5      S":X  d   e[        [        U[        5      5      S#:X  d   e[        [        X S-   5      5      S$:X  d   eg )%Nr  3   z\left\{1, 2, \ldots, 50\right\}r  z\left\{1, 2, 3\right\}r   r  z\left\{0, 1, 2\right\}   z\left\{0, 1, \ldots, 29\right\}r  z \left\{30, 29, \ldots, 2\right\}r  z\left\{0, 2, \ldots\right\}r5  z\left\{\ldots, 2, 0\right\}z\left\{-2, -3, \ldots\right\}z'\left\{\ldots, -1, 0, 1, \ldots\right\}z'\left\{\ldots, 1, 0, -1, \ldots\right\}za:cz \text{Range}\left(a, b, c\right)r  z\text{Range}\left(a, 10\right)z\text{Range}\left(b\right)z!\text{Range}\left(0, 10, c\right)r^  Tr   rJ  )negativer   r7  )r9  r   z\left\{i, i + 1, i + 2\right\}z#\left\{\ldots, n - 4, n - 2\right\}z\left\{p, p + 1, \ldots\right\}z!\text{Range}\left(a, a + 3\right))r   r   r   r&   r$   )rI  r  cr^  rJ  r7  s         r   test_latex_Ranger    s4   q""DDDDq!!::::q!Q $====q"a!%GGGGr1b!"&IIIIq"a!%CCCCr2r"#'EEEErB3#$(HHHHsB $NNNNrB3#$(RRRRenGA!qQ $GGGGq"a!%FFFFq!Q $AAAAq"a!%IIIIsD!AsT40AsT40Aqa%!%FFFFsAq!"&LLLLq""DDDD qa%!%IIIIr   c                     [        [        S-  S[        45      n [        S5      nSn[	        U 5      U:X  d   eSn[	        U5      U:X  d   e[        [        S-  S5      n[        SS5      nSn[	        U5      U:X  d   eSn[	        U5      U:X  d   e[        [        S-  [        * S45      n[        S[        * S45      nS	n[	        U5      U:X  d   eS
n[	        U5      U:X  d   eSn[	        [        X5      5      U:X  d   eSn[	        [        X45      5      U:X  d   eSn[	        [        XV5      5      U:X  d   eSn[	        [        X5      5      U:X  d   eSn[	        [        X45      5      U:X  d   eSn[	        [        XV5      5      U:X  d   e[        [        S-  [        S[        45      nSn[	        U5      U:X  d   e[        S5      n[        U[        S-  -  [        SS45      n	Sn[	        U	5      U:X  d   eg )Nr  r   r  z\left[0, 1, 4, 9, \ldots\right]z\left[1, 2, 1, 2, \ldots\right])r   r  z\left[0, 1, 4\right]z\left[1, 2, 1\right]z\left[\ldots, 9, 4, 1, 0\right]z\left[\ldots, 2, 1, 2, 1\right]z \left[1, 3, 5, 11, \ldots\right]z\left[1, 3, 5\right]z \left[\ldots, 11, 5, 3, 1\right]z \left[0, 2, 4, 18, \ldots\right]z\left[0, 2, 4\right]z \left[\ldots, 18, 4, 2, 0\right]z\left\{a^{2}\right\}_{a=0}^{x}r  z\left[0, b, 4 b\right])	r   rI  r   r   r   r   r   r  r$   )
s1s2	latex_strs3s4s5s6s7r  s8s
             r   test_latex_sequencesr    s   	AqD1b'	"B	B2I9	!!!2I9	!!!	AqD&	!B		B'I9	!!!'I9	!!!	AqDB3(	#B	"a	!B2I9	!!!2I9	!!!3I I---'I I---3I I---3I I---'I I---3I I--- 
AqD1a)	$B1I9	!!!sA	AadFQ1I	&B)I9	!!!r   c                  f    Sn [        [        [        [        [        * [        45      5      U :X  d   eg )Nz`2 \sin{\left(x \right)} - \sin{\left(2 x \right)} + \frac{2 \sin{\left(3 x \right)}}{3} + \ldots)r   r   r  r   r  s    r   test_latex_FourierSeriesr  L  s,    k AsB<01Y>>>r   c                  \    Sn [        [        [        S[        -   5      5      5      U :X  d   eg )Nz;\sum_{k=1}^{\infty} - \frac{\left(-1\right)^{- k} x^{k}}{k}r  )r   r   rD   r  r  s    r   test_latex_FormalPowerSeriesr  R  s&    NISQZ!Y...r   c                  l   [        SSS9n [        [        SS5      5      S:X  d   e[        [        SU 5      5      S:X  d   e[        [        SU SS5      5      S:X  d   e[        [        SU SS5      5      S:X  d   e[        [        SU SS5      5      S	:X  d   e[        [        SU SS5      5      S
:X  d   eg )NrI  Tr  r   z\left\{0\right\}z\left[0, a\right]Fz\left(0, a\right]z\left[0, a\right)z\left(0, a\right))r$   r   r   rI  s    r   test_latex_intervalsr	  W  s    sA!Q $7777!Q $8888!Qu-.2FFFF!Qe,-1EEEE!Qt,-1EEEE!Qd+,0DDDDr   c                      [        SSS9n [        [        SS5      5      S:X  d   e[        [        SU 5      5      S:X  d   e[        [        U S-   U S-   5      5      S	:X  d   eg )
NrI  Tr  r   r  z\left\langle 0, 1\right\ranglez\left\langle 0, a\right\rangler  z&\left\langle a + 1, a + 2\right\rangle)r$   r   r   r  s    r   test_latex_AccumuBoundsr  a  sm    sAQ"#'HHHHQ"#'HHHHQUAE*+12 2 2r   c                  B    [        [        R                  5      S:X  d   eg )N	\emptyset)r   r#   EmptySetr   r   r   test_latex_emptysetr  i  s    ,,,r   c                  B    [        [        R                  5      S:X  d   eg )Nz
\mathbb{U})r   r#   UniversalSetr   r   r   test_latex_universalsetr  m  s     M111r   c                      [        S5      n [        S5      n[        X5      n[        UR                  5       5      S:X  d   eg )Nr]  Bz- (A B - B A))r   r   r   doit)r]  r  comms      r   test_latex_commutatorr  q  s8    AAaD!1111r   c            
          [        [        [        SS5      [        SS5      5      5      S:X  d   e[        [        [        SS5      [        SS5      [        SS5      5      5      S:X  d   eg )Nr   r  r  r  z(\left[0, 1\right] \cup \left[2, 3\right]r  z*\left\{1, 2\right\} \cup \left[3, 4\right])r   r   r   r   r   r   test_latex_unionr  x  sd    x1~x1~6734 4 4x1~x1~x1~FG56 6 6r   c            	      r    [        [        [        SS5      [        [        [        5      5      5      S:X  d   eg )Nr   r  z(\left[0, 1\right] \cap \left[x, y\right])r   r   r   r  r<  r   r   r   test_latex_intersectionr    s/    hq!nhq!n=>34 4 4r   c            	      `    [        [        [        SS5      [        SS5      SS95      S:X  d   eg )Nr  r  r  r  Fr   z-\left[2, 5\right] \triangle \left[4, 7\right])r   r   r   r   r   r   test_latex_symmetric_differencer    s7    $Xa^Xa^.35 689 9 9r   c                  r    [        [        [        R                  [        R                  5      5      S:X  d   eg )Nz\mathbb{R} \setminus \mathbb{N})r   r   r#   RealsNaturalsr   r   r   test_latex_Complementr!    s+    AGGQZZ01*+ + +r   c                  b   [        SS5      n [        SS5      n[        SSS5      n[        U S-  5      S[        U 5      -  :X  d   e[        U S-  5      S[        U 5      -  :X  d   e[        X-  U-  R                  5       5      [        U 5      < S[        U5      < S[        U5      < 3:X  d   eg )	Nr   r  r  r  r  z%s^{2}z%s^{10}z \times )r   r   r   flatten)linebiglinefsets      r   test_latex_productsetr'    s    Aq>Dq"oGQ1Dq>Yt4444r?j5;6666$.4'0023dU7^U4[82 2 2 2r   c                  R    [        SSS5      n [        [        U 5      5      S:X  d   eg )Nr  r  r  z.\mathcal{P}\left(\left\{1, 2, 3\right\}\right))r   r   r   )r&  s    r   test_latex_powersetr)    s(    Q1D$ $UUUUr   c            	         [        5       n [        U 5      S:X  d   e[        SS5      n[        U5      S:X  d   e[        [        U[        SS5      5      5      S:X  d   e[        [        [        SS5      [        SS5      5      5      S:X  d   eg )N\omegar  r  z3 \omega^{2}r  z3 \omega^{2} + \omegaz\omega^{2} + 2 \omega)r   r   r   r   )r  wps     r   test_latex_ordinalsr-    s    A8y   	Aq	B9'''Z1-./3KKKKAq):a+;<=AYYYYr   c                  V   [        S5      u  pp#[        U 5      n[        U5      n[        U5      n[        U5      n[        XESS9n[        XgSS9n	[        XESS9n
[        XgSS9n[	        XESS9n[	        XgSS9n[        XESS9n[        XgSS9n[        XE5      n[        Xg5      n[        [        XISS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        UUSS95      S:X  d   e[        [        XKSS95      S	:X  d   e[        [        XSS95      S
:X  d   e[        [        XSS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        UUSS95      S:X  d   e[        [	        XMSS95      S:X  d   e[        [	        XSS95      S:X  d   e[        [	        XSS95      S:X  d   e[        [	        XSS95      S:X  d   e[        [	        UUSS95      S:X  d   e[        [        XOSS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        XSS95      S:X  d   e[        [        UUSS95      S:X  d   e[        [        UU5      R                  5       5      S:X  d   e[        [        X5      5      S:X  d   e[        [        X5      5      S:X  d   e[        [        X5      5      S:X  d   e[        [        X5      5      S:X  d   eg )Nza:dFr   zI\left\{a\right\} \cap \left(\left\{c\right\} \cup \left\{d\right\}\right)zl\left(\left\{a\right\} \cup \left\{b\right\}\right) \cap \left(\left\{c\right\} \cup \left\{d\right\}\right)zv\left(\left\{a\right\} \setminus \left\{b\right\}\right) \cap \left(\left\{c\right\} \setminus \left\{d\right\}\right)zv\left(\left\{a\right\} \triangle \left\{b\right\}\right) \cap \left(\left\{c\right\} \triangle \left\{d\right\}\right)zp\left(\left\{a\right\} \times \left\{b\right\}\right) \cap \left(\left\{c\right\} \times \left\{d\right\}\right)zI\left\{a\right\} \cup \left(\left\{c\right\} \cap \left\{d\right\}\right)zl\left(\left\{a\right\} \cap \left\{b\right\}\right) \cup \left(\left\{c\right\} \cap \left\{d\right\}\right)zv\left(\left\{a\right\} \setminus \left\{b\right\}\right) \cup \left(\left\{c\right\} \setminus \left\{d\right\}\right)zv\left(\left\{a\right\} \triangle \left\{b\right\}\right) \cup \left(\left\{c\right\} \triangle \left\{d\right\}\right)zp\left(\left\{a\right\} \times \left\{b\right\}\right) \cup \left(\left\{c\right\} \times \left\{d\right\}\right)zS\left\{a\right\} \setminus \left(\left\{c\right\} \setminus \left\{d\right\}\right)zq\left(\left\{a\right\} \cup \left\{b\right\}\right) \setminus \left(\left\{c\right\} \cup \left\{d\right\}\right)zq\left(\left\{a\right\} \cap \left\{b\right\}\right) \setminus \left(\left\{c\right\} \cap \left\{d\right\}\right)z{\left(\left\{a\right\} \triangle \left\{b\right\}\right) \setminus \left(\left\{c\right\} \triangle \left\{d\right\}\right)zu\left(\left\{a\right\} \times \left\{b\right\}\right) \setminus \left(\left\{c\right\} \times \left\{d\right\}\right)zS\left\{a\right\} \triangle \left(\left\{c\right\} \triangle \left\{d\right\}\right)zq\left(\left\{a\right\} \cup \left\{b\right\}\right) \triangle \left(\left\{c\right\} \cup \left\{d\right\}\right)zq\left(\left\{a\right\} \cap \left\{b\right\}\right) \triangle \left(\left\{c\right\} \cap \left\{d\right\}\right)z{\left(\left\{a\right\} \setminus \left\{b\right\}\right) \triangle \left(\left\{c\right\} \setminus \left\{d\right\}\right)zu\left(\left\{a\right\} \times \left\{b\right\}\right) \triangle \left(\left\{c\right\} \times \left\{d\right\}\right)z@\left\{a\right\} \times \left\{c\right\} \times \left\{d\right\}zn\left(\left\{a\right\} \cup \left\{b\right\}\right) \times \left(\left\{c\right\} \cup \left\{d\right\}\right)zn\left(\left\{a\right\} \cap \left\{b\right\}\right) \times \left(\left\{c\right\} \cap \left\{d\right\}\right)zx\left(\left\{a\right\} \setminus \left\{b\right\}\right) \times \left(\left\{c\right\} \setminus \left\{d\right\}\right)zx\left(\left\{a\right\} \triangle \left\{b\right\}\right) \times \left(\left\{c\right\} \triangle \left\{d\right\}\right))	r&   r   r   r   r   r   r   r   r#  )rI  r  r  dr]  r  CDU1U2I1I2C1C2D1D2P1P2s                     r   test_set_operators_parenthesisr<    s`   JA!!A!A!A!A	qe	$B	qe	$B	aU	+B	aU	+B	A5	)B	A5	)B	QE	2B	QE	2B	A	B	A	Bae45	?? ? ? bu56	DD D D bu56	-- - - bu56	-- - - b"u56	## # #
 qu-.	?? ? ? r./	DD D D r./	-- - - r./	-- - - r2./	## # #
 AE23	-- - - BU34	## # # BU34	## # # BU34	DD D D BU34	## # #
 $QU;<	-- - - $Re<=	## # # $Re<=	## # # $Re<=	DD D D $Re<=	## # # Ar"**,-	   B#$	## # # B#$	## # # B#$	-- - - B#$	-- - -r   c                  B    [        [        R                  5      S:X  d   eg )N
\mathbb{C})r   r#   	Complexesr   r   r   test_latex_Complexesr@    s    ...r   c                  B    [        [        R                  5      S:X  d   eg )N
\mathbb{N})r   r#   r   r   r   r   test_latex_NaturalsrC  "      ---r   c                  B    [        [        R                  5      S:X  d   eg )N\mathbb{N}_0)r   r#   	Naturals0r   r   r   test_latex_Naturals0rH  &  s    000r   c                  B    [        [        R                  5      S:X  d   eg )N
\mathbb{Z})r   r#   Integersr   r   r   test_latex_IntegersrL  *  rD  r   c            	      j   [        S5      n [        [        [        X S-  5      [        R
                  5      5      S:X  d   e[        S5      n[        [        X4X-   5      1 SkSS15      n[        U5      S:X  d   e[        [        X44X-   5      [        1 SkSS15      5      n[        U5      S	:X  d   eg )
Nr  r  z2\left\{x^{2}\; \middle|\; x \in \mathbb{N}\right\}r<  >   r  r  r  r  r  zY\left\{x + y\; \middle|\; x \in \left\{1, 2, 3\right\}, y \in \left\{3, 4\right\}\right\}zm\left\{x + y\; \middle|\; \left( x, \  y\right) \in \left\{1, 2, 3\right\} \times \left\{3, 4\right\}\right\})r$   r   r   r   r#   r   r   )r  r<  imgsets      r   test_latex_ImageSetrO  .  s    sA&qD/1::67=> > > 	sAfaVQU+YA?F=de e e fqfY.
9q!f0MNF=xy y yr   c            	          [        S5      n [        [        U [        U S-  S5      [        R
                  5      5      S:X  d   e[        [        U [        U S-  S5      [        R                  5      5      S:X  d   eg )Nr  r  r  z@\left\{x\; \middle|\; x \in \mathbb{R} \wedge x^{2} = 1 \right\}z(\left\{x\; \middle|\; x^{2} = 1 \right\})r$   r   r   r!   r#   r  r  r  s    r   test_latex_ConditionSetrR  =  sp    sAaAqD!agg67KL L LaAqD!ann=>34 4 4r   c            
          [        [        [        SS5      [        SS5      -  5      5      S:X  d   e[        [        [        SS5      [        SS[        -  5      -  S	S
95      S:X  d   eg )Nr  r  r  rN  zX\left\{x + y i\; \middle|\; x, y \in \left[3, 5\right] \times \left[4, 6\right] \right\}r   r  r  T)polarz\left\{r \left(i \sin{\left(\theta \right)} + \cos{\left(\theta \right)}\right)\; \middle|\; r, \theta \in \left[0, 1\right] \times \left[0, 2 \pi\right) \right\})r   r   r   r   r   r   r   test_latex_ComplexRegionrU  E  sr    x1~hq!n<=>cd d dx1~hq!B$.??tLM	nn n nr   c                  l    [        S5      n [        [        U [        R                  5      5      S:X  d   eg )Nr  zx \in \mathbb{N})r$   r   r   r#   r   rQ  s    r   test_latex_ContainsrW  M  s*    sA!QZZ()-@@@@r   c            	         [        [        [        [        S-  -  [        SS4[        SS45      5      S:X  d   e[        [        [        S-  [        SS45      5      S:X  d   e[        [        [        S-  [        -   [        SS45      5      S:X  d   e[        [        [        S-  [        -   [        SS45      S-  5      S:X  d   eg )	Nr  r5  r  r  z<\sum_{\substack{-2 \leq x \leq 2\\-5 \leq y \leq 5}} x y^{2}z\sum_{x=-2}^{2} x^{2}z&\sum_{x=-2}^{2} \left(x^{2} + y\right)z7\left(\sum_{x=-2}^{2} \left(x^{2} + y\right)\right)^{2})r   r   r  r<  r   r   r   test_latex_sumrY  R  s    Qq!tVaQZ!R45GH H HQTAr1:&' ! ! !QTAX2qz*+12 2 2QTAX2qz*A-.BC C Cr   c            	      x   [        [        [        [        S-  -  [        SS4[        SS45      5      S:X  d   e[        [        [        S-  [        SS45      5      S:X  d   e[        [        [        S-  [        -   [        SS45      5      S:X  d   e[        [        [        [        SS45      S-  5      S:X  d   eg )	Nr  r5  r  r  z=\prod_{\substack{-2 \leq x \leq 2\\-5 \leq y \leq 5}} x y^{2}z\prod_{x=-2}^{2} x^{2}z'\prod_{x=-2}^{2} \left(x^{2} + y\right)z#\left(\prod_{x=-2}^{2} x\right)^{2})r   r   r  r<  r   r   r   test_latex_productr[  ]  s    1a4!RaQZ89HI I IA2qz*+!" " "AAr1:./23 3 3 QAJ'*+./ / /r   c            	         [        [        [        [        [        5      5      S:X  d   e[	        S5      n [        [        U " [        5      [        S5      5      S:X  d   e[        [        U " [        5      [        SS5      5      S:X  d   e[        [        U " [        5      [        S5      S-  5      S:X  d   e[        [        U " [        5      [        SS	S
95      S:X  d   eg )Nz\lim_{x \to \infty} xr!  r   z#\lim_{x \to 0^+} f{\left(x \right)}-z#\lim_{x \to 0^-} f{\left(x \right)}r  z4\left(\lim_{x \to 0^+} f{\left(x \right)}\right)^{2}z+-)dirz!\lim_{x \to 0} f{\left(x \right)})r   r   r  r   r   )r!  s    r   test_latex_limitsr_  i  s    q!R!%==== 	AqtQ"#'MMMMqtQ3'(./ / / qtQ"A%&?@ @ @ qtQt,-,- - -r   c                     [        [        [        5      5      S:X  d   e[        [        [        5      SS9S:X  d   e[        [        [        5      [        [        5      -   5      S:X  d   e[        [        [        5      [        [        5      -   SS9S:X  d   e[        [	        [        [        5      [        5      5      S:X  d   e[        [	        [        [        5      [        5      SS9S:X  d   eg )	Nz\log{\left(x \right)}T)ln_notationz\ln{\left(x \right)}z-\log{\left(x \right)} + \log{\left(y \right)}z+\ln{\left(x \right)} + \ln{\left(y \right)}z\log{\left(x \right)}^{x}z\ln{\left(x \right)}^{x})r   rD   r  r<  powr   r   r   test_latex_logrc  z  s    Q=4444QT*.EEEEQ#a&!89 9 9Q#a&d367 7 7SVQ $@@@@SVQT2#$ $ $r   c                      [        S5      n U [        -   n[        U5      S;   d   e[        S5      n U [        -   n[        U5      S;   d   eg )Nr  )z	\beta + xz	x + \betarU   )r$   r  r   )rU   r<  s     r   test_issue_3568re    sM    (DqA83333'?DqA83333r   c                     [        S[        -  [        SS5      -  5      S:X  d   e[        S[        -  [        SS5      -  SS9S:X  d   e[        S[        -  [        SS5      -  SSS	9S
:X  d   e[        S[        -  [
        /5      S:X  d   eg )Nr  r  z8 \sqrt{2} \tau^{\frac{7}{2}}r  r  z<\begin{equation*}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation*}equationTr  z $$8 \sqrt{2} \mu^{\frac{7}{2}}$$z\left[ \frac{2}{x}, \  y\right])r   r   r   r   r  r<  r   r   r   
test_latexrh    s    !C%(1a.()-MMMM!B$!Q'k:GH H H!B$!Q'jtD+, , ,!A#q?@@@@r   c                      [        S5      S[        S-  S[        S[        S-  S0n [        U 5      S:X  d   e[        U 5      n[        U5      S:X  d   eg )Nr  r  r  r  z;\left\{ 1 : 1, \  x : 3, \  x^{2} : 2, \  x^{3} : 4\right\})r   r  r   r   )r/  r1  s     r   test_latex_dictrj    se    	!aAq!Q1a0A8FG G GQA8FG G Gr   c                  f    [        S5      [        S5      [        S5      /n [        U 5      S:X  d   eg )Nrg  rI  r(  z)\left[ \omega_{1}, \  a, \  \alpha\right]r$   r   )lls    r   test_latex_listrn    s.    

F3K	9B9DDDDr   c                  x   [        [        R                  5      S:X  d   e[        [        R                  5      S:X  d   e[        [        R                  5      S:X  d   e[        [        R
                  5      S:X  d   e[        [        R                  5      S:X  d   e[        [        R                  5      S:X  d   eg )NGr  e\phi\piz\text{TribonacciConstant})r   r#   Catalan
EulerGammaExp1GoldenRatioPiTribonacciConstantr   r   r   test_latex_NumberSymbolsrz    s    s""")+++=C7***;&   %%&*FFFFr   c                     [        [        SS5      * 5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      * 5      S:X  d   e[        [        SS5      * [        -  5      S:X  d   e[        [        SS5      * [        -  [        SS5      [        -  -   5      S	:X  d   eg )
Nr  r  z- \frac{1}{2}r  r5  z\frac{1}{2}z- \frac{x}{2}r  z- \frac{x}{2} - \frac{2 y}{3})r   r   r  r<  r   r   r   test_latex_rationalr|    s    (1a.!%5555"a!%5555!R!%5555(2q/!"n444(1a."#'7777(1a."Xb!_Q%667() ) )r   c                  r    [        S[        -  5      S:X  d   e[        S[        [        -   -  5      S:X  d   eg )Nr  r  z\frac{1}{x + y}r   r  r<  r   r   r   test_latex_inverser    s4    1:'''AE1111r   c                  B   [        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        S5      5      S:X  d   e[        [        [        S5      5      S:X  d   e[        [        [        S5      S-  5      S:X  d   eg )Nz\delta\left(x\right)r  z%\left(\delta\left(x\right)\right)^{2}r   r  z)\delta^{\left( 5 \right)}\left( x \right)z:\left(\delta^{\left( 5 \right)}\left( x \right)\right)^{2})r   rV   r  r   r   r   test_latex_DiracDeltar    s    A#::::A!"&NNNNAq!"&====Aq!"45 5 5Aq!1$%EF F Fr   c                      [        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   eg )Nz\theta\left(x\right)r  z%\left(\theta\left(x\right)\right)^{2})r   rW   r  r   r   r   test_latex_Heavisider    s6    1"99991q!%MMMMr   c                  :   [        [        [        [        5      5      S:X  d   e[        [        [        [        S-   5      5      S:X  d   e[        [        [        S-   [        5      5      S:X  d   e[        [	        [        [        [        5      SSS95      S:X  d   eg )	Nz\delta_{x y}r  z\delta_{x, y + 1}z\delta_{y, x + 1}r  Fr   z\left(\delta_{x y}\right)^{2})r   rv   r  r<  r    r   r   r   test_latex_KroneckerDeltar    s    1%&/9991q5)*.BBBBAq)*.BBBB^Aq)1u=>() ) )r   c                     [        [        [        [        [        5      5      S:X  d   e[        [        [        [        [        5      S-  5      S:X  d   e[        [        [        [        [        S-   5      5      S:X  d   e[        [        [        [        S-   [        5      5      S:X  d   e[        [        [        S-   [        [        5      5      S:X  d   eg )Nz\varepsilon_{x y z}r  z$\left(\varepsilon_{x y z}\right)^{2}r  z\varepsilon_{x, y, z + 1}z\varepsilon_{x, y + 1, z}z\varepsilon_{x + 1, y, z})r   rw   r  r<  r>  r   r   r   test_latex_LeviCivitar    s    Aq!$%)????Aq!$a'(/0 0 0Aq!a%()-IIIIAq1ua()-IIIIAE1a()-IIIIr   c                     ^  [         [        -   m [        T 5      S:X  d   e[        T SS9S:X  d   e[        T SS9S:X  d   e[        T SS9S:X  d   e[        T SS9S	:X  d   e[        [        U 4S
 j5        g )Nzx + yplainr  inlinez$x + y$r  z%\begin{equation*}x + y\end{equation*}rg  z#\begin{equation}x + y\end{equation}c                     > [        T SS9$ )Nr  r  r   exprs   r   <lambda>test_mode.<locals>.<lambda>  s    uT6r   )r  r<  r   r   
ValueErrorr  s   @r   	test_moder    s    q5D;("""G$000H%333; #KL L L:"HI I I
:67r   c                     [        [        [        [        [        5      5      S:X  d   e[        [        [        [        [        5      5      S:X  d   e[        [        [        [        [        5      S-  5      S:X  d   e[        [        [        [        [        5      S-  5      S:X  d   e[        [        [        [        [        5      5      S:X  d   e[        [        [        [        [        5      5      S:X  d   e[        [        [        [        [        5      S-  5      S:X  d   e[        [        [        [        [        5      S-  5      S	:X  d   eg )
NzC\left(x, y, z\right)zS\left(x, y, z\right)r  zC\left(x, y, z\right)^{2}zS\left(x, y, z\right)^{2}zC^{\prime}\left(x, y, z\right)zS^{\prime}\left(x, y, z\right)z"C^{\prime}\left(x, y, z\right)^{2}z"S^{\prime}\left(x, y, z\right)^{2})r   rf   r  r<  r>  rh   rg   ri   r   r   r   test_latex_mathieur    s    !Q"#'????!Q"#'????!Q"A%&*FFFF!Q"A%&*FFFFq!Q'(,MMMMq!Q'(,MMMMq!Q'*+/TTTTq!Q'*+/TTTTr   c                  2   [        [        [        S:  4[        S-  S45      n [        U 5      S:X  d   e[        U SS9S:X  d   e[        [        [        S:  4S[        S:  45      n [        U 5      S:X  d   e[        S	S
S9u  p[        US-  [	        X5      4X-  S45      n Sn[        U 5      U:X  d   e[        X-  5      SU-  :X  d   e[        X-  5      SU-  :X  d   e[        [        [        [        S:  4[        S-  [        S:  45      5      S:X  d   eg )Nr  r  TzK\begin{cases} x & \text{for}\: x < 1 \\x^{2} & \text{otherwise} \end{cases}r$  zM\begin{cases} x & \text{for}\: x \lt 1 \\x^{2} & \text{otherwise} \end{cases}r   zG\begin{cases} x & \text{for}\: x < 0 \\0 & \text{otherwise} \end{cases}A BFcommutativezM\begin{cases} A^{2} & \text{for}\: A = B \\A B & \text{otherwise} \end{cases}zA \left(%s\right)z\left(%s\right) AzM\begin{cases} x & \text{for}\: x < 1 \\x^{2} & \text{for}\: x < 2 \end{cases})rN   r  r   r&   r!   )r7  r]  r  r  s       r   test_latex_Piecewiser    sA   1a!e*q!tTl+A8 8 8 8 8	)) ) ) 	1a!e*q!q&k*A8 8 8 8 85e,DA1a4A"QS$K0AXA8q==:-1111:-1111Aq1u:1a!e}56	GG G Gr   c                  D   [        S[        -   [        /[        [        S-
  //5      n [        U 5      S:X  d   e[        U SS9S:X  d   e[        U SS9S:X  d   e[        U S	S9S
:X  d   e[        U S S	S9S:X  d   e[        SS[	        S5      5      n[        U5      S:X  d   eg )Nr  z;\left[\begin{matrix}x + 1 & y\\y & x - 1\end{matrix}\right]r  r  zG$\left[\begin{smallmatrix}x + 1 & y\\y & x - 1\end{smallmatrix}\right]$array)mat_strz=\left[\begin{array}{cc}x + 1 & y\\y & x - 1\end{array}\right]bmatrixz=\left[\begin{bmatrix}x + 1 & y\\y & x - 1\end{bmatrix}\right])	mat_delimr  z0\begin{bmatrix}x + 1 & y\\y & x - 1\end{bmatrix}r  \\left[\begin{array}{ccccccccccc}0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\end{array}\right])r   r  r<  r   r  )MM2s     r   test_latex_Matrixr    s    Q
QAJ'(A8FG G G"	.. . . G$HI I II&HI I IdI6;< < < 
2uRy	!B9	HH H Hr   c            	      2   [        S5      n [        S[        S9n[        [        U" U 5      5      [	        U" U 5      5      /[	        U" U 5      R                  U 5      5      [        U" U 5      R                  U 5      5      //5      nSn[        U5      U:X  d   eg )Nr  theta1clsa  \left[\begin{matrix}\sin{\left(\theta_{1}{\left(t \right)} \right)} & \cos{\left(\theta_{1}{\left(t \right)} \right)}\\\cos{\left(\frac{d}{d t} \theta_{1}{\left(t \right)} \right)} & \sin{\left(\frac{d}{d t} \theta_{1}{\left(t \right)} \right)}\end{matrix}\right])r&   r   r   rS   rQ   r   r   )r  r  r  expecteds       r    test_latex_matrix_with_functionsr  !  s    AX8,FVAYVAY0VAY^^A&'VAY^^A->)?@B 	CA)H 8xr   c                  L   [        S5      u  pp#[        [        [        [        4 H  nU" U 5      n[        U5      S:X  d   eU" SU -  U/X#//5      nU" SU -  X/5      n[        Xe5      n[        XU5      n[        U5      S:X  d   e[        U5      S:X  d   e[        U5      S:X  d   e[        U5      S:X  d   eU" XSU-  //5      n	U" U /U/SU-  //5      n
U" U
R                  5       /5      n[        U	5      S:X  d   e[        U
5      S	:X  d   e[        U5      S
:X  a  M   e   g )Nzx y z wr  r  z=\left[\begin{matrix}\frac{1}{x} & y\\z & w\end{matrix}\right]z:\left[\begin{matrix}\frac{1}{x} & y & z\end{matrix}\right]a  \left[\begin{matrix}\left[\begin{matrix}\frac{1}{x^{2}} & \frac{y}{x}\\\frac{z}{x} & \frac{w}{x}\end{matrix}\right] & \left[\begin{matrix}\frac{y}{x} & y^{2}\\y z & w y\end{matrix}\right] & \left[\begin{matrix}\frac{z}{x} & y z\\z^{2} & w z\end{matrix}\right]\end{matrix}\right]a]  \left[\begin{matrix}\left[\begin{matrix}\frac{1}{x^{2}} & \frac{y}{x}\\\frac{z}{x} & \frac{w}{x}\end{matrix}\right] & \left[\begin{matrix}\frac{y}{x} & y^{2}\\y z & w y\end{matrix}\right]\\\left[\begin{matrix}\frac{z}{x} & y z\\z^{2} & w z\end{matrix}\right] & \left[\begin{matrix}\frac{w}{x} & w y\\w z & w^{2}\end{matrix}\right]\end{matrix}\right]zG\left[\left[\begin{matrix}x & y & \frac{1}{z}\end{matrix}\right]\right]z8\left[\begin{matrix}x\\y\\\frac{1}{z}\end{matrix}\right]z_\left[\begin{matrix}\left[\begin{matrix}x\\y\\\frac{1}{z}\end{matrix}\right]\end{matrix}\right])r&   r   r   r   r   r   r   tolist)r  r<  r>  r  	ArrayTyper  M1r  M3MrowMcolumnMcol2s               r   test_latex_NDimArrayr  3  s   #JA!-/G+-CE	 aLQx4AqzA6*+Aq}%2!1 QxLM 	M MRyIJ 	J JRy## 	# # Ry'' 	' ' 11+'aS1#!u-.7>>+,-T{VW 	W WW~GH 	H HU|no 	o oOEr   c                  *   [        SS[        -  -  SS9S:X  d   e[        SS[        -  -  SS9S:X  d   e[        SS[        -  -  SS9S:X  d   e[        S[        -  SS9S	:X  d   e[        S[        -  SS9S
:X  d   e[        S[        -  SS9S:X  d   eg )Nr  r/  r  z4 \times 4^{x}r  z4 \cdot 4^{x}ldotz4 \,.\, 4^{x}z
4 \times xz	4 \cdot xz	4 \,.\, xr  r   r   r   test_latex_mul_symbolr  a  s    1a4G,0AAAA1a4E*.>>>>1a4F+/????1)]:::1'<7771(L888r   c                  p    SS[        S5      -  -  n [        U 5      S:X  d   e[        SU -  5      S:X  d   eg )Nr  r  z!4 \cdot 4^{\log{\left(2 \right)}}r  z+\frac{1}{4 \cdot 4^{\log{\left(2 \right)}}})rD   r   )r<  s    r   test_latex_issue_4381r  k  s=    	!SV)A8;;;;1:GGGGr   c                     [        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S	5      5      S
:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S 5      5      S!:X  d   e[        [        S"5      5      S#:X  d   e[        [        S$5      5      S#:X  d   eg )%N	beta_13_2z\beta_{13 2}beta_132_20z\beta_{132 20}beta_13z
\beta_{13}x_a_bzx_{a b}x_1_2_3z	x_{1 2 3}x_a_b1zx_{a b1}x_a_1zx_{a 1}x_1_azx_{1 a}zx_1^aaz
x^{aa}_{1}x_1__aazx_11^az
x^{a}_{11}x_11__a	x_a_a_a_azx_{a a a a}z	x_a_a^a^azx^{a a}_{a a}x_a_a__a__aalpha_11z\alpha_{11}alpha_11_11z\alpha_{11 11}alpha_alphaz\alpha_{\alpha}zalpha^alephz\alpha^{\aleph}alpha__alephr   r$   r   r   r   test_latex_issue_4576r  q  s   $%888&'+<<<<	"#}444!Z///	"#|333!"k111!Z///!Z///!"m333	"#}444!"m333	"#}444$%777$%)9999&'+;;;;
#$666&'+<<<<&'+====&'+===='(,>>>>r   c                      [        S5      n S[        [        U * 5      S-  5      R                  SS5      ;   d   eS[        SU * -  S-  5      R                  SS5      ;   d   eg )Nr  ze^{-x}r    z3^{-x}r  )r$   r   rC   replacerQ  s    r   test_latex_pow_fractionr    s`    sAc1"gai(00b9999 a!eAg..sB7777r   c                      [        SSS9u  pn[        X-  US-  -  5      S:X  d   e[        US-  U -  U-  5      S:X  d   e[        XS-  -  U-  5      S:X  d   eg )NzA,B,CFr  r  z
A B C^{-1}z
C^{-1} A Bz
A C^{-1} Brz  r]  r  r0  s      r   test_noncommutativer    sk    g51GA!QU},,,Bq},,,b5},,,r   c                      [         S-  [         S-  [        -  -   [        S-  -   S[         -  [        S-  -  -   n [        U SS9S:X  d   e[        U SS9S:X  d   e[        U S	S9S
:X  d   eg )Nr  r  r  lexr,  z#x^{3} + x^{2} y + 3 x y^{3} + y^{4}zrev-lexz#y^{4} + 3 x y^{3} + x^{2} y + x^{3}nonez#x^{3} + y^{4} + y x^{2} + 3 x y^{3})r  r<  r   r  s    r   test_latex_orderr    s    a4!Q$q&=1a4!A#ad(*DU#'MMMMI"HI I IV$(NNNNr   c                      [        [        [        [        S-   5      5      S:X  d   e[        [        [        [        4[        S-   5      5      S:X  d   e[        [        [        [        5      5      S:X  d   eg )Nr  z\left( x \mapsto x + 1 \right)z2\left( \left( x, \  y\right) \mapsto x + 1 \right)z\left( x \mapsto x \right))r   r   r  r<  r   r   r   test_latex_Lambdar    s^    1q5!"&GGGGAA&'+````1"????r   c                     [        S[        5      u  pn[        SU 5      u  p4pV[        XD-
  5      S:X  d   e[        US-
  5      S:X  d   e[        US-   5      S:X  d   e[        US-  SU-  U-  -   S-   US-  -  U-  U-   S-   5      S	:X  d   e[        US-  SU-  U-  -   S-   US-  -  U-  US-   U-  -   5      S
:X  d   e[        US-  SU-  U-  -   S-   US-  -  U-  US-   U-  -   S-   5      S:X  d   e[        US-  * SU-  U-  -   S-
  US-  -  U-  US-   U-  -
  S-
  5      S:X  d   e[        US-  U-   S-   * U-  SU-  U-  -   S-   5      S:X  d   e[        US-  U-   S-   * U-  SU-  U-  -
  S-   5      S:X  d   eg )Nu,vzx,y,z0r  x - 1r  r  r  z2\left({u}^{2} + 3 u v + 1\right) {x}^{2} y + u + 1zA\left({u}^{2} + 3 u v + 1\right) {x}^{2} y + \left(u + 1\right) xzE\left({u}^{2} + 3 u v + 1\right) {x}^{2} y + \left(u + 1\right) x + 1zF-\left({u}^{2} - 3 u v + 1\right) {x}^{2} y - \left(u + 1\right) x - 1z+-\left({v}^{2} + v + 1\right) x + 3 u v + 1z+-\left({v}^{2} + v + 1\right) x - 3 u v + 1)r   r   r   )RuvuvRxyzr  r<  r>  s          r   test_latex_PolyElementr    s   UBICA#&MDQ<4Q<8###Q<8###!Q$1Q,"AqD(*Q.23=> > >!Q$1Q,"AqD(*a!eQY67LM M M!Q$1Q,"AqD(*a!eQY6:;PQ Q Q1a4%!A#a%-!#QT)!+q1uai7!;<QR R R 1a4!8a<"QqSU*Q./67 7 71a4!8a<"QqSU*Q./67 7 7r   c                  j   [        S[        5      u  pn[        SU 5      u  p4pVn[        XD-
  5      S:X  d   e[        US-
  5      S:X  d   e[        US-   5      S:X  d   e[        US-  5      S:X  d   e[        XF-  5      S	:X  d   e[        XE-  U-  5      S
:X  d   e[        XFU-  -  5      S:X  d   e[        XE-  Xg-  -  5      S:X  d   e[        US-
  U-  5      S:X  d   e[        US-   U-  5      S:X  d   e[        U* S-
  U-  5      S:X  d   e[        US-   XV-  -  5      S:X  d   e[        U* US-   -  5      S:X  d   e[        XV-  US-   -  5      S:X  d   e[        US-   U-  U-  S-   US-
  U-  S-
  -  5      S:X  d   e[        US-   U-  U-  S-   US-
  U-  Xq-  U-  -
  S-
  -  5      S:X  d   eg )Nr  zx,y,z,tr  r  r  r  r  z\frac{x}{3}z\frac{x}{z}z\frac{x y}{z}z\frac{x}{z t}z\frac{x y}{z t}z\frac{x - 1}{y}z\frac{x + 1}{y}z\frac{-x - 1}{y}z\frac{x + 1}{y z}z\frac{-y}{x + 1}z\frac{y z}{x + 1}z;\frac{\left(u + 1\right) x y + 1}{\left(v - 1\right) z - 1}zC\frac{\left(u + 1\right) x y + 1}{\left(v - 1\right) z - u v t - 1})r   r   r   )Fuvr  r  Fxyztr  r<  r>  r  s           r   test_latex_FracElementr    s   eR ICAi-EaA<4Q<8###Q<8###1:''':'''Q<++++aC>----ac1111!a%1111!a%11111"q&! 3333!a%!##7777!QU 3333a!e!55551q5!)A+/QUAIM23FG G G1q5!)A+/QUAIA$5$9:;NO O Or   c                     [        [        [        S-  S[        -  -   [        5      5      S:X  d   e[        [        [        [        -  [        5      5      S:X  d   e[        [        S[        -  [        -   5      5      S:X  d   eg )Nr  zE\operatorname{Poly}{\left( x^{2} + 2 x, x, domain=\mathbb{Z} \right)}zU\operatorname{Poly}{\left( \frac{1}{y} x, x, domain=\mathbb{Z}\left(y\right) \right)}g       @zJ\operatorname{Poly}{\left( 2.0 x + 1.0 y, x, y, domain=\mathbb{R} \right)})r   r   r  r<  r   r   r   test_latex_Polyr    s    adQUlA&'PQ Q Qac1`a a ac!eai!UV V Vr   c            
         [        [        [        S[        S[        S/[
        5      5      S:X  d   e[        [        [        S[        [        -   SS/[
        5      5      S:X  d   e[        [        [        [
        S-  -  [
        S-  [        -  -   [
        [        -  -
  [        [        S-  -  -
  [        [
        -  [        S-  -  -
  [        -   [        [
        -  -
  [        -   [
        [        45      5      S:X  d   eg )Nr  r  r  z{\operatorname{Poly}{\left( a x^{5} + x^{4} + b x^{3} + 2 x^{2} + c x + 3, x, domain=\mathbb{Z}\left[a, b, c\right] \right)}z\operatorname{Poly}{\left( a x^{4} + x^{3} + \left(b + c\right) x^{2} + 2 x + 3, x, domain=\mathbb{Z}\left[a, b, c\right] \right)}z\operatorname{Poly}{\left( a x^{3} + x^{2}y -  b xy^{2} - xy -  a x -  c y^{3} + y + b, x, y, domain=\mathbb{Z}\left[a, b, c\right] \right)})r   r   rI  r  r  r  r<  r   r   r   test_latex_Poly_orderr    s    q!Q1a(!,-	EE E E q!QqS!Q'+,	NN N N a1fq!tAvo!+a1f4qs1a4x?!CacIAM!f 	XX X Xr   c                  \    [        [        [        S-  [        -   S-   S5      5      S:X  d   eg )Nr  r  r   z6\operatorname{CRootOf} {\left(x^{5} + x + 3, 0\right)})r   r   r  r   r   r   test_latex_ComplexRootOfr    s2    1q1a()AB B Br   c                  d    [        [        [        S-  [        -   S-   [        5      5      S:X  d   eg )Nr  r  zc\operatorname{RootSum} {\left(x^{5} + x + 3, \left( x \mapsto \sin{\left(x \right)} \right)\right)})r   r   r  rS   r   r   r   test_latex_RootSumr    s2    AAs+,no o or   c                  &    [        [        S 5        g )Nc                  ,    [        [        [        -  SS9$ )Ngarbage)methodr~  r   r   r   r  test_settings.<locals>.<lambda>  s    eAaC	:r   )r   	TypeErrorr   r   r   test_settingsr    s    
9:;r   c                     [        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        [        5      5      S	:X  d   e[        [        [        5      S-  5      S
:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        [        [        [        45      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [        [        [        [        45      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   e[        [        [        5      5      S:X  d   e[        [        [        5      S-  5      S:X  d   eg )NzC_{n}r  z	C_{n}^{2}zB_{n}zB_{n}\left(x\right)z	B_{n}^{2}zB_{n}^{2}\left(x\right)zG_{n}zG_{n}\left(x\right)z	G_{n}^{2}zG_{n}^{2}\left(x\right)zB_{n, m}\left(x, y\right)zB_{n, m}^{2}\left(x, y\right)zF_{n}zF_{n}\left(x\right)z	F_{n}^{2}zF_{n}^{2}\left(x\right)zL_{n}z	L_{n}^{2}zT_{n}r  z	T_{n}^{2}zT_{n}^{2}\left(x\right)z\mu\left(n\right)z\mu^{2}\left(n\right))r   r/   rJ  r-   r  r1   r.   r  r<  r3   r2   r4   r7   r   r   r   test_latex_numbersr    s   (((Q<///1(***1a!%;;;;1q!\1111a!#$(BBBB!)))!Q $::::!a L000!Q"#'AAAAa>X%%%a 6666aQF#$(DDDDa!,,,aQ#====aQF#Q&'+KKKK1(***1a!%;;;;1q!\1111a!#$(BBBBq?h&&&q1---A8+++Aq!"&<<<<A!"l222Aq!1$%)CCCC3333A"::::r   c                      [        [        [        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [        [        5      S-  5      S:X  d   eg )NzE_{n}zE_{n}\left(x\right)r  zE_{n}^{2}\left(x\right))r   r0   rJ  r  r   r   r   test_latex_eulerr     sP    q?h&&&q!!7777q!a $>>>>r   c                  l    [        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   eg )Nlamda\lambdaLamda\Lambdar  r   r   r   
test_lamdar  &  s0    !Z///!Z///r   c                      [        S5      n [        S5      n[        U 5      S:X  d   e[        X S0S9S:X  d   e[        X-   U S0S9S:X  d   e[        U S-  U S0S9S:X  d   e[        X-   U SUS0S9S	:X  d   eg )
Nr  r<  r0  r1  zx_i + yr  zx_i^{2}y_jz	x_i + y_jrl  r  r<  s     r   test_custom_symbol_namesr  +  s    sAsA8tU,666aZ0J>>>AQJ/:===a5%9:lJJJr   c            	      :   [        SSS5      n [        SSS5      n[        S5      n[        SSS5      n[        U SU-  -
  5      S;   d   e[        U SU-  -   5      S	;   d   e[        USU -  -
  5      S
;   d   e[        USU -  -   5      S;   d   e[        X#-  U* UR                  -   X3R                  -   -  -
  5      S:X  d   e[        [	        [	        X35      [	        X35      5      5      S:X  d   e[        [        [        X35      [        X35      5      5      S:X  d   eg )Nr0  r  r  rJ  r  r  r  )z	- 2 B + CzC -2 B)z2 B + CzC + 2 B)zB - 2 Cz	- 2 C + B)zB + 2 Cz2 C + Bz5n h - \left(- h + h^{T}\right) \left(h + h^{T}\right)z'\left(h + h\right) + \left(h + h\right)z!\left(h h\right) \left(h h\right))r   r&   r   Tr   r   )r0  r  rJ  r  s       r   test_matAddr  5  s   S!QAS!QAAS!QAQqS>6666QqS>5555QqS>7777QqS>55551"qss(q33w//04ooooqfQl348eeeeqfQl348____r   c                     [        SSS5      n [        SSS5      n[        S5      n[        SU -  5      S:X  d   e[        SU-  U -  5      S:X  d   e[        SU -  5      S	:X  d   e[        S
U -  5      S:X  d   e[        [        S5      U -  5      S:X  d   e[        [        S5      * U -  5      S:X  d   e[        S[        S5      -  U-  U -  5      S:X  d   e[        SU -  U SU-  -   -  5      S;   d   eg )Nr]  r  r  r  r  z2 Az2 x Ar5  z- 2 Ar  z1.5 Az
\sqrt{2} Az- \sqrt{2} Az2 \sqrt{2} x A)z- 2 A \left(A + 2 B\right)z- 2 A \left(2 B + A\right))r   r$   r   rM   )r]  r  r  s      r   test_matMulr  F  s   S!QAS!QAsA1:1Q<8###A;("""Q<8###a},,,$q'!///471Q#4444Aq1Q3w  %G G G Gr   c            	         [        SSS9n [        S5      u  pp4n[        SX 5      n[        SSS5      n[        SSS5      n[        [	        US	S	5      5      S
:X  d   e[        XaUS-   2X"S-   24   5      S:X  d   e[        XaUS-   S2X"S-   S24   5      S:X  d   e[        US U2US 24   5      S:X  d   e[        US U2US 24   5      S:X  d   e[        XaS 2S U24   5      S:X  d   e[        XaU2X424   5      S:X  d   e[        XaX%2XEU24   5      S:X  d   e[        XaS U2US U24   5      S:X  d   e[        US X2S XT24   5      S:X  d   e[        US S U2S S U24   5      S:X  d   e[        [	        USS5      5      S
:X  d   e[        [	        US U S 4S U S 45      5      S
:X  d   e[        [	        USU S 4SU S 45      5      S
:X  d   e[        [	        USU S4SU S45      5      S:X  d   e[        USSS2SSS24   5      S:X  d   e[        USSS2SSS24   5      S:X  d   e[        USSS2   5      S :X  d   e[        US S2SS!S24   5      S":X  d   e[        US S2SSS24   5      S#:X  d   e[        USS SS24   5      S$:X  d   e[        USS2SS24   5      S%:X  d   e[        USSS2SSS24   5      S&:X  d   e[        Xx-   SS 2SS 24   5      S':X  d   eg )(NrJ  Tr   z	x y z w tXYr  Z)NNNzX\left[:, :\right]r  zX\left[x:x + 1, y:y + 1\right]r  z"X\left[x:x + 1:2, y:y + 1:2\right]zX\left[:x, y:\right]zX\left[x:, :y\right]zX\left[x:y, z:w\right]zX\left[x:y:t, w:t:x\right]zX\left[x::y, t::w\right]zX\left[:x:y, :t:w\right]zX\left[::x, ::y\right])r   NNr   zX\left[::2, ::2\right]r  r  r  rN  zX\left[1:2:3, 4:5:6\right]   zX\left[1:3:5, 4:6:8\right]zX\left[1:10:2, :\right]	   zY\left[:5, 1:9:2\right]zY\left[:5, 1::2\right]zY\left[5:6, :5:2\right]zX\left[:1, :1\right]zX\left[:1:2, :1:2\right]z%\left(Y + Z\right)\left[2:, 2:\right])r$   r&   r   r   r   )	rJ  r  r<  r>  r  r  r  r	  r
  s	            r   test_latex_MatrixSlicer  U  s   sD!A[)NA!S!AS"b!AS"b!AQ 24FGHLaaaaQU7A!eG#$%)JJJJQU19aAai'()-RRRR2A2qr666662A2qr666662rr66666Q38!::::Q5!a%<!%BBBB4a4A:#>>>>4A4!:#>>>>3Q3!8!::::QABF[[[[Qq$$4ABF[[[[QAtq!Tl;<@UUUUQAq	Aq!956:SSSS1Qq5!Aa%<!%BBBB1Qq5!Aa%<!%BBBB1R699992A2q1u9"<<<<2A2qAv:#<<<<1dqd7 ::::1Q3!8!88881Qq5!Aa%<!%@@@@!%QR!%MMMMr   c            	         SSK Jn JnJnJnJn  SSKJn  U " SSS5      n[        U" US:  5      5      S:X  d   eU" SS5      n[        U" US	:  5      5      S
:X  d   eU" SS5      nU" SS5      n	[        U" [        X5      5      R                  5      S:X  d   e[        U" [        [        5      [        SS5      5      5      S:X  d   eg )Nr   )r   DieExponentialpspacewhere)RandomDomainr  r  z.\text{Domain: }0 < x_{1} \wedge x_{1} < \inftyd1rN  r  z'\text{Domain: }d_{1} = 5 \vee d_{1} = 6rI  r  zK\text{Domain: }0 \leq a \wedge 0 \leq b \wedge a < \infty \wedge b < \inftyr  z7\text{Domain: }\left\{x\right\} \in \left\{1, 2\right\})sympy.statsr   r  r  r  r  sympy.stats.rvr  r   r   domainr   r  )
r   r  r  r  r  r  r  r1  r]  r  s
             r   test_latex_RandomDomainr  v  s    CC+tQAq1u"SSSSD!Aq1u"LLLLCACAuQ{""$VW W W ilIaO<=BC C Cr   c                  z   SSK Jn   U R                  [        [        5      nU [        [        4   n[        UR                  [        [        [        -   -  5      5      [        [        [        [        -   -  5      :X  d   e[        UR                  [        [        -   5      5      [        [        [        -   5      :X  d   eg )Nr   QQ)sympy.polys.domainsr  
frac_fieldr  r<  r   convert)r  Fr  s      r   test_PrettyPolyr     s{    &
aA
1a4A1a!e9%&%1q5	*::::1q5!"eAEl222r   c            	         [        S5      n [        S5      n[        S5      n[        S5      n[        S5      n[        [        U" U 5      X5      5      S:X  d   e[        [	        U" U5      XX45      5      S:X  d   e[        [        U" U 5      X5      5      S:X  d   e[        [        U" U5      XX445      5      S	:X  d   e[        [        U" U 5      X5      5      S
:X  d   e[        [        U" U5      X5      5      S:X  d   e[        [        U" U 5      X5      5      S:X  d   e[        [        U" U5      X5      5      S:X  d   e[        [        U" U 5      X5      5      S:X  d   e[        [        U" U5      X5      5      S:X  d   eg )Nr  rD  r!  rI  r  z<\mathcal{M}_{x}\left[f{\left(x \right)}\right]\left(k\right)zA\mathcal{M}^{-1}_{k}\left[f{\left(k \right)}\right]\left(x\right)z<\mathcal{L}_{x}\left[f{\left(x \right)}\right]\left(k\right)zA\mathcal{L}^{-1}_{k}\left[f{\left(k \right)}\right]\left(x\right)z<\mathcal{F}_{x}\left[f{\left(x \right)}\right]\left(k\right)zA\mathcal{F}^{-1}_{k}\left[f{\left(k \right)}\right]\left(x\right)z>\mathcal{COS}_{x}\left[f{\left(x \right)}\right]\left(k\right)zC\mathcal{COS}^{-1}_{k}\left[f{\left(k \right)}\right]\left(x\right)z>\mathcal{SIN}_{x}\left[f{\left(x \right)}\right]\left(k\right)zC\mathcal{SIN}^{-1}_{k}\left[f{\left(k \right)}\right]\left(x\right))r$   r   r   r   r   r   r   r   r   r~   r   r   r   )r  rD  r!  rI  r  s        r   test_integral_transformsr"    s   sAsAAsAsA1q,-GH H H'!aA9:LM M M !!A$-.GH H H(1qaV<=LM M M !!A$-.GH H H(1q45LM M M 1q,-IJ J J'!a34NO O O qtQ*+IJ J J%adA12NO O Or   c                      SSK Jn   [        U R                  [        [
        5      5      S:X  d   e[        U R                  [        [
        SS95      S:X  d   eg )Nr   r  z\mathbb{Q}\left[x, y\right]ilexr,  z#S_<^{-1}\mathbb{Q}\left[x, y\right])r  r  r   old_poly_ringr  r<  r  s    r   test_PolynomialRingBaser&    sR    &!!!Q'(,JJJJ!!!Qf!56./ / /r   c                     SSK Jn JnJnJnJnJn  U " S5      nU " S5      nU " S5      nU" XgS5      n	U" XxS5      n
U" U5      nU" S5      n[        U5      S	:X  d   e[        U	5      S
:X  d   e[        U5      S:X  d   e[        X-  5      S:X  d   e[        U5      S:X  d   eU" 5       n[        U5      S:X  d   eU" U	SU
[        R                  05      n[        U5      S:X  d   eU" U	SU
[        R                  0X-  S05      n[        U5      S:X  d   eU " S5      nU " S5      nU " S5      nU" XS5      nU" UUS5      nU" UU/5      nU" U5      n[        U5      S:X  d   eg )Nr   )ObjectIdentityMorphismNamedMorphismCategoryDiagramDiagramGridA1A2A3f1f2K1zA_{1}zf_{1}:A_{1}\rightarrow A_{2}zid:A_{1}\rightarrow A_{1}z'f_{2}\circ f_{1}:A_{1}\rightarrow A_{3}z\mathbf{K_{1}}r  uniquea'  \left\{ f_{2}\circ f_{1}:A_{1}\rightarrow A_{3} : \emptyset, \  id:A_{1}\rightarrow A_{1} : \emptyset, \  id:A_{2}\rightarrow A_{2} : \emptyset, \  id:A_{3}\rightarrow A_{3} : \emptyset, \  f_{1}:A_{1}\rightarrow A_{2} : \left\{unique\right\}, \  f_{2}:A_{2}\rightarrow A_{3} : \emptyset\right\}a  \left\{ f_{2}\circ f_{1}:A_{1}\rightarrow A_{3} : \emptyset, \  id:A_{1}\rightarrow A_{1} : \emptyset, \  id:A_{2}\rightarrow A_{2} : \emptyset, \  id:A_{3}\rightarrow A_{3} : \emptyset, \  f_{1}:A_{1}\rightarrow A_{2} : \left\{unique\right\}, \  f_{2}:A_{2}\rightarrow A_{3} : \emptyset\right\}\Longrightarrow \left\{ f_{2}\circ f_{1}:A_{1}\rightarrow A_{3} : \left\{unique\right\}\right\}r]  r  r0  r!  r  z-\begin{array}{cc}
A & B \\
 & C 
\end{array}
)
sympy.categoriesr(  r)  r*  r+  r,  r-  r   r#   r  )r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  id_A1r3  r/  r]  r  r0  r!  r  grids                       r   test_categoriesr8    s   / / 
B	B	B	rt	$B	rt	$BR E	$B9   97777<7777<EEEE9))))	A8|###Xr1::./A8 ? ? ? ? 	Xr1::.(0CDA8 = = = = 	sAsAsAaC AaC AAAq>D;    r   c                     SSK Jn   SSKJn  U R	                  [
        [        5      nUR                  S5      nUR                  [
        [        /S[
        S-  /5      n[        U5      S:X  d   e[        U5      S:X  d   eUR                  [
        S-  [        5      n[        U5      S:X  d   eX4-  n[        U5      S	:X  d   e[        UR                  S[
        S
-  S-  /S[        /5      5      S:X  d   eU" U R	                  [
        5      R                  S5      U R	                  [
        5      R                  S5      SS/5      n[        U5      S:X  d   eg )Nr   r  )homomorphismr  r  z!{\mathbb{Q}\left[x, y\right]}^{2}zP\left\langle {\left[ {x},{y} \right]},{\left[ {1},{x^{2}} \right]} \right\ranglez&\left\langle {x^{2}},{y} \right\ranglezz\frac{{\mathbb{Q}\left[x, y\right]}^{2}}{\left\langle {\left[ {x},{y} \right]},{\left[ {1},{x^{2}} \right]} \right\rangle}r  a  \left\langle {{\left[ {1},{\frac{x^{3}}{2}} \right]} + {\left\langle {\left[ {x},{y} \right]},{\left[ {1},{x^{2}} \right]} \right\rangle}},{{\left[ {2},{y} \right]} + {\left\langle {\left[ {x},{y} \right]},{\left[ {1},{x^{2}} \right]} \right\rangle}} \right\ranglez}{\left[\begin{matrix}0 & 0\\0 & 0\end{matrix}\right]} : {{\mathbb{Q}\left[x\right]}^{2}} \to {{\mathbb{Q}\left[x\right]}^{2}})r  r  sympy.polys.agcar:  r%  r  r<  free_module	submoduler   ideal)r  r:  r  r  r  r   Qr  s           r   test_Modulesr@    sd   &-
AA	aA	QFQ1I&A8;;;;8[\ \ \ 	
1aA8@@@@	A8	DD D D aAa[1a&12	WW W W 	R%%a(44Q7%%a(44Q7!Q	AA 8	QQ Q Qr   c                      SSK Jn   U R                  [        5      [        S-  S-   /-  n[	        U5      S:X  d   e[	        UR
                  5      S:X  d   eg )Nr   r  r  r  zG\frac{\mathbb{Q}\left[x\right]}{\left\langle {x^{2} + 1} \right\rangle}z.{1} + {\left\langle {x^{2} + 1} \right\rangle})r  r  r%  r  r   one)r  r  s     r   test_QuotientRingrC    sW    &
QTAXJ&A8RS S S<LLLLr   c                  X    [        SSS9u  p[        X-  5      n[        U5      S:X  d   eg )Nr  Fr  z!\operatorname{tr}\left(A B\right))r&   r   r   )r]  r  r  s      r   test_TrrE    s.    5e,DA
13A8;;;;r   c                  x   SSK Jn JnJnJnJn  [        S5      n[        U " U5      5      S:X  d   e[        U " U" U5      5      5      S:X  d   e[        SSS5      n[        U " U5      5      S:X  d   e[        U " Xe-   5      5      S	:X  d   e[        U " U" U" SS5      U4XT" SS5      445      5      5      S
:X  d   eg )Nr   )DeterminantInverseBlockMatrix	OneMatrix
ZeroMatrixr  )r  r  z5\left|{\begin{matrix}1 & 2\\3 & 4\end{matrix}}\right|zG\left|{\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right]^{-1}}\right|r  r  z\left|{X}\right|zF\left|{\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] + X}\right|zg\left|{\begin{matrix}1 & X\\\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] & 0\end{matrix}}\right|)	sympy.matricesrG  rH  rI  rJ  rK  r   r   r   )rG  rH  rI  rJ  rK  r  r  s          r   test_DeterminantrN  %  s    WW AQ $aaaaWQZ()YZ Z ZS!QAQ $8888QU#$XY Y Y[9Q?A*>+,jA.>*?*A B C D}~ ~ ~r   c                  ^   SSK Jn JnJn  [	        SSS5      n[	        SSS5      n[        U " U5      5      S:X  d   e[        U " X4-   5      5      S:X  d   e[        U " U5      U " U5      -   5      S:X  d   e[        U " X4-  5      5      S	:X  d   e[        U " U5      U " U5      -  5      S
:X  d   e[        U " US-  5      5      S:X  d   e[        U " U5      S-  5      S:X  d   e[        U " U" U5      5      5      S:X  d   e[        U" U " U5      5      5      S:X  d   e[        U " U" U5      5      5      S:X  d   e[        U" U " U5      5      5      S:X  d   e[        U" U " U5      U-   5      5      S:X  d   e[        S5      n[        U " U5      5      S:X  d   e[        U " XS-   5      5      S:X  d   eSSK JnJnJ	n  [        U " U" U" SS5      U4XX" SS5      445      5      5      S:X  d   e[	        SSS5      n	[        U " U	5      5      S:X  d   e[        U " U5      SS9S:X  d   e[        U " X4-   5      SS9S:X  d   e[        U " U5      U " U5      -   SS9S:X  d   e[        U " U5      U " U5      -  5      S
:X  d   e[        U " US-  5      SS9S:X  d   e[        U " U5      S-  SS9S :X  d   eg )!Nr   )AdjointrH  	Transposer  r  r	  zX^{\dagger}z\left(X + Y\right)^{\dagger}zX^{\dagger} + Y^{\dagger}z\left(X Y\right)^{\dagger}zY^{\dagger} X^{\dagger}z\left(X^{2}\right)^{\dagger}z\left(X^{\dagger}\right)^{2}z\left(X^{-1}\right)^{\dagger}z\left(X^{\dagger}\right)^{-1}z\left(X^{T}\right)^{\dagger}z\left(X^{\dagger}\right)^{T}z \left(X^{\dagger} + Y\right)^{T}rL  z=\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right]^{\dagger}zN\left(\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] + X\right)^{\dagger}rI  rJ  rK  zo\left[\begin{matrix}1 & X\\\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] & 0\end{matrix}\right]^{\dagger}M^xz\left(M^{x}\right)^{\dagger}star)adjoint_stylezX^{\ast}	hermitianz\left(X + Y\right)^{\mathsf{H}}daggerz\left(X^{2}\right)^{\ast}z\left(X^{\mathsf{H}}\right)^{2})
rM  rP  rH  rQ  r   r   r   rI  rJ  rK  )
rP  rH  rQ  r  r	  r  rI  rJ  rK  Mxs
             r   test_AdjointrY  4  s   ::S!QAS!QA... $CCCCgaj()-IIII"????GAJ&'+EEEEA#BBBBQ#BBBB$%)IIII$%)IIII1&'+JJJJ71:&'+JJJJ71:>*+/RRRR A ffffab b bAAyA&:'(*Q*:&;&= > ? @ 	GG G G 
eQ	"B!@@@@ 62kAAA{;?aaaagaj(AEaaaaGAJ&'+EEEEAf59UUUUQk:>````r   c                     SSK Jn JnJn  [	        SSS5      n[	        SSS5      n[        U " U5      5      S:X  d   e[        U " X4-   5      5      S:X  d   e[        U " U" US5      5      5      S:X  d   e[        U" U " U5      S5      5      S	:X  d   e[        U " U" US5      5      5      S
:X  d   e[        U" U " U5      S5      5      S:X  d   e[        S5      n[        U " U5      5      S:X  d   e[        U " XS-   5      5      S:X  d   eSSK JnJnJ	n  [        U " U" U" SS5      U4XX" SS5      445      5      5      S:X  d   e[	        SSS5      n	[        U " U	5      5      S:X  d   eg )Nr   )rQ  MatPowHadamardPowerr  r  r	  zX^{T}z\left(X + Y\right)^{T}z\left(X^{\circ {2}}\right)^{T}z\left(X^{T}\right)^{\circ {2}}z\left(X^{2}\right)^{T}z\left(X^{T}\right)^{2}rL  z7\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right]^{T}zH\left(\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] + X\right)^{T}rR  zi\left[\begin{matrix}1 & X\\\left[\begin{matrix}1 & 2\\3 & 4\end{matrix}\right] & 0\end{matrix}\right]^{T}rS  z\left(M^{x}\right)^{T})
rM  rQ  r[  r\  r   r   r   rI  rJ  rK  )
rQ  r[  r\  r  r	  r  rI  rJ  rK  rX  s
             r   test_Transposer]  X  s   ??S!QAS!QA1(***15!"&????=A./04UUUUy|Q/04UUUU6!Q<()-FFFF	!a()-FFFF A1"aaaa13 Z[ [ [AA;1a!(<)*Jq!,<(=(? @ A B@ @ @ 
eQ	"B2#<<<<r   c                  V   SSK Jn Jn  SSKJnJnJn  [        SSS5      n[        SSS5      n[        U " XVU-  5      5      S:X  d   e[        U " XV5      U-  5      S:X  d   e[        U" US5      5      S	:X  d   e[        U" US
5      5      S:X  d   e[        U" U" XV5      S5      5      S:X  d   e[        U" U" XV5      S5      5      S:X  d   e[        U" U" US
5      S
5      5      S:X  d   e[        U" U" US
5      S
5      5      S:X  d   e[        U" U[        S-   5      5      S:X  d   eg )Nr   )HadamardProductr\  )r   r   r[  r  r  r	  zX \circ Y^{2}z\left(X \circ Y\right) YzX^{\circ {2}}r  zX^{\circ \left({-1}\right)}z\left(X + Y\right)^{\circ {2}}z\left(X Y\right)^{\circ {2}}z-\left(X^{-1}\right)^{\circ \left({-1}\right)}z-\left(X^{\circ \left({-1}\right)}\right)^{-1}r  zX^{\circ \left({n + 1}\right)})
rM  r_  r\  sympy.matrices.expressionsr   r   r[  r   r   rJ  )r_  r\  r   r   r[  r  r	  s          r   test_Hadamardra  p  sZ   =AAS!QAS!QAaC()-====&q()-HHHHq!$%)9999q"%&*HHHHva|Q/0)* * *va|Q/0'( ( ( va}b1289 9 9a,b1289 9 9 q!A#&')* * *r   c                     SSK Jn   [        SSS5      n[        SSS5      n[        U " US5      5      S:X  d   e[        U " X-  S5      5      S:X  d   e[        U " X-  S5      5      S:X  d   e[        U " X-   S5      5      S	:X  d   e[        U " X-   S5      5      S
:X  d   e[        SSS5      n[        U " US5      5      S:X  d   eg )Nr   )r[  r  r  r	  zX^{2}z\left(X^{2}\right)^{2}z\left(X Y\right)^{2}z\left(X + Y\right)^{2}z\left(2 X\right)^{2}rS  z\left(M^{x}\right)^{2})r`  r[  r   r   )r[  r  r	  rX  s       r   test_MatPowrc    s    1S!QAS!QA1')))Q $>>>>Q $<<<<q!"&@@@@q!"&>>>>	eQ	"BA#<<<<r   c                      [        SSS5      n U R                  U -  R                  [        5      n[	        U5      S:X  d   eU R                  [        [        S[        -  5      5      n[	        U5      S:X  d   eg )Nr  r  zN{\left( d \mapsto \sin{\left(d \right)} \right)}_{\circ}\left({X^{T} X}\right)r  z>{\left( x \mapsto \frac{1}{x} \right)}_{\circ}\left({X}\right))r   r  	applyfuncrS   r   r   r  )r  r  s     r   test_ElementwiseApplyFunctionrf    sf    S!QACCES!D;kkkk;;va1~&D;[[[[r   c                  l    SSK Jn   [        U " SS5      SS9S:X  d   e[        U " SS5      SS9S:X  d   eg )	Nr   rK  r  r  mat_symbol_styler  boldz
\mathbf{0})"sympy.matrices.expressions.specialrK  r   rh  s    r   test_ZeroMatrixrm    s=    =Aq!G<DDDAq!F;}LLLr   c                  l    SSK Jn   [        U " SS5      SS9S:X  d   e[        U " SS5      SS9S	:X  d   eg )
Nr   rJ  r  r  r  ri  1rk  z
\mathbf{1})rl  rJ  r   ro  s    r   test_OneMatrixrq    s;    <1a7;tCCC1a6:mKKKr   c                  h    SSK Jn   [        U " S5      SS9S:X  d   e[        U " S5      SS9S:X  d   eg )	Nr   Identityr  r  ri  z
\mathbb{I}rk  z
\mathbf{I})rl  rt  r   rs  s    r   test_Identityru    s7    ;!w7=HHH!v6-GGGr   c                  x    SSK Jn Jn  [        U " S5      5      S:X  d   e[        U" [        5      5      S:X  d   eg )Nr   DFTIDFTr  z\text{DFT}_{13}z\text{IDFT}_{x})"sympy.matrices.expressions.fourierrx  ry  r   r  rw  s     r   test_latex_DFT_IDFTr{    s3    <R>////a>////r   c                      [        S5      n [        U 6 n[        U5      S:X  d   e[        U 6 n[        U5      S:X  d   e[	        U 6 n[        U5      S:X  d   e[        U 6 n[        U5      S:X  d   eg )Nza:fz.a \wedge b \wedge c \wedge d \wedge e \wedge fz$a \vee b \vee c \vee d \vee e \vee fz[a \Leftrightarrow b \Leftrightarrow c \Leftrightarrow d \Leftrightarrow e \Leftrightarrow fz3a \veebar b \veebar c \veebar d \veebar e \veebar f)r&   r   r   r   r   r   )symsr  s     r   test_boolean_args_orderr~    s    5>D:D;KKKKt9D;AAAAtD;fg g g :D;>? ? ?r   c                  <    [        S5      n [        U 5      S:X  d   eg )Nr  r^  )rM   r   )r^  s    r   test_imaginaryr    s    RA8tr   c                      [        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [
        5      S:X  d   e[        [        5      S:X  d   eg )Nz\sinz\cosz\tanz\logz\operatorname{Ei}\zeta)r   rS   rQ   rT   rD   r^   r|   r   r   r   test_builtins_without_argsr    so    :   :   :   :   9,,,,;("""r   c                     [        S5      n [        U 5      S:X  d   e[        U " [        5      5      S:X  d   e[        S5      n [        U 5      S:X  d   e[        S5      n [        U 5      S:X  d   e[        U " [        5      5      S:X  d   e[        S	5      n[        U5      S
:X  d   e[        S5      n[        U" [        5      5      S:X  d   e[        U5      S:X  d   eg )NAlpha
\mathrm{A}z\mathrm{A}{\left(x \right)}Beta
\mathrm{B}Eta
\mathrm{H}z\mathrm{H}{\left(x \right)}rx  \Pichiz\chi{\left(x \right)}\chir   r   r  )r  r7  r  s      r   test_latex_greek_functionsr    s     	A8}$$$1;8888A8}$$$A8}$$$1;8888 	A8v 	A1;22228wr   c                     Sn [        U 5      S:X  d   eSn [        U 5      S:X  d   eSn [        U 5      S:X  d   eSn [        U 5      S:X  d   eS	n [        U 5      S
:X  d   eSn [        U 5      S:X  d   eSn [        U 5      S:X  d   eg )Nr  r  r  r  r  r  omicronorx  r  r   rs  LamdaHatDOTz\dot{\hat{\Lambda}})r   r  s    r   test_translater    s    AQ<=(((AQ<=(((AQ<=(((AQ<4AQ<6!!!AQ<6!!!AQ<1111r   c                  \    SSK Jn   U  H   n[        [        U5      5      SU-   :X  a  M    e   g )Nr   )other_symbols\)sympy.printing.latexr  r   r&   )r  r  s     r   test_other_symbolsr    s*    2WQZ HqL000 r   c                  \	   [        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S	5      5      S
:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S :X  d   e[        [        S!5      5      S":X  d   e[        [        S#5      5      S$:X  d   e[        [        S%5      5      S$:X  d   e[        [        S&5      5      S:X  d   e[        [        S'5      5      S:X  d   e[        [        S(5      5      S(:X  d   e[        [        S)5      5      S):X  d   e[        [        S*5      5      S*:X  d   e[        [        S+5      5      S+:X  d   e[        [        S,5      5      S,:X  d   e[        [        S-5      5      S-:X  d   e[        [        S.5      5      S.:X  d   e[        [        S/5      5      S0:X  d   e[        [        S15      5      S1:X  d   e[        [        S25      5      S2:X  d   e[        [        S35      5      S3:X  d   e[        [        S45      5      S4:X  d   e[        [        S55      5      S5:X  d   e[        [        S65      5      S6:X  d   e[        [        S75      5      S7:X  d   e[        [        S85      5      S8:X  d   e[        [        S95      5      S9:X  d   e[        [        S:5      5      S::X  d   e[        [        S;5      5      S;:X  d   e[        [        S<5      5      S=:X  d   e[        [        S>5      5      S?:X  d   e[        [        S@5      5      SA:X  d   e[        [        SB5      5      SC:X  d   e[        [        SD5      5      SE:X  d   e[        [        SF5      5      SG:X  d   eg )HN	xMathringz\mathring{x}xCheckz	\check{x}xBrevez	\breve{x}xAcutez	\acute{x}xGravez	\grave{x}xTildez	\tilde{x}xPrimez{x}'xddDDotz
\ddddot{x}xDdDotz	\dddot{x}xDDotz\ddot{x}xBoldz\boldsymbol{x}xnOrMz\left\|{x}\right\|xAVGz\left\langle{x}\right\ranglexHatz\hat{x}xDotz\dot{x}xBarz\bar{x}xVecz\vec{x}xAbsr  xMagxPrMxBMMathringCheckBreveAcuteGraveTildePrimeDDotz\dot{D}BoldNORmAVGHatr   BarVecr<   MagPrMBMhbarz\hbarxvecdotz\dot{\vec{x}}xDotVecz\vec{\dot{x}}xHATNormz\left\|{\hat{x}}\right\| xMathringBm_yCheckPRM__zbreveAbszC\boldsymbol{\mathring{x}}^{\left|{\breve{z}}\right|}_{{\check{y}}'} alphadothat_nVECDOT__tTildePrimez1\hat{\dot{\alpha}}^{{\tilde{t}}'}_{\dot{\vec{n}}})r   r&   r   r   r   test_modifiersr  	  sZ    %&/999"#|333"#|333"#|333"#|333"#|333"#w...#$555"#|333!"k111!"&7777!"&;;;;!%DDDD!Z///!Z///!Z///!Z///!%8888!%8888!W,,, $5555$%444!"h...!"h...!"h...!"h...!"h...!"h...!Z///!W,,,!W,,, F*** F*** F*** F*** F*** F*** F*** F***5(((!X---#$(8888#$(8888$%)DDDD;<=NO O O;<=<= = =r   c                  0   [        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S	5      5      S
:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S :X  d   e[        [        S!5      5      S":X  d   e[        [        S#5      5      S$:X  d   e[        [        S%5      5      S&:X  d   e[        [        S'5      5      S(:X  d   e[        [        S)5      5      S*:X  d   e[        [        S+5      5      S,:X  d   e[        [        S-5      5      S.:X  d   e[        [        S/5      5      S0:X  d   e[        [        S15      5      S2:X  d   e[        [        S35      5      S4:X  d   e[        [        S55      5      S6:X  d   e[        [        S75      5      S8:X  d   e[        [        S95      5      S::X  d   e[        [        S;5      5      S<:X  d   e[        [        S=5      5      S>:X  d   e[        [        S?5      5      S@:X  d   e[        [        SA5      5      SB:X  d   e[        [        SC5      5      SD:X  d   e[        [        SE5      5      SF:X  d   e[        [        SG5      5      SH:X  d   e[        [        SI5      5      SJ:X  d   e[        [        SK5      5      SL:X  d   e[        [        SM5      5      SN:X  d   e[        [        SO5      5      SP:X  d   e[        [        SQ5      5      SR:X  d   e[        [        SS5      5      ST:X  d   e[        [        SU5      5      SV:X  d   e[        [        SW5      5      SX:X  d   e[        [        SY5      5      SZ:X  d   e[        [        S[5      5      S\:X  d   e[        [        S]5      5      S^:X  d   e[        [        S_5      5      S`:X  d   e[        [        Sa5      5      Sb:X  d   e[        [        Sc5      5      Sd:X  d   e[        [        Se5      5      Sf:X  d   e[        [        Sg5      5      Sh:X  d   e[        [        Si5      5      Sj:X  d   e[        [        Sk5      5      Sl:X  d   e[        [        Sm5      5      Sn:X  d   eg )oNr(  r*  rU   r  rb   r  delta\deltaepsilonz\epsilonr|   r  etaz\etar  z\thetaiotaz\iotakappaz\kappalambdar  r   z\munuz\nuxiz\xir  r  r   rs  rr  z\rhosigmaz\sigmar   rb  upsilonz\upsilonr  rr  r  r  psiz\psirk  r+  r  r  r  r  rp  \GammaDeltaz\DeltaEpsilonz
\mathrm{E}Zetaz
\mathrm{Z}r  r  Thetaz\ThetaIotaz
\mathrm{I}Kappaz
\mathrm{K}r   r  Muz
\mathrm{M}Nuz
\mathrm{N}Xiz\XiOmicronz
\mathrm{O}rx  r  Rhoz
\mathrm{P}Sigmaz\Sigmars  rc  Upsilonz\UpsilonPhiz\Phir\   z
\mathrm{X}r  z\PsiOmegaz\Omega
varepsilonz\varepsilonvarkappaz	\varkappavarphiz\varphivarpiz\varpivarrhoz\varrhovarsigmaz	\varsigmavarthetaz	\varthetar  r   r   r   test_greek_symbolsr  <	  s   !y000 x///!y000!y000	"#{222 x///w...!y000 x///!y000!"z111v---v---v---	"#t+++v---w...!y000w...	"#{222w...w...w...!y000!}444 }444!y000!y000	"#}444 }444}444!y000 }444!}444!"z111}444}444v---	"#}444v---}444!y000}444	"#{222w...}444w...!y000%&.888
#$444!"j000!Y...!"j000
#$444
#$444r   c                  x   [        [        R                  5      S:X  d   e[        [        R                  5      S:X  d   e[        [        R                  5      S:X  d   e[        [        R
                  5      S:X  d   e[        [        R                  5      S:X  d   e[        [        R                  5      S:X  d   eg )Nz
\mathbb{Q}rB  rF  rJ  z
\mathbb{R}r>  )r   r#   	Rationalsr   rG  rK  r  r?  r   r   r   test_fancyset_symbolsr  x	  s    ...---000--->]***...r   c                  .    [        [        5      S:X  d   eg )Nz\mathcal{COS})r   r~   r   r   r   *test_builtin_without_args_mismatched_namesr  	  s    !%5555r   c                      [        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [
        5      S:X  d   e[        [        5      S:X  d   eg )Nz\operatorname{Chi}z\operatorname{B}r  r  r  )r   r\   rU   rb   rv   rV   r   r   r   r   test_builtin_no_argsr  	  ss    :....;----<9$$$ I---	)))	)))r   c                  P    [        S5      n [        U " [        5      5      S:X  d   eg )Nrx  z\Pi{\left(x \right)}r  r7  s    r   test_issue_6853r  	  s"    A1;1111r   c                      [        S[        S-   SS9n [        U 5      S:X  d   e[        S[        S-   SS9n [        U 5      S:X  d   e[        [        R                  [        S-   SS9n [        U 5      S:X  d   e[        [
        [        S-   SS9n [        U 5      S	:X  d   e[        [
        * [        S-   SS9n [        U 5      S
:X  d   e[        S[        S-   5      n [        U 5      S:X  d   e[        S[        S-   5      n [        U 5      S:X  d   eg )Nr5  r  Fr   z- 2 \left(x + 1\right)r  z2 \left(x + 1\right)z\frac{x + 1}{2}zy \left(x + 1\right)z- y \left(x + 1\right)z	- 2 x - 2z2 x + 2)r   r  r   r#   r=  r<  )rq  s    r   test_Mulr  	  s   BA&A80000Aq1uu%A8....AFFAEE*A8))))Aq1uu%A8....QBA&A80000BAA8|###Aq1uA8z!!!r   c                      [        SSSS9n [        U 5      S:X  d   e[        [        [        SS5      -  5      S:X  d   e[	        S5      n[        US-  5      S	:X  d   e[        [        S
5      [        -  5      S:X  d   eg )Nr  Fr   z2^{2}r  r  z\frac{1}{\sqrt[3]{x}}zx^2z\left(x^{2}\right)^{2}z
1.453e4500z{1.453 \cdot 10^{4500}}^{x})r    r   r  r   r$   r#   )rq  r  s     r   test_Powr  	  s~    Aq5!A8xXb!_%&*BBBB	BQ<4444<!#$(FFFFr   c                      [        [        [        [        5      5      S:X  d   e[        [	        [        [        [        5      5      5      S:X  d   eg )Nzx \Leftrightarrow yzx \not\Leftrightarrow y)r   r   r  r<  r   r   r   r   test_issue_7180r  	  s=    Aq!"&<<<<Z1%&'+EEEEr   c                  P    [        [        R                  [        -  5      S:X  d   eg )Nz\left(\frac{1}{2}\right)^{n})r   r#   r=  rJ  r   r   r   test_issue_8409r  	  s    >>>>r   c                  @    SSK Jn   U " SSS9n[        U5      S:X  d   eg )Nr   
parse_exprz-B*AFr   zA \left(- B\right)sympy.parsing.sympy_parserr  r   )r  rq  s     r   test_issue_8470r  	  s$    56E*A8,,,,r   c                     [        SSS5      n [        SSS5      n[        X-  R                  X* 5      5      S:X  d   e[        X-  R                  USU-  5      5      S:X  d   e[        X-  R                  X * 5      5      S:X  d   eg )Nr  r  r<  zx \left(- y\right)r5  zx \left(- 2 y\right)z\left(- x\right) y)r   r   subsr   s     r   test_issue_15439r  	  s    S!QAS!QA!%a$%)>>>>!%aA&'+BBBB!%a$%)>>>>r   c                  8    [        [        S5      5      S:X  d   eg )Nz\frac{a_1}{b_1}r  r   r   r   test_issue_2934r	  	  s    *+,0BBBBr   c                  t    Sn [        U 5      n[        U5      U :X  d   e[        [        U5      5      S:X  d   eg )Nz	C_{x_{0}}z\cos{\left(C_{x_{0}} \right)})r$   r   rQ   )latexSymbolWithBracer  s     r   test_issue_10489r  	  s=    '#$A8++++Q=<<<<r   c                  R    [        S5      u  p[        U S-  US-  -   5      S:X  d   eg )Nz
m__1, l__1r  z/\left(l^{1}\right)^{2} + \left(m^{1}\right)^{2}rz  )m__1l__1s     r   test_issue_12886r  	  s5    &JDq47"#:; ; ;r   c                  @    SSK Jn   U " SSS9n[        U5      S:X  d   eg )Nr   r   z5/1Fr   z\frac{5}{1}r  )r  r  s     r   test_issue_13559r  	  s#    5ee,D;.(((r   c                  `    [         [        S[        [        -   SS9-   n [	        U 5      S:X  d   eg )Nr  Fr   zc - \left(a + b\right))r  r   rI  r  r   r  s    r   test_issue_13651r  	  s,    s2q1uu--D;3333r   c                      [        S5      n [        SU -  5      n[        U5      [        SU -  5      s=:X  a  S:X  d   e   e[        US-  5      S:X  d   e[        US-   5      S:X  d   e[        X-  5      S:X  d   eg )Nr  r  r  r  z\left(\frac{1}{x}\right)^{2}z1 + \frac{1}{x}zx \frac{1}{x})r&   r   r   )r  hes     r   test_latex_UnevaluatedExprr  	  s    A	1	B9ac
4n44444Q<::::a=....;****r   c                     [        SSS5      n [        SSS5      n[        SSS5      n[        U S   5      S:X  d   e[        SU S   -  5      S:X  d   eUS   R                  X U-
  5      n[        U5      S	:X  d   e[        S
5      u  pEn[        SXf5      n[        SXf5      n[        Xx-  XE4   5      S:X  d   e[        SSS5      n	[        U	S   5      S:X  d   eg )Nr]  r  r  r  r0  )r   r   z	{A}_{0,0}z3 {A}_{0,0}z{\left(A - B\right)}_{0,0}zi j kr  r  z2\sum_{i_{1}=0}^{k - 1} {M}_{i,i_{1}} {N}_{i_{1},j}X_az{X_{a}}_{0,0})r   r   r  r&   )
r]  r  r0  r  r^  r_  rD  r  r  r  s
             r   test_MatrixElement_printingr  	  s    S!QAS!QAS!QA4>\)))QtW///	$QAA84444gGA!S!AS!A!#qt=> > > ua
#CT////r   c                      [        SSS5      n [        SSS5      n[        SSS5      n[        U * 5      S:X  d   e[        X U-  -
  U-
  5      S:X  d   e[        U * U-  X-  U-  -
  U-
  5      S:X  d   eg )Nr]  r  r  r0  z- AzA - A B - Bz- A B - A B C - B)r   r   r  s      r   test_MatrixSymbol_printingr  
  s    S!QAS!QAS!QA!9qS1///!AA!"&::::r   c                      [        SSS5      n [        SSS5      n[        S5      n[        [        X5      5      S:X  d   e[        [        X -  U5      5      S:X  d   e[        U[        X5      -  5      S:X  d   eg )	Nr  r  r  r	  rI  z	X \cdot Yza X \cdot Yza \left(X \cdot Y\right))r   r$   r   r   )r  r	  rI  s      r   test_DotProduct_printingr  
  sy    S!QAS!QAsAA!"l222AE1%&.888Z%%&*EEEEr   c                  l    [        SSS5      n [        SSS5      n[        [        X5      5      S:X  d   eg )Nr]  r  r  r  A \otimes B)r   r   r   )r]  r  s     r   test_KroneckerProduct_printingr!  
  s7    S!QAS!QA!!'(N:::r   c            	          [        [        [        S-  -  [        -
  [        S-  [        S-  -
  [        5      n [        [        [        -
  [        [        -   [        5      n[        [        [        S-  -  [        [
        -  [        -  -
  [
        -   [        [        -
  [        5      n[        [        X5      5      S:X  d   e[        [        XU5      5      S:X  d   e[        [        U* U 5      5      S:X  d   e[        S[        -  /SS[        -  -  //5      n[        R                  " U[        5      n[        SS[        S-  -  //5      n[        R                  " U[        5      n[        XFU-   -  5      Ss=:X  a#  [        [        [        Xf5      U5      5      :X  d   e   e[        SS/SS[        -  //5      n[        R                  " U[        5      n[        XF-  U-   5      S	s=:X  a#  [        [        [        Xd5      U5      5      :X  d   e   eg )
Nr  r  zQ\left(\frac{x y^{2} - z}{- t^{3} + y^{3}}\right) \left(\frac{x - y}{x + y}\right)z\left(\frac{x y^{2} - z}{- t^{3} + y^{3}}\right) \left(\frac{x - y}{x + y}\right) \left(\frac{t x^{2} - t^{w} x + w}{t - y}\right)zS\left(\frac{- x + y}{x + y}\right) \left(\frac{x y^{2} - z}{- t^{3} + y^{3}}\right)r  rN  z\left[\begin{matrix}\frac{5}{s}\\\frac{5}{2 s}\end{matrix}\right]_\tau\cdot\left(\left[\begin{matrix}\frac{5}{1} & \frac{6 s^{3}}{1}\end{matrix}\right]_\tau + \left[\begin{matrix}\frac{5}{1} & \frac{6 s^{3}}{1}\end{matrix}\right]_\tau\right)z\left[\begin{matrix}\frac{5}{s}\\\frac{5}{2 s}\end{matrix}\right]_\tau\cdot\left[\begin{matrix}\frac{5}{1} & \frac{6 s^{3}}{1}\end{matrix}\right]_\tau + \left[\begin{matrix}\frac{5}{1} & \frac{6}{1}\\\frac{6}{1} & \frac{5}{s}\end{matrix}\right]_\tau)r   r  r<  r>  r  r  r   r   r   r  r   from_Matrixr   r   )	tf1tf2tf3M_1T_1M_2T_2M_3T_3s	            r   test_Series_printingr-  
  s   
1QT6A:q!tad{A
6C
1q5!a%
+C
1QT6AqDF?Q.Aq
9C!"\] ] ]#&' 	NN N Nc"#^_ _ _ 1Q3%!QqS'#
$C
 
,
,S!
4C
1a1f+
C
 
,
,S!
4CCi!	K> ZS 6<=> > > > >
 1a&1ac(#
$C
 
,
,S!
4C3 $3 e6;LTWI]_b<c6de e e e er   c                  8   [        [        S-
  [        S-   [        5      n [        U 5      S:X  d   e[        [        S-   S[        -
  [        5      n[        U5      S:X  d   e[        [        [        S-  S[        -  -   S-   [        5      n[        U5      S:X  d   eg )Nr  z\frac{x - 1}{x + 1}r  z\frac{x + 1}{2 - y}r  z\frac{y}{y^{2} + 2 y + 3})r   r  r   r<  r$  r%  r&  s      r   test_TransferFunction_printingr0  7
  s    
1q5!a%
+C:////
1q5!a%
+C:////
1adQqSj1na
0C:5555r   c            
      x   [        [        [        S-  -  [        -
  [        S-  [        S-  -
  [        5      n [        [        [        -
  [        [        -   [        5      n[        [        X5      5      S:X  d   e[        [        U* U 5      5      S:X  d   e[        SS/SS[        -  //5      n[        R                  " U[        5      n[        S[        -  S/SS[        S-
  -  //5      n[        R                  " U[        5      n[        SS[        [        S-
  -  -  /SS//5      n[        R                  " U[        5      n[        X5-   U-   5      Ss=:X  a`  [        [        X5U5      5      s=:X  aF  [        [        U[        XW5      5      5      s=:X  a#  [        [        [        X55      U5      5      :X  d   e   eg )	Nr  r  z9\frac{x y^{2} - z}{- t^{3} + y^{3}} + \frac{x - y}{x + y}z;\frac{- x + y}{x + y} + \frac{x y^{2} - z}{- t^{3} + y^{3}}r  rN  r  a=  \left[\begin{matrix}\frac{5}{1} & \frac{6}{1}\\\frac{6}{1} & \frac{5}{s}\end{matrix}\right]_\tau + \left[\begin{matrix}\frac{5}{s} & \frac{6}{1}\\\frac{6}{1} & \frac{5}{s - 1}\end{matrix}\right]_\tau + \left[\begin{matrix}\frac{6}{1} & \frac{5}{s \left(s - 1\right)}\\\frac{5}{1} & \frac{6}{1}\end{matrix}\right]_\tau)r   r  r<  r>  r  r   r   r   r  r   r#  r   )r$  r%  r'  r(  r)  r*  r+  r,  s           r   test_Parallel_printingr2  @
  s   
1QT6A:q!tad{A
6C
1q5!a%
+C##$DE E E3$$%FG G G 1a&1ac(#
$C
 
,
,S!
4C
1Q3(Q1q5	N+
,C
 
,
,S!
4C
1aAEm$q!f-
.C
 
,
,S!
4CS! &o ^ c45^ :?|CQ]^aQg?h9i^ nss  AM  NQ  AW  Y\  t]  n^^ ^ ^ ^ ^r   c                  `   [        [        [        [        -   [        5      n [        [        * [        -   [        [        -   [        5      n[        [        [        S-  S[        -  -   S-   [        5      n[        [        U /U//5      5      S:X  d   e[        [        X/X * //5      5      S:X  d   eg )Nr  r  zP\left[\begin{matrix}\frac{p}{p + x}\\\frac{p - s}{p + s}\end{matrix}\right]_\tauz\left[\begin{matrix}\frac{p}{p + x} & \frac{p - s}{p + s}\\\frac{p}{y^{2} + 2 y + 3} & \frac{\left(-1\right) p}{p + x}\end{matrix}\right]_\tau)r   r7  r  r  r<  r   r   r/  s      r   $test_TransferFunctionMatrix_printingr4  T
  s    
1a!eQ
'C
A261q5!
,C
1adQqSj1na
0C'#78[\ \ \'#c4[(ABC 	ZZ Z Zr   c            
         [        [        [        [        -   [        5      n [        [        * [        -   [        [        -   [        5      n[	        [        X5      5      S:X  d   e[	        [        X-  [        SS[        5      5      5      S:X  d   e[	        [        XS5      5      S:X  d   e[	        [        X-  SS95      S:X  d   eg )Nzc\frac{\frac{p}{p + x}}{\frac{1}{1} + \left(\frac{p}{p + x}\right) \left(\frac{p - s}{p + s}\right)}r  z\frac{\left(\frac{p}{p + x}\right) \left(\frac{p - s}{p + s}\right)}{\frac{1}{1} + \left(\frac{p}{p + x}\right) \left(\frac{p - s}{p + s}\right)}zc\frac{\frac{p}{p + x}}{\frac{1}{1} - \left(\frac{p}{p + x}\right) \left(\frac{p - s}{p + s}\right)})signz\frac{\left(\frac{p}{p + x}\right) \left(\frac{p - s}{p + s}\right)}{\frac{1}{1} - \left(\frac{p}{p + x}\right) \left(\frac{p - s}{p + s}\right)})r   r7  r  r  r   r   )r$  r%  s     r   test_Feedback_printingr7  ^
  s    
1a!eQ
'C
A261q5!
,C##$no o o#'#3Aq!#<=> 	]] ] ] #A&'no o o#'*+ 	]] ] ]r   c                     [        S[        [        5      n [        [        [        S-  S-
  [        5      n[        [        [        S-
  [        5      n[        [        S-  [        S-  S-
  [        5      n[        X/X#//5      n[        X2/X//5      n[        [	        XE5      5      S:X  d   e[        [	        XE-  US5      5      S:X  d   eg )Nr  r  a  \left(I_{\tau} + \left[\begin{matrix}\frac{1}{s} & \frac{s}{s^{2} - 1}\\\frac{s}{s - 1} & \frac{s^{2}}{s^{2} - 1}\end{matrix}\right]_\tau\cdot\left[\begin{matrix}\frac{s^{2}}{s^{2} - 1} & \frac{s}{s - 1}\\\frac{s}{s^{2} - 1} & \frac{1}{s}\end{matrix}\right]_\tau\right)^{-1} \cdot \left[\begin{matrix}\frac{1}{s} & \frac{s}{s^{2} - 1}\\\frac{s}{s - 1} & \frac{s^{2}}{s^{2} - 1}\end{matrix}\right]_\taua  \left(I_{\tau} - \left[\begin{matrix}\frac{1}{s} & \frac{s}{s^{2} - 1}\\\frac{s}{s - 1} & \frac{s^{2}}{s^{2} - 1}\end{matrix}\right]_\tau\cdot\left[\begin{matrix}\frac{s^{2}}{s^{2} - 1} & \frac{s}{s - 1}\\\frac{s}{s^{2} - 1} & \frac{1}{s}\end{matrix}\right]_\tau\cdot\left[\begin{matrix}\frac{1}{s} & \frac{s}{s^{2} - 1}\\\frac{s}{s - 1} & \frac{s^{2}}{s^{2} - 1}\end{matrix}\right]_\tau\right)^{-1} \cdot \left[\begin{matrix}\frac{1}{s} & \frac{s}{s^{2} - 1}\\\frac{s}{s - 1} & \frac{s^{2}}{s^{2} - 1}\end{matrix}\right]_\tau\cdot\left[\begin{matrix}\frac{s^{2}}{s^{2} - 1} & \frac{s}{s - 1}\\\frac{s}{s^{2} - 1} & \frac{1}{s}\end{matrix}\right]_\tau)r   r  r   r   r   )r$  r%  r&  tf4tfm_1tfm_2s         r   test_MIMOFeedback_printingr<  m
  s    
1a
#C
1adQh
*C
1a!eQ
'C
1a4A1
-C"SJ
#;<E"SJ
#;<E e+,	pp p p ek5!45	22 2 2r   c                  :   [        [        [        [        [        5      n [        U 5      S:X  d   e[        [        [        [        [        [        -  5      n [        U 5      S:X  d   e[        [        [        [        [        [        -   5      n [        U 5      S:X  d   eg )Nzx + y i + z j + t kzx + y i + z j + t x kz$x + y i + z j + \left(t + x\right) k)r   r  r<  r>  r  r   )qs    r   test_Quaternion_latex_printingr?  
  ss    1aAA8----1aAaC A8////1aAE"A8>>>>r   c                  r    SSK Jn   [        SSS5      n[        SSS5      n[        U " X5      5      S:X  d   eg )Nr   )TensorProductr]  r  r  r   )sympy.tensor.functionsrA  r   r   )rA  r]  r  s      r   test_TensorProduct_printingrC  
  s9    4S!QAS!QAq$%777r   c                  x    SSK Jn   SSKJn  U" U R                  U R
                  5      n[        U5      S:X  d   eg )Nr   R2)WedgeProductz*\operatorname{d}x \wedge \operatorname{d}y)sympy.diffgeom.rnrF  sympy.diffgeomrG  dxdyr   )rF  rG  r,  s      r   test_WedgeProduct_printingrL  
  s/    $+	beeRUU	#B9EEEEr   c            	          [        SSSS9n [        U 5      S:X  d   e[        S[        SSSS9SS9n[        U5      S:X  d   e[        SSSS9n[        U5      S	:X  d   e[        SSSS9n[        U5      S
:X  d   eg )Nr  r  Fr   z1^{-1}z
1^{1^{-1}}r  r5  z\frac{1}{9}z1^{-2})r    r   )expr_1expr_2expr_3expr_4s       r   test_issue_9216rR  
  s    B'F=I%%%C2.?F=M)))B'F=N***B'F=I%%%r   c                     SSK Jn JnJnJn  U " S5      nU" SU5      u  pVpxU" SU5      n	U" SU/5      u  ppU" SXD/5      nU" SXDXD/5      n[        U5      S	:X  d   e[        U* 5      S
:X  d   eU
" U5      n[        U5      S:X  d   eU
" U	5      n[        U5      S:X  d   eU
" U* 5      n[        U5      S:X  d   eSU
" U5      -  n[        U5      S:X  d   eU" XVU* U	* 5      n[        U5      S:X  d   eU" XV* U* U	5      n[        U5      S:X  d   eU" XV* Xy* 5      n[        U5      S:X  d   eU" XV* 5      n[        U5      S:X  d   eU" XV5      n[        U5      S:X  d   eU" U* U* 5      n[        U5      S:X  d   eS[        -   U
" U5      -  n[        U5      S:X  d   eU" XU* 5      n[        U5      S:X  d   eU" XV* 5      U
" U5      -  U" U5      -  n[        U5      S:X  d   eU
" U5      SU" U5      -  -   n[        U5      S:X  d   eSSK Jn  U" U" XVXx5      USUS05      n[        U5      S:X  d   eU" U" XVXx5      US05      n[        U5      S:X  d   eU" U" XV* Xx5      USUS05      n[        U5      S :X  d   eU" U" XV* Xx* 5      USUS05      n[        U5      S!:X  d   eU" U" XVU* U* 5      USU* S05      n[        U5      S":X  d   eU" U" XVU* U* 5      US05      n[        U5      S#:X  d   e[        U
" U5      U
" U5      5      n[        U5      S$:X  d   e[        U
" U* 5      U
" U* 5      5      n[        U5      S%:X  d   e[        U" XVU* U* 5      U
" [        5      U
" [        * 5      5      n[        U5      S&:X  d   e[        U" U* 5      U
" U* 5      -   U
" U* 5      U
" [        * 5      5      n[        U5      S':X  d   e[        SU
" U* 5      -  U
" U* 5      U
" [        * 5      5      n[        U5      S(:X  d   eg ))Nr   )TensorIndexTypetensor_indices
TensorHeadtensor_headsLzi j k li_0zA B C DHKz{}^{i}z{}_{i}zA{}^{i}zA{}^{i_{0}}zA{}_{i}r:  z	-3A{}^{i}zK{}^{ij}{}_{ki_{0}}zK{}^{i}{}_{jk}{}^{i_{0}}zK{}^{i}{}_{j}{}^{k}{}_{i_{0}}zH{}^{i}{}_{j}zH{}^{ij}zH{}_{ij}r  z\left(x + 1\right)A{}^{i}zH{}^{L_{0}}{}_{L_{0}}z#H{}^{i}{}_{L_{0}}A{}^{L_{0}}B{}^{k}r  z3B{}^{i} + A{}^{i})TensorElementr  zK{}^{i=3,j,k=2,l}zK{}^{i=3,jkl}zK{}^{i=3}{}_{j}{}^{k=2,l}zK{}^{i=3}{}_{j}{}^{k=2}{}_{l}zK{}^{i=3,j}{}_{k=2,l}zK{}^{i=3,j}{}_{kl}z4\frac{\partial}{\partial {A{}^{L_{0}}}}{A{}^{L_{0}}}z,\frac{\partial}{\partial {A{}_{j}}}{A{}_{i}}zK\frac{\partial^{2}}{\partial {A{}^{m}} \partial {A{}_{n}}}{K{}^{ij}{}_{kl}}zZ\frac{\partial^{2}}{\partial {A{}_{j}} \partial {A{}_{n}}}{\left(A{}_{i} + B{}_{i}\right)}zQ\frac{\partial^{2}}{\partial {A{}_{j}} \partial {A{}_{n}}}{\left(3A{}_{i}\right)})sympy.tensor.tensorrT  rU  rV  rW  r   r  r\  r   r  rJ  )rT  rU  rV  rW  rX  r^  r_  rD  rv  i0r]  r  r0  r1  rZ  r[  r  r\  s                     r   test_latex_printer_tensorr_  
  sr   ]]A	1-JA!	q	!Bi!-JA!3A3q%A8y   !9	!!!Q4D;*$$$R5D;.(((aR5D;*$$$ad7D;,&&&QA2sD;0000QQBD;5555QAsD;::::Q8D;****Q7D;+%%%aR!9D;+%%%aC1:D;6666Q8D;2222Q8AaD=1D;@@@@Q4!AaD&=D;//// 21Aq!5D;....1A/D;****1b!!Q16D;66661b!R1aA,7D;::::1!aR1a!Q-8D;22221!aR1a&1D;////QqT1Q4(D;QQQQQrUAqbE*D;IIIIQqaR!_adAqbE:D;hhhhQrUQrU]AqbE1aR59D;wwwwQq!uWaeQrU3D;nnnnr   c                    ^^ [        S5      u  pp#nmU * SU-  -   SU-  -
  SU-  -   SU-  -
  mSn[        TTSS9U:X  d   eS	n[        TTSSS9U:X  d   eS
n[        TTSSS9U:X  d   eSn[        TTSSSS9U:X  d   eSn	[        TTS5      U	:X  d   e[        TTSSS9U	:X  d   eSn
[        TTSSS9U
:X  d   e[        [        UU4S j5        g )Nza b c d e fr  r  r  r  z\begin{eqnarray}
f & = &- a \nonumber\\
& & + 2 b \nonumber\\
& & - 3 c \nonumber\\
& & + 4 d \nonumber\\
& & - 5 e 
\end{eqnarray}eqnarrayenvironmentzc\begin{eqnarray}
f & = &- a + 2 b \nonumber\\
& & - 3 c + 4 d \nonumber\\
& & - 5 e 
\end{eqnarray}zS\begin{eqnarray}
f & = &- a + 2 b - 3 c \nonumber\\
& & + 4 d - 5 e 
\end{eqnarray}zX\begin{eqnarray}
f & = &- a + 2 b - 3 c \dots\nonumber\\
& & + 4 d - 5 e 
\end{eqnarray}T)rc  use_dotszB\begin{align*}
f = &- a + 2 b - 3 c \\
& + 4 d - 5 e 
\end{align*}zalign*zp\begin{IEEEeqnarray}{rCl}
f & = &- a + 2 b \nonumber\\
& & - 3 c + 4 d \nonumber\\
& & - 5 e 
\end{IEEEeqnarray}IEEEeqnarrayc                     > [        TT SS9$ )Nr  rb  )r   )r  r!  s   r   r  &test_multiline_latex.<locals>.<lambda>7  s    q$EJr   )r&   r   r   r  )rI  r  r  r/  rq  r  	expected2	expected3expected3dotsexpected3alignexpected2ieeer  r!  s              @@r   test_multiline_latexrm    s.   }-A!12!8QqS=!A#qs"DH 1d
;xGGGI 1dA:>)KKKI
 1dA:>)KKKM
 1dA:MQ^^^^N
 1dA&.8881dA8<NNNM 1dA>BmSSS
:JKr   c            
          [        S5      u  p[        [        X5      [        [	        X-  5      S5      [        [        X-  5      S5      -  [        R                  S-  5      n[        U5      S:X  d   eg )Nza xr   r  z\left\{\left( x, \  a\right)\; \middle|\; \left( x, \  a\right) \in \mathbb{C}^{2} \wedge \sin{\left(a x \right)} = 0 \wedge \cos{\left(a x \right)} = 0 \right\})	r&   r   r   r!   rS   rQ   r#   r?  r   )rI  r  sols      r   test_issue_15353rp  9  sc    5>DA
aRAC!_r#ac(A6QHC:	00 0 0r   c                  4   [        S5      n [        SSS9n[        SX5      n[        [        U5      5      S:X  d   e[        [	        U5      5      S:X  d   e[        [        US:  5      5      S	:X  d   e[        S
X5      n[        [        X#5      5      S:X  d   eg )Nr   r  Tr8  r  z\operatorname{E}\left[X\right]z \operatorname{Var}\left(X\right)r   z"\operatorname{P}\left(X > 0\right)r	  z#\operatorname{Cov}\left(X, Y\right))r&   r   r   r   r   r   r   )r   r  r  r	  s       r   test_latex_symbolic_probabilityrr  D  s    	BGd+EsBAQ $EEEE!!DDDDQU#$(MMMMsBAA!"&LLLLr   c                      SSK Jn   [        SSS5      n[        U " U5      5      S:X  d   e[        U " US-  5      5      S:X  d   eg )Nr   tracer]  r   \operatorname{tr}\left(A \right)z$\operatorname{tr}\left(A^{2} \right) sympy.matrices.expressions.traceru  r   r   )ru  r]  s     r   
test_tracery  O  sF    6S!QAq?AAAAq!t!HHHHr   c                     ^^ SSK Jm  SSKJn    " U4S jSU 5      mU4S jnU4S jn[	        U" [
        5      5      S:X  d   e[	        U" [
        S	-  5      5      S
:X  d   e[	        U" [
        5      5      S:X  d   eg )Nr   Basic)Exprc                   "   > \ rS rSrU 4S jrSrg)+test_print_basic.<locals>.UnimplementedExpri^  c                 &   > TR                  X5      $ N)__new__)r  rq  r|  s     r   r  3test_print_basic.<locals>.UnimplementedExpr.__new___  s    ==((r   r   N)r   r   r   r   r  r   r{  s   r   UnimplementedExprr  ^  s    	) 	)r   r  c                 0   > T" U 5      R                  5       $ r  )r  )r  r  s    r   unimplemented_expr,test_print_basic.<locals>.unimplemented_exprc  s     &++--r   c                 :   > T" U 5      nSUR                   l        U$ )NzUnimplementedExpr_x^1)	__class__r   )r  resultr  s     r   unimplemented_expr_sup_sub4test_print_basic.<locals>.unimplemented_expr_sup_subg  s     "4($;!r   z.\operatorname{UnimplementedExpr}\left(x\right)r  z2\operatorname{UnimplementedExpr}\left(x^{2}\right)z6\operatorname{UnimplementedExpr^{1}_{x}}\left(x\right))sympy.core.basicr|  sympy.core.exprr}  r   r  )r}  r  r  r|  r  s      @@r   test_print_basicr  W  s    &$)D )
.
 #A&'+\\\\#AqD)*=> > >+A./AB B Br   c                     SSK Jn   [        SSS5      n[        U " U5      SS9S:X  d   e[        U " U5      SS9S	:X  d   e[        SS
S
5      n[        SS
S
5      n[        SS
S
5      n[        U* SS9S:X  d   e[        XU-  -
  U-
  SS9S:X  d   e[        U* U-  X-  U-  -
  U-
  SS9S:X  d   e[        SS
S
5      n[        USS9S:X  d   e[        SS
S
5      n[        USS9S:X  d   eg )Nr   rt  r]  r  rk  ri  z)\operatorname{tr}\left(\mathbf{A} \right)r  rv  r  r  r0  z- \mathbf{A}z/\mathbf{A} - \mathbf{A} \mathbf{B} - \mathbf{B}zG- \mathbf{A} \mathbf{B} - \mathbf{A} \mathbf{B} \mathbf{C} - \mathbf{B}A_kz\mathbf{A}_{k}z\nabla_kz\mathbf{\nabla}_{k}rw  )ru  r]  r  r0  r  s        r   test_MatrixSymbol_boldr  s  s:   6S!QAqF345 5 5qG4+, , , 	S!QAS!QAS!QA!f-@@@qS1v6:; ; ;!AA!F;RS S S ua
#Cv.2CCCC[!Q'AV,0FFFFr   c                  h    [        SSS5      n [        S5      n[        [        X5      5      S:X  d   eg )Nr   r  r  r  z#\sigma_{\left( 0\; 1\; 2\right)}(x))r	   r$   r   r
   )r7  r  s     r   test_AppliedPermutationr    s9    Aq!AsA#A)*./ / /r   c                      [        SSS5      n [        [        U 5      5      S:X  d   e[        SS5      " SS5      n [        [        U 5      5      S:X  d   eg )Nr   r  r  zP_{\left( 0\; 1\; 2\right)}r  z*P_{\left( 0\; 3\right)\left( 1\; 2\right)})r	   r   r   r  s    r   test_PermutationMatrixr    s]    Aq!A"1%&*HHHHAq!QA"1%&56 6 6r   c                  r   SSK Jn   SSKJn  [	        S5      n[        S5      u  p4U" X"[        * [        4S[        SUS[        45      [        [        S[        -  [        U[        -  5      -  U-  S[        U[        -  5      -  US-  -  -   U[        * :  U[        :  -  [        US5      -  4S	5      [        XB-  5      -  [        -  US[        45      45      n[        U " U5      5      S
:X  d   e[        U" X"[        * [        4S[        SUS[        45      [        SUS[        45      45      5      S:X  d   eg )Nr   )piecewise_fold)FourierSeriesr  zk nr  r5  r  )r   Tz\begin{cases} 2 \sin{\left(x \right)} - \sin{\left(2 x \right)} + \frac{2 \sin{\left(3 x \right)}}{3} + \ldots & \text{for}\: n > -\infty \wedge n < \infty \wedge n \neq 0 \\0 & \text{otherwise} \end{cases}r  )$sympy.functions.elementary.piecewiser  sympy.series.fourierr  r$   r&   r   r   r   rN   rQ   rS   r"   r   )r  r  r  rD  rJ  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 #$ )C C C C qrc2,Jq1a*4M1;A1bz1J1L M NQTU U Ur   c                     [        S[        -   5      S:X  d   e[        S[        -   SS9S:X  d   e[        S[        -   SS9S:X  d   e[        S[        -   SS9S:X  d   e[        [        S	S9S
:X  d   e[        [        SS9S:X  d   eg )Nr  z1 + ir^  imaginary_unitr_  z1 + jr  z1 + footiz\text{i}tjz\text{j})r   r   r   r   r   test_imaginary_unitr    s    Q<8###Qs+x777Qs+x777Qu-;;;4(K7774(K777r   c                      [        [        [        5      SS9S:X  d   e[        [        [        5      SS9S:X  d   e[        [        [        5      SS9S:X  d   e[        [        [        5      SS9S:X  d   eg )NT)gothic_re_imz\Im{\left(x\right)}Fr  z\Re{\left(x\right)}r  )r   r?   r  rA   r   r   r   test_text_re_imr    sj    AT*.DDDDAU+/SSSSAT*.DDDDAU+/SSSSr   c                     SSK Jn JnJnJnJn  SSKJn  [        SSS9u  pgU " SS5      n[        U5      S	:X  d   eU" S
U5      n	[        U	5      S:X  d   eU" SXU/5      n
[        U
5      S:X  d   eU" U
S5      n[        U5      S:X  d   e[        S5      nU" UR                  UR                  5      n[        U" U5      5      S:X  d   eg )Nr   )ManifoldPatchCoordSystemBaseScalarFieldDifferentialrE  zx yTr  r  r  z\text{M}Pz\text{P}_{\text{M}}rectz!\text{rect}^{\text{P}}_{\text{M}}z
\mathbf{x}r  zC\operatorname{d}\left(g{\left(\mathbf{x},\mathbf{y} \right)}\right))rI  r  r  r  r  r  rH  rF  r&   r   r   r  r<  )r  r  r  r  r  rF  r  r<  r  r7  r  r  r  s_fields                 r   test_latex_diffgeomr    s    ZZ$
%d
#CAaA8{"""c1A8----vqa&)D;>>>>a A8}$$$AbddmGg&'NO O Or   c                  V   [        S[        -  5      S:X  d   e[        S[        -  5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        S[
        -  [        -  [        -  5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        [        5      S	:X  d   eg )
Nr  z
5 \text{m}r  z3 \text{gibibyte}r  z\frac{4 \mu\text{g}}{\text{s}}z\frac{4 \mu \text{g}}{\text{s}}z5 \text{m} \text{m}z\text{m})r   r   r   r   r   r   r   r   r   r   r   test_unit_printingr    s    5>]***8 44449V#$(IIII5f$%)KKKK5#9999<;&&&r   c                  P    [        S5      n [        [        X S5      5      S:X  d   eg )Nr   r  z,\frac{d^{2}}{d \left(x^{*}\right)^{2}} x^{*})r$   r   r   )rC  s    r   test_issue_17092r    s&    E]FF1-.2aaaar   c                     [        S5      u  pp#[        SSS9u  pEn[        S[        S9u  pxn	[        / SQSS	9S
:X  d   e[        [        SSS5      SS	9S:X  d   e[        SSS	9S:X  d   e[        SSS	9S:X  d   e[        / SQSS	9S:X  d   e[        [        SSS5      SS	9S:X  d   e[        SSS	9S:X  d   e[        SSS	9S:X  d   e[        / SQ5      S:X  d   e[        [        SSS5      5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        [	        SS5      SS	9S:X  d   e[        SSS	9S:X  d   e[        S5      n [        S5      n[        S5      n[        U S-  SUS-  -  -   S-   U-   SS	9S :X  d   e[        S!SS	9S":X  d   e[        [        S!5      SS	9S":X  d   e[        S#SS	9S$:X  d   e[        [        S#5      SS	9S$:X  d   e[        S%SS	9S&:X  d   e[        [        S'5      S(-  SS	9S):X  d   e[        [        S*5      SS	9S):X  d   e[        S5      n [        S+U -  S-   SS	9S,:X  d   e[        [        SSS5      SS	9S:X  d   e[        [        S- 5        [        [        S. 5        [        [        S/ 5        g )0Nzx y z tr   Tr   zf g hr  r  ffffff@      @commadecimal_separatorz#\left[ 1; \  2{,}3; \  4{,}5\right]r  r  r  z\left\{1; 2{,}3; 4{,}5\right\})r  r  gffffff@z#\left( 1; \  2{,}3; \  4{,}6\right))r  z\left( 1;\right)periodz\left[ 1, \  2.3, \  4.5\right]z\left\{1, 2.3, 4.5\right\}z\left( 1, \  2.3, \  4.6\right)z\left( 1,\right)g333333@g333333@z18{,}02gQ2@r  r<  r>  r  z#2^{y^{3{,}4}} + 5{,}3 x + z + 4{,}5g/$?z0{,}987g333333?z0{,}3g|)v>z5{,}8 \cdot 10^{-7}g@gHz>z5{,}7 \cdot 10^{-7}g<sAC >g333333?z1{,}2 x + 3{,}4c                      [        / SQSS9$ )Nr  &non_existing_decimal_separator_in_listr  r  r   r   r   r  .test_latex_decimal_separator.<locals>.<lambda>
  s    u[Dlmr   c                  ,    [        [        SSS5      SS9$ )Nr  r  r  %non_existing_decimal_separator_in_setr  )r   r   r   r   r   r  r    s    uYqS%9Mtur   c                      [        SSS9$ )Nr  'non_existing_decimal_separator_in_tupler  r  r   r   r   r  r    s    u[Dmnr   )r&   r   r   r   r   r#   r   r  )
r  r<  r>  r  rD  r  rJ  r!  r  r  s
             r   test_latex_decimal_separatorr    s   #JA!gt,GA!g8,GA! ':>dded1c3'7CGhhihG<@ffgf15HHIH (;?aaca1c3'8DHeefeH=Accdc26IIJI #EEFE1c3'(,IIJI#EEFE;--.-S7;zIJIg6*DEDAAA3AsF"S(1,'JNttut'2j@A@5W5CDCw/8;<;2'2h>?> 9=SSTS3G<@VVWV<G<@VVWVAQsg6:LLML1c3'8DHeefe :mn
:uv
:nor   c                  >    SSK Jn   [        U " S5      5      S:X  d   eg )Nr   Strr  )sympy.core.symbolr  strr  s    r   test_Strr    s    %s3x=D   r   c                  H    [        S5      SR                  / SQ5      :X  d   eg )Nz
~^\&%$#_{}r  )
z\textasciitildez\textasciicircumz\textbackslashz\&z\%z\$z\#z\_z\{z\})r   joinr   r   r   test_latex_escaper    s)    &"'' 3 +   r   c                  r     " S S5      n [        U " 5       5      S:X  d   e[        U " 5       45      S:X  d   eg )Nc                       \ rS rSrS rSrg)#test_emptyPrinter.<locals>.MyObjecti!  c                     g)Nz<MyObject with {...}>r   )r  s    r   __repr__,test_emptyPrinter.<locals>.MyObject.__repr__"  s    *r   r   N)r   r   r   r   r  r   r   r   r   MyObjectr  !  s    	+r   r  z'\mathtt{\text{<MyObject with \{...\}>}}z6\left( \mathtt{\text{<MyObject with \{...\}>}},\right)r  )r  s    r   test_emptyPrinterr     s>    + +
  JJJJ (*#\\\\r   c                  0   SS K n U R                  [        5      R                  S   R                  S:X  d   e[        [
        5      S:X  d   e [        R                  " SS9  U R                  [        5      R                  S   R                  S:X  d   e[        [
        5      S:X  d   e [        R                  S	 U R                  [        5      R                  S   R                  S:X  d   e[        [
        5      S:X  d   eg ! [        R                  S	 f = f)Nr   r  r^  r_  r  )	inspect	signaturer   
parametersdefaultr   r   set_global_settings_global_settings)r  s    r   test_global_settingsr  +  s     U#../?@HHDPPP8t	<((<  '223CDLLPTTTTQx4 ))*:; U#../?@HHDPPP8t	 ))*:;s   AD Dc                  f    SS K n U R                  U R                  [        5      5      [        L d   eg )Nr   )pickleloadsdumpsr   )r  s    r   test_pickleabler  @  s%    <<U+,555r   c            	         [        [        SS5      5      S:X  d   e[        [        SSSS[        -
  -  S45      5      S:X  d   e[	        SSS5      n [	        S	SS5      n[        [        X-  [        S/5      5      S
:X  d   eg )Nr]  )r  r  r  r  r  r   z{{A}_{2, \frac{1}{1 - x}, 0}}r  r  r  z{{\left(M N\right)}_{x, 0}})r   r   r   r  r   )r  r  s     r   %test_printing_latex_array_expressionsr  E  s    S),-444cAq!A#w?348XXXXS!QAS!QAacAq6*+/NNNNr   c                      [        [        S5      5      n [        U 5      S:X  d   e[        [        S5      5      n [        U 5      S:X  d   eg )Nr  zL\left[\begin{matrix}0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9\end{matrix}\right]r  r  )r   r  r   )arrs    r   
test_Arrayr  L  sD    
b	
C:hhhh
b	
C:xxxxr   c                      [        S5         [        [        [        -  5      S:X  d   e S S S 5        g ! , (       d  f       g = f)NFza a)r   r   rI  r   r   r   test_latex_with_unevaluatedr  T  s)    	%QU|v%%% 
s	   3
Ac                      [        [        S5      5      S:X  d   e[        [        S5      SS9S:X  d   e[        [        S5      SS9S:X  d   eg )Nzu^a_bz	u^{a}_{b}F)disable_split_super_subTzu\^a\_br  r   r   r   "test_latex_disable_split_super_subr  Y  sK    ![000%@KOOO$?;NNNr   (  sympyr   r   r   sympy.algebras.quaternionr   !sympy.calculus.accumulationboundsr    sympy.combinatorics.permutationsr   r	   r
   sympy.concrete.productsr   sympy.concrete.summationsr   sympy.core.containersr   r   r  r   sympy.core.functionr   r   r   r   r   sympy.core.modr   sympy.core.mulr   sympy.core.numbersr   r   r   r   r   r   r   sympy.core.parametersr   sympy.core.powerr    sympy.core.relationalr!   r"   sympy.core.singletonr#   r  r$   r%   r&   (sympy.functions.combinatorial.factorialsr'   r(   r)   r*   r+   r,   %sympy.functions.combinatorial.numbersr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   $sympy.functions.elementary.complexesr<   r=   r>   r?   r@   rA   &sympy.functions.elementary.exponentialrB   rC   rD   %sympy.functions.elementary.hyperbolicrE   rF   #sympy.functions.elementary.integersrG   rH   rI   (sympy.functions.elementary.miscellaneousrJ   rK   rL   rM   r  rN   (sympy.functions.elementary.trigonometricrO   rP   rQ   rR   rS   rT   &sympy.functions.special.beta_functionsrU   'sympy.functions.special.delta_functionsrV   rW   *sympy.functions.special.elliptic_integralsrX   rY   rZ   r[   r  r\   r]   r^   r_   r`   ra   'sympy.functions.special.gamma_functionsrb   rc   sympy.functions.special.hyperrd   re   )sympy.functions.special.mathieu_functionsrf   rg   rh   ri   #sympy.functions.special.polynomialsrj   rk   rl   rm   rn   ro   rp   rq   rr   -sympy.functions.special.singularity_functionsrs   +sympy.functions.special.spherical_harmonicsrt   ru   (sympy.functions.special.tensor_functionsrv   rw   &sympy.functions.special.zeta_functionsrx   ry   rz   r{   r|   sympy.integrals.integralsr}   sympy.integrals.transformsr~   r   r   r   r   r   r   r   r   r   sympy.logicr   sympy.logic.boolalgr   r   r   r   r   r   r   sympy.matrices.denser   $sympy.matrices.expressions.kroneckerr   "sympy.matrices.expressions.matexprr   &sympy.matrices.expressions.permutationr    sympy.matrices.expressions.slicer   %sympy.matrices.expressions.dotproductr   sympy.physics.control.ltir   r   r   r   r   r   r   r   sympy.physics.quantumr   r   sympy.physics.quantum.tracer   sympy.physics.unitsr   r   r   r   r   r   r   sympy.polys.domains.integerringr   sympy.polys.fieldsr   sympy.polys.polytoolsr   sympy.polys.ringsr   sympy.polys.rootoftoolsr   r   sympy.series.formalr   r  r   sympy.series.limitsr   sympy.series.orderr   sympy.series.sequencesr   r   r   r   sympy.sets.conditionsetr   sympy.sets.containsr   sympy.sets.fancysetsr   r   r   sympy.sets.ordinalsr   r   r   sympy.sets.powersetr   sympy.sets.setsr   r   r   r   r   r   r   sympy.sets.setexprr   sympy.stats.crv_typesr    sympy.stats.symbolic_probabilityr   r   r   r   sympy.tensor.arrayr   r   r   r   r   0sympy.tensor.array.expressions.array_expressionsr   r   sympy.tensor.indexedr   r   r   sympy.tensor.toperatorsr   sympy.vectorr   r   r   r   r   r   r   sympy.testing.pytestr   r   r   r   r  r   r   r   r   r   r   r   symr  r   r   r   r  r<  r>  r  r  rI  r  r  r  r7  rD  r  rJ  r  rE  rG  rK  rQ  rV  r[  r`  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@  rC  rH  rL  rO  rR  rU  rW  rY  r[  r_  rc  re  rh  rj  rn  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  r  r  r   r"  r&  r8  r@  rC  rE  rN  rY  r]  ra  rc  rf  rm  rq  ru  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  r2  r4  r7  r<  r?  rC  rL  rR  r_  rm  rp  rr  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r6     s    ' ' 0 9 S S + ) - + J J   U U U *   ( " 5 5 H  HM M M M M [ Z G G ? F F K K : U U 7 K h h R R G : h h Z  Z  Z M B Q f f . u  u  u  L L L ' A ; D 8 < S  S  S 6 * V V V . $ & " 5 # / % $ G G 0 ( A A A A ( s s s s & & ( (E E E/ / / /
 W V < < < 5 5 V V V V V: : :> > > > >   	 	  ''<= 1aAq!Q1
'4
(1a	!YYx+;8/4.*/PbI4 ; ; j3 j3\K2"<$;41*=m@^%gP@AJ>6"r?/
E2-2264
9+
2V
Zt-n/.1.y4nA
C	/-"	$4AGE
G)2FN
)J	8UG*H( $+o\9H?.
8-O@
7.O6V
XB
o
<;>?0
K`"GNBC&3OB/7tQBM<~"aH=0*0=\MLH0?$
#.2"15=p95x/ 6 6*2
""GF
?-?C=;)4
+0,;F;e86^(Z]20?8F&Xov2Lh0MIB8G2/6U 8TO&'b
0pd!	]*6
Oy&
Or   