
    Xhj             	          d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZmZ d dlmZmZmZmZmZmZmZmZ d dlmZmZmZmZ d dlmZ d d	lmZmZ d d
l m!Z! d dl"m#Z#m$Z$m%Z% d dl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZG d dlHmIZImJZJ d dlKmLZLmMZM d dlNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZ d dl[m\Z\ d dl]m^Z^m_Z_m`Z`maZa d dlbmcZcmdZdmeZemfZf d dlgmhZhmiZimjZj d dlkmlZlmmZmmnZnmoZo d dlpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZy d dlzm{Z{ d dl|m}Z}m~Z~mZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d lmZmZmZmZmZ d d!lmZmZmZmZ d d"lmZ d d#lmZ d d$lmZ d d%lmZmZmZmZmZmZmZ d d&lmZ d d'lmZ d d(lmZmZmZmZmZmZmZ d d)lmZmZ  ed*          \	  ZZZZZZZZZ e            Z e            Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zd? Zd@ ZdA ZdB ZdC ZdD ZdE ZdF ZdG ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZdR ZdS ZdT ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ Zd\ Zd] Zd^ Zd_ Zd` Zda Zdb Zdc Zdd Zde Z df Zdg Zdh Zdi Zdj Zdk Zdl Zdm Zdn Z	do Z
dp Zdq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zdy Zdz Zd{ Zd| Zd} Zd~ Zd Zd Zd Zed             Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3dS )    )AccumBounds)Sum)Basic)Tuple)
DerivativeLambdadiffFunction)zooFloatIntegerIoopiERational)LtGeNeEq)S)symbolsSymbol)sympify)
factorial2binomial	factorial)lucasbellcatalaneuler
tribonacci	fibonacci	bernoulliprimenu
primeomegatotientreduced_totient)reim	conjugateAbs)expLambertWlog)tanhacothatanhcothasinhacschasechacoshcschsinhcoshsech)ceilingfloor)MaxMin)cscsectanatansinaseccotcosacotacscasinacos)	Heaviside)elliptic_pi
elliptic_f
elliptic_k
elliptic_e)fresnelcfresnelsEiexpint)gamma
uppergamma
lowergamma)mathieusprimemathieusmathieucprimemathieuc)	jacobi
chebyshevu
chebyshevthermiteassoc_legendre
gegenbauerassoc_laguerrelegendrelaguerre)SingularityFunction)polylog	stieltjeslerchphidirichlet_etazeta)Integral)XorOrfalsetrueAnd
EquivalentImpliesNot)Matrix)Determinant)MatrixSymbol)ComplexSpace	FockSpacehbarHilbertSpaceDagger)MathMLPresentationPrinterMathMLPrinterMathMLContentPrintermathml)Limit)Contains)Range)IntervalUnionSymmetricDifference
Complement	FiniteSetIntersection
ProductSet)RandomSymbol)IndexedBase)
Divergence
CoordSys3DCrossCurlDot	LaplacianGradient)raisesXFAILz	x:z a:e nc                      t                      } |                     dt          z             t                              dt          z             k    sJ d S N   )r}   doprintxmp)ms    r/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/sympy/printing/tests/test_mathml.pytest_mathml_printerr   B   s>    A99QqS>>RZZ!__,,,,,,    c                  V    t                               dt          z             dk    sJ d S )Nr   z*<apply><plus/><ci>x</ci><cn>1</cn></apply>)r   r   r    r   r   test_content_printmethodr   G   s*    ::a!e LLLLLLLr   c                  f   t                               dt          z             } | j        dk    sJ | j        }t          |          dk    sJ |d         j        dk    sJ |d                                         du sJ |d         j        J |d         j        dv sJ |d         j        dk    r=|d         j        d         j        d	k    sJ |d
         j        d         j        dk    sJ n<|d         j        d         j        dk    sJ |d
         j        d         j        d	k    sJ t                               t          d
z            }|j        dk    sJ |j        }|d         j        d         j        dk    sJ |d
         j        d         j        dk    sJ t                               d
t          z            }|j        dk    sJ |j        }|d         j        dk    sJ |d         j        d         j        dk    sJ |d
         j        d         j        dk    sJ t                               t          dd
          t          z            }|j        dk    sJ |j        }|d         j        dk    sJ |d         j        d         j        dk    sJ |d
         j        d         j        dk    sJ d S )Nr   apply   r   plusF)cncir   1   r   2times      ?1.0)	r   _printr   nodeName
childNodeslenhasChildNodes	nodeValuer   mml_1nodesmml_2mml_3mmls        r   test_content_mathml_corer   K   s   IIa!eE>W$$$$Eu::????8&&&&8!!##u,,,,8%%%8,,,,QxD  Qx"1%/36666Qx"1%/366666Qx"1%/36666Qx"1%/36666IIadOOE>W$$$$E8q!+s22228q!+s2222IIacNNE>W$$$$E8''''8q!+s22228q!+s2222
))E#qMM!O
$
$C<7""""NE8''''8q!+u44448q!+s222222r   c                  $   t                               t          t                              } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        dk    sJ t                               t          t          t                    t          d                    }|j        dk    sJ |j        d         j        dk    sJ |j        d         j        d	k    sJ |j        d         j        d         j        dk    sJ t                               t          t          t          t          z            t          d                    }|j        dk    sJ |j        d         j        d
k    sJ |j        d         j        d	k    sJ |j        d         j        d         j        dk    sJ t                               t          t          t          ft          t          z                      }|j        dk    sJ |j        d         j        d	k    sJ |j        d         j        d         j        dk    sJ |j        d         j        d	k    sJ |j        d         j        d         j        dk    sJ |j        d         j        dk    sJ d S )Nr   r   rD   r   r   Fevaluater	   bvarpartialdifflambdar   )
r   r   rD   r   r   r   r	   rG   yr   r   r   r   mml_4s       r   test_content_mathml_functionsr   p   s   IIc!ffE>W$$$$A'50000A'4////IId3q661u55566E>W$$$$A'61111A'61111A)	t    IId3qs88Q77788E>W$$$$A'=8888A'61111A)	t    IIfaVQU++,,E>X%%%%A'61111A)	t   A'61111A)	t   A'7222222r   c                     t          t                    t          z  } t                              t	          | t          d                    }|j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |j        d                                         t                              |                                           k    sJ d S )Nr   limitr   r   r   lowlimitr   )rD   r   r   r   r   r   r   toxmllim_funr   s     r   test_content_mathml_limitsr      s    !ffQhGIIeGQ**++EA'72222A'61111A':5555A$$&&"))G*<*<*B*B*D*DDDDDDDr   c                     t           } t                              t          | t           ddf                    }|j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |j        d	                                         t                              |                                           k    sJ d S )
Nr   r   intr   r   r   r   uplimit   )r   r   r   rk   r   r   r   )	integrandr   s     r   test_content_mathml_integralsr      s    IIIhy1a)4455EA'50000A'61111A':5555A'94444A$$&&"))I*>*>*D*D*F*FFFFFFFr   c                  x	   t          g d          } t          g dg dg dg          }t                              |           }|j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d	         j        dk    sJ |j        d	         j        d         j        dk    sJ |j        d	         j        d         j        d         j        d
k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ t                              |          }|j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d	         j        dk    sJ |j        d         j        d	         j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d	         j        dk    sJ |j        d	         j        d         j        dk    sJ |j        d	         j        d         j        d         j        d
k    sJ |j        d	         j        d	         j        dk    sJ |j        d	         j        d	         j        d         j        dk    sJ |j        d	         j        d         j        dk    sJ |j        d	         j        d         j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d	         j        dk    sJ |j        d         j        d	         j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ d S )Nr   r   r   r      r   r   r   r   	      r   r   	matrixrowr   r   r   r   r   305497)rt   r   r   r   r   r   ABmll_1mll_2s       r   test_content_mathml_matricesr      s   yyyA			999iii011AIIaLLEA';6666A)!,5====A)!,7:DKKKKA';6666A)!,5====A)!,7:DKKKKA';6666A)!,5====A)!,7:DKKKKIIaLLEA';6666A)!,5====A)!,7:DKKKKA)!,5====A)!,7:DKKKKA)!,5====A)!,7:DKKKKA';6666A)!,5====A)!,7:DKKKKA)!,5====A)!,7:DKKKKA)!,5====A)!,7:DKKKKA';6666A)!,5====A)!,7:DKKKKA)!,5====A)!,7:DKKKKA)!,5====A)!,7:DKKKKKKr   c                     t           } t                              t          | t           ddf                    }|j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d	k    sJ |j        d
                                         t                              |                                           k    sJ d S )Nr   
   r   sumr   r   r   r   r   r   )r   r   r   r   r   r   r   )summandr   s     r   test_content_mathml_sumsr      s    GIIc'Aq":..//EA'50000A'61111A':5555A'94444A$$&&"))G*<*<*B*B*D*DDDDDDDr   c                     t                               dg          } | j        dk    sJ | j        d         j        dk    sJ t	          | j                  dk    sJ t                               dt          d          g          }|j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ t	          |j                  dk    sJ d S )Nr   listr   r   r   )r   r   r   r   r   r   r   r   s     r   test_content_mathml_tuplesr      s    IIqcNNE>V####A'4////u  A%%%%IIq'!**o&&E>V####A'4////A'4////u  A%%%%%%r   c                  ,   t                               t          dz  t          dz  z
  t          z             } | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ d S )Nr   r   r   r   r   minusr   )r   r   r   r   r   r   s    r   test_content_mathml_addr      s    
))AqD1a4K!O
$
$C>!%////>!'*3w>>>>>!'*3w>>>>>>r   c                      t                               t          dd                    } 	 | j        dk    sJ t                               t          dd                    }|j        d         j        dk    sJ d S )Nr   r   r   r   r   divide)r   r   r   r   r   r   s     r   test_content_mathml_Rationalr      sl    IIhq!nn%%E%>T!!!!IIhq!nn%%EA'8333333r   c                  `   t                               t                    } | j        dk    sJ t                               t                    } | j        dk    sJ t                               t
                    } | j        dk    sJ t                               t                    } | j        dk    sJ t          t                    dk    sJ t          t          j
                  dk    sJ t          t          j                  dk    sJ t          t          j                  } | dk    sJ t          t          j                  } | d	k    sJ t          t          j                  } | d
k    sJ t          t          j                  } | dk    sJ t          t          j                  } | dk    sJ d S )N
imaginaryiexponentialeinfinityr   z<hbar/>z<tribonacciconstant/>z<cn>&#966;</cn>z<eulergamma/>z<emptyset/>z<true/>z<false/>z<notanumber/>)r   r   r   r   r   r   r   r   ry   r   TribonacciConstantGoldenRatio
EulerGammaEmptySetro   rn   NaNr   s    r   test_content_mathml_constantsr      sz   
))A,,C<<''''
))A,,C<>))))
))B--C<:%%%%
))B--C<4$<<9$$$$!&''+BBBBB!-  $55555


C/!!!!


C-
..C)
//C*
--C/!!!!!!r   c                     t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        d	k    sJ t                               t          t                              } | j        d         j        d
k    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t          t                              } | j        d         j        dk    sJ t                               t!          t                              } | j        d         j        dk    sJ t                               t#          t                              } | j        d         j        dk    sJ t                               t%          t                              } | j        d         j        dk    sJ t                               t'          t                              } | j        d         j        dk    sJ t                               t)          t                              } | j        d         j        dk    sJ t                               t+          t                              } | j        d         j        dk    sJ t                               t-          t                              } | j        d         j        dk    sJ t                               t/          t                              } | j        d         j        dk    sJ t                               t1          t                              } | j        d         j        dk    sJ t                               t3          t                              } | j        d         j        dk    sJ t                               t5          t                              } | j        d         j        dk    sJ t                               t7          t                              } | j        d         j        dk    sJ t                               t9          t                              } | j        d         j        dk    sJ d S )Nr   rD   rG   rB   rF   r@   rA   arcsinarccosarctanarccotarccscarcsecr9   r:   r0   r3   r8   r;   arcsinharctanharccosharccotharccscharcsech)r   r   rD   r   r   r   rG   rB   rF   r@   rA   rJ   rK   rC   rH   rI   rE   r9   r:   r0   r3   r8   r;   r4   r2   r7   r1   r5   r6   r   s    r   test_content_mathml_trigr    s   
))CFF

C>!%....
))CFF

C>!%....
))CFF

C>!%....
))CFF

C>!%....
))CFF

C>!%....
))CFF

C>!%....
))DGG

C>!%1111
))DGG

C>!%1111
))DGG

C>!%1111
))DGG

C>!%1111
))DGG

C>!%1111
))DGG

C>!%1111
))DGG

C>!%////
))DGG

C>!%////
))DGG

C>!%////
))DGG

C>!%////
))DGG

C>!%////
))DGG

C>!%////
))E!HH

C>!%2222
))E!HH

C>!%2222
))E!HH

C>!%2222
))E!HH

C>!%2222
))E!HH

C>!%2222
))E!HH

C>!%222222r   c                  F   t                               t          t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        d	k    sJ t                               t          dt                              }|j        dk    sJ |j        d         j        d
k    sJ |j        d         j        dk    sJ |j        d         j        d         j        d	k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ t                               t          dt                              }|j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        d	k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ t                               t          dt                              }|j        dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        d	k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ d S )Nr   r   r   eqr   r   r   r   r   neqgeqlt)
r   r   r   r   r   r   r   r   r   r   r   s       r   test_content_mathml_relationalr  Y  s(   IIbAhhE>W$$$$A'4////A'4////A)!,6#====A'4////A)!,6#====IIbAhhE>W$$$$A'50000A'4////A)!,6#====A'4////A)!,6#====IIbAhhE>W$$$$A'50000A'4////A)!,6#====A'4////A)!,6#====IIbAhhE>W$$$$A'4////A'4////A)!,6#====A'4////A)!,6#======r   c                     t                               t                    } | j        dk    sJ | j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d	                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d
                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d         j        dk    sJ ~ d S )Nr   r   r   x^2zmml:msupzmml:mir   r   x__2x_2zmml:msubx^3_2zmml:msubsupr   r   x__3_2x_2_azmml:mrowzmml:mo ax^2^ax__2__a)r   r   r   r   r   r   r   r   s    r   test_content_symbolr   {  s6   
))A,,C<4>!&#----
))F5MM
"
"C<4>!%3333>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII
))F6NN
#
#C<4>!%3333>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII
))F5MM
"
"C<4>!%3333>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII
))F7OO
$
$C<4>!%6666>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII
))F8$$
%
%C<4>!%6666>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII>!'*3x????>!'*5a8BcIIII
))F7OO
$
$C<4>!%3333>!'*3x????>!'*5a8BcIIII>!'*3zAAAA>!'*5a8AXMMMM>!'*5a8C	   >!'*5a8AXMMMM>!'*5a8C	   >!'*5a8AXMMMM>!'*5a8C	   
))F7OO
$
$C<4>!%3333>!'*3x????>!'*5a8BcIIII>!'*3zAAAA>!'*5a8AXMMMM>!'*5a8C	   >!'*5a8AXMMMM>!'*5a8C	   >!'*5a8AXMMMM>!'*5a8C	   
))F9%%
&
&C<4>!%3333>!'*3x????>!'*5a8BcIIII>!'*3zAAAA>!'*5a8AXMMMM>!'*5a8C	   >!'*5a8AXMMMM>!'*5a8C	   >!'*5a8AXMMMM>!'*5a8C	   r   c                     t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    d	k    sJ t                               t          d
                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                     d!k    sJ t                               t          d"                    d#k    sJ t                               t          d$                    d%k    sJ t                               t          d&                    d'k    sJ t                               t          d(                    d)k    sJ t                               t          d*                    d+k    sJ t                               t          d,                    d-k    sJ t                               t          d.                    d/k    sJ t                               t          d0                    d1k    sJ t                               t          d2                    d3k    sJ t                               t          d4                    d5k    sJ t                               t          d6                    d7k    sJ t                               t          d8                    d9k    sJ t                               t          d:                    d;k    sJ t                               t          d<                    d=k    sJ t                               t          d>                    d?k    sJ t                               t          d@                    dAk    sJ t                               t          dB                    dCk    sJ t                               t          dD                    dEk    sJ t                               t          dF                    dGk    sJ t                               t          dH                    dIk    sJ t                               t          dJ                    dKk    sJ t                               t          dL                    dMk    sJ t                               t          dN                    dOk    sJ t                               t          dP                    dQk    sJ t                               t          dR                    dSk    sJ t                               t          dT                    dUk    sJ t                               t          dV                    dWk    sJ t                               t          dX                    dYk    sJ t                               t          dZ                    d[k    sJ t                               t          d\                    d]k    sJ t                               t          d^                    d_k    sJ t                               t          d`                    dak    sJ t                               t          db                    dck    sJ t                               t          dd                    dek    sJ d S )fNalphar   r      αz<ci>&#945;</ci>betaz<ci>&#946;</ci>rU   z<ci>&#947;</ci>deltaz<ci>&#948;</ci>epsilonz<ci>&#949;</ci>rj   z<ci>&#950;</ci>etaz<ci>&#951;</ci>thetaz<ci>&#952;</ci>iotaz<ci>&#953;</ci>kappaz<ci>&#954;</ci>r   z<ci>&#955;</ci>muz<ci>&#956;</ci>nuz<ci>&#957;</ci>xiz<ci>&#958;</ci>omicronz<ci>&#959;</ci>r   z<ci>&#960;</ci>rhoz<ci>&#961;</ci>varsigmaz<ci>&#962;</ci>sigmaz<ci>&#963;</ci>tauz<ci>&#964;</ci>upsilonz<ci>&#965;</ci>phiz<ci>&#966;</ci>chiz<ci>&#967;</ci>psiz<ci>&#968;</ci>omegaz<ci>&#969;</ci>Alphaz<ci>&#913;</ci>Betaz<ci>&#914;</ci>Gammaz<ci>&#915;</ci>Deltaz<ci>&#916;</ci>Epsilonz<ci>&#917;</ci>Zetaz<ci>&#918;</ci>Etaz<ci>&#919;</ci>Thetaz<ci>&#920;</ci>Iotaz<ci>&#921;</ci>Kappaz<ci>&#922;</ci>r   z<ci>&#923;</ci>Muz<ci>&#924;</ci>Nuz<ci>&#925;</ci>Xiz<ci>&#926;</ci>Omicronz<ci>&#927;</ci>Piz<ci>&#928;</ci>Rhoz<ci>&#929;</ci>Sigmaz<ci>&#931;</ci>Tauz<ci>&#932;</ci>Upsilonz<ci>&#933;</ci>Phiz<ci>&#934;</ci>Chiz<ci>&#935;</ci>Psiz<ci>&#936;</ci>Omegaz<ci>&#937;</ci>)r   r   r   r   r   r   r   r   s    r   test_content_mathml_greekrO    sD   
))F7OO
$
$C<4>!&*HHHHH::fWoo&&*;;;;;::fVnn%%):::::::fWoo&&*;;;;;::fWoo&&*;;;;;::fY''((,=====::fVnn%%):::::::fUmm$$(99999::fWoo&&*;;;;;::fVnn%%):::::::fWoo&&*;;;;;::fX&&''+<<<<<::fTll##'88888::fTll##'88888::fTll##'88888::fY''((,=====::fTll##'88888::fUmm$$(99999::fZ(())->>>>>::fWoo&&*;;;;;::fUmm$$(99999::fY''((,=====::fUmm$$(99999::fUmm$$(99999::fUmm$$(99999::fWoo&&*;;;;;::fWoo&&*;;;;;::fVnn%%):::::::fWoo&&*;;;;;::fWoo&&*;;;;;::fY''((,=====::fVnn%%):::::::fUmm$$(99999::fWoo&&*;;;;;::fVnn%%):::::::fWoo&&*;;;;;::fX&&''+<<<<<::fTll##'88888::fTll##'88888::fTll##'88888::fY''((,=====::fTll##'88888::fUmm$$(99999::fWoo&&*;;;;;::fUmm$$(99999::fY''((,=====::fUmm$$(99999::fUmm$$(99999::fUmm$$(99999::fWoo&&*;;;;;;;r   c                     t           dz  t           dz  t          z  z   dt           z  t          dz  z  z   t          dz  z   } t          ddi          }|                    |           }|j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d	k    sJ |j        d         j        d         j        d         j        d
k    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ t          ddi          }|                    |           }|j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d	k    sJ |j        d         j        d         j        d         j        d
k    sJ d S )Nr   r   r   orderlexr   r   powerr   r   r   r   rev-lex)r   r   r~   r   r   r   dataexprr   r   s      r   test_content_mathml_orderrX    s]   a4!Q$q&=1Q3q!t8#ad*D	w.	/	/B
))D//C>!'*3w>>>>>!'*5a8=DDDD>!'*5a8=DDDD>!'*3w>>>>>!'*5a8=DDDD>!'*5a8=DDDD	w	2	3	3B
))D//C>!'*3w>>>>>!'*5a8=DDDD>!'*5a8=DDDD>!'*3w>>>>>!'*5a8=DDDD>!'*5a8=DDDDDDr   c                  2    t          t          d            d S )Nc                  .    t          t          d          S )Ngarbage)methodr   r   r   r   r   <lambda>z'test_content_settings.<locals>.<lambda>:  s    fQy999 r   r   	TypeErrorr   r   r   test_content_settingsra  9  s    
999:::::r   c                     t          t          t          t                              dk    sJ t          t	          t          t                              dk    sJ t          t          t          t                              dk    sJ t          t          t          t                              dk    sJ t          t          t                              dk    sJ d S )Nz)<apply><and/><ci>x</ci><ci>y</ci></apply>z(<apply><or/><ci>x</ci><ci>y</ci></apply>z)<apply><xor/><ci>x</ci><ci>y</ci></apply>z-<apply><implies/><ci>x</ci><ci>y</ci></apply>z<apply><not/><ci>x</ci></apply>)r   rp   r   r   rm   rl   rr   rs   r   r   r   test_content_mathml_logicrc  =  s    #a)) KKKKK"Q((IIIII#a)) KKKKK'!Q--  $SSSSS#a&&>>>>>>>>>r   c                     t          t          t                              dk    sJ t          t          t          t                              dk    sJ t          t          t          t          t                    t                              dk    sJ t          t                    } t          t                    }t          t                    }t          t
                    }t          | |d          }t          ||d          }t          | |d          }t          ||d          }t          | |d          }t          ||d          }	t          | |          }
t          ||          }t          |          dk    sJ t          |          dk    sJ t          |          dk    sJ t          |
          d	k    sJ t          t          | |d                    d
k    sJ t          t          ||d                    dk    sJ t          t          ||	d                    dk    sJ t          t          |
|d                    dk    sJ t          t          | |d                    dk    sJ t          t          ||d                    dk    sJ t          t          ||	d                    dk    sJ t          t          |
|d                    dk    sJ t          t          | |	d                    dk    sJ t          t          ||d                    dk    sJ t          t          ||d                    dk    sJ t          t          |
|d                    dk    sJ t          t          | |                    dk    sJ t          t          ||                    dk    sJ t          t          ||                    dk    sJ t          t          ||	                    dk    sJ d S )Nz<set><ci>a</ci></set>z<set><ci>a</ci><ci>b</ci></set>z4<set><ci>c</ci><set><ci>a</ci><ci>b</ci></set></set>Fr   zA<apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zE<apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zC<apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zL<apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zq<apply><intersect/><set><ci>a</ci></set><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><intersect/><apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><intersect/><apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><intersect/><apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>zq<apply><union/><set><ci>a</ci></set><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><union/><apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><union/><apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><union/><apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>zq<apply><setdiff/><set><ci>a</ci></set><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><setdiff/><apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><setdiff/><apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><setdiff/><apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><set><ci>a</ci></set><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>)
r   r   r  bcdr   r   r   r   )r   r   CDU1U2I1I2C1C2P1P2s               r   test_content_finite_setsrr  E  s:   )A,,#:::::)Aq//""&GGGGG)IaOOQ//00>? ? ? ? 	!A!A!A!A	q!e	$	$	$B	q!e	$	$	$B	aU	+	+	+B	aU	+	+	+B	Aq5	)	)	)B	Aq5	)	)	)B	Aq		B	Aq		B"::KL L L L"::	    "::MN N N N"::	    ,q"u55566	@@ @ @ @ ,r266677	00 0 0 0 ,r266677	00 0 0 0 ,r266677	@@ @ @ @
 %2...//	@@ @ @ @ %B///00	00 0 0 0 %B///00	00 0 0 0 %B///00	@@ @ @ @
 *QU33344	@@ @ @ @ *Re44455	00 0 0 0 *Re44455	00 0 0 0 *Re44455	@@ @ @ @
 *Q##$$	00 0 0 0 *R$$%%	00 0 0 0 *R$$%%	@@ @ @ @ *R$$%%	@@ @ @ @ @ @r   c                     t                               dt          z             dk    sJ t                               t          dz            dk    sJ t                               t          dz            dk    sJ t                               t          dz            dk    sJ t                               dt          z            d	k    sJ d S )
Nr   z+<mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow>r   z!<msup><mi>x</mi><mn>2</mn></msup>z#<mfrac><mn>1</mn><mi>x</mi></mfrac>z:<mfrac><mn>1</mn><msup><mi>x</mi><mn>2</mn></msup></mfrac>z:<mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mi>x</mi></mrow>)mppr   r   r   r   r   test_presentation_printmethodrw    s    ;;q1u!NNNNN;;q!t CCCCC;;q"u!FFFFF;;q"uDE E E E;;qsDE E E E E Er   c                  8   t                               dt          z             } | j        dk    sJ | j        }t          |          dk    sJ |d         j        dv sJ |d         j        dk    sJ |d         j        dk    r=|d         j        d         j        dk    sJ |d	         j        d         j        d
k    sJ n<|d         j        d         j        d
k    sJ |d	         j        d         j        dk    sJ t                               t          d	z            }|j        dk    sJ |j        }|d         j        d         j        d
k    sJ |d         j        d         j        dk    sJ t                               d	t          z            }|j        dk    sJ |j        }|d         j        d         j        dk    sJ |d         j        d         j        dk    sJ |d	         j        d         j        d
k    sJ t                               t          dd	          t          z            }|j        dk    sJ |j        }|d         j        d         j        dk    sJ |d         j        d         j        dk    sJ |d	         j        d         j        d
k    sJ d S )Nr   mrowr   r   )mimnmor{  r   r   r   msupr   z&InvisibleTimes;r   r   )rv  r   r   r   r   r   r   r   r   s        r   test_presentation_mathml_corer~    s   JJq1uE>V####Eu::????8,,,,8$$$$QxD  Qx"1%/36666Qx"1%/366666Qx"1%/36666Qx"1%/36666JJq!tE>V####E8q!+s22228q!+s2222JJqsOOE>V####E8q!+s22228q!+/AAAAA8q!+s2222
**U3]]1_
%
%C<6!!!!NE8q!+u44448q!+/AAAAA8q!+s222222r   c                  V   t                               t          t                              } | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ t                               t          t          t                    t          d                    }|j        dk    sJ |j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        dk    sJ t                               t          t          t          t          z            t          d                    }|j        d         j        d	k    sJ |j        d         j        d         j        d         j        d         j        d
k    sJ |j        d         j        d         j        d         j        dk    sJ d S )Nr   rD   r   r   Fr   ry  z&dd;mfracz&#x2202;rG   )
rv  r   rD   r   r   r   r	   r   rG   r   )r   r   r   s      r   "test_presentation_mathml_functionsr    s8   JJs1vvEA)! 

u   A)! 

Q!S) ) ) ) JJtCFFA66677E>V####A)! 

Q"1&&/6: : : :A)! 

f   A)! 

Q"1&&/6: : : : JJtC!HHa%88899EA'72222A)! 

Q"1&&/:> > > >A)! 

Q!U+ + + + + +r   c            	         t          d          } t           | t          t          t                    t          t          t          t          t          t                    }t          |          dk    sJ t          |d          dk    sJ d S )Nfz<apply><partialdiff/><bvar><ci>y</ci><ci>z</ci><degree><cn>2</cn></degree><ci>x</ci><ci>z</ci><ci>x</ci></bvar><apply><f/><ci>x</ci><ci>y</ci><ci>z</ci></apply></apply>presentationprinteraf  <mrow><mfrac><mrow><msup><mo>&#x2202;</mo><mn>6</mn></msup></mrow><mrow><mo>&#x2202;</mo><mi>y</mi><msup><mo>&#x2202;</mo><mn>2</mn></msup><mi>z</mi><mo>&#x2202;</mo><mi>x</mi><mo>&#x2202;</mo><mi>z</mi><mo>&#x2202;</mo><mi>x</mi></mrow></mfrac><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow></mrow>)r
   r   r   r   zr   )r  rg  s     r   test_print_derivativer    s    A11Q1::q!Q1a00A!99 	ss s s s!^,,, 	qq q q q q qr   c                  |   t          t                    t          z  } t                              t	          | t          d                    }|j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        dk    sJ d S )	Nr   munderlimr   r   z&#x2192;r   r   )rD   r   rv  r   r   r   r   r   r   s     r   test_presentation_mathml_limitsr    sV   !ffQhGJJuWa++,,EA'83333A)! 

Q!U+ + + +A)! 

Q"1

s    A)! 

Q"1

z" " " " A)! 

Q"1

s     r   c            
         t                               t          t          t          ddf                    dk    sJ t                               t          t	          t                    t                              dk    sJ t                               t          t          t
          z  t          t
                              dk    sJ t          d          \  } }t                               t          t          t
          z  | z  t          t
          |                     dk    sJ t                               t          t          t
          z  | z  |z  t          t
          | |                    dk    sJ t                               t          t          t          t
          | ddf                    d	k    sJ t                               t          t          t          df                    d
k    sJ d S )Nr   r   zf<mrow><msubsup><mo>&#x222B;</mo><mn>0</mn><mn>1</mn></msubsup><mi>x</mi><mo>&dd;</mo><mi>x</mi></mrow>zy<mrow><mo>&#x222B;</mo><mrow><mi>log</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>&dd;</mo><mi>x</mi></mrow>z<mrow><mo>&#x222C;</mo><mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi></mrow><mo>&dd;</mo><mi>y</mi><mo>&dd;</mo><mi>x</mi></mrow>zz wz<mrow><mo>&#x222D;</mo><mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi><mo>&InvisibleTimes;</mo><mi>z</mi></mrow><mo>&dd;</mo><mi>z</mi><mo>&dd;</mo><mi>y</mi><mo>&dd;</mo><mi>x</mi></mrow>a-  <mrow><mo>&#x222B;</mo><mo>&#x222B;</mo><mo>&#x222B;</mo><mo>&#x222B;</mo><mrow><mi>w</mi><mo>&InvisibleTimes;</mo><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi><mo>&InvisibleTimes;</mo><mi>z</mi></mrow><mo>&dd;</mo><mi>w</mi><mo>&dd;</mo><mi>z</mi><mo>&dd;</mo><mi>y</mi><mo>&dd;</mo><mi>x</mi></mrow>z<mrow><msubsup><mo>&#x222B;</mo><mn>0</mn><mn>1</mn></msubsup><mo>&#x222B;</mo><mo>&#x222B;</mo><mi>x</mi><mo>&dd;</mo><mi>z</mi><mo>&dd;</mo><mi>y</mi><mo>&dd;</mo><mi>x</mi></mrow>zV<mrow><msup><mo>&#x222B;</mo><mn>0</mn></msup><mi>x</mi><mo>&dd;</mo><mi>x</mi></mrow>)rv  r   rk   r   r/   r   r   )r  ws     r   "test_presentation_mathml_integralsr    s   ;;xAq!9--..	33 3 3 3 ;;xA**++	AA A A A ;;x!Q**++	QQ Q Q Q 5>>DAq;;x!Aq!Q//00	JJ J J J ;;x!AaAq!4455	WW W W W ;;x1a!Q3344	@@ @ @ @ ;;xAq6**++	     r   c                  
   t          g d          } t          g dg dg dg          }t                              |           }|j        d         j        dk    sJ |j        d         j        d         j        dk    sJ t          |j        d         j                  d	k    sJ |j        d         j        d         j        d         j        d
k    sJ t          |j        d         j        d         j                  dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ t                              |          }|j        d         j        dk    sJ |j        d         j        d         j        dk    sJ t          |j        d         j                  d	k    sJ |j        d         j        d         j        d         j        d
k    sJ t          |j        d         j        d         j                  d	k    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ |j        d         j        d         j        d         j        d         j        d         j        dk    sJ d S )Nr   r   r   r   r   mtabler   mtrr   mtdr   r   r   r   r   r   r   r   r   )rt   rv  r   r   r   r   r   r   s       r   !test_presentation_mathml_matricesr  &  sK   yyyA			999iii011AJJqMMEA'83333A)!,5>>>>u"-..!3333A)!,7:CuLLLLu"-a0;<<AAAAA)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7JJqMMEA'83333A)!,5>>>>u"-..!3333A)!,7:CuLLLLu"-a0;<<AAAAA)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7A)!,7 

Q"1&&/37 7 7 7 7 7r   c                  D   t                               t          t          t          ddf                    } | j        d         j        dk    sJ t          | j        d         j                  dk    sJ | j        d         j        d         j        d         j        dk    sJ t          | j        d         j        d         j                  dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d	k    sJ t                               t          t          t          ddf                    d
k    sJ t                               t          t          t          z   t          ddf                    dk    sJ d S )Nr   r   r   
munderoverr   z&#x2211;r   10r   zw<mrow><munderover><mo>&#x2211;</mo><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><mi>x</mi></mrow>z<mrow><munderover><mo>&#x2211;</mo><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow>)
rv  r   r   r   r   r   r   r   r   r   )r   s    r   test_presentation_mathml_sumsr  O  s   JJs1q!Rj))**EA'<7777u"-..!3333A)!,7 

z" " " "u"-a0;<<AAAAA)!,7 

t   A)!,6#====;;s1q!Rj))** 	BB B B B;;s1q51a*--.. 	DD D D D D Dr   c                     t                               t          dz  t          dz  z
  t          z             } t          | j                  dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        d	k    sJ | j        d
         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ d S )Nr   r   r   r   r   r   -r   r   r   +)rv  r   r   r   r   r   r   s    r   test_presentation_mathml_addr  `  s   
**QTAqD[1_
%
%Cs~!####>!'*5a 

s   >!'*5a 

s   >!'*4;;;;>!'*5a 

s   >!'*5a 

s   >!'*4;;;;>!'*4;;;;;;r   c                  f   t                               t          dd                    } | j        dk    sJ t                               t          dd                    }|j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        d         j        dk    sJ d S )	Nr   r{  r   r   r  r   r   r   )rv  r   r   r   r   r   r   s     r   !test_presentation_mathml_Rationalr  p  s    JJx1~~&&E>T!!!!JJx1~~&&E>W$$$$A)!,6#====A)!,6#======r   c                  6   t                               t                    } | j        d         j        dk    sJ t                               t
                    } | j        d         j        dk    sJ t                               t                    } | j        d         j        dk    sJ t                               t                    } | j        d         j        dk    sJ t          t          d          dk    sJ t          t          j        d          d	k    sJ t          t          j        d          d
k    sJ t          t          j        d          dk    sJ t          t          d          dk    sJ t          t          j        d          dk    sJ d S )Nr   z&ImaginaryI;z&ExponentialE;z&#x221E;z&pi;r  r  <mi>&#x210F;</mi><mi>TribonacciConstant</mi><mi>&#x3B3;</mi><mi>&#x3A6;</mi>z*<mover><mo>&#x221E;</mo><mo>~</mo></mover>z<mi>NaN</mi>)rv  r   r   r   r   r   r   r   r   ry   r   r   r   r   r   r   r   s    r   "test_presentation_mathml_constantsr  z  s   
**Q--C>!&.8888
**Q--C>!&*:::::
**R..C>!&*4444
**R..C>!&&0000$///3FFFFF!& 
 
 
*+ + + +!, 
 
 
       !- 
 
 
        #~...45 5 5 5 !%000NBBBBBBr   c                  n   t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        d	k    sJ t                               t          t                              } | j        d         j        d         j        d
k    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t          t                              } | j        d         j        d         j        dk    sJ t                               t!          t                              } | j        d         j        d         j        dk    sJ d S )Nr   rD   rG   rB   r  r  r  r9   r:   r0   r  r	  r
  )rv  r   rD   r   r   r   rG   rB   rJ   rK   rC   r9   r:   r0   r4   r2   r7   r   s    r   test_presentation_mathml_trigr    s   
**SVV

C>!'*4====
**SVV

C>!'*4====
**SVV

C>!'*4====
**T!WW

C>!'*4@@@@
**T!WW

C>!'*4@@@@
**T!WW

C>!'*4@@@@
**T!WW

C>!'*4>>>>
**T!WW

C>!'*4>>>>
**T!WW

C>!'*4>>>>
**U1XX

C>!'*4	AAAA
**U1XX

C>!'*4	AAAA
**U1XX

C>!'*4	AAAAAAr   c                     t                               t          t          d                    } t	          | j                  dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d	k    sJ | j        d         j        d         j        d
k    sJ t                               t          dt                              }t	          |j                  dk    sJ |j        d         j        d	k    sJ |j        d         j        d         j        d
k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ t                               t          dt                              }t	          |j                  dk    sJ |j        d         j        d	k    sJ |j        d         j        d         j        d
k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ t                               t          dt                              }t	          |j                  dk    sJ |j        d         j        d	k    sJ |j        d         j        d         j        d
k    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        dk    sJ d S )Nr   r   r   rz  r   r|  =r   r{  r   z&#x2260;z&#x2265;<)rv  r   r   r   r   r   r   r   r   r   r   r   s       r   #test_presentation_mathml_relationalr    s   JJr!Qxx  Eu  A%%%%A'4////A)!,6#====A'4////A)!,6#====A'4////A)!,6#====JJr!Qxx  Eu  A%%%%A'4////A)!,6#====A'4////A)!,6*DDDDA'4////A)!,6#====JJr!Qxx  Eu  A%%%%A'4////A)!,6#====A'4////A)!,6*DDDDA'4////A)!,6#====JJr!Qxx  Eu  A%%%%A'4////A)!,6#====A'4////A)!,6#====A'4////A)!,6#======r   c                     t                               t                    } | j        dk    sJ | j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ ~ t                               t          d	                    } | j        d
k    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        d
k    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ | j        d         j        d         j        dk    sJ | j        d         j        d         j        d         j        dk    sJ ~ d S )Nrz  r   r   r  r}  r   r   r  r  msubr  msubsupr   r   r  r  ry  r|  r  r  r  r  )rv  r   r   r   r   r   r   r   s    r   test_presentation_symbolr    sc   
**Q--C<4>!&#----
**VE]]
#
#C<6!!!!>!%---->!'*4;;;;>!%---->!'*4;;;;
**VF^^
$
$C<6!!!!>!%---->!'*4;;;;>!%---->!'*4;;;;
**VE]]
#
#C<6!!!!>!%---->!'*4;;;;>!%---->!'*4;;;;
**VG__
%
%C<9$$$$>!%---->!'*4;;;;>!%---->!'*4;;;;>!%---->!'*4;;;;
**VH%%
&
&C<9$$$$>!%---->!'*4;;;;>!%---->!'*4;;;;>!%---->!'*4;;;;
**VG__
%
%C<6!!!!>!%---->!'*4;;;;>!%////>!'*3t;;;;>!'*5a8BcIIII>!'*3t;;;;>!'*5a8BcIIII>!'*3t;;;;>!'*5a8BcIIII
**VG__
%
%C<6!!!!>!%---->!'*4;;;;>!%////>!'*3t;;;;>!'*5a8BcIIII>!'*3t;;;;>!'*5a8BcIIII>!'*3t;;;;>!'*5a8BcIIII
**VI&&
'
'C<6!!!!>!%---->!'*4;;;;>!%////>!'*3t;;;;>!'*5a8BcIIII>!'*3t;;;;>!'*5a8BcIIII>!'*3t;;;;>!'*5a8BcIIIIr   c                     t                               t          d                    } | j        dk    sJ | j        d         j        dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    d	k    sJ t                               t          d
                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                     d!k    sJ t                               t          d"                    d#k    sJ t                               t          d$                    d%k    sJ t                               t          d&                    d'k    sJ t                               t          d(                    d)k    sJ t                               t          d*                    d+k    sJ t                               t          d,                    d-k    sJ t                               t          d.                    d/k    sJ t                               t          d0                    d1k    sJ t                               t          d2                    d3k    sJ t                               t          d4                    d5k    sJ t                               t          d6                    d7k    sJ t                               t          d8                    d9k    sJ t                               t          d:                    d;k    sJ t                               t          d<                    d=k    sJ t                               t          d>                    d?k    sJ t                               t          d@                    dAk    sJ t                               t          dB                    dCk    sJ t                               t          dD                    dEk    sJ t                               t          dF                    dGk    sJ t                               t          dH                    dIk    sJ t                               t          dJ                    dKk    sJ t                               t          dL                    dMk    sJ t                               t          dN                    dOk    sJ t                               t          dP                    dQk    sJ t                               t          dR                    dSk    sJ t                               t          dT                    dUk    sJ t                               t          dV                    dWk    sJ t                               t          dX                    dYk    sJ t                               t          dZ                    d[k    sJ t                               t          d\                    d]k    sJ t                               t          d^                    d_k    sJ t                               t          d`                    dak    sJ t                               t          db                    dck    sJ t                               t          dd                    dek    sJ d S )fNr"  rz  r   r#  z<mi>&#945;</mi>r$  z<mi>&#946;</mi>rU   z<mi>&#947;</mi>r%  z<mi>&#948;</mi>r&  z<mi>&#949;</mi>rj   z<mi>&#950;</mi>r'  z<mi>&#951;</mi>r(  z<mi>&#952;</mi>r)  z<mi>&#953;</mi>r*  z<mi>&#954;</mi>r   z<mi>&#955;</mi>r+  z<mi>&#956;</mi>r,  z<mi>&#957;</mi>r-  z<mi>&#958;</mi>r.  z<mi>&#959;</mi>r   z<mi>&#960;</mi>r/  z<mi>&#961;</mi>r0  z<mi>&#962;</mi>r1  z<mi>&#963;</mi>r2  z<mi>&#964;</mi>r3  z<mi>&#965;</mi>r4  z<mi>&#966;</mi>r5  z<mi>&#967;</mi>r6  z<mi>&#968;</mi>r7  z<mi>&#969;</mi>r8  z<mi>&#913;</mi>r9  z<mi>&#914;</mi>r:  z<mi>&#915;</mi>r;  z<mi>&#916;</mi>r<  z<mi>&#917;</mi>r=  z<mi>&#918;</mi>r>  z<mi>&#919;</mi>r?  z<mi>&#920;</mi>r@  z<mi>&#921;</mi>rA  z<mi>&#922;</mi>r   z<mi>&#923;</mi>rB  z<mi>&#924;</mi>rC  z<mi>&#925;</mi>rD  z<mi>&#926;</mi>rE  z<mi>&#927;</mi>rF  z<mi>&#928;</mi>rG  z<mi>&#929;</mi>rH  z<mi>&#931;</mi>rI  z<mi>&#932;</mi>rJ  z<mi>&#933;</mi>rK  z<mi>&#934;</mi>rL  z<mi>&#935;</mi>rM  z<mi>&#936;</mi>rN  z<mi>&#937;</mi>)rv  r   r   r   r   r   r   r   s    r   test_presentation_mathml_greekr  :  sD   
**VG__
%
%C<4>!&*HHHHH;;vg''+<<<<<;;vf~~&&*;;;;;;;vg''+<<<<<;;vg''+<<<<<;;vi(())->>>>>;;vf~~&&*;;;;;;;ve}}%%):::::;;vg''+<<<<<;;vf~~&&*;;;;;;;vg''+<<<<<;;vh''((,=====;;vd||$$(99999;;vd||$$(99999;;vd||$$(99999;;vi(())->>>>>;;vd||$$(99999;;ve}}%%):::::;;vj))**.?????;;vg''+<<<<<;;ve}}%%):::::;;vi(())->>>>>;;ve}}%%):::::;;ve}}%%):::::;;ve}}%%):::::;;vg''+<<<<<;;vg''+<<<<<;;vf~~&&*;;;;;;;vg''+<<<<<;;vg''+<<<<<;;vi(())->>>>>;;vf~~&&*;;;;;;;ve}}%%):::::;;vg''+<<<<<;;vf~~&&*;;;;;;;vg''+<<<<<;;vh''((,=====;;vd||$$(99999;;vd||$$(99999;;vd||$$(99999;;vi(())->>>>>;;vd||$$(99999;;ve}}%%):::::;;vg''+<<<<<;;ve}}%%):::::;;vi(())->>>>>;;ve}}%%):::::;;ve}}%%):::::;;ve}}%%):::::;;vg''+<<<<<<<r   c                     t           dz  t           dz  t          z  z   dt           z  t          dz  z  z   t          dz  z   } t          ddi          }|                    |           }|j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d	         j        d         j        d
k    sJ |j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d	         j        d         j        dk    sJ t          ddi          }|                    |           }|j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d	         j        d         j        dk    sJ |j        d         j        dk    sJ |j        d         j        d         j        d         j        dk    sJ |j        d         j        d	         j        d         j        d
k    sJ d S )Nr   r   r   rQ  rR  r   r}  r   r   r      r   r   rT  )r   r   r|   r   r   r   r   rV  s      r   test_presentation_mathml_orderr  s  s=   a4!Q$q&=1Q3q!t8#ad*D	"GU#3	4	4B
))D//C>!%////>!'*5a8BcIIII>!'*5a8BcIIII>!%////>!'*5a8BcIIII>!'*5a8BcIIII	"GY#7	8	8B
))D//C>!%////>!'*5a8BcIIII>!'*5a8BcIIII>!%////>!'*5a8BcIIII>!'*5a8BcIIIIIIr   c                     t          dd          } t                              t          d|                     dk    sJ t                              t          d| dd                    dk    sJ t                              t          d| dd                    dk    sJ t                              t          d| dd                    dk    sJ t                              t          d| dd                    d	k    sJ d S )
Nr  Trealr   z?<mrow><mo>[</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>]</mo></mrow>Fz?<mrow><mo>(</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>]</mo></mrow>z?<mrow><mo>[</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>)</mo></mrow>?<mrow><mo>(</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>)</mo></mrow>)r   rv  r   r   r  s    r   test_print_intervalsr    s2   sA;;x1~~&&IJ J J J;;x1eU3344IJ J J J;;x1dE2233IJ J J J;;x1eT2233IJ J J J;;x1dD1122IJ J J J J Jr   c                     t                               t          d                    dk    sJ t                               t          dt                              dk    sJ t                               t          dt          t                              dk    sJ t                               t          ddddd                    d	k    sJ t                               t          ddt          ddd                              d
k    sJ d S )Nr   z+<mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow>r  zS<mrow><mo>(</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>,</mo><mi>a</mi><mo>)</mo></mrow>r   r   r   r   z{<mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>)</mo></mrow>z<mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mrow><mo>(</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>)</mo></mrow><mo>)</mo></mrow>)rv  r   r   r  r   r   r   test_print_tuplesr    s    ;;uQyy!!56 6 6 6;;uQ{{##IJ J J J;;uQ1~~&&]^ ^ ^ ^;;uQ1a++,, 	FF F F F;;uQ5Aq>>2233	FF F F F F Fr   c                     t                               t          t                              dk    sJ t                               t	          t                              dk    sJ t                               t          t          dz   d                    dk    sJ t                               t	          t          dz   d                    dk    sJ d S )NzH<mrow><mi>&#8476;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#8465;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>r   Fr   zi<mrow><mi>&#8476;</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow>zi<mrow><mi>&#8465;</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow>)rv  r   r)   r   r*   r   r   r   test_print_re_imr    s    ;;r!uuRS S S S;;r!uuRS S S S;;r!a%%00011st t t t;;r!a%%00011st t t t t tr   c                      t                               t          t                              dk    sJ t                               t          t          dz                       dk    sJ d S )Nz+<mrow><mo>|</mo><mi>x</mi><mo>|</mo></mrow>r   zL<mrow><mo>|</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mo>|</mo></mrow>)rv  r   r,   r   r   r   r   test_print_Absr    sn    ;;s1vv56 6 6 6;;s1q5zz""VW W W W W Wr   c            	          t                               t          t          ddgddgg                              dk    sJ d S )Nr   r   r   r   z<mrow><mo>|</mo><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mn>3</mn></mtd><mtd><mn>4</mn></mtd></mtr></mtable><mo>]</mo></mrow><mo>|</mo></mrow>)rv  r   ru   rt   r   r   r   test_print_Determinantr    sX    ;;{6Aq6Aq6*:#;#;<<== 	HH H H H H Hr   c                  2    t          t          d            d S )Nc                  0    t          t          dd          S )Nr  r[  )r  r\  r]  r   r   r   r^  z,test_presentation_settings.<locals>.<lambda>  s    fQ,57 7 7 r   r_  r   r   r   test_presentation_settingsr    s*    
9 7 7 8 8 8 8 8r   c                  b   ddl m} m}m}m}m} t                              |          dk    sJ t                              |           dk    sJ t                              |          dk    sJ t                              |          dk    sJ t                              |          dk    sJ d S )Nr   IntegersNaturals	Naturals0Reals	Complexesz&<mi mathvariant="normal">&#x2102;</mi>z&<mi mathvariant="normal">&#x2124;</mi>z&<mi mathvariant="normal">&#x2115;</mi>z=<msub><mi mathvariant="normal">&#x2115;</mi><mn>0</mn></msub>z&<mi mathvariant="normal">&#x211D;</mi>)
sympy.setsr  r  r  r  r  rv  r   r  s        r   test_print_domainsr    s    JJJJJJJJJJJJJJ;;y!!%MMMMM;;x  $LLLLL;;x  $LLLLL;;y!!GH H H H;;u!IIIIIIIr   c                     t                               t                     dk    sJ t                               t           t          z            dk    sJ t                               t	          dd                     dk    sJ d S )Nz!<mrow><mo>-</mo><mi>x</mi></mrow>z:<mrow><mo>-</mo><mfrac><mi>x</mi><mi>y</mi></mfrac></mrow>r   r   z:<mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow>)rv  r   r   r   r   r   r   r    test_print_expression_with_minusr    s    ;;r??AAAAA;;r!tDE E E E;;A''DE E E E E Er   c                      ddl m}   G d d|           } |dd          }t                              |          dk    sJ d S )Nr   )AssocOpc                       e Zd ZdZdS )'test_print_AssocOp.<locals>.TestAssocOpr   N)__name__
__module____qualname__identityr   r   r   TestAssocOpr    s        r   r  r   r   z5<mrow><mi>testassocop</mi><mn>1</mn><mn>2</mn></mrow>)sympy.core.operationsr  rv  r   )r  r  rW  s      r   test_print_AssocOpr    s    ------    g    ;q!D;;t?@ @ @ @ @ @r   c                      t          t          d          t          d                    } t                              |           dk    sJ t                              |           dk    sJ d S )Nr   r   zZ<mrow><mi>basic</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>)</mo></mrow></mrow>z#<basic><cn>1</cn><cn>2</cn></basic>)r   r   rv  r   r   rW  s    r   test_print_basicr    sk    1qttD;;tde e e e::dDDDDDDDr   c                      t          ddgddgg          } t          | dd          dk    sJ t          | dd	          d
k    sJ t          | dd          dk    sJ d S )Nr   r   r   r   r  [)r  	mat_delimz<mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mn>3</mn></mtd><mtd><mn>4</mn></mtd></mtr></mtable><mo>]</mo></mrow>(z<mrow><mo>(</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mn>3</mn></mtd><mtd><mn>4</mn></mtd></mtr></mtable><mo>)</mo></mrow> z{<mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mn>3</mn></mtd><mtd><mn>4</mn></mtd></mtr></mtable>)rt   r   r  s    r   test_mat_delim_printr    s    Aq6Aq6"##D$#>>>	11 1 1 1 $#>>>	`` ` ` ` $"===	DD D D D D Dr   c                      t          t                    } t          | d          dk    sJ t          | dd          dk    sJ t          | dd          dk    sJ d S )Nr  r  zD<mrow><mi>log</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>F)r  ln_notationTzC<mrow><mi>ln</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r/   r   r   r  s    r   test_ln_notation_printr    s    q66D$///NO O O O$EBBBNO O O O$DAAAMN N N N N Nr   c                     t           t          z  } t          | d          dk    sJ t          | dd           dk    sJ t          | dd          dk    sJ t          | dd          dk    sJ t          | dd	          d
k    sJ d S )Nr  r  z:<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi></mrow>)r  
mul_symboldotz0<mrow><mi>x</mi><mo>&#xB7;</mo><mi>y</mi></mrow>ldotz2<mrow><mi>x</mi><mo>&#x2024;</mo><mi>y</mi></mrow>r   z0<mrow><mi>x</mi><mo>&#xD7;</mo><mi>y</mi></mrow>)r   r   r   r  s    r   test_mul_symbol_printr    s    q5D$///DE E E E$4@@@DE E E E$5AAA:; ; ; ;$6BBB<= = = =$7CCC:; ; ; ; ; ;r   c                  d    t                               t          ddd                    dk    sJ d S )Nr   r   r   zp<mrow><mi>&#x3A6;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>)</mo></mrow></mrow>)rv  r   rh   r   r   r   test_print_lerchphir    sD    ;;x1a(())z{ { { { { {r   c                      t                               t          t          t                              dk    sJ t
                              t          t          t                              dk    sJ d S )Nz-<apply><polylog/><ci>x</ci><ci>y</ci></apply>zZ<mrow><msub><mi>Li</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow></mrow>)r   r   rf   r   r   rv  r   r   r   test_print_polylogr    sn    ::gamm$$78 8 8 8;;wq!}}%%de e e e e er   c                      t          h d          } t                              |           dk    sJ t          h d          }t                              |          dk    sJ d S )N>   r   r   r   zS<mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>}</mo></mrow>>   r   r   r   S<mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>}</mo></mrow>)	frozensetrv  r   set)r  ss     r   test_print_set_frozensetr    s~    )))A;;q>>]^ ^ ^ ^IIIA;;q>>]^ ^ ^ ^ ^ ^r   c                  r    t          t          dd          } t                              |           dk    sJ d S )Nr   r   zS<mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mi>x</mi><mo>}</mo></mrow>)r   r   rv  r   )f1s    r   test_print_FiniteSetr  $  sG    	1a		B;;r??]^ ^ ^ ^ ^ ^r   c                      t                               t          t                              dk    sJ t                               t          t          t                              dk    sJ d S )NzB<mrow><mi>W</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zV<mrow><mi>W</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>)rv  r   r.   r   r   r   r   r   test_print_LambertWr  *  sg    ;;x{{##'kkkkk;;x1~~&&  +C  C  C  C  C  C  Cr   c                  Z    t                               t          j                  dk    sJ d S )Nz<mo>&#x2205;</mo>)rv  r   r   r   r   r   r   test_print_EmptySetr  /  s(    ;;qz""&9999999r   c                  Z    t                               t          j                  dk    sJ d S )Nz<mo>&#x1D54C;</mo>)rv  r   r   UniversalSetr   r   r   test_print_UniversalSetr  3  s(    ;;q~&&*>>>>>>>r   c                     t                               t                                dk    sJ t                               t          d                    dk    sJ t                               t	                                dk    sJ d S )Nz<mi>&#x210B;</mi>r   z <msup>&#x1D49E;<mn>2</mn></msup>z<mi>&#x2131;</mi>)rv  r   rz   rw   rx   r   r   r   test_print_spacesr  7  sp    ;;|~~&&*=====;;|A''+MMMMM;;y{{##':::::::r   c                  L   t                               t                    dk    sJ t                               t          j                  dk    sJ t                               t          j                  dk    sJ t                               t          j                  dk    sJ d S )Nr  r  r  r  )rv  r   ry   r   r   r   r   r   r   r   test_print_constantsr  =  s    ;;t 33333;;q+,,0MMMMM;;q}%%);;;;;;;q|$$(:::::::r   c                      t                               t          t          t          j                            dk    sJ d S )NzN<mrow><mi>x</mi><mo>&#x2208;</mo><mi mathvariant="normal">&#x2115;</mi></mrow>)rv  r   r   r   r   r  r   r   r   test_print_Containsr  D  sD    ;;x1:..//XY Y Y Y Y Yr   c                      t          dd          } t                              t          |                     dk    sJ d S )Nr   F)commutativez<msup><mi>x</mi>&#x2020;</msup>)r   rv  r   r{   r   s    r   test_print_Daggerr	  I  s>    '''A;;vayy!!%FFFFFFFr   c                     t          t          dd          } t          t          dd          }d } |t          | |d                    dk    sJ  |t	          | |d                    d	k    sJ  |t          | |d                    d
k    sJ  |t          | |d                    dk    sJ t          t                    }t          t                    }t          t                    }t          ||d          }t	          ||d          }t          ||d          }t          ||d          }	t          ||          }
 |t          ||d                    dk    sJ  |t	          ||d                    dk    sJ  |t          ||	d                    dk    sJ  |t          ||
d                    dk    sJ  |t          ||                    dk    sJ d S )Nr   r   r   r   c                 $    t          | d          S )Nr  r  )r   r  s    r   r^  z"test_print_SetOp.<locals>.<lambda>R  s    fQ777 r   Fr   z<mrow><mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mi>x</mi><mo>}</mo></mrow><mo>&#x222A;</mo><mrow><mo>{</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mi>y</mi><mo>}</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mi>x</mi><mo>}</mo></mrow><mo>&#x2229;</mo><mrow><mo>{</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mi>y</mi><mo>}</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mi>x</mi><mo>}</mo></mrow><mo>&#x2216;</mo><mrow><mo>{</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mi>y</mi><mo>}</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mi>x</mi><mo>}</mo></mrow><mo>&#x2206;</mo><mrow><mo>{</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mi>y</mi><mo>}</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mi>a</mi><mo>}</mo></mrow><mo>&#x222A;</mo><mrow><mo>(</mo><mrow><mrow><mo>{</mo><mi>c</mi><mo>}</mo></mrow><mo>&#x2229;</mo><mrow><mo>{</mo><mi>d</mi><mo>}</mo></mrow></mrow><mo>)</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mi>a</mi><mo>}</mo></mrow><mo>&#x2229;</mo><mrow><mo>(</mo><mrow><mrow><mo>{</mo><mi>c</mi><mo>}</mo></mrow><mo>&#x2216;</mo><mrow><mo>{</mo><mi>d</mi><mo>}</mo></mrow></mrow><mo>)</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mi>a</mi><mo>}</mo></mrow><mo>&#x2216;</mo><mrow><mo>(</mo><mrow><mrow><mo>{</mo><mi>c</mi><mo>}</mo></mrow><mo>&#x2206;</mo><mrow><mo>{</mo><mi>d</mi><mo>}</mo></mrow></mrow><mo>)</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mi>a</mi><mo>}</mo></mrow><mo>&#x2206;</mo><mrow><mo>(</mo><mrow><mrow><mo>{</mo><mi>c</mi><mo>}</mo></mrow><mo>&#x00d7;</mo><mrow><mo>{</mo><mi>d</mi><mo>}</mo></mrow></mrow><mo>)</mo></mrow></mrow>z<mrow><mrow><mo>{</mo><mi>a</mi><mo>}</mo></mrow><mo>&#x00d7;</mo><mrow><mo>(</mo><mrow><mrow><mo>{</mo><mi>c</mi><mo>}</mo></mrow><mo>&#x222A;</mo><mrow><mo>{</mo><mi>d</mi><mo>}</mo></mrow></mrow><mo>)</mo></mrow></mrow>)r   r   r   r   r   r   r   r  rf  rg  r   )r  f2prntrr   rh  ri  rj  rl  rn  D1rp  s              r   test_print_SetOpr  N  s   	1a		B	1a		B77E5r2...//== = = = 5b"u55566GG G G G 5BU33344GG G G G 5$Re<<<==GG G G G
 	!A!A!A	q!e	$	$	$B	aU	+	+	+B	Aq5	)	)	)B	QE	2	2	2B	Aq		B5q"u---..	EE E E E
 5ae44455	EE E E E
 5ArE22233	EE E E E
 5$QU;;;<<	EE E E E
 5Ar""##	EE E E E E Er   c                     t                               t          t          t                              dk    sJ t                               t          t          t                              dk    sJ t                               t          t          t                              dk    sJ t                               t          t          t                              dk    sJ t                               t          t          t                              dk    sJ t                               t          t          t          t                    t          dk                        dk    sJ t                               t          t          t          d          t          dk     t          t          d	z   k                        d
k    sJ t                               t          t          t          t                    t          dk                        dk    sJ t                               t          t          t          d          t          t          dk     t          t          d	z   k                                  dk    sJ t                               t          t                              dk    sJ t                               t          t          t          t                                        dk    sJ d S )Nz2<mrow><mi>x</mi><mo>&#x2227;</mo><mi>y</mi></mrow>z2<mrow><mi>x</mi><mo>&#x2228;</mo><mi>y</mi></mrow>z2<mrow><mi>x</mi><mo>&#x22BB;</mo><mi>y</mi></mrow>z2<mrow><mi>x</mi><mo>&#x21D2;</mo><mi>y</mi></mrow>z2<mrow><mi>x</mi><mo>&#x21D4;</mo><mi>y</mi></mrow>r   zt<mrow><mrow><mi>x</mi><mo>=</mo><mi>y</mi></mrow><mo>&#x2227;</mo><mrow><mi>x</mi><mo>></mo><mn>4</mn></mrow></mrow>r   r   z<mrow><mrow><mi>x</mi><mo>=</mo><mn>3</mn></mrow><mo>&#x2227;</mo><mrow><mi>x</mi><mo>></mo><mrow><mi>y</mi><mo>+</mo><mn>1</mn></mrow></mrow><mo>&#x2227;</mo><mrow><mi>y</mi><mo><</mo><mn>3</mn></mrow></mrow>zt<mrow><mrow><mi>x</mi><mo>=</mo><mi>y</mi></mrow><mo>&#x2228;</mo><mrow><mi>x</mi><mo>></mo><mn>4</mn></mrow></mrow>z<mrow><mrow><mi>x</mi><mo>=</mo><mn>3</mn></mrow><mo>&#x2227;</mo><mrow><mo>(</mo><mrow><mrow><mi>x</mi><mo>></mo><mrow><mi>y</mi><mo>+</mo><mn>1</mn></mrow></mrow><mo>&#x2228;</mo><mrow><mi>y</mi><mo><</mo><mn>3</mn></mrow></mrow><mo>)</mo></mrow></mrow>z&<mrow><mo>&#xAC;</mo><mi>x</mi></mrow>zo<mrow><mo>&#xAC;</mo><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x2227;</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow>)rv  r   rp   r   r   rm   rl   rr   rq   r   rs   r   r   r   test_print_logicr    sz   ;;s1ayy!!<= = = =;;r!Qxx  <= = = =;;s1ayy!!<= = = =;;wq!}}%%<= = = =;;z!Q''((<= = = = ;;s2a88QU++,,	== = = = ;;s2a88QUAAI6677	UU U U U ;;r"Q((AE**++	== = = = ;;s2a88RAq1q5y%9%9::;;	OO O O O ;;s1vv"JJJJJ;;s3q!99~~&&yz z z z z zr   c                      t          t          t          j        dz  z  d          dk    sJ t          t          t          j        dz  z  dd          dk    sJ t          t          t          j        dz  z  d          d	k    sJ t          t          t          j        dz  z  dd          d
k    sJ t          t          t	          dd          z  d          dk    sJ t          t          t	          dd          z  dd          dk    sJ d S )Nr   r  r  z#<mroot><mi>x</mi><mn>3</mn></mroot>F)r  root_notationz:<msup><mi>x</mi><mfrac><mn>1</mn><mn>3</mn></mfrac></msup>contentz;<apply><root/><degree><cn>3</cn></degree><ci>x</ci></apply>zM<apply><power/><ci>x</ci><apply><divide/><cn>1</cn><cn>3</cn></apply></apply>rt  z<<mfrac><mn>1</mn><mroot><mi>x</mi><mn>3</mn></mroot></mfrac>zS<mfrac><mn>1</mn><msup><mi>x</mi><mfrac><mn>1</mn><mn>3</mn></mfrac></msup></mfrac>)r   r   r   Oner   r   r   r   test_root_notation_printr    sT   !aeAg,777-. . . .!aeAg,eLLLDE E E E!aeAg,	222EF F F F!aeAg,	GGGWX X X X!hr1oo&???FG G G G!hr1oo&eTTT`a a a a a ar   c                      t           t          dd          z  } t          | d          dk    sJ t          | dd          dk    sJ t          | dd	          dk    sJ d S )
Nr   r   r  r  z:<msup><mi>x</mi><mfrac><mn>5</mn><mn>2</mn></mfrac></msup>T)r  fold_frac_powerszJ<msup><mi>x</mi><mfrac bevelled="true"><mn>5</mn><mn>2</mn></mfrac></msup>F)r   r   r   r  s    r   test_fold_frac_powers_printr    s    AD$///DE E E E$FFFTU U U U$GGGDE E E E E Er   c                      t          dd          } t          | d          dk    sJ t          | dd          dk    sJ t          | dd	          dk    sJ d S )
Nr   r   r  r  z#<mfrac><mn>2</mn><mn>5</mn></mfrac>T)r  fold_short_fracz3<mfrac bevelled="true"><mn>2</mn><mn>5</mn></mfrac>F)r   r   r  s    r   test_fold_short_frac_printr    s    Aq>>D$///-. . . .$EEE=> > > >$FFF-. . . . . .r   c                     t                               t          t                              dk    sJ t                               t          t          dz                       dk    sJ t                               t	          t                              dk    sJ t                               t	          t          dz                       dk    sJ t                               t          t          t                              dk    sJ t                               t          dt          t          z                       dk    sJ d S )	Nz!<mrow><mi>x</mi><mo>!</mo></mrow>r   zc<mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>!</mo></mrow>z"<mrow><mi>x</mi><mo>!!</mo></mrow>zd<mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>!!</mo></mrow>zV<mrow><mo>(</mo><mfrac linethickness="0"><mi>x</mi><mi>y</mi></mfrac><mo>)</mo></mrow>r   zw<mrow><mo>(</mo><mfrac linethickness="0"><mn>4</mn><mrow><mi>x</mi><mo>+</mo><mi>y</mi></mrow></mfrac><mo>)</mo></mrow>)rv  r   r   r   r   r   r   r   r   r   test_print_factorialsr    s(   ;;y||$$(KKKKK;;yQ''((mn n n n;;z!}}%%)MMMMM;;z!a%(())no o o o;;x1~~&&`a a a a;;x1q5))**	?? ? ? ? ? ?r   c                  \    t          t                    } t          | d          dk    sJ d S )Nr  r  z7<mrow><mo>&#8970;</mo><mi>x</mi><mo>&#8971;</mo></mrow>)r=   r   r   r  s    r   test_print_floorr     sD    88D$///AB B B B B Br   c                  \    t          t                    } t          | d          dk    sJ d S )Nr  r  z7<mrow><mo>&#8968;</mo><mi>x</mi><mo>&#8969;</mo></mrow>)r<   r   r   r  s    r   test_print_ceilingr"    sD    1::D$///AB B B B B Br   c                      t          t          t          dz             } t          | d          dk    sJ t          t          t          ft          t          z             } t          | d          dk    sJ d S )Nr   r  r  zg<mrow><mo>(</mo><mi>x</mi><mo>&#x21A6;</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow>z<mrow><mo>(</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&#x21A6;</mo><mrow><mi>x</mi><mo>+</mo><mi>y</mi></mrow><mo>)</mo></mrow>)r   r   r   r   r  s    r   test_print_Lambdar$    s    !QqS>>D$///qr r r r1a&!a%  D$/// 	gg g g g g gr   c                      t                               t          t                              dk    sJ t                               t          t          dz                       dk    sJ d S )Nz.<menclose notation="top"><mi>x</mi></menclose>r   zO<mrow><menclose notation="top"><mi>x</mi></menclose><mo>+</mo><mn>1</mn></mrow>)rv  r   r+   r   r   r   r   test_print_conjugater&    sp    ;;y||$$89 9 9 9;;yQ''((YZ Z Z Z Z Zr   c                  H   t          dd          } t                              t          dd                    dk    sJ t                              t          d|                     dk    sJ t                              t          | dz   | dz                       d	k    sJ d S )
Nr  Tr  r   r   zM<mrow><mo>&#10216;</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>&#10217;</mo></mrow>zM<mrow><mo>&#10216;</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>&#10217;</mo></mrow>r   z<mrow><mo>&#10216;</mo><mrow><mi>a</mi><mo>+</mo><mn>1</mn></mrow><mo>,</mo><mrow><mi>a</mi><mo>+</mo><mn>2</mn></mrow><mo>&#10217;</mo></mrow>)r   rv  r   r   r  s    r   test_print_AccumBoundsr(    s    sA;;{1a(())-|||||;;{1a(())-|||||;;{1q5!a%0011  6G  G  G  G  G  G  Gr   c                     t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          d                    dk    sJ t                               t          dt          z                      dk    sJ t                               t          d	t          z                      d
k    sJ d S )Ng}Ô%ITzL<mrow><mn>1.0</mn><mo>&#xB7;</mo><msup><mn>10</mn><mn>100</mn></msup></mrow>g0.++zM<mrow><mn>1.0</mn><mo>&#xB7;</mo><msup><mn>10</mn><mn>-100</mn></msup></mrow>g}Ô%IzM<mrow><mn>-1.0</mn><mo>&#xB7;</mo><msup><mn>10</mn><mn>100</mn></msup></mrow>r   z<mi>&#x221E;</mi>g      z(<mrow><mo>-</mo><mi>&#x221E;</mi></mrow>)rv  r   r   r   r   r   r   test_print_Floatr*     s    ;;uU||$$(vvvvv;;uV}}%%)xxxxx;;uV}}%%)xxxxx;;uSV}}%%)<<<<<;;uT"W~~&&*TTTTTTTr   c                     t                               t          t                              dk    sJ t                               t	          t          t
                              dk    sJ t                               t          t          t
                              dk    sJ t                               t          t                              dk    sJ t                               t          t          t
                              dk    sJ t                               t          t                              dk    sJ t                               t          t                              dk    sJ t                               t          t                              dk    sJ t                               t          t                              d	k    sJ t                               t          t                              d
k    sJ t                               t          t                              dk    sJ t                               t          t                              dk    sJ t                               t          t                              dk    sJ t                               t!          t                              dk    sJ d S )NzH<mrow><mi>&#x393;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>z\<mrow><mi>&#x3B3;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>z\<mrow><mi>&#x393;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x3B6;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>z\<mrow><mi>&#x3B6;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x3B7;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x39A;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x3D5;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x3BB;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x3BD;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zH<mrow><mi>&#x3A9;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zB<mrow><mi>S</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zB<mrow><mi>C</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zu<mrow><mi>&#x398;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow></mrow>)rv  r   rU   r   rW   r   rV   rj   ri   rO   r'   r(   r%   r&   rR   rQ   rL   r   r   r   test_print_different_functionsr,    sP   ;;uQxx  $nnnnn;;z!Q''((  -K  K  K  K  K;;z!Q''((  -K  K  K  K  K;;tAww#mmmmm;;tAqzz""  'E  E  E  E  E;;}Q''((-wwwww;;z!}}%%)sssss;;wqzz""&ppppp;;q))**.xxxxx;;wqzz""&ppppp;;z!}}%%)sssss;;x{{##'kkkkk;;x{{##(lllll;;y||$$  )`  `  `  `  `  `  `r   c                      t                               d           dk    sJ t                               t                    dk    sJ t                               t                    dk    sJ d S )Nz<mi>None</mi>z<mi>True</mi>z<mi>False</mi>)rv  r   ro   rn   r   r   r   test_mathml_builtinsr.    s`    ;;t////;;t////;;u!1111111r   c                     t                               t          dd                    dk    sJ t                               t          dd                    dk    sJ t                               t          ddd                    dk    sJ t                               t          dd	d                    d
k    sJ t                               t          d	dd                    dk    sJ t                               t          dt          d                    dk    sJ t                               t          t          dd                    dk    sJ t                               t          dt           d                    dk    sJ d S )Nr   3   zn<mrow><mo>{</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mi>&#8230;</mi><mo>,</mo><mn>50</mn><mo>}</mo></mrow>r   r  r   r   zS<mrow><mo>{</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>}</mo></mrow>   zn<mrow><mo>{</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mi>&#8230;</mi><mo>,</mo><mn>29</mn><mo>}</mo></mrow>rt  zo<mrow><mo>{</mo><mn>30</mn><mo>,</mo><mn>29</mn><mo>,</mo><mi>&#8230;</mi><mo>,</mo><mn>2</mn><mo>}</mo></mrow>r   zY<mrow><mo>{</mo><mn>0</mn><mo>,</mo><mn>2</mn><mo>,</mo><mi>&#8230;</mi><mo>}</mo></mrow>ru  zY<mrow><mo>{</mo><mi>&#8230;</mi><mo>,</mo><mn>2</mn><mo>,</mo><mn>0</mn><mo>}</mo></mrow>z[<mrow><mo>{</mo><mn>-2</mn><mo>,</mo><mn>-3</mn><mo>,</mo><mi>&#8230;</mi><mo>}</mo></mrow>)rv  r   r   r   r   r   r   test_mathml_Ranger2    s   ;;uQ||$$xy y y y;;uQ{{##]^ ^ ^ ^;;uQ1~~&&]^ ^ ^ ^;;uQA''xy y y y;;uRB''((yz z z z;;uQA''cd d d d;;uRR(())cd d d d;;uR"b))**ef f f f f fr   c                      t                               t          t                              dk    sJ t                               t          d          t          d          z             dk    sJ d S )Nz.<msup><mi>&ExponentialE;</mi><mi>x</mi></msup>r   r   z\<mrow><mi>&ExponentialE;</mi><mo>+</mo><msup><mi>&ExponentialE;</mi><mn>2</mn></msup></mrow>)rv  r   r-   r   r   r   r   test_print_expr4  2  st    ;;s1vv89 9 9 9;;s1vvA''fg g g g g gr   c                     t                               t          t          t                              dk    sJ t                               t          t          dt          dz                      dk    sJ t                               t          t          t                              dk    sJ t                               t          t          dt          dz                      dk    sJ d S )NzX<mrow><mo>min</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>r   r   z<mrow><mo>min</mo><mrow><mo>(</mo><mn>2</mn><mo>,</mo><mi>x</mi><mo>,</mo><msup><mi>x</mi><mn>3</mn></msup><mo>)</mo></mrow></mrow>zX<mrow><mo>max</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>z<mrow><mo>max</mo><mrow><mo>(</mo><mn>2</mn><mo>,</mo><mi>x</mi><mo>,</mo><msup><mi>x</mi><mn>3</mn></msup><mo>)</mo></mrow></mrow>)rv  r   r?   r   r   r>   r   r   r   test_print_MinMaxr6  9  s    ;;s1ayy!!bc c c c;;s1aA'' 	NN N N N;;s1ayy!!bc c c c;;s1aA'' 	NN N N N N Nr   c                     t          d          } t          t          |           d          dk    sJ t          t          |           d          dk    sJ t          t	          |           d          dk    sJ t          t          |           d          dk    sJ t          t          |           d          dk    sJ t          t          |           d          dk    sJ t          t          |           d          d	k    sJ t          t          | t                    d          t          t	          | t                    d          cxk    rd
k    sn J t          t          | t                    d          dk    sJ t          t          | t                    d          dk    sJ t          t          | t                    d          dk    sJ d S )Nnr  r  z!<msub><mi>C</mi><mi>n</mi></msub>z!<msub><mi>B</mi><mi>n</mi></msub>z!<msub><mi>E</mi><mi>n</mi></msub>z!<msub><mi>F</mi><mi>n</mi></msub>z!<msub><mi>L</mi><mi>n</mi></msub>z!<msub><mi>T</mi><mi>n</mi></msub>zY<mrow><msub><mi>B</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zY<mrow><msub><mi>E</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zY<mrow><msub><mi>F</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zY<mrow><msub><mi>T</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)
r   r   r    r$   r   r!   r#   r   r"   r   )r8  s    r    test_mathml_presentation_numbersr9  D  s`   sA'!**n555+, , , ,)A,,777+, , , ,$q''>222+, , , ,%((N333+, , , ,)A,,777+, , , ,%((N333+, , , ,*Q--888+, , , ,)Aq//>:::tAqzz>222d d d dcd d d d d d %1++~666cd d d d)Aq//>:::cd d d d*Q""N;;;cd d d d d dr   c                     t          t          t          t          t                    d          dk    sJ t          t          t          t          t                    d          dk    sJ t          t          t          t          t                    d          dk    sJ t          t          t          t          t                    d          dk    sJ d S )Nr  r  zj<mrow><mi>C</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow>zj<mrow><mi>S</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow>zr<mrow><mi>C&#x2032;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow>zr<mrow><mi>S&#x2032;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow>)r   r[   r   r   r  rY   rZ   rX   r   r   r    test_mathml_presentation_mathieur;  _  s    (1a##^<<<tu u u u(1a##^<<<tu u u u-1a((.AAA|} } } }-1a((.AAA|} } } } } }r   c                      t          t          t                    d          dk    sJ t          t          t          t                    d          dk    sJ d S )Nr  r  z(<msub><mi>&#x03B3;</mi><mi>n</mi></msub>z`<mrow><msub><mi>&#x03B3;</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   rg   r8  r   r   r   r   "test_mathml_presentation_stieltjesr=  j  sn    )A,,777	34 4 4 4)Aq//>:::	kl l l l l lr   c                     t          ddd          } t                              |           dk    sJ t                              |           dk    sJ t	          | dd          d	k    sJ t	          | d
          dk    sJ d S )Nr   r   r   z
<mi>A</mi>z
<ci>A</ci>r  bold)r  mat_symbol_stylez<mi mathvariant="bold">A</mi>)r@  )rv   rv  r   r   r   )r   s    r   test_print_matrix_symbolrA  q  s    S!QA;;q>>\))))::a==L((((!^fEEE'( ( ( ( !f---======r   c                     ddl m}  ddl m} t          ddd          }t          ddd          }t	           | |||z            d          d	k    sJ t	           | ||          |z  d          d
k    sJ t	           | |||          d          dk    sJ t	           | | ||                    d          dk    sJ d S )Nr   )HadamardProduct)	TransposeXr   Yr  r  zI<mrow><mi>X</mi><mo>&#x2218;</mo><msup><mi>Y</mi><mn>2</mn></msup></mrow>z<mrow><mrow><mo>(</mo><mrow><mi>X</mi><mo>&#x2218;</mo><mi>Y</mi></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><mi>Y</mi></mrow>zM<mrow><mi>X</mi><mo>&#x2218;</mo><mi>Y</mi><mo>&#x2218;</mo><mi>Y</mi></mrow>zj<msup><mrow><mo>(</mo><mrow><mi>X</mi><mo>&#x2218;</mo><mi>Y</mi></mrow><mo>)</mo></mrow><mo>T</mo></msup>)sympy.matrices.expressionsrC  rD  rv   r   )rC  rD  rE  rF  s       r   test_print_hadamardrH  {  sK   ::::::444444S!QAS!QA//!QqS))>BBB	    //!Q'')>BBB	    //!Q**NCCC	    	//!Q''((.B B B     r   c                      t          t          d                    } t                              |           dk    sJ t                              |           dk    sJ d S )NRz
<mi>R</mi>z
<ci>R</ci>)r   r   rv  r   r   )rJ  s    r   test_print_random_symbolrK    sQ    VC[[!!A;;q>>\))))::a==L((((((r   c                     t          t          t                    t                   d          dk    sJ t          t          t                    t          t          t
          f         d          dk    sJ t          t          t                    t                   t          t                    t
                   z  t          t                    z  d          dk    sJ d S )Nr  r  z!<msub><mi>a</mi><mi>b</mi></msub>zj<msub><mi>a</mi><mrow><mo>(</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></msub>z<mrow><msub><mi>a</mi><mi>b</mi></msub><mo>&InvisibleTimes;</mo><msub><mi>c</mi><mi>d</mi></msub><mo>&InvisibleTimes;</mo><mi>e</mi></mrow>)r   r   r  re  rf  rg  er   r   r   test_print_IndexedBaserN    s    +a..#^<<<+, , , ,+a..Aq)>BBBtu u u u+a..#KNN1$55k!nnD(* * *ee e e e e er   c                     t          t          t                    d          dk    sJ t          t          t          t          z            d          dk    sJ t          t          t          t          f          d          dk    sJ d S )Nr  r  z
<mi>a</mi>z0<mrow><mfrac><mi>a</mi><mi>b</mi></mfrac></mrow>z?<mrow><mo>(</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo>)</mo></mrow>)r   r   r  re  r   r   r   test_print_IndexedrP    s    +a...999\IIII+ac""N;;;:; ; ; ;+q!f%%~>>>IJ J J J J Jr   c                     t          d          \  } }t          d| |          }t          |d         d          dk    sJ t          || |f         d          dk    sJ t          || |z  df         d          d	k    sJ d S )
Nzi jr   )r   r   r  r  zB<msub><mi>A</mi><mrow><mn>0</mn><mo>,</mo><mn>0</mn></mrow></msub>zB<msub><mi>A</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub>r   zr<msub><mi>A</mi><mrow><mrow><mi>i</mi><mo>&InvisibleTimes;</mo><mi>j</mi></mrow><mo>,</mo><mn>0</mn></mrow></msub>)r   rv   r   )ijr   s      r   test_print_MatrixElementrT    s    5>>DAqS!QA!C&>222LM M M M!AaC&N333LM M M M!AaCE(n555|} } } } } }r   c                  B
   t          d          } t          t          | j        | j        | j        z  dz  | j        z             d          dk    sJ t          t          | j        | j                  d          dk    sJ t          t
          t          | j        | j                  z  d          dk    sJ t          t          t
          | j        z  | j                  d          dk    sJ t          t          d| j        z  | j        z            d          d	k    sJ t          t          dt
          z  | j        z  | j        z            d          d
k    sJ t          t
          t          d| j        z  | j        z            z  d          dk    sJ t          t          dt
          z  | j        z  | j        z  | j        z             d          dk    sJ t          t          d| j        z  | j        z            d          dk    sJ t          t
          t          d| j        z  | j        z            z  d          dk    sJ t          t          dt
          z  | j        z  | j        z  | j        z             d          dk    sJ t          t          | j        | j        | j        z  dz  | j        z             d          dk    sJ t          t          | j        | j                  d          dk    sJ t          t          t
          | j        z  | j                  d          dk    sJ t          t
          t          | j        | j                  z  d          dk    sJ t          t          | j                  d          dk    sJ t          t          | j        d| j        z  z             d          dk    sJ t          t
          t          | j                  z  d          dk    sJ t          t          t
          | j        z            d          dk    sJ t          t          | j        | j                  d          dk    sJ t          t          | j                  d          dk    sJ t          t          | j        d| j        z  z             d          dk    sJ t          t
          t          | j                  z  d          dk    sJ t          t          t
          | j        z            d          dk    sJ d S )Nr   r   r  r  a%  <mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>+</mo><msub><mover><mi mathvariant="bold">k</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>z<mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow>a-  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mrow><mo>(</mo><mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>ae  <mrow><mo>-</mo><mrow><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow></mrow>al  <mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>a  <mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>a  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mrow><mo>(</mo><mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>a  <mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mrow><mo>(</mo><mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>+</mo><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>al  <mrow><mo>&#x2207;</mo><mo>&#xB7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>a  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mrow><mo>(</mo><mrow><mo>&#x2207;</mo><mo>&#xB7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>a  <mrow><mo>&#x2207;</mo><mo>&#xB7;</mo><mrow><mo>(</mo><mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>+</mo><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>a%  <mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xB7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>+</mo><msub><mover><mi mathvariant="bold">k</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>z<mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xB7;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow>aN  <mrow><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xB7;</mo><mrow><mo>(</mo><mrow><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>a-  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mrow><mo>(</mo><mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xB7;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>ze<mrow><mo>&#x2207;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow>a  <mrow><mo>&#x2207;</mo><mrow><mo>(</mo><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>+</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">y</mi><mi mathvariant="bold">A</mi></msub></mrow></mrow><mo>)</mo></mrow></mrow>z<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mrow><mo>(</mo><mrow><mo>&#x2207;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>z<mrow><mo>&#x2207;</mo><mrow><mo>(</mo><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow><mo>)</mo></mrow></mrow>z<mrow><mo>-</mo><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><msub><mi mathvariant="bold">z</mi><mi mathvariant="bold">A</mi></msub></mrow></mrow>ze<mrow><mo>&#x2206;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow>a  <mrow><mo>&#x2206;</mo><mrow><mo>(</mo><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>+</mo><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">y</mi><mi mathvariant="bold">A</mi></msub></mrow></mrow><mo>)</mo></mrow></mrow>z<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mrow><mo>(</mo><mrow><mo>&#x2206;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow><mo>)</mo></mrow></mrow>z<mrow><mo>&#x2206;</mo><mrow><mo>(</mo><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow><mo>)</mo></mrow></mrow>)r   r   r   rR  rS  r   kr   r   r   r   r   r  r   ACSs    r   test_print_VectorrY    s(   
S//C%suSU{1}su455~NNN	7	7 	7 	7 	7 %su%%~>>>	66 6 6 6
 !E#%'''@@@	NN N N N %#%''@@@	** * * * $qwsu}%%~>>>	NN N N N $qs35y''@@@	NN N N N !D35'''@@@	11 1 1 1 $qs35y.//HHH	NN N N N *QsuWSU]++^DDD	`` ` ` ` !Jqwsu}---~FFF	;; ; ; ; *QqSYsu_su455~NNN	#	# 	# 	# 	# #ceSU35[]35011>JJJ	N	N 	N 	N 	N #ceSU##^<<<	66 6 6 6
 #agsu%%~>>>	NN N N N !Csu%%%~>>>	NN N N N (35//>:::	66 6 6 6 (351SU7?++^DDD	UU U U U
 !HSUOO#^<<<	11 1 1 1 (1SU7##^<<<	44 4 4 4 %su%%~>>>	ZZ Z Z Z )CE""N;;;	66 6 6 6 )CEAceGO,,nEEE	UU U U U
 !Ice$$$n===	11 1 1 1 )AceG$$n===	44 4 4 4 4 4r   c                      t          d          } t          t          | j        | j                  t          | j        | j                  z   d          dk    sJ d S )Nr   r  r  z6<mover><mi mathvariant="bold">0</mi><mo>^</mo></mover>)r   r   r   r   r  rW  s    r   test_vector_cross_xfailr[  Y  se    
S//C%su%%ceSU(;(;;^TTT@A A A A A Ar   c                      t          t          t          t                    d          dk    sJ t          t          t          t          z  t                    d          dk    sJ d S )Nr  r  z^<mrow><mi>&#x1d5a5;</mi><mrow><mo>(</mo><mi>x</mi><mo>|</mo><mi>y</mi><mo>)</mo></mrow></mrow>z<mrow><mi>&#x1d5a5;</mi><mrow><mo>(</mo><mrow><mfrac><mi>x</mi><mi>y</mi></mfrac></mrow><mo>|</mo><mi>y</mi><mo>)</mo></mrow></mrow>)r   rN   r   r   r   r   r   test_print_elliptic_fr]  _  s    *Q""n===hi i i i*QqS!$$??? 	OO O O O O Or   c                      t          t          t                    d          dk    sJ t          t          t          t                    d          dk    sJ d S )Nr  r  zJ<mrow><mi>&#x1d5a4;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>z^<mrow><mi>&#x1d5a4;</mi><mrow><mo>(</mo><mi>x</mi><mo>|</mo><mi>y</mi><mo>)</mo></mrow></mrow>)r   rP   r   r   r   r   r   test_print_elliptic_er_  e  st    *Q-->:::TU U U U*Q""n===hi i i i i ir   c                      t          t          t          t                    d          dk    sJ t          t          t          t          t                    d          dk    sJ d S )Nr  r  z^<mrow><mi>&#x1d6f1;</mi><mrow><mo>(</mo><mi>x</mi><mo>|</mo><mi>y</mi><mo>)</mo></mrow></mrow>zr<mrow><mi>&#x1d6f1;</mi><mrow><mo>(</mo><mi>x</mi><mo>;</mo><mi>y</mi><mo>|</mo><mi>z</mi><mo>)</mo></mrow></mrow>)r   rM   r   r   r  r   r   r   test_print_elliptic_pira  k  sz    +a##~>>>hi i i i+aA&&.AAA|} } } } } }r   c                      t          t          t                    d          dk    sJ t          t          t          t          z            d          dk    sJ d S )Nr  r  zC<mrow><mi>Ei</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>zZ<mrow><mi>Ei</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>y</mi></msup><mo>)</mo></mrow></mrow>)r   rS   r   r   r   r   r   test_print_Eirc  q  st    "Q%%>222MN N N N"QT((n555de e e e e er   c                     t          t          t          t                    d          dk    sJ t          t          t	          t                    d         t	          t                    d                   d          dk    sJ d S )Nr  r  zY<mrow><msub><mo>E</mo><mi>x</mi></msub><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow></mrow>r   r   z<mrow><msub><mo>E</mo><msub><mi>x</mi><mn>1</mn></msub></msub><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow>)r   rT   r   r   r   r   r   r   test_print_expintre  w  s    &A,,.999cd d d d&Q*KNN1,=>>.YYY 	RR R R R R Rr   c                  |    t          t          t          t          t          t
                    d          dk    sJ d S )Nr  r  z<mrow><msubsup><mo>P</mo><mi>n</mi><mrow><mo>(</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   r\   r8  r  re  r   r   r   r   test_print_jacobirg  }  sJ    &Aq!$$??? 	ii i i i i ir   c                  p    t          t          t          t          t                    d          dk    sJ d S )Nr  r  z<mrow><msubsup><mo>C</mo><mi>n</mi><mrow><mo>(</mo><mi>a</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   ra   r8  r  r   r   r   r   test_print_gegenbauerri    sH    *Q1%%@@@ 	UU U U U U Ur   c                  d    t          t          t          t                    d          dk    sJ d S )Nr  r  zY<mrow><msub><mo>T</mo><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   r^   r8  r   r   r   r   test_print_chebyshevtrk    C    *Q""n===cd d d d d dr   c                  d    t          t          t          t                    d          dk    sJ d S )Nr  r  zY<mrow><msub><mo>U</mo><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   r]   r8  r   r   r   r   test_print_chebyshevurn    rl  r   c                  d    t          t          t          t                    d          dk    sJ d S )Nr  r  zY<mrow><msub><mo>P</mo><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   rc   r8  r   r   r   r   test_print_legendrerp    A    (1a..N;;;cd d d d d dr   c                  p    t          t          t          t          t                    d          dk    sJ d S )Nr  r  z<mrow><msubsup><mo>P</mo><mi>n</mi><mrow><mo>(</mo><mi>a</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   r`   r8  r  r   r   r   r   test_print_assoc_legendrers    H    .Aq))^DDD 	UU U U U U Ur   c                  d    t          t          t          t                    d          dk    sJ d S )Nr  r  zY<mrow><msub><mo>L</mo><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   rd   r8  r   r   r   r   test_print_laguerrerv    rq  r   c                  p    t          t          t          t          t                    d          dk    sJ d S )Nr  r  z<mrow><msubsup><mo>L</mo><mi>n</mi><mrow><mo>(</mo><mi>a</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   rb   r8  r  r   r   r   r   test_print_assoc_laguerrerx    rt  r   c                  d    t          t          t          t                    d          dk    sJ d S )Nr  r  zY<mrow><msub><mo>H</mo><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>)r   r_   r8  r   r   r   r   test_print_hermiterz    sA    '!Q-->:::cd d d d d dr   c                     t          t          t          dd          d          dk    sJ t          t          t          dd          d          dk    sJ t          t          t          dd          d          d	k    sJ t          t          t          t          t                    d          d
k    sJ t          t          t          dd          d          dk    sJ t          t          t          dd          d          dk    sJ d S )Nr   r   r  r  zq<msup><mrow><mo>&#10216;</mo><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow><mo>&#10217;</mo></mrow><mn>5</mn></msup>zq<msup><mrow><mo>&#10216;</mo><mrow><mi>x</mi><mo>+</mo><mn>3</mn></mrow><mo>&#10217;</mo></mrow><mn>4</mn></msup>r   zP<msup><mrow><mo>&#10216;</mo><mi>x</mi><mo>&#10217;</mo></mrow><mn>4</mn></msup>z<msup><mrow><mo>&#10216;</mo><mrow><mrow><mo>-</mo><mi>a</mi></mrow><mo>+</mo><mi>x</mi></mrow><mo>&#10217;</mo></mrow><mi>n</mi></msup>ru  zr<msup><mrow><mo>&#10216;</mo><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow><mo>&#10217;</mo></mrow><mn>-2</mn></msup>rt  zr<msup><mrow><mo>&#10216;</mo><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow><mo>&#10217;</mo></mrow><mn>-1</mn></msup>)r   re   r   r  r8  r   r   r   test_mathml_SingularityFunctionr}    sa   %aA..GGG{| | | |%aQ//HHH{| | | |%aA..GGGZ[ [ [ [%aA..GGG 	SS S S S%aB//HHH|} } } }%aB//HHH|} } } } } }r   c                     ddl m} m}m} t	          ddd          }t	          ddd          }t           | |          d          dk    sJ t           | ||z             d          d	k    sJ t           | |           | |          z   d          d
k    sJ t           | ||z            d          dk    sJ t           | |           | |          z  d          dk    sJ t           | |dz            d          dk    sJ t           | |          dz  d          dk    sJ t           |  ||                    d          dk    sJ t           | | |                    d          dk    sJ t           |  ||                    d          dk    sJ t           | | |                    d          dk    sJ t           | | |          |z             d          dk    sJ t           ||          d          dk    sJ t           |||z             d          dk    sJ d S )Nr   )AdjointInverserD  rE  r   rF  r  r  z(<msup><mi>X</mi><mo>&#x2020;</mo></msup>zj<msup><mrow><mo>(</mo><mrow><mi>X</mi><mo>+</mo><mi>Y</mi></mrow><mo>)</mo></mrow><mo>&#x2020;</mo></msup>zg<mrow><msup><mi>X</mi><mo>&#x2020;</mo></msup><mo>+</mo><msup><mi>Y</mi><mo>&#x2020;</mo></msup></mrow>zy<msup><mrow><mo>(</mo><mrow><mi>X</mi><mo>&InvisibleTimes;</mo><mi>Y</mi></mrow><mo>)</mo></mrow><mo>&#x2020;</mo></msup>zv<mrow><msup><mi>Y</mi><mo>&#x2020;</mo></msup><mo>&InvisibleTimes;</mo><msup><mi>X</mi><mo>&#x2020;</mo></msup></mrow>z`<msup><mrow><mo>(</mo><msup><mi>X</mi><mn>2</mn></msup><mo>)</mo></mrow><mo>&#x2020;</mo></msup>z`<msup><mrow><mo>(</mo><msup><mi>X</mi><mo>&#x2020;</mo></msup><mo>)</mo></mrow><mn>2</mn></msup>za<msup><mrow><mo>(</mo><msup><mi>X</mi><mn>-1</mn></msup><mo>)</mo></mrow><mo>&#x2020;</mo></msup>za<msup><mrow><mo>(</mo><msup><mi>X</mi><mo>&#x2020;</mo></msup><mo>)</mo></mrow><mn>-1</mn></msup>z`<msup><mrow><mo>(</mo><msup><mi>X</mi><mo>T</mo></msup><mo>)</mo></mrow><mo>&#x2020;</mo></msup>z`<msup><mrow><mo>(</mo><msup><mi>X</mi><mo>&#x2020;</mo></msup><mo>)</mo></mrow><mo>T</mo></msup>z<msup><mrow><mo>(</mo><mrow><msup><mi>X</mi><mo>&#x2020;</mo></msup><mo>+</mo><mi>Y</mi></mrow><mo>)</mo></mrow><mo>T</mo></msup>z!<msup><mi>X</mi><mo>T</mo></msup>zc<msup><mrow><mo>(</mo><mrow><mi>X</mi><mo>+</mo><mi>Y</mi></mrow><mo>)</mo></mrow><mo>T</mo></msup>)sympy.matricesr  r  rD  rv   r   )r  r  rD  rE  rF  s        r   test_mathml_matrix_functionsr    s   ::::::::::S!QAS!QA''!**n55523 3 3 3''!a%...999tu u u u''!**wwqzz)>BBB	44 4 4 4 ''!A#,,777	EE E E E ''!**WWQZZ'@@@	?? ? ? ? ''!Q$--888jk k k k''!**a-888jk k k k''''!**%%~>>>kl l l l''''!**%%~>>>kl l l l''))A,,''@@@jk k k k))GGAJJ''@@@jk k k k))GGAJJN++^DDD	HH H H H ))A,,777+, , , ,))AE""N;;;mn n n n n nr   c                      ddl m} m}m} t	           | d          d          dk    sJ t	           |dd          d          dk    sJ t	           |dd          d          d	k    sJ d S )
Nr   Identity
ZeroMatrix	OneMatrixr   r  r  z<mi>&#x1D540;</mi>r   z<mn>&#x1D7D8</mn>z<mn>&#x1D7D9</mn>)r  r  r  r  r   r  s      r   test_mathml_special_matricesr    s    >>>>>>>>>>((1++~666:NNNNN**Q""N;;;?RRRRR))Aq//>:::>QQQQQQQr   c                       ddl m  t            t          t          dk    ft          dz  df                    dk    sJ t	          t
           fd           d S )Nr   	Piecewiser   r   Tz<piecewise><piece><ci>x</ci><apply><leq/><ci>x</ci><cn>1</cn></apply></piece><otherwise><apply><power/><ci>x</ci><cn>2</cn></apply></otherwise></piecewise>c                  T    t            t          t          dk    f                    S r   r]  r  s   r   r^  z'test_mathml_piecewise.<locals>.<lambda>  s!    viiAF&<&<== r   )$sympy.functions.elementary.piecewiser  r   r   r   
ValueErrorr  s   @r   test_mathml_piecewiser    s|    >>>>>>))QQK!Q$6677 	ff f f f :====>>>>>r   c                      t          t          t           t                    d          dk    sJ t          t          t          t           d          d          dk    sJ d S )Nr  r  z<mrow><mo>{</mo><mi>&#8230;</mi><mo>,</mo><mn>-1</mn><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mi>&#8230;</mi><mo>}</mo></mrow>rt  z<mrow><mo>{</mo><mi>&#8230;</mi><mo>,</mo><mn>1</mn><mo>,</mo><mn>0</mn><mo>,</mo><mn>-1</mn><mo>,</mo><mi>&#8230;</mi><mo>}</mo></mrow>)r   r   r   r   r   r   test_issue_17857r    s    %R...999 	SS S S S%RC$$n=== 	SS S S S S Sr   c                      t          d          } t          t                              |                               d                    }| |k    sJ d S )Ng@;?z</cn>)r   floatr   r   strip)r   r   s     r   test_float_roundtripr    sF    "##Abjjmm!!'**++A666666r   c                  V   t                      } |                     t          d                    dk    sJ t          ddi          } |                     t          d                    dk    sJ t          ddi          } |                     t          d                    dk    sJ d S )Nu_bzB<ci><mml:msub><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:msub></ci>disable_split_super_subFTz<ci>u_b</ci>)r~   r   r   )r   s    r   +test_content_mathml_disable_split_super_subr    s    			B::fUmm$$(lllll	8%@	A	AB::fUmm$$(lllll	8$?	@	@B::fUmm$$666666r   c                  V   t                      } |                     t          d                    dk    sJ t          ddi          } |                     t          d                    dk    sJ t          ddi          } |                     t          d                    dk    sJ d S )Nr  z!<msub><mi>u</mi><mi>b</mi></msub>r  FTz<mi>u_b</mi>)r|   r   r   )rv  s    r   0test_presentation_mathml_disable_split_super_subr    s    
#
%
%C;;ve}}%%)LLLLL
#%>$F
G
GC;;ve}}%%)LLLLL
#%>$E
F
FC;;ve}}%%777777r   N(4  !sympy.calculus.accumulationboundsr   sympy.concrete.summationsr   sympy.core.basicr   sympy.core.containersr   sympy.core.functionr   r   r	   r
   sympy.core.numbersr   r   r   r   r   r   r   r   sympy.core.relationalr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   sympy.core.sympifyr   (sympy.functions.combinatorial.factorialsr   r   r   %sympy.functions.combinatorial.numbersr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   $sympy.functions.elementary.complexesr)   r*   r+   r,   &sympy.functions.elementary.exponentialr-   r.   r/   %sympy.functions.elementary.hyperbolicr0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   #sympy.functions.elementary.integersr<   r=   (sympy.functions.elementary.miscellaneousr>   r?   (sympy.functions.elementary.trigonometricr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   'sympy.functions.special.delta_functionsrL   *sympy.functions.special.elliptic_integralsrM   rN   rO   rP   'sympy.functions.special.error_functionsrQ   rR   rS   rT   'sympy.functions.special.gamma_functionsrU   rV   rW   )sympy.functions.special.mathieu_functionsrX   rY   rZ   r[   #sympy.functions.special.polynomialsr\   r]   r^   r_   r`   ra   rb   rc   rd   -sympy.functions.special.singularity_functionsre   &sympy.functions.special.zeta_functionsrf   rg   rh   ri   rj   sympy.integrals.integralsrk   sympy.logic.boolalgrl   rm   rn   ro   rp   rq   rr   rs   sympy.matrices.densert   &sympy.matrices.expressions.determinantru   "sympy.matrices.expressions.matexprrv   sympy.physics.quantumrw   rx   ry   rz   r{   sympy.printing.mathmlr|   r}   r~   r   sympy.series.limitsr   sympy.sets.containsr   sympy.sets.fancysetsr   sympy.sets.setsr   r   r   r   r   r   r   sympy.stats.rvr   sympy.tensor.indexedr   sympy.vectorr   r   r   r   r   r   r   sympy.testing.pytestr   r   r   r   r  r  re  rf  rg  rM  r8  r   rv  r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   rO  rX  ra  rc  rr  rw  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r,  r.  r2  r4  r6  r9  r;  r=  rA  rH  rK  rN  rP  rT  rY  r[  r]  r_  ra  rc  re  rg  ri  rk  rn  rp  rs  rv  rx  rz  r}  r  r  r  r  r  r  r  r   r   r   <module>r     sE   9 9 9 9 9 9 ) ) ) ) ) ) " " " " " " ' ' ' ' ' ' B B B B B B B B B B B B                    0 0 0 0 0 0 0 0 0 0 0 0 " " " " " " - - - - - - - - & & & & & &                                   H G G G G G G G G G G G E E E E E E E E E E> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > = = = = = = = =7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 = = = = = =( ( ( ( ( ( ( ( ( ( ( (                    ' ' ' ' ' ' ' ' ' ' ' '                      N M M M M M# # # # # # # # # # # # # # . . . . . .                    ' ' ' ' ' ' > > > > > > ; ; ; ; ; ;             1 1 1 1 1 1 1 1 1 1 1 1 % % % % % % ( ( ( ( ( ( & & & & & &5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ' ' ' ' ' ' , , , , , ,                  . . . . . . . .#GK00 1aAq!Q!!- - -
M M M"3 "3 "3J3 3 3>E E EG G G"L "L "LJE E E
& 
& 
&? ? ?4 4 4" " "@G3 G3 G3T> > >Dh h hV6< 6< 6<rE E E4; ; ;? ? ?a@ a@ a@HE E E 3  3  3F+ + +0q q q  "  <&7 &7 &7RD D D"< < < > > >C C C4#B #B #BL#> #> #>LW W Wt6= 6= 6=rJ J J2J J JF F Ft t tW W WH H H
8 8 8
J J JE E E@ @ @E E ED D DN N N; ; ;{ { {
e e e^ ^ ^^ ^ ^C C C
: : :? ? ?; ; ;; ; ;Y Y Y
G G G
:E :E :Ezz z zBa a aE E E. . .? ? ?B B BB B Bg g gZ Z ZG G GU U U` ` `"2 2 2f f f&g g gN N Nd d d6} } }l l l> > >$ $ $N) ) )e e eJ J J} } }R4 R4 R4h A A A
O O Oi i i} } }e e eR R Ri i iU U Ud d dd d dd d dU U Ud d dU U Ud d d} } }#n #n #nLR R R? ? ?S S S  7 7 78 8 8 8 8r   