U
    	-ew                 	   @   s  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- d dl.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC d dlDmEZEmFZF d dlGmHZHmIZI d dlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZV d dlWmXZX d dlYmZZZm[Z[m\Z\m]Z] d dl^m_Z_m`Z`maZambZb d dlcmdZdmeZemfZf d dlgmhZhmiZimjZjmkZk d dllmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZu d dlvmwZw d dlxmyZymzZzm{Z{m|Z|m}Z} d dl~mZ d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d lmZmZmZmZ 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*lmZ ed+\	ZZZZZZZZZe Ze Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu Zdvdw Zdxdy Zdzd{ Zd|d} Zd~d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZddÄ Zddń ZddǄ ZddɄ Zdd˄ Zdd̈́ Zddτ Zddф Zddӄ ZddՄ Zddׄ Zddل Zddۄ Zdd݄ Zdd߄ Zdd Z dd Z!dd Z"dd Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)dd Z*dd Z+dd Z,dd Z-dd Z.dd Z/d d Z0dd Z1dS (      )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)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)totientreduced_totientprimenu
primeomega)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)raisesz	x:z a:e nc                  C   s*   t  } | dt tdt ks&td S N   )r|   doprintxmpAssertionError)m r   a/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/printing/tests/test_mathml.pytest_mathml_printerC   s    r   c                   C   s   t dt dkstd S )Nr   *<apply><plus/><ci>x</ci><cn>1</cn></apply>)r   r   r   r   r   r   r   r   test_content_printmethodH   s    r   c                  C   s&  t dt } | jdkst| j}t|dks2t|d jdksDt|d  dksXt|d jd ksjt|d jdks|t|d jdkr|d jd jd	kst|d
 jd jdkstn0|d jd jdkst|d
 jd jd	kstt td
 }|jdks
t|j}|d jd jdks*t|d
 jd jdksDtt d
t }|jdksbt|j}|d jdks|t|d jd jdkst|d
 jd jdkstt t	dd
t }|jdkst|j}|d jdkst|d jd jdkst|d
 jd jdks"td S )Nr   apply   r   plusF)cncir   1   r   2times      ?1.0)
r   _printr   nodeNamer   
childNodeslenZhasChildNodes	nodeValuer   mml_1Znodesmml_2mml_3mmlr   r   r   test_content_mathml_coreL   s<    r   c                  C   s  t tt} | jdkst| jd jdks0t| jd jdksDtt ttttdd}|jdksjt|jd jdks~t|jd jd	kst|jd jd jdkstt tttt	 tdd}|jdkst|jd jd
kst|jd jd	kst|jd jd jdkstd S )Nr   r   r?   r   r   Fevaluater   bvarZpartialdiff)
r   r   r?   r   r   r   r   r   rB   yr   r   r   r   r   r   test_content_mathml_functionsq   s,    

r   c                  C   s~   t tt } tt| td}|jd jdks2t|jd jdksFt|jd jdksZt|jd  t|  ksztd S )Nr   limitr   r   r   lowlimitr   )	r?   r   r   r   r   r   r   r   toxmlZlim_funr   r   r   r   test_content_mathml_limits   s    r   c                  C   s   t } tt| t ddf}|jd jdks.t|jd jdksBt|jd jdksVt|jd jdksjt|jd	  t|  kstd S )
Nr   r   intr   r   r   r   uplimit   )r   r   r   rf   r   r   r   r   )Z	integrandr   r   r   r   test_content_mathml_integrals   s    r   c                  C   s  t dddg} t dddgdddgdddgg}t| }|jd jd	ksLt|jd jd jd
ksft|jd jd jd jdkst|jd jd	kst|jd jd jd
kst|jd jd jd jdkst|jd jd	kst|jd jd jd
kst|jd jd jd jdks&tt|}|jd jd	ksFt|jd jd jd
ksbt|jd jd jd jdkst|jd jd jd
kst|jd jd jd jdkst|jd jd jd
kst|jd jd jd jdks t|jd jd	kst|jd jd jd
ks2t|jd jd jd jdksTt|jd jd jd
kspt|jd jd jd jdkst|jd jd jd
kst|jd jd jd jdkst|jd jd	kst|jd jd jd
kst|jd jd jd jdks$t|jd jd jd
ks@t|jd jd jd jdksbt|jd jd jd
ks~t|jd jd jd jdkstd S )Nr   r   r   r      r   	      Z	matrixrowr   r   r   305497)ro   r   r   r   r   r   r   ABZmll_1Zmll_2r   r   r   test_content_mathml_matrices   sD     
  "
""""""""r   c                  C   s   t } tt| t ddf}|jd jdks.t|jd jdksBt|jd jdksVt|jd jd	ksjt|jd
  t|  kstd S )Nr   
   r   sumr   r   r   r   r   r   )r   r   r   r   r   r   r   r   Zsummandr   r   r   r   test_content_mathml_sums   s    r   c                  C   s   t dg} | jdkst| jd jdks.tt| jdks@tt dtdg}|jdks`t|jd jdkstt|jd jdkstt|jdkstd S )Nr   listr   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   test_content_mathml_tuples   s    r   c                  C   sf   t td td  t } | jd jdks.t| jd jd jdksHt| jd jd jdksbtd S )Nr   r   r   r   r   minusr   )r   r   r   r   r   r   r   r   r   r   test_content_mathml_add   s    r   c                  C   sF   t tdd} | jdkstt tdd}|jd jdksBtd S )Nr   r   r   r   r   divide)r   r   r   r   r   r   r   r   r   r   test_content_mathml_Rational   s    r   c                  C   s  t t} | jdkstt t} | jdks0tt t} | jdksHtt t} | jdks`ttt	dkspttt
jdksttt
jdksttt
j} | dksttt
j} | d	ksttt
j} | d
ksttt
j} | dksttt
j} | dkstd S )NZ
imaginaryiZ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   r~   rx   r   TribonacciConstantGoldenRatio
EulerGammaEmptySetrj   ri   NaNr   r   r   r   test_content_mathml_constants   s*    








r   c                  C   sV  t tt} | jd jdks"tt tt} | jd jdksDtt tt} | jd jdksftt t	t} | jd jdkstt t
t} | jd jdkstt tt} | jd jdkstt tt} | jd jdkstt tt} | jd jd	kstt tt} | jd jd
ks6tt tt} | jd jdksZtt tt} | jd jdks~tt tt} | jd jdkstt tt} | jd jdkstt tt} | jd jdkstt tt} | jd jdkstt tt} | jd jdks2tt tt} | jd jdksVtt tt} | jd jdksztt tt} | jd jdkstt tt} | jd jdkstt tt} | jd jdkstt tt} | jd jdks
tt tt} | jd jdks.tt tt} | jd jdksRtd S )Nr   r?   rB   r=   rA   r;   r<   arcsinarccosarctanZarccotZarccscZarcsecr4   r5   r+   r.   r3   r6   arcsinharctanharccoshZarccothZarccschZarcsech)r   r   r?   r   r   r   r   rB   r=   rA   r;   r<   rE   rF   r>   rC   rD   r@   r4   r5   r+   r.   r3   r6   r/   r-   r2   r,   r0   r1   r   r   r   r   test_content_mathml_trig  s`    r   c                  C   sX  t ttd} | jdkst| jd jdks2t| jd jdksFt| jd jd jdks`t| jd jdkstt| jd jd jd	kstt tdt}|jdkst|jd jd
kst|jd jdkst|jd jd jd	kst|jd jdkst|jd jd jdks tt t	dt}|jdks@t|jd jdksVt|jd jdkslt|jd jd jd	kst|jd jdkst|jd jd jdkstt t
dt}|jdkst|jd jdkst|jd jdkst|jd jd jd	ks"t|jd jdks8t|jd jd jdksTtd S )Nr   r   r   eqr   r   r   r   r   ZneqZgeqlt)r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zmml_4r   r   r   test_content_mathml_relationalP  s8    r   c                  C   sd  t t} | jdkst| jd jdks,t~ t td} | jdksJt| jd jdks^t| jd jd jdksxt| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst~ t td	} | jdkst| jd jdkst| jd jd jdks"t| jd jd jd jdksDt| jd jd jdks`t| jd jd jd jdkst~ t td
} | jdkst| jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdks4t~ t td} | jdksTt| jd jdksjt| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdks$t~ t td} | jdksDt| jd jdksZt| jd jd jdksvt| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst~ t td} | jdks4t| jd jdksJt| jd jd jdksft| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jd jd jdkst| jd jd jd jdkst| jd jd jd jd jdks8t| jd jd jd jdksZt| jd jd jd jd jdkst~ t td} | jdkst| jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdks4t| jd jd jd jd jdks\t| jd jd jd jdks~t| jd jd jd jd jdkst| jd jd jd jdkst| jd jd jd jd jdkst~ t td} | jdkst| jd jdks&t| jd jd jdksBt| jd jd jd jdksdt| jd jd jdkst| jd jd jd jdkst| jd jd jd jd jdkst| jd jd jd jdkst| jd jd jd jd jdkst| jd jd jd jdks6t| jd jd jd jd jdks^t~ 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   r   r   r   r   test_content_symbolr  s    
  """"""""""""
"
"
""
"
"
""
"
"
r   c                  C   s  t td} | jdkst| jd jdks0tt tddksFtt tddks\tt tdd	ksrtt td
dkstt tddkstt tddkstt tddkstt tddkstt tddkstt tddkstt tddks&tt tddks>tt tddksVtt tddksntt td d!kstt td"d#kstt td$d%kstt td&d'kstt td(d)kstt td*d+kstt td,d-kstt td.d/ks.tt td0d1ksFtt td2d3ks^tt td4d5ksvtt td6d7kstt td8d9kstt td:d;kstt td<d=kstt td>d?kstt td@dAkstt tdBdCkstt tdDdEks6tt tdFdGksNtt tdHdIksftt tdJdKks~tt tdLdMkstt tdNdOkstt tdPdQkstt tdRdSkstt tdTdUkstt tdVdWkstt tdXdYks&tt tdZd[ks>tt td\d]ksVtt td^d_ksntt td`dakstt tdbdckstt tdddekstd S )fNalphar   r      αz<ci>&#945;</ci>betaz<ci>&#946;</ci>rP   z<ci>&#947;</ci>deltaz<ci>&#948;</ci>epsilonz<ci>&#949;</ci>re   z<ci>&#950;</ci>etaz<ci>&#951;</ci>thetaz<ci>&#952;</ci>iotaz<ci>&#953;</ci>kappaz<ci>&#954;</ci>lambdaz<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   r   r   r   r   test_content_mathml_greek  sh    r(  c                  C   s  t d t d t  dt  td   td  } tddi}|| }|jd jd jdks\t|jd jd jd jd	ks|t|jd jd jd jd
kst|jd jd jdkst|jd jd jd jdkst|jd jd jd jdksttddi}|| }|jd jd jdks(t|jd jd jd jdksJt|jd jd jd jdkslt|jd jd jdkst|jd jd jd jd	kst|jd jd jd jd
kstd S )Nr   r   r   orderlexr   r   powerr   r   r   r   rev-lex)r   r   r}   r   r   r   r   dataexprr   r   r   r   r   test_content_mathml_order  s"    ,
    
"""r0  c                   C   s   t tdd  d S )Nc                   S   s   t tddS )Ngarbage)methodr~   r   r   r   r   r   <lambda>1      z'test_content_settings.<locals>.<lambda>r   	TypeErrorr   r   r   r   test_content_settings0  s    r8  c                   C   sp   t tttdkstt tttdks,tt tttdksBtt tttdksXtt ttdkslt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~   rk   r   r   r   rh   rg   rm   rn   r   r   r   r   test_content_mathml_logic4  s
    r9  c                  C   s  t ttdkstt tttdks*tt tttttdksFttt} tt}tt}tt}t| |dd}t||dd}t| |dd}t||dd}t	| |dd}t	||dd}	t
| |}
t
||}t |dkstt |dkstt |dkstt |
d	kstt t| |ddd
ks,tt t||dddksHtt t||	dddksdtt t|
|dddkstt t| |dddkstt t||dddkstt t||	dddkstt t|
|dddkstt t	| |	dddkstt t	||dddks(tt t	||dddksDtt t	|
|dddks`tt t
| |dksxtt t
||dkstt t
||dkstt t
||	dkst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   r   bcdr   r   r   r   )r   r   CDU1ZU2I1ZI2C1ZC2P1ZP2r   r   r   test_content_finite_sets<  s    

















rC  c                   C   sr   t dt dkstt td dks,tt td dksBtt td dksXtt dt d	ksntd S )
Nr   +<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   r   r   test_presentation_printmethod  s    rH  c                  C   s
  t dt } | jdkst| j}t|dks2t|d jdksDt|d jdksVt|d jdkr|d jd jdks|t|d	 jd jd
kstn0|d jd jd
kst|d	 jd jdkstt td	 }|jdkst|j}|d jd jd
kst|d jd jdkstt d	t }|jdks:t|j}|d jd jdksZt|d jd jdkstt|d	 jd jd
kstt tdd	t }|jdkst|j}|d jd jdkst|d jd jdkst|d	 jd jd
kstd S )Nr   mrowr   r   )mimnmorK  r   r   r   msupr   z&InvisibleTimes;r   r   )	rG  r   r   r   r   r   r   r   r   r   r   r   r   test_presentation_mathml_core  s8    rN  c                  C   sT  t tt} | jd jd jdks(t| jd jd jd jdksHtt ttttdd}|jdksnt|jd jd jd jd jdkst|jd jd jd	kst|jd jd jd jd jdkstt tt	tt
 tdd}|jd jd
kst|jd jd jd jd jdks.t|jd jd jd jdksPtd S )Nr   r?   r   r   Fr   rI  z&dd;Zmfencedmfracz&#x2202;rB   )rG  r   r?   r   r   r   r   r   r   rB   r   r   r   r   r   "test_presentation_mathml_functions  sT    
rP  c                  C   sL   t d} t| ttttttttt}t|dks4tt|dddksHt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printeraD  <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><mfenced><mi>x</mi><mi>y</mi><mi>z</mi></mfenced></mrow></mrow>)r	   r   r   r   zr~   r   )rQ  r<  r   r   r   test_print_derivative  s    
rV  c                  C   s   t tt } tt| td}|jd jdks2t|jd jd jd jdksRt|jd jd jd jd jdksxt|jd jd jd jd jdkst|jd jd jd jd jdkstd S )	Nr   ZmunderZlimr   r   z&#x2192;r   r   )	r?   r   rG  r   r   r   r   r   r   r   r   r   r   test_presentation_mathml_limits  s:    rW  c               	   C   s   t tttddfdkstt ttttdks:tt ttt ttdksXttd\} }t ttt |  tt| dkstt ttt |  | tt| |dkstt tttt| ddfd	kstt tttdfd
kst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>zk<mrow><mo>&#x222B;</mo><mrow><mi>log</mi><mfenced><mi>x</mi></mfenced></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>)rG  r   rf   r   r   r*   r   r   )rU  wr   r   r   "test_presentation_mathml_integrals  s,     rY  c                  C   s~  t dddg} t dddgdddgdddgg}t| }|jd jd	ksLt|jd jd jd
ksftt|jd jdks~t|jd jd jd jdkstt|jd jd jdkst|jd jd jd jd jd jdkst|jd jd jd jd jd jdkst|jd jd jd jd jd jdksDtt|}|jd jd	ksdt|jd jd jd
kstt|jd jdkst|jd jd jd jdkstt|jd jd jdkst|jd jd jd jd jd jdks
t|jd jd jd jd jd jdks8t|jd jd jd jd jd jdksft|jd jd jd jd jd jdkst|jd jd jd jd jd jdkst|jd jd jd jd jd jdkst|jd jd jd jd jd jdkst|jd jd jd jd jd jdksLt|jd jd jd jd jd jdksztd S )Nr   r   r   r   r   r   r   r   ZmtableZmtrZmtdr   r   r   r   r   r   r   r   )ro   rG  r   r   r   r   r   r   r   r   r   r   !test_presentation_mathml_matrices  s     
 


" 







rZ  c                  C   s   t } tt| t ddf}|jd jdks.tt|jd jdksFt|jd jd jd jdksftt|jd jd jdkst|jd jd jd jdkst|jd jd jd	kstd S )
Nr   r   r   Z
munderoverr   z&#x2211;r   10r   )	r   rG  r   r   r   r   r   r   r   r   r   r   r   test_presentation_mathml_sumsF  s    r\  c                  C   s   t td td  t } t| jdks,t| jd jd jd jdksLt| jd jd jd jdkslt| jd jd jdkst| jd jd jd jdkst| jd jd jd jd	kst| jd
 jd jdkst| jd jd jdkstd S )Nr   r   r   r   r   r   -r   r   r   +)rG  r   r   r   r   r   r   r   r   r   r   test_presentation_mathml_addS  s"    r_  c                  C   st   t tdd} | jdkstt tdd}|jdks<t|jd jd jdksVt|jd jd jdksptd S )	Nr   rK  r   r   rO  r   r   r   )rG  r   r   r   r   r   r   r   r   r   r   !test_presentation_mathml_Rationalc  s    r`  c                  C   s   t t} | jd jdkstt t} | jd jdks<tt t} | jd jdksZtt t} | jd jdksxtt	t
dddkstt	tjddd	kstt	tjddd
kstt	tjdddkstt	tdddkstt	tjdddkstd S )Nr   z&ImaginaryI;z&ExponentialE;z&#x221E;z&pi;rR  rS  <mi>&#x210F;</mi><mi>TribonacciConstant</mi><mi>&#x3B3;</mi><mi>&#x3A6;</mi>z*<mover><mo>&#x221E;</mo><mo>~</mo></mover>z<mi>NaN</mi>)rG  r   r   r   r   r   r   r   r   r~   rx   r   r   r   r   r
   r   r   r   r   r   "test_presentation_mathml_constantsm  s,    




re  c                  C   s  t tt} | jd jd jdks(tt tt} | jd jd jdksPtt tt} | jd jd jdksxtt t	t} | jd jd jdkstt t
t} | jd jd jdkstt tt} | jd jd jdkstt tt} | jd jd jdkstt tt} | jd jd jd	ksDtt tt} | jd jd jd
ksntt tt} | jd jd jdkstt tt} | jd jd jdkstt tt} | jd jd jdkstd S )Nr   r?   rB   r=   r   r   r   r4   r5   r+   r   r   r   )rG  r   r?   r   r   r   r   rB   r=   rE   rF   r>   r4   r5   r+   r/   r-   r2   r   r   r   r   test_presentation_mathml_trig  s0    rf  c                  C   s  t ttd} t| jdks"t| jd jdks6t| jd jd jdksPt| jd jdksdt| jd jd jdks~t| jd jd	kst| jd jd jd
kstt t	dt}t|jdkst|jd jd	kst|jd jd jd
kst|jd jdkst|jd jd jdks.t|jd jdksDt|jd jd jdks`tt t
dt}t|jdkst|jd jd	kst|jd jd jd
kst|jd jdkst|jd jd jdkst|jd jdkst|jd jd jdkstt tdt}t|jdks>t|jd jd	ksTt|jd jd jd
kspt|jd jdkst|jd jd jdkst|jd jdkst|jd jd jdkstd S )Nr   r   r   rJ  r   rL  =r   rK  r   z&#x2260;z&#x2265;<)rG  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   #test_presentation_mathml_relational  s@    ri  c                  C   s  t t} | jdkst| jd jdks,t~ t td} | jdksJt| jd jdks^t| jd jd jdksxt| jd jdkst| jd jd jdkst~ t td} | jdkst| jd jdkst| jd jd jdkst| jd jdkst| jd jd jdks$t~ t td	} | jd
ksDt| jd jdksZt| jd jd jdksvt| jd jdkst| jd jd jdkst~ t td} | jdkst| jd jdkst| jd jd jdkst| jd jdkst| jd jd jdks,t| jd jdksBt| jd jd jdks^t~ t td} | jdks~t| jd jdkst| jd jd jdkst| jd jdkst| jd jd jdkst| jd jdkst| jd jd jdkst~ t td} | jd
ks4t| jd jdksJt| jd jd jdksft| jd jdks|t| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdks6t~ t td} | jdksVt| jd jdkslt| jd jd jdkst| jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdks6t| jd jd jd jdksXt~ t td} | jdksxt| jd jdkst| jd jd jdkst| jd jdkst| jd jd jdkst| jd jd jd jdkst| jd jd jdkst| jd jd jd jdks<t| jd jd jdksXt| jd jd jd jdkszt~ d S )NrJ  r   r   r   rM  r   r   r   r   Zmsubr   Zmsubsupr   r   r   r   rI  rL  r   r   r   r   )rG  r   r   r   r   r   r   r   r   r   r   r   test_presentation_symbol  s    
"""""""""rj  c                  C   s  t td} | jdkst| jd jdks0tt tddksFtt tddks\tt tdd	ksrtt td
dkstt tddkstt tddkstt tddkstt tddkstt tddkstt tddkstt tddks&tt tddks>tt tddksVtt tddksntt td d!kstt td"d#kstt td$d%kstt td&d'kstt td(d)kstt td*d+kstt td,d-kstt td.d/ks.tt td0d1ksFtt td2d3ks^tt td4d5ksvtt td6d7kstt td8d9kstt td:d;kstt td<d=kstt td>d?kstt td@dAkstt tdBdCkstt tdDdEks6tt tdFdGksNtt tdHdIksftt tdJdKks~tt tdLdMkstt tdNdOkstt tdPdQkstt tdRdSkstt tdTdUkstt tdVdWkstt tdXdYks&tt tdZd[ks>tt td\d]ksVtt td^d_ksntt td`dakstt tdbdckstt tdddekstd S )fNr   rJ  r   r   z<mi>&#945;</mi>r   z<mi>&#946;</mi>rP   z<mi>&#947;</mi>r   z<mi>&#948;</mi>r   z<mi>&#949;</mi>re   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>r	  z<mi>&#962;</mi>r
  z<mi>&#963;</mi>r  z<mi>&#964;</mi>r  z<mi>&#965;</mi>r  z<mi>&#966;</mi>r  z<mi>&#967;</mi>r  z<mi>&#968;</mi>r  z<mi>&#969;</mi>r  z<mi>&#913;</mi>r  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>r  z<mi>&#922;</mi>r   z<mi>&#923;</mi>r  z<mi>&#924;</mi>r  z<mi>&#925;</mi>r  z<mi>&#926;</mi>r  z<mi>&#927;</mi>r  z<mi>&#928;</mi>r   z<mi>&#929;</mi>r!  z<mi>&#931;</mi>r"  z<mi>&#932;</mi>r#  z<mi>&#933;</mi>r$  z<mi>&#934;</mi>r%  z<mi>&#935;</mi>r&  z<mi>&#936;</mi>r'  z<mi>&#937;</mi>)rG  r   r   r   r   r   r   r   r   r   r   r   test_presentation_mathml_greek-  sh    rk  c                  C   s  t d t d t  dt  td   td  } tddi}|| }|jd jdksVt|jd jd jd jdksvt|jd jd	 jd jd
kst|jd jdkst|jd jd jd jdkst|jd jd	 jd jdksttddi}|| }|jd jdkst|jd jd jd jdks8t|jd jd	 jd jdksZt|jd jdkspt|jd jd jd jdkst|jd jd	 jd jd
kstd S )Nr   r   r   r)  r*  r   rM  r   r   r      r   r   r,  )r   r   r{   r   r   r   r   r   r.  r   r   r   test_presentation_mathml_orderf  s"    ,
    
"""rm  c                  C   s   t ddd} ttd| dks$tttd| dddks@tttd| dddks\tttd| dddksxtttd| ddd	kstd S )
Nr   Trealr   zG<mrow><mfenced close="]" open="["><mn>0</mn><mi>a</mi></mfenced></mrow>FzG<mrow><mfenced close="]" open="("><mn>0</mn><mi>a</mi></mfenced></mrow>zG<mrow><mfenced close=")" open="["><mn>0</mn><mi>a</mi></mfenced></mrow>zG<mrow><mfenced close=")" open="("><mn>0</mn><mi>a</mi></mfenced></mrow>)r   rG  r   r   r   r   r   r   r   test_print_intervals  s     rq  c                	   C   s   t tddkstt tdtdks.tt tdttdksHtt tdddddd	ksftt tddtdddd
kstd S )Nr   z*<mrow><mfenced><mn>0</mn></mfenced></mrow>z4<mrow><mfenced><mn>0</mn><mi>a</mi></mfenced></mrow>z><mrow><mfenced><mn>0</mn><mi>a</mi><mi>a</mi></mfenced></mrow>r   r   r   r   zR<mrow><mfenced><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn></mfenced></mrow>zr<mrow><mfenced><mn>0</mn><mn>1</mn><mrow><mfenced><mn>2</mn><mn>3</mn><mn>4</mn></mfenced></mrow></mfenced></mrow>)rG  r   r   r   r   r   r   r   r   test_print_tuples  s    rr  c                   C   sd   t ttdkstt ttdks,tt ttd dksFtt ttd dks`td S )NzJ<mrow><mi mathvariant="fraktur">R</mi><mfenced><mi>x</mi></mfenced></mrow>zJ<mrow><mi mathvariant="fraktur">I</mi><mfenced><mi>x</mi></mfenced></mrow>r   zk<mrow><mrow><mi mathvariant="fraktur">R</mi><mfenced><mi>x</mi></mfenced></mrow><mo>+</mo><mn>1</mn></mrow>)rG  r   r$   r   r   r%   r   r   r   r   test_print_re_im  s    rs  c                   C   s4   t ttdkstt ttd dks0td S )Nz=<mrow><mfenced close="|" open="|"><mi>x</mi></mfenced></mrow>r   z^<mrow><mfenced close="|" open="|"><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow></mfenced></mrow>)rG  r   r'   r   r   r   r   r   r   test_print_Abs  s    rt  c                   C   s*   t ttddgddggdks&td S )Nr   r   r   r   z<mrow><mfenced close="|" open="|"><mfenced close="]" open="["><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></mfenced></mfenced></mrow>)rG  r   rp   ro   r   r   r   r   r   test_print_Determinant  s    ru  c                   C   s   t tdd  d S )Nc                   S   s   t tdddS )NrR  r1  )rT  r2  r3  r   r   r   r   r4    s   z,test_presentation_settings.<locals>.<lambda>r6  r   r   r   r   test_presentation_settings  s    rv  c                  C   sh   dd l } | jjd}| jjd}| }| }t  t  || ksTt|| ksdtd S )Nr   r   rD  )	Zxml.dom.minidomdomZminidomparseStringZtoprettyxmlr   Zapply_patchZrestore_patchr   )xmlZdoc1Zdoc2Zprettyxml_old1Zprettyxml_old2r   r   r   test_toprettyxml_hooking  s    rz  c                  C   sz   ddl m} m}m}m}m} t|dks.tt| dks@tt|dksRtt|dksdtt|dksvt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>)	Z
sympy.setsr|  r}  r~  r  r  rG  r   r   r{  r   r   r   test_print_domains  s    r  c                   C   sJ   t t dkstt t t dks,tt tdd dksFt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>)rG  r   r   r   r   r   r   r   r   r    test_print_expression_with_minus  s    r  c                  C   s<   ddl m}  G dd d| }|dd}t|dks8td S )Nr   )AssocOpc                   @   s   e Zd ZdZdS )z'test_print_AssocOp.<locals>.TestAssocOpr   N)__name__
__module____qualname__identityr   r   r   r   TestAssocOp  s   r  r   r   z5<mrow><mi>testassocop</mi><mn>1</mn><mn>2</mn></mrow>)Zsympy.core.operationsr  rG  r   r   )r  r  r/  r   r   r   test_print_AssocOp  s    
r  c                  C   s:   t tdtd} t| dks$tt| dks6td S )Nr   r   zB<mrow><mi>basic</mi><mfenced><mn>1</mn><mn>2</mn></mfenced></mrow>z#<basic><cn>1</cn><cn>2</cn></basic>)r   r   rG  r   r   r   r/  r   r   r   test_print_basic  s
    r  c                  C   sZ   t ddgddgg} t| ddddks*tt| dd	dd
ks@tt| ddddksVtd S )Nr   r   r   r   rR  [)rT  Z	mat_delimz<mfenced close="]" open="["><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></mfenced>(z<mfenced><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></mfenced> 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>)ro   r~   r   r  r   r   r   test_mat_delim_print  s    r  c                  C   sL   t t} t| dddkstt| ddddks2tt| ddddksHtd S )NrR  rS  z6<mrow><mi>log</mi><mfenced><mi>x</mi></mfenced></mrow>F)rT  Zln_notationTz5<mrow><mi>ln</mi><mfenced><mi>x</mi></mfenced></mrow>)r*   r   r~   r   r  r   r   r   test_ln_notation_print  s    
r  c                  C   sx   t t } t| dddkstt| dd ddks2tt| ddddksHtt| ddddks^tt| dd	dd
ksttd S )NrR  rS  z:<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi></mrow>)rT  Z
mul_symboldotz0<mrow><mi>x</mi><mo>&#xB7;</mo><mi>y</mi></mrow>Z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   r  r   r   r   test_mul_symbol_print  s     
r  c                   C   s   t tddddkstd S )Nr   r   r   zN<mrow><mi>&#x3A6;</mi><mfenced><mn>1</mn><mn>2</mn><mn>3</mn></mfenced></mrow>)rG  r   rc   r   r   r   r   r   test_print_lerchphi  s    r  c                   C   s4   t tttdkstttttdks0td S )Nz-<apply><polylog/><ci>x</ci><ci>y</ci></apply>zL<mrow><msub><mi>Li</mi><mi>x</mi></msub><mfenced><mi>y</mi></mfenced></mrow>)r   r   ra   r   r   r   rG  r   r   r   r   test_print_polylog  s    r  c                  C   sD   t dddh} t| dks ttdddh}t|dks@td S )Nr   r   r   zD<mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mn>5</mn></mfenced>r   D<mfenced close="}" open="{"><mn>1</mn><mn>2</mn><mn>3</mn></mfenced>)	frozensetrG  r   r   set)rQ  sr   r   r   test_print_set_frozenset!  s    r  c                  C   s"   t tdd} t| dkstd S )Nr   r   zD<mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mi>x</mi></mfenced>)r   r   rG  r   r   )f1r   r   r   test_print_FiniteSet*  s    r  c                   C   s2   t ttdkstt tttdks.td S )Nz4<mrow><mi>W</mi><mfenced><mi>x</mi></mfenced></mrow>z><mrow><mi>W</mi><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow>)rG  r   r)   r   r   r   r   r   r   r   test_print_LambertW0  s    r  c                   C   s   t tjdkstd S )Nz<mo>&#x2205;</mo>)rG  r   r   r   r   r   r   r   r   test_print_EmptySet5  s    r  c                   C   s   t tjdkstd S )Nz<mo>&#x1D54C;</mo>)rG  r   r   ZUniversalSetr   r   r   r   r   test_print_UniversalSet9  s    r  c                   C   sB   t t dkstt tddks*tt t dks>td S )Nz<mi>&#x210B;</mi>r   z <msup>&#x1D49E;<mn>2</mn></msup>z<mi>&#x2131;</mi>)rG  r   ry   r   rv   rw   r   r   r   r   test_print_spaces=  s    r  c                   C   sR   t tdkstt tjdks&tt tjdks:tt tjdksNtd S )Nra  rb  rd  rc  )rG  r   rx   r   r   r   r   r   r   r   r   r   test_print_constantsC  s    r  c                   C   s   t tttjdkstd S )NzN<mrow><mi>x</mi><mo>&#x2208;</mo><mi mathvariant="normal">&#x2115;</mi></mrow>)rG  r   r   r   r   r}  r   r   r   r   r   test_print_ContainsJ  s    r  c                   C   s   t ttdkstd S )Nz<msup><mi>x</mi>&#x2020;</msup>)rG  r   rz   r   r   r   r   r   r   test_print_DaggerO  s    r  c                  C   sl  t tdd} t tdd}dd }|t| |ddd	ks:t|t| |ddd
ksTt|t| |dddksnt|t| |dddkstt t}t t	}t t
}t||dd}t||dd}t||dd}t||dd}	t||}
|t||dddkst|t||dddkst|t||	dddks4t|t||
dddksPt|t||dkshtd S )Nr   r   r   r   c                 S   s   t | ddS )NrR  rS  )r~   )r   r   r   r   r4  W  r5  z"test_print_SetOp.<locals>.<lambda>Fr   z<mrow><mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mi>x</mi></mfenced><mo>&#x222A;</mo><mfenced close="}" open="{"><mn>2</mn><mn>4</mn><mi>y</mi></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mi>x</mi></mfenced><mo>&#x2229;</mo><mfenced close="}" open="{"><mn>2</mn><mn>4</mn><mi>y</mi></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mi>x</mi></mfenced><mo>&#x2216;</mo><mfenced close="}" open="{"><mn>2</mn><mn>4</mn><mi>y</mi></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mi>x</mi></mfenced><mo>&#x2206;</mo><mfenced close="}" open="{"><mn>2</mn><mn>4</mn><mi>y</mi></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mi>a</mi></mfenced><mo>&#x222A;</mo><mfenced><mrow><mfenced close="}" open="{"><mi>c</mi></mfenced><mo>&#x2229;</mo><mfenced close="}" open="{"><mi>d</mi></mfenced></mrow></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mi>a</mi></mfenced><mo>&#x2229;</mo><mfenced><mrow><mfenced close="}" open="{"><mi>c</mi></mfenced><mo>&#x2216;</mo><mfenced close="}" open="{"><mi>d</mi></mfenced></mrow></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mi>a</mi></mfenced><mo>&#x2216;</mo><mfenced><mrow><mfenced close="}" open="{"><mi>c</mi></mfenced><mo>&#x2206;</mo><mfenced close="}" open="{"><mi>d</mi></mfenced></mrow></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mi>a</mi></mfenced><mo>&#x2206;</mo><mfenced><mrow><mfenced close="}" open="{"><mi>c</mi></mfenced><mo>&#x00d7;</mo><mfenced close="}" open="{"><mi>d</mi></mfenced></mrow></mfenced></mrow>z<mrow><mfenced close="}" open="{"><mi>a</mi></mfenced><mo>&#x00d7;</mo><mfenced><mrow><mfenced close="}" open="{"><mi>c</mi></mfenced><mo>&#x222A;</mo><mfenced close="}" open="{"><mi>d</mi></mfenced></mrow></mfenced></mrow>)r   r   r   r   r   r   r   r   r   r;  r<  r   )r  f2Zprntrr   r=  r>  r?  r@  rA  ZD1rB  r   r   r   test_print_SetOpS  sL    



r  c                	   C   sT  t tttdkstt tttdks0tt tttdksHtt tttdks`tt t	ttdksxtt tt
tttdkdkstt tt
tdtdk ttd	 kd
kstt tt
tttdkdkstt tt
tdttdk ttd	 kdkstt ttdks2tt ttttdksPt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><mfenced><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></mfenced></mrow>z&<mrow><mo>&#xAC;</mo><mi>x</mi></mrow>za<mrow><mo>&#xAC;</mo><mfenced><mrow><mi>x</mi><mo>&#x2227;</mo><mi>y</mi></mrow></mfenced></mrow>)rG  r   rk   r   r   r   rh   rg   rm   rl   r   rn   r   r   r   r   test_print_logic  s>    "&
r  c                   C   s   t ttjd  dddkstt ttjd  ddddks>tt ttjd  ddd	ks\tt ttjd  dddd
ks|tt ttdd dddkstt ttdd ddddkstd S )Nr   rR  rS  z#<mroot><mi>x</mi><mn>3</mn></mroot>F)rT  Z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>rE  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   ZOner   r   r   r   r   r   test_root_notation_print  s$    r  c                  C   sR   t tdd } t| dddks"tt| ddddks8tt| dd	ddksNtd S )
Nr   r   rR  rS  z:<msup><mi>x</mi><mfrac><mn>5</mn><mn>2</mn></mfrac></msup>T)rT  Zfold_frac_powerszJ<msup><mi>x</mi><mfrac bevelled="true"><mn>5</mn><mn>2</mn></mfrac></msup>F)r   r   r~   r   r  r   r   r   test_fold_frac_powers_print  s    
r  c                  C   sN   t dd} t| dddkstt| ddddks4tt| dd	ddksJtd S )
Nr   r   rR  rS  z#<mfrac><mn>2</mn><mn>5</mn></mfrac>T)rT  Zfold_short_fracz3<mfrac bevelled="true"><mn>2</mn><mn>5</mn></mfrac>F)r   r~   r   r  r   r   r   test_fold_short_frac_print  s    

r  c                   C   s   t ttdkstt ttd dks0tt ttdksFtt ttd dks`tt tttdksxtt tdtt dkstd S )	Nz!<mrow><mi>x</mi><mo>!</mo></mrow>r   zU<mrow><mfenced><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow></mfenced><mo>!</mo></mrow>z"<mrow><mi>x</mi><mo>!!</mo></mrow>zV<mrow><mfenced><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow></mfenced><mo>!!</mo></mrow>zH<mfenced><mfrac linethickness="0"><mi>x</mi><mi>y</mi></mfrac></mfenced>r   zi<mfenced><mfrac linethickness="0"><mn>4</mn><mrow><mi>x</mi><mo>+</mo><mi>y</mi></mrow></mfrac></mfenced>)rG  r   r   r   r   r   r   r   r   r   r   r   test_print_factorials  s    r  c                  C   s    t t} t| dddkstd S )NrR  rS  zI<mrow><mfenced close="&#8971;" open="&#8970;"><mi>x</mi></mfenced></mrow>)r8   r   r~   r   r  r   r   r   test_print_floor  s    
r  c                  C   s    t t} t| dddkstd S )NrR  rS  zI<mrow><mfenced close="&#8969;" open="&#8968;"><mi>x</mi></mfenced></mrow>)r7   r   r~   r   r  r   r   r   test_print_ceiling  s    
r  c                  C   sL   t ttd } t| dddks"tt ttftt } t| dddksHtd S )Nr   rR  rS  zf<mfenced><mrow><mi>x</mi><mo>&#x21A6;</mo><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow></mrow></mfenced>z<mfenced><mrow><mrow><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow><mo>&#x21A6;</mo><mrow><mi>x</mi><mo>+</mo><mi>y</mi></mrow></mrow></mfenced>)r   r   r~   r   r   r  r   r   r   test_print_Lambda  s    

r  c                   C   s4   t ttdkstt ttd dks0t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>)rG  r   r&   r   r   r   r   r   r   test_print_conjugate  s    r  c                  C   s`   t ddd} ttdddks$tttd| dks<ttt| d | d d	ks\td S )
Nr   Trn  r   r   zH<mfenced close="&#10217;" open="&#10216;"><mn>0</mn><mn>1</mn></mfenced>zH<mfenced close="&#10217;" open="&#10216;"><mn>0</mn><mi>a</mi></mfenced>r   z<mfenced close="&#10217;" open="&#10216;"><mrow><mi>a</mi><mo>+</mo><mn>1</mn></mrow><mrow><mi>a</mi><mo>+</mo><mn>2</mn></mrow></mfenced>)r   rG  r   r   r   rp  r   r   r   test_print_AccumBounds  s    r  c                   C   sz   t tddkstt tddks,tt tddksBtt tdt dks\tt td	t d
ksvt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>)rG  r   r   r   r   r   r   r   r   test_print_Float  s
    r  c                   C   sD  t ttdkstt tttdks.tt tttdksFtt ttdks\tt tttdksttt t	tdkstt t
tdkstt ttdkstt ttd	kstt ttd
kstt ttdkstt ttdkstt ttdks(tt ttdks@td S )Nz:<mrow><mi>&#x393;</mi><mfenced><mi>x</mi></mfenced></mrow>zD<mrow><mi>&#x3B3;</mi><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow>zD<mrow><mi>&#x393;</mi><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow>z:<mrow><mi>&#x3B6;</mi><mfenced><mi>x</mi></mfenced></mrow>zD<mrow><mi>&#x3B6;</mi><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow>z:<mrow><mi>&#x3B7;</mi><mfenced><mi>x</mi></mfenced></mrow>z:<mrow><mi>&#x39A;</mi><mfenced><mi>x</mi></mfenced></mrow>z:<mrow><mi>&#x3D5;</mi><mfenced><mi>x</mi></mfenced></mrow>z:<mrow><mi>&#x3BB;</mi><mfenced><mi>x</mi></mfenced></mrow>z:<mrow><mi>&#x3BD;</mi><mfenced><mi>x</mi></mfenced></mrow>z:<mrow><mi>&#x3A9;</mi><mfenced><mi>x</mi></mfenced></mrow>z4<mrow><mi>S</mi><mfenced><mi>x</mi></mfenced></mrow>z4<mrow><mi>C</mi><mfenced><mi>x</mi></mfenced></mrow>z]<mrow><mi>&#x398;</mi><mfenced><mi>x</mi><mfrac><mn>1</mn><mn>2</mn></mfrac></mfenced></mrow>)rG  r   rP   r   r   rR   r   rQ   re   rd   rJ   rr   rs   rt   ru   rM   rL   rG   r   r   r   r   test_print_different_functions  s    r  c                   C   s:   t d dkstt tdks$tt tdks6td S )Nz<mi>None</mi>z<mi>True</mi>z<mi>False</mi>)rG  r   r   rj   ri   r   r   r   r   test_mathml_builtins!  s    r  c                   C   s   t tdddkstt tdddks0tt tddddksJtt tdd	dd
ksdtt td	dddks~tt tdtddkstt ttdddkstt tdt ddkstd S )Nr   3   zU<mfenced close="}" open="{"><mn>1</mn><mn>2</mn><mi>&#8230;</mi><mn>50</mn></mfenced>r   r  r   r   zD<mfenced close="}" open="{"><mn>0</mn><mn>1</mn><mn>2</mn></mfenced>   zU<mfenced close="}" open="{"><mn>0</mn><mn>1</mn><mi>&#8230;</mi><mn>29</mn></mfenced>rE  zV<mfenced close="}" open="{"><mn>30</mn><mn>29</mn><mi>&#8230;</mi><mn>2</mn></mfenced>r   zJ<mfenced close="}" open="{"><mn>0</mn><mn>2</mn><mi>&#8230;</mi></mfenced>rF  zJ<mfenced close="}" open="{"><mi>&#8230;</mi><mn>2</mn><mn>0</mn></mfenced>zL<mfenced close="}" open="{"><mn>-2</mn><mn>-3</mn><mi>&#8230;</mi></mfenced>)rG  r   r   r   r   r   r   r   r   test_mathml_Range'  s0    r  c                   C   s8   t ttdkstt tdtd dks4t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>)rG  r   r(   r   r   r   r   r   r   test_print_exp;  s    r  c                   C   sp   t tttdkstt ttdtd dks6tt tttdksNtt ttdtd dksltd S )Nz@<mrow><mo>min</mo><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow>r   r   za<mrow><mo>min</mo><mfenced><mn>2</mn><mi>x</mi><msup><mi>x</mi><mn>3</mn></msup></mfenced></mrow>z@<mrow><mo>max</mo><mfenced><mi>x</mi><mi>y</mi></mfenced></mrow>za<mrow><mo>max</mo><mfenced><mn>2</mn><mi>x</mi><msup><mi>x</mi><mn>3</mn></msup></mfenced></mrow>)rG  r   r:   r   r   r   r9   r   r   r   r   test_print_MinMaxB  s    r  c                  C   s:  t d} tt| dddks ttt| dddks8ttt| dddksPttt| dddkshttt| dddksttt| dddksttt	| ddd	ksttt| t
ddd
ksttt| t
ddd
ksttt| t
dddksttt| t
dddksttt	| t
dddks6td S )NnrR  rS  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>zK<mrow><msub><mi>B</mi><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>zK<mrow><msub><mi>E</mi><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>zK<mrow><msub><mi>F</mi><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>zK<mrow><msub><mi>T</mi><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r   r~   r   r   r#   r   r    r"   r   r!   r   )r  r   r   r    test_mathml_presentation_numbersO  sJ    
r  c                   C   st   t ttttdddkstt ttttdddks8tt ttttdddksTtt ttttdddksptd S )NrR  rS  zH<mrow><mi>C</mi><mfenced><mi>x</mi><mi>y</mi><mi>z</mi></mfenced></mrow>zH<mrow><mi>S</mi><mfenced><mi>x</mi><mi>y</mi><mi>z</mi></mfenced></mrow>zP<mrow><mi>C&#x2032;</mi><mfenced><mi>x</mi><mi>y</mi><mi>z</mi></mfenced></mrow>zP<mrow><mi>S&#x2032;</mi><mfenced><mi>x</mi><mi>y</mi><mi>z</mi></mfenced></mrow>)	r~   rV   r   r   rU  r   rT   rU   rS   r   r   r   r    test_mathml_presentation_mathieuk  s    r  c                   C   s6   t ttdddkstt tttdddks2td S )NrR  rS  z(<msub><mi>&#x03B3;</mi><mi>n</mi></msub>zR<mrow><msub><mi>&#x03B3;</mi><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   rb   r  r   r   r   r   r   r   "test_mathml_presentation_stieltjesv  s    r  c                  C   s^   t ddd} t| dkstt| dks0tt| dddd	ksFtt| dd
dksZtd S )Nr   r   r   z
<mi>A</mi>z
<ci>A</ci>rR  bold)rT  mat_symbol_stylez<mi mathvariant="bold">A</mi>)r  )rq   rG  r   r   r   r~   )r   r   r   r   test_print_matrix_symbol}  s    r  c                  C   s   ddl m}  ddl m} tddd}tddd}t| ||| ddd	ksNtt| ||| ddd
ksltt| |||dddkstt|| ||dddkstd S )Nr   )HadamardProduct)	TransposeXr   YrR  rS  zI<mrow><mi>X</mi><mo>&#x2218;</mo><msup><mi>Y</mi><mn>2</mn></msup></mrow>zu<mrow><mfenced><mrow><mi>X</mi><mo>&#x2218;</mo><mi>Y</mi></mrow></mfenced><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>z\<msup><mfenced><mrow><mi>X</mi><mo>&#x2218;</mo><mi>Y</mi></mrow></mfenced><mo>T</mo></msup>)Zsympy.matrices.expressionsr  r  rq   r~   r   )r  r  r  r  r   r   r   test_print_hadamard  s&     r  c                  C   s4   t td} t| dkstt| dks0td S )NRz
<mi>R</mi>z
<ci>R</ci>)r   r   rG  r   r   r   )r  r   r   r   test_print_random_symbol  s    r  c                   C   sr   t ttt dddkstt tttttf dddks>tt ttt ttt  tt dddksntd S )NrR  rS  z!<msub><mi>a</mi><mi>b</mi></msub>zH<msub><mi>a</mi><mfenced><mi>b</mi><mi>c</mi><mi>d</mi></mfenced></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   r:  r   r;  r<  er   r   r   r   test_print_IndexedBase  s     r  c                   C   sT   t ttdddkstt ttt dddks4tt tttfdddksPtd S )NrR  rS  z
<mi>a</mi>z0<mrow><mfrac><mi>a</mi><mi>b</mi></mfrac></mrow>z4<mrow><mfenced><mi>a</mi><mi>b</mi></mfenced></mrow>)r~   r   r   r   r:  r   r   r   r   test_print_Indexed  s    r  c                  C   sp   t d\} }td| |}t|d dddks0tt|| |f dddksLtt|| | df ddd	ksltd S )
Nzi jr   )r   r   rR  rS  zO<msub><mi>A</mi><mfenced close="" open=""><mn>0</mn><mn>0</mn></mfenced></msub>zO<msub><mi>A</mi><mfenced close="" open=""><mi>i</mi><mi>j</mi></mfenced></msub>r   z<msub><mi>A</mi><mfenced close="" open=""><mrow><mi>i</mi><mo>&InvisibleTimes;</mo><mi>j</mi></mrow><mn>0</mn></mfenced></msub>)r   rq   r~   r   )ijr   r   r   r   test_print_MatrixElement  s    r  c                  C   s  t d} tt| j| j| j d | j dddks6ttt| j| jdddksTtttt| j| j dddksvtttt| j | jdddkstttd| j | j ddd	kstttdt | j | j ddd
ksttttd| j | j  dddkstttdt | j | j | j dddks>ttt	d| j | j dddksdtttt	d| j | j  dddksttt	dt | j | j | j dddksttt
| j| j| j d | j dddksttt
| j| jdddksttt
t| j | jdddks2tttt
| j| j dddksVttt| jdddksrttt| jd| j  dddkstttt| j dddkstttt| j dddksttt| j| jt| j| j dddksttt| j| jdddks&ttt| jdddksBttt| jd| j  dddkshtttt| j dddkstttt| j dddkstd S )Nr   r   rR  rS  a	  <mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><mfenced><mrow><mfenced><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced><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></mfenced></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><mfenced><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></mfenced></mrow>aI  <mrow><mo>-</mo><mrow><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><mfenced><mrow><mfenced><mi>x</mi></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow></mrow>aP  <mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mfenced><mrow><mfenced><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>as  <mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mfenced><mrow><mfenced><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></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>a  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mfenced><mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mfenced><mrow><mfenced><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow></mfenced></mrow>a  <mrow><mo>&#x2207;</mo><mo>&#xD7;</mo><mfenced><mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>+</mo><mfenced><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></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>aP  <mrow><mo>&#x2207;</mo><mo>&#xB7;</mo><mfenced><mrow><mfenced><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>a  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mfenced><mrow><mo>&#x2207;</mo><mo>&#xB7;</mo><mfenced><mrow><mfenced><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow></mfenced></mrow>a  <mrow><mo>&#x2207;</mo><mo>&#xB7;</mo><mfenced><mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>+</mo><mfenced><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></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>a	  <mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xB7;</mo><mfenced><mrow><mfenced><mrow><mn>3</mn><mo>&InvisibleTimes;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced><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></mfenced></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>a2  <mrow><msub><mover><mi mathvariant="bold">j</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xB7;</mo><mfenced><mrow><mfenced><mi>x</mi></mfenced><mo>&InvisibleTimes;</mo><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>a  <mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mfenced><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></mfenced></mrow>ze<mrow><mo>&#x2207;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow>a  <mrow><mo>&#x2207;</mo><mfenced><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></mfenced></mrow>z<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mfenced><mrow><mo>&#x2207;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>z<mrow><mo>&#x2207;</mo><mfenced><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow></mfenced></mrow>z6<mover><mi mathvariant="bold">0</mi><mo>^</mo></mover>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><mfenced><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></mfenced></mrow>z<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mfenced><mrow><mo>&#x2206;</mo><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub></mrow></mfenced></mrow>z<mrow><mo>&#x2206;</mo><mfenced><mrow><msub><mi mathvariant="bold">x</mi><mi mathvariant="bold">A</mi></msub><mo>&InvisibleTimes;</mo><mi>x</mi></mrow></mfenced></mrow>)r   r~   r   r  r  r   kr   r   r   r   r   r   rU  r   )ZACSr   r   r   test_print_Vector  s    $

$
	

$
	$








"




r  c                   C   s<   t tttdddkstt ttt tdddks8td S )NrR  rS  zU<mrow><mi>&#x1d5a5;</mi><mfenced separators="|"><mi>x</mi><mi>y</mi></mfenced></mrow>z{<mrow><mi>&#x1d5a5;</mi><mfenced separators="|"><mrow><mfrac><mi>x</mi><mi>y</mi></mfrac></mrow><mi>y</mi></mfenced></mrow>)r~   rI   r   r   r   r   r   r   r   test_print_elliptic_fg  s    r  c                   C   s6   t ttdddkstt tttdddks2td S )NrR  rS  zK<mrow><mi>&#x1d5a4;</mi><mfenced separators="|"><mi>x</mi></mfenced></mrow>zU<mrow><mi>&#x1d5a4;</mi><mfenced separators="|"><mi>x</mi><mi>y</mi></mfenced></mrow>)r~   rK   r   r   r   r   r   r   r   test_print_elliptic_em  s    r  c                   C   s:   t tttdddkstt ttttdddks6td S )NrR  rS  zU<mrow><mi>&#x1d6f1;</mi><mfenced separators="|"><mi>x</mi><mi>y</mi></mfenced></mrow>z`<mrow><mi>&#x1d6f1;</mi><mfenced separators=";|"><mi>x</mi><mi>y</mi><mi>z</mi></mfenced></mrow>)r~   rH   r   r   r   rU  r   r   r   r   test_print_elliptic_pis  s    r  c                   C   s8   t ttdddkstt ttt dddks4td S )NrR  rS  z5<mrow><mi>Ei</mi><mfenced><mi>x</mi></mfenced></mrow>zL<mrow><mi>Ei</mi><mfenced><msup><mi>x</mi><mi>y</mi></msup></mfenced></mrow>)r~   rN   r   r   r   r   r   r   r   test_print_Eiy  s    r  c                   C   sH   t tttdddkstt tttd ttd dddksDtd S )NrR  rS  zK<mrow><msub><mo>E</mo><mi>x</mi></msub><mfenced><mi>y</mi></mfenced></mrow>r   r   zy<mrow><msub><mo>E</mo><msub><mi>x</mi><mn>1</mn></msub></msub><mfenced><msub><mi>x</mi><mn>2</mn></msub></mfenced></mrow>)r~   rO   r   r   r   r   r   r   r   r   test_print_expint  s     r  c                   C   s"   t tttttdddkstd S )NrR  rS  zx<mrow><msubsup><mo>P</mo><mi>n</mi><mfenced><mi>a</mi><mi>b</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r~   rW   r  r   r:  r   r   r   r   r   r   test_print_jacobi  s    r  c                   C   s    t ttttdddkstd S )NrR  rS  zn<mrow><msubsup><mo>C</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r~   r\   r  r   r   r   r   r   r   r   test_print_gegenbauer  s    r  c                   C   s   t tttdddkstd S )NrR  rS  zK<mrow><msub><mo>T</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   rY   r  r   r   r   r   r   r   test_print_chebyshevt  s    r  c                   C   s   t tttdddkstd S )NrR  rS  zK<mrow><msub><mo>U</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   rX   r  r   r   r   r   r   r   test_print_chebyshevu  s    r  c                   C   s   t tttdddkstd S )NrR  rS  zK<mrow><msub><mo>P</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   r^   r  r   r   r   r   r   r   test_print_legendre  s    r  c                   C   s    t ttttdddkstd S )NrR  rS  zn<mrow><msubsup><mo>P</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r~   r[   r  r   r   r   r   r   r   r   test_print_assoc_legendre  s    r  c                   C   s   t tttdddkstd S )NrR  rS  zK<mrow><msub><mo>L</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   r_   r  r   r   r   r   r   r   test_print_laguerre  s    r  c                   C   s    t ttttdddkstd S )NrR  rS  zn<mrow><msubsup><mo>L</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r~   r]   r  r   r   r   r   r   r   r   test_print_assoc_laguerre  s    r  c                   C   s   t tttdddkstd S )NrR  rS  zK<mrow><msub><mo>H</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   rZ   r  r   r   r   r   r   r   test_print_hermite  s    r  c                   C   s   t ttdddddkstt ttdddddks8tt ttddddd	ksTtt ttttddd
ksptt ttdddddkstt ttdddddkstd S )Nr   r   rR  rS  zv<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>5</mn></msup>zv<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>+</mo><mn>3</mn></mrow></mfenced><mn>4</mn></msup>r   zU<msup><mfenced close="&#10217;" open="&#10216;"><mi>x</mi></mfenced><mn>4</mn></msup>z<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mrow><mo>-</mo><mi>a</mi></mrow><mo>+</mo><mi>x</mi></mrow></mfenced><mi>n</mi></msup>rF  zw<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>-2</mn></msup>rE  zw<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>-1</mn></msup>)r~   r`   r   r   r   r  r   r   r   r   test_mathml_SingularityFunction  s$    r  c                  C   s  ddl m} m}m} tddd}tddd}t| |dddksDtt| || ddd	ks`tt| || | ddd
kstt| || dddkstt| || | dddkstt| |d dddkstt| |d dddkstt| ||dddkstt|| |dddks0tt| ||dddksNtt|| |dddksltt|| || dddkstt||dddkstt||| dddkstd S )Nr   )AdjointInverser  r  r   r  rR  rS  z(<msup><mi>X</mi><mo>&#x2020;</mo></msup>z\<msup><mfenced><mrow><mi>X</mi><mo>+</mo><mi>Y</mi></mrow></mfenced><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>zk<msup><mfenced><mrow><mi>X</mi><mo>&InvisibleTimes;</mo><mi>Y</mi></mrow></mfenced><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>zR<msup><mfenced><msup><mi>X</mi><mn>2</mn></msup></mfenced><mo>&#x2020;</mo></msup>zR<msup><mfenced><msup><mi>X</mi><mo>&#x2020;</mo></msup></mfenced><mn>2</mn></msup>zS<msup><mfenced><msup><mi>X</mi><mn>-1</mn></msup></mfenced><mo>&#x2020;</mo></msup>zS<msup><mfenced><msup><mi>X</mi><mo>&#x2020;</mo></msup></mfenced><mn>-1</mn></msup>zR<msup><mfenced><msup><mi>X</mi><mo>T</mo></msup></mfenced><mo>&#x2020;</mo></msup>zR<msup><mfenced><msup><mi>X</mi><mo>&#x2020;</mo></msup></mfenced><mo>T</mo></msup>zs<msup><mfenced><mrow><msup><mi>X</mi><mo>&#x2020;</mo></msup><mo>+</mo><mi>Y</mi></mrow></mfenced><mo>T</mo></msup>z!<msup><mi>X</mi><mo>T</mo></msup>zU<msup><mfenced><mrow><mi>X</mi><mo>+</mo><mi>Y</mi></mrow></mfenced><mo>T</mo></msup>)sympy.matricesr  r  r  rq   r~   r   )r  r  r  r  r  r   r   r   test_mathml_matrix_functions  sZ    





r  c                  C   sd   ddl m} m}m} t| ddddks,tt|dddddksFtt|ddddd	ks`td S )
Nr   Identity
ZeroMatrix	OneMatrixr   rR  rS  z<mi>&#x1D540;</mi>r   z<mn>&#x1D7D8</mn>z<mn>&#x1D7D9</mn>)r  r  r  r  r~   r   r  r   r   r   test_mathml_special_matrices  s    r  c                      sH   ddl m  t ttdkftd dfdks2ttt fd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                      s   t  ttdkfS r   r3  r   r  r   r   r4    r5  z'test_mathml_piecewise.<locals>.<lambda>)Z$sympy.functions.elementary.piecewiser  r~   r   r   r   
ValueErrorr   r   r  r   test_mathml_piecewise  s
    r  c                   C   s>   t tt tdddkstt ttt ddddks:td S )NrR  rS  ze<mfenced close="}" open="{"><mi>&#8230;</mi><mn>-1</mn><mn>0</mn><mn>1</mn><mi>&#8230;</mi></mfenced>rE  ze<mfenced close="}" open="{"><mi>&#8230;</mi><mn>1</mn><mn>0</mn><mn>-1</mn><mi>&#8230;</mi></mfenced>)r~   r   r   r   r   r   r   r   test_issue_17857  s    r  c                  C   s,   t d} tt| d}| |ks(td S )Ng@;?z</cn>)r   floatr   r   stripr   )r   r   r   r   r   test_float_roundtrip  s    r  N(2  Z!sympy.calculus.accumulationboundsr   Zsympy.concrete.summationsr   Zsympy.core.basicr   Zsympy.core.containersr   Zsympy.core.functionr   r   r   r	   Zsympy.core.numbersr
   r   r   r   r   r   r   r   Zsympy.core.relationalr   r   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Zsympy.core.sympifyr   Z(sympy.functions.combinatorial.factorialsr   r   r   Z%sympy.functions.combinatorial.numbersr   r   r   r    r!   r"   r#   Z$sympy.functions.elementary.complexesr$   r%   r&   r'   Z&sympy.functions.elementary.exponentialr(   r)   r*   Z%sympy.functions.elementary.hyperbolicr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   Z#sympy.functions.elementary.integersr7   r8   Z(sympy.functions.elementary.miscellaneousr9   r:   Z(sympy.functions.elementary.trigonometricr;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   Z'sympy.functions.special.delta_functionsrG   Z*sympy.functions.special.elliptic_integralsrH   rI   rJ   rK   Z'sympy.functions.special.error_functionsrL   rM   rN   rO   Z'sympy.functions.special.gamma_functionsrP   rQ   rR   Z)sympy.functions.special.mathieu_functionsrS   rT   rU   rV   Z#sympy.functions.special.polynomialsrW   rX   rY   rZ   r[   r\   r]   r^   r_   Z-sympy.functions.special.singularity_functionsr`   Z&sympy.functions.special.zeta_functionsra   rb   rc   rd   re   Zsympy.integrals.integralsrf   Zsympy.logic.boolalgrg   rh   ri   rj   rk   rl   rm   rn   Zsympy.matrices.densero   Z&sympy.matrices.expressions.determinantrp   Z"sympy.matrices.expressions.matexprrq   Zsympy.ntheory.factor_rr   rs   rt   ru   Zsympy.physics.quantumrv   rw   rx   ry   rz   Zsympy.printing.mathmlr{   r|   r}   r~   Zsympy.series.limitsr   Zsympy.sets.containsr   Zsympy.sets.fancysetsr   Zsympy.sets.setsr   r   r   r   r   r   r   Zsympy.stats.rvr   Zsympy.tensor.indexedr   Zsympy.vectorr   r   r   r   r   r   r   Zsympy.testing.pytestr   r   r   rU  r   r:  r;  r<  r  r  r   rG  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r(  r0  r8  r9  rC  rH  rN  rP  rV  rW  rY  rZ  r\  r_  r`  re  rf  ri  rj  rk  rm  rq  rr  rs  rt  ru  rv  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  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   <module>   s2  ($88,($$%

%
	 J"k9d
#	)
&&Z9
	



=
"






















'




 















&

	