U
    ZÊ¹j8w ã                	   @   sr  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m€Z€m�Z� d dl‚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Ž d dl�m�Z� d dl‘m’Z’ d d l“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¡ d d$l¢m£Z£ d d%l¤m¥Z¥m¦Z¦m§Z§m¨Z¨m©Z©mªZªm«Z« d d&l¬m­Z­ d d'l®m¯Z¯ d d(l°m±Z±m²Z²m³Z³m´Z´mµZµm¶Z¶m·Z· d d)l¸m¹Z¹ ed*ƒ\	ZºZ»Z¼Z½Z¾Z¿ZÀZÁZÂeœƒ ZÃešƒ ZÄd+d,„ ZÅd-d.„ ZÆd/d0„ ZÇd1d2„ ZÈd3d4„ ZÉd5d6„ ZÊd7d8„ ZËd9d:„ ZÌd;d<„ ZÍd=d>„ ZÎd?d@„ ZÏdAdB„ ZÐdCdD„ ZÑdEdF„ ZÒdGdH„ ZÓdIdJ„ ZÔdKdL„ ZÕdMdN„ ZÖdOdP„ Z×dQdR„ ZØdSdT„ ZÙdUdV„ ZÚdWdX„ ZÛdYdZ„ ZÜd[d\„ ZÝd]d^„ ZÞd_d`„ Zßdadb„ Zàdcdd„ Zádedf„ Zâdgdh„ Zãdidj„ Zädkdl„ Zådmdn„ Zædodp„ Zçdqdr„ Zèdsdt„ Zédudv„ Zêdwdx„ Zëdydz„ Zìd{d|„ Zíd}d~„ Zîdd€„ Zïd�d‚„ Zðdƒd„„ Zñd…d†„ Zòd‡dˆ„ Zód‰dŠ„ Zôd‹dŒ„ Zõd�dŽ„ Zöd�d�„ Z÷d‘d’„ Zød“d”„ Zùd•d–„ Zúd—d˜„ Zûd™dš„ Züd›dœ„ Zýd�dž„ ZþdŸd „ Zÿd¡d¢„ �Z d£d¤„ �Zd¥d¦„ �Zd§d¨„ �Zd©dª„ �Zd«d¬„ �Zd­d®„ �Zd¯d°„ �Zd±d²„ �Zd³d´„ �Z	dµd¶„ �Z
d·d¸„ �Zd¹dº„ �Zd»d¼„ �Zd½d¾„ �Zd¿dÀ„ �ZdÁdÂ„ �ZdÃdÄ„ �ZdÅdÆ„ �ZdÇdÈ„ �ZdÉdÊ„ �ZdËdÌ„ �ZdÍdÎ„ �ZdÏdÐ„ �ZdÑdÒ„ �ZdÓdÔ„ �ZdÕdÖ„ �Zd×dØ„ �ZdÙdÚ„ �ZdÛdÜ„ �ZdÝdÞ„ �Zdßdà„ �Zdádâ„ �Z dãdä„ �Z!dådæ„ �Z"dçdè„ �Z#dédê„ �Z$dëdì„ �Z%dídî„ �Z&dïdð„ �Z'dñdò„ �Z(dódô„ �Z)dõdö„ �Z*d÷dø„ �Z+dùdú„ �Z,dûdü„ �Z-dýdþ„ �Z.dÿ�d „ �Z/�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Ú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)Ú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š   ú_/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/printing/tests/test_mathml.pyÚtest_mathml_printerB   s    rœ   c                   C   s   t  dt ¡dkst‚d S )Nr”   z*<apply><plus/><ci>x</ci><cn>1</cn></apply>)r—   r•   r–   r˜   rš   rš   rš   r›   Útest_content_printmethodG   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s¢t‚|d
 jd jdksìt‚n0|d jd jdksÔt‚|d
 jd jd	ksìt‚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�s–t‚|d
 jd jdk�s°t‚t  t	dd
ƒt ¡}|jdk�sÔt‚|j}|d jdk�sît‚|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_coreK   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s’t‚|jd jd jdks¬t‚t  tttt	 ƒtdd�¡}|jdksÖt‚|jd jd
ksêt‚|jd jd	ksþt‚|jd jd jdk�st‚t  t
tt	ftt	 ƒ¡}|jdk�sBt‚|jd jd	k�sXt‚|jd jd jdk�stt‚|jd jd	k�sŠt‚|jd jd jdk�s¦t‚|jd jdk�s¼t‚d S )Nrž   r   rC   r”   r¢   F©Úevaluater   ÚbvarZpartialdiffÚlambdar¤   )r—   r©   rC   r–   rª   r˜   r«   r   rF   Úyr   ©r¯   r°   r±   Zmml_4rš   rš   r›   Útest_content_mathml_functionsp   sJ    
ÿÿ
ÿÿ

ÿÿ

ÿÿ
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Ÿ   )	rC   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sŠt‚d S )
Nr   r”   Úintr¶   r¤   r¼   rŸ   Úuplimité   )r–   r—   r©   rj   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s†t‚|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sÔt‚|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�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�s„t‚|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�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�s’t‚|jd jd jd
k�s®t‚|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�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�s t‚d S )Nr”   r¤   rŸ   r   é   rÂ   é	   é   Z	matrixrowr¡   r£   r¥   Ú3Ú0Ú5Ú4Ú9Ú7)rs   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sŠt‚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sˆt‚t|jƒdksšt‚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s‚t‚tt
jƒdks”t‚tt
jƒ} | dksªt‚tt
jƒ} | d	ksÀt‚tt
jƒ} | d
ksÖt‚tt
jƒ} | dksìt‚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ÚEmptySetrn   rm   Ú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sˆt‚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sît‚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�s¢t‚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�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�sžt‚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�s
t‚t  ttƒ¡} | jd jdk�s.t‚t  ttƒ¡} | jd jdk�sRt‚d S )Nr   rC   rF   rA   rE   r?   r@   ÚarcsinÚarccosÚarctanZarccotZarccscZarcsecr8   r9   r/   r2   r7   r:   ÚarcsinhÚarctanhÚarccoshZarccothZarccschZarcsech)r—   r©   rC   r–   r«   rª   r˜   rF   rA   rE   r?   r@   rI   rJ   rB   rG   rH   rD   r8   r9   r/   r2   r7   r:   r3   r1   r6   r0   r4   r5   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sŽt‚t  tdtƒ¡}|jdks¬t‚|jd jd
ksÀt‚|jd jdksÔt‚|jd jd jd	ksît‚|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�sˆt‚|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�sðt‚|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š   r›   Útest_content_mathml_relationalY  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s˜t‚| 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sðt‚| 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�s‚t‚~ t  td
ƒ¡} | jdk�s¢t‚| 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�söt‚| 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�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�sæt‚| 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�s˜t‚| 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�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�sˆt‚| 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�sît‚| 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�s‚t‚~ t  tdƒ¡} | jdk�s¢t‚| 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�söt‚| 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�s¦t‚| jd jd jd jdk�sÈt‚| jd jd jd jd jdk�sðt‚~ 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�s€t‚| jd j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�sìt‚| 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_symbol{  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sˆt‚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sàt‚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�s>t‚t  tdƒ¡dk�sVt‚t  tdƒ¡dk�snt‚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�sÎt‚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�s.t‚t  td0ƒ¡d1k�sFt‚t  td2ƒ¡d3k�s^t‚t  td4ƒ¡d5k�svt‚t  td6ƒ¡d7k�sŽt‚t  td8ƒ¡d9k�s¦t‚t  td:ƒ¡d;k�s¾t‚t  td<ƒ¡d=k�sÖt‚t  td>ƒ¡d?k�sît‚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�s–t‚t  tdNƒ¡dOk�s®t‚t  tdPƒ¡dQk�sÆt‚t  tdRƒ¡dSk�sÞt‚t  tdTƒ¡dUk�söt‚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�s†t‚t  tdbƒ¡dck�sžt‚t  tddƒ¡dek�s¶t‚d S )fNÚalphar¢   r   õ   Î±z<ci>&#945;</ci>Úbetaz<ci>&#946;</ci>rT   z<ci>&#947;</ci>Údeltaz<ci>&#948;</ci>Úepsilonz<ci>&#949;</ci>ri   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•   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sœt‚|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söt‚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�sˆt‚|jd jd jd jd	k�sªt‚|jd jd jd jd
k�sÌt‚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"    ,
    
"""r.  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>:  ó    z'test_content_settings.<locals>.<lambda>©r’   Ú	TypeErrorrš   rš   rš   r›   Útest_content_settings9  s    r6  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~   ro   r–   r¸   r˜   rl   rk   rq   rr   rš   rš   rš   r›   Útest_content_mathml_logic=  s
    r7  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sÞt‚t |ƒdksît‚t |ƒdksþt‚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�s€t‚t t| |dd�ƒdk�sœt‚t t||dd�ƒdk�s¸t‚t t||	dd�ƒdk�sÔt‚t t|
|dd�ƒdk�sðt‚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�s�t‚t t
||ƒƒdk�s¨t‚t t
||	ƒƒdk�sÀt‚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_setsE  sš    ÿ

ÿÿÿÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿrA  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”   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š   rš   r›   Útest_presentation_printmethod©  s    ÿÿrE  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sÆt‚n0|d jd jd
ks®t‚|d	 jd jdksÆt‚t  td	 ¡}|jdksât‚|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�sŽt‚t  tdd	ƒt ¡}|jdk�s²t‚|j}|d jd jdk�sÒt‚|d jd jdk�sìt‚|d	 jd jd
k�st‚d S )Nr”   ÚmrowrŸ   r   )ÚmiÚmnÚmorH  r£   r¤   r–   Úmsupr¥   z&InvisibleTimes;r§   r¨   )	rD  r©   r–   rª   r˜   r«   r¬   r­   r   r®   rš   rš   r›   Útest_presentation_mathml_core³  s8    rK  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s”t‚|jd jd jd	ks®t‚|jd jd jd jd jdksÔt‚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   rC   r”   r–   Fr´   rF  z&dd;ZmfencedÚmfracz&#x2202;rF   )rD  r©   rC   r–   r«   r­   r˜   r   rª   rF   r¸   )r¯   r°   r±   rš   rš   r›   Ú"test_presentation_mathml_functionsÖ  sT    ÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿrM  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˜   )rN  r:  rš   rš   r›   Útest_print_derivativeî  s    ÿ
ÿrS  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sžt‚|jd jd jd jd jdksÄt‚d S )	Nr   ZmunderZlimr”   r–   z&#x2192;r¤   rÈ   )	rC   r–   rD  r©   r   r«   rª   r˜   r­   r¾   rš   rš   r›   Útest_presentation_mathml_limits÷  s:    ÿÿÿÿþÿÿþÿÿþrT  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sˆt‚t  ttt |  | tt| |ƒ¡dks²t‚t  tttt| ddfƒ¡d	ksÔt‚t  tttdfƒ¡d
ksðt‚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>)rD  r•   rj   r–   r˜   r.   r¸   r   )rR  Úwrš   rš   r›   Ú"test_presentation_mathml_integrals  s,    ÿÿÿÿ ÿÿÿrV  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sžt‚t|jd jd jƒdks¼t‚|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�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�s€t‚t|jd jƒdk�sšt‚|jd jd jd jdk�s¼t‚t|jd jd jƒdk�sÜt‚|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�s”t‚|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�sðt‚|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Ì   )rs   rD  r©   r«   rª   r˜   r¬   r­   rÍ   rš   rš   r›   Ú!test_presentation_mathml_matrices&  sÄ     
 ÿÿÿÿÿÿ
ÿÿÿ

" ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿrW  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s„t‚|jd jd jd jdks¤t‚|jd jd jd	ks¾t‚d S )
Nr”   rÑ   r   Z
munderoverrŸ   z&#x2211;r¤   Ú10r–   )	r–   rD  r©   r   r«   rª   r˜   r¬   r­   rÓ   rš   rš   r›   Útest_presentation_mathml_sumsO  s    ÿÿrY  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s†t‚| 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ksàt‚| jd jd jdksút‚d S )NrÄ   rÂ   r   r–   r”   rÉ   ú-r¤   rÊ   rŸ   ú+)rD  r©   r–   r¬   r«   r˜   r­   rÙ   rš   rš   r›   Útest_presentation_mathml_add\  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”   rH  r¤   rÄ   rL  r   r¥   rÉ   )rD  r©   r   rª   r˜   r«   r­   rÖ   rš   rš   r›   Ú!test_presentation_mathml_Rationall  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sŒt‚t	tjdd�d	ks¢t‚t	tjdd�d
ks¸t‚t	tjdd�dksÎt‚t	tdd�dksât‚t	tjdd�dksøt‚d S )Nr   z&ImaginaryI;z&ExponentialE;z&#x221E;z&pi;rO  rP  ú<mi>&#x210F;</mi>ú<mi>TribonacciConstant</mi>ú<mi>&#x3B3;</mi>ú<mi>&#x3A6;</mi>z*<mover><mo>&#x221E;</mo><mo>~</mo></mover>z<mi>NaN</mi>)rD  r©   r   r«   r­   r˜   r   r   r   r~   rx   r   rÞ   rà   rß   r
   râ   rÙ   rš   rš   r›   Ú"test_presentation_mathml_constantsv  s,    



ÿÿÿ
ÿrb  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s t‚t  t
tƒ¡} | jd jd jdksÈt‚t  ttƒ¡} | jd jd jdksðt‚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�s˜t‚t  ttƒ¡} | jd jd jdk�sÂt‚t  ttƒ¡} | jd jd jdk�sìt‚d S )Nr   rC   rF   rA   rä   rå   ræ   r8   r9   r/   rç   rè   ré   )rD  r©   rC   r–   r«   r­   r˜   rF   rA   rI   rJ   rB   r8   r9   r/   r3   r1   r6   rÙ   rš   rš   r›   Útest_presentation_mathml_trig�  s0    rc  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s’t‚| jd jd jd
ks¬t‚t  t	dtƒ¡}t|jƒdksÎt‚|jd jd	ksât‚|jd jd jd
ksüt‚|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�s„t‚|jd jd	k�sšt‚|jd jd jd
k�s¶t‚|jd jdk�sÌt‚|jd jd jdk�sèt‚|jd jdk�sþt‚|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�s†t‚|jd jd jdk�s¢t‚|jd jdk�s¸t‚|jd jd jdk�sÔt‚d S )Nr”   rŸ   r   rG  r–   rI  ú=r¤   rH  r£   z&#x2260;z&#x2265;ú<)rD  r©   r   r–   r¬   r«   r˜   rª   r­   r   r   r   r¹   rš   rš   r›   Ú#test_presentation_mathml_relational¶  s@    rf  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sŒt‚| jd jd jdks¦t‚~ t  tdƒ¡} | jdksÄt‚| jd jdksØt‚| jd jd jdksòt‚| 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�sŒt‚| jd jd jdk�s¨t‚~ t  tdƒ¡} | jdk�sÈt‚| jd jdk�sÞt‚| jd jd jdk�sút‚| 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�s”t‚| jd jd jdk�s°t‚| jd jdk�sÆt‚| jd jd jdk�sât‚| jd jdk�søt‚| 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�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�søt‚| 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�sˆt‚| 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�sÜt‚| 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�s6t‚| jd jd jd jdk�sXt‚~ t  tdƒ¡} | jdk�sxt‚| jd jdk�sŽt‚| jd jd jdk�sªt‚| 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�sþt‚| 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 )NrG  r   r–   rî   rJ  r”   r¥   rï   rð   Zmsubrñ   Zmsubsupr¤   rÇ   rò   ró   rF  rI  rô   rõ   rö   r÷   )rD  r©   r–   rª   r˜   r«   r­   r   rÙ   rš   rš   r›   Útest_presentation_symbolÜ  sž    
"""""""""rg  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sˆt‚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sàt‚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�s>t‚t  tdƒ¡dk�sVt‚t  tdƒ¡dk�snt‚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�sÎt‚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�s.t‚t  td0ƒ¡d1k�sFt‚t  td2ƒ¡d3k�s^t‚t  td4ƒ¡d5k�svt‚t  td6ƒ¡d7k�sŽt‚t  td8ƒ¡d9k�s¦t‚t  td:ƒ¡d;k�s¾t‚t  td<ƒ¡d=k�sÖt‚t  td>ƒ¡d?k�sît‚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�s–t‚t  tdNƒ¡dOk�s®t‚t  tdPƒ¡dQk�sÆt‚t  tdRƒ¡dSk�sÞt‚t  tdTƒ¡dUk�söt‚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�s†t‚t  tdbƒ¡dck�sžt‚t  tddƒ¡dek�s¶t‚d S )fNrù   rG  r   rú   z<mi>&#945;</mi>rû   z<mi>&#946;</mi>rT   z<mi>&#947;</mi>rü   z<mi>&#948;</mi>rý   z<mi>&#949;</mi>ri   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>)rD  r©   r   rª   r˜   r«   r­   r•   rÙ   rš   rš   r›   Útest_presentation_mathml_greek6  sh    rh  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s–t‚|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sêt‚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�s’t‚|jd jd	 jd jd
k�s´t‚d S )NrŸ   r¤   rÂ   r'  r(  r   rJ  r–   r”   rÇ   é   r¸   rÊ   r*  )r–   r¸   r{   r©   r«   rª   r˜   r­   r,  rš   rš   r›   Útest_presentation_mathml_ordero  s"    ,
    
"""rj  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s”t‚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   rD  r•   r‚   r˜   ©rõ   rš   rš   r›   Útest_print_intervalsˆ  s     ÿÿÿÿÿrn  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sˆt‚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>)rD  r•   r   r˜   rõ   rš   rš   rš   r›   Útest_print_tuples–  s    ÿÿÿÿÿro  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>)rD  r•   r(   r–   r˜   r)   rš   rš   rš   r›   Útest_print_re_im¤  s    ÿÿÿÿrp  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>)rD  r•   r+   r–   r˜   rš   rš   rš   r›   Útest_print_Abs°  s    ÿÿrq  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>)rD  r•   rt   rs   r˜   rš   rš   rš   r›   Útest_print_Determinant·  s    ÿrr  c                   C   s   t tdd„ ƒ d S )Nc                   S   s   t tddd�S )NrO  r/  )rQ  r0  r1  rš   rš   rš   r›   r2  ½  s   ÿz,test_presentation_settings.<locals>.<lambda>r4  rš   rš   rš   r›   Útest_presentation_settings¼  s    rs  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.setsru  rv  rw  rx  ry  rD  r•   r˜   rt  rš   rš   r›   Útest_print_domainsÁ  s    ÿrz  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>)rD  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|  rD  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   rD  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Â   rO  ú[)rQ  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>)rs   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 )NrO  rP  z6<mrow><mi>log</mi><mfenced><mi>x</mi></mfenced></mrow>F)rQ  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 )NrO  rP  z:<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi></mrow>)rQ  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>)rD  r•   rg   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•   re   r–   r¸   r˜   rD  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>)Ú	frozensetrD  r•   r˜   Úset)rN  Ú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–   rD  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>)rD  r•   r-   r–   r˜   r¸   rš   rš   rš   r›   Útest_print_LambertW'  s    r•  c                   C   s   t  tj¡dkst‚d S )Nz<mo>&#x2205;</mo>)rD  r•   r   rá   r˜   rš   rš   rš   r›   Útest_print_EmptySet,  s    r–  c                   C   s   t  tj¡dkst‚d S )Nz<mo>&#x1D54C;</mo>)rD  r•   r   ZUniversalSetr˜   rš   rš   rš   r›   Útest_print_UniversalSet0  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>)rD  r•   ry   r˜   rv   rw   rš   rš   rš   r›   Útest_print_spaces4  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 )Nr^  r_  ra  r`  )rD  r•   rx   r˜   r   rÞ   rß   rà   rš   rš   rš   r›   Útest_print_constants:  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>)rD  r•   r€   r–   r   rv  r˜   rš   rš   rš   r›   Útest_print_ContainsA  s    ÿrš  c                   C   s   t  ttƒ¡dkst‚d S )Nz<msup><mi>x</mi>&#x2020;</msup>)rD  r•   rz   r–   r˜   rš   rš   rš   r›   Útest_print_DaggerF  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sˆt‚t tƒ}t t	ƒ}t t
ƒ}t||dd�}t||dd�}t||dd�}t||dd�}	t||ƒ}
|t||dd�ƒdksüt‚|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 )NrO  rP  )r~   )r–   rš   rš   r›   r2  N  r3  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õ   r9  r:  rˆ   )r“  Úf2ZprntrrÎ   r;  r<  r=  r>  r?  ZD1r@  rš   rš   r›   Útest_print_SetOpJ  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sšt‚t  tt
tdƒtdk ttd	 kƒ¡d
ksÆt‚t  tt
ttƒtdkƒ¡dksèt‚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>)rD  r•   ro   r–   r¸   r˜   rl   rk   rq   rp   r   rr   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sšt‚t ttddƒ ddd�dksºt‚d S )NrŸ   rO  rP  z#<mroot><mi>x</mi><mn>3</mn></mroot>F)rQ  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>rB  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¤   rO  rP  z:<msup><mi>x</mi><mfrac><mn>5</mn><mn>2</mn></mfrac></msup>T)rQ  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Ä   rO  rP  z#<mfrac><mn>2</mn><mn>5</mn></mfrac>T)rQ  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s”t‚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>)rD  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 )NrO  rP  zI<mrow><mfenced close="&#8971;" open="&#8970;"><mi>x</mi></mfenced></mrow>)r<   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 )NrO  rP  zI<mrow><mfenced close="&#8969;" open="&#8968;"><mi>x</mi></mfenced></mrow>)r;   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”   rO  rP  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>)rD  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õ   Trk  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   rD  r•   r   r˜   rm  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}Ã”%­I²TzL<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}Ã”%­I²ÔzM<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>)rD  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sŠt‚t  t
tƒ¡dks t‚t  ttƒ¡dks¶t‚t  ttƒ¡d	ksÌt‚t  ttƒ¡d
ksât‚t  ttƒ¡dksøt‚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>)rD  r•   rT   r–   r˜   rV   r¸   rU   ri   rh   rN   r&   r'   r$   r%   rQ   rP   rK   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>)rD  r•   r˜   rn   rm   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s˜t‚t  ttddƒ¡dks²t‚t  tdt dƒ¡dksÎt‚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>rB  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>rC  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>)rD  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>)rD  r•   r,   r–   r˜   rš   rš   rš   r›   Útest_print_exp2  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>)rD  r•   r>   r–   r¸   r˜   r=   rš   rš   rš   r›   Útest_print_MinMax9  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s€t‚tt| ƒdd�dks˜t‚tt	| ƒdd�d	ks°t‚tt| t
ƒdd�d
ksÊt‚tt| t
ƒdd�d
ksät‚tt| t
ƒdd�dksþt‚tt| t
ƒdd�dk�st‚tt	| t
ƒdd�dk�s6t‚d S )NÚnrO  rP  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_numbersF  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 )NrO  rP  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~   rZ   r–   r¸   rR  r˜   rX   rY   rW   rš   rš   rš   r›   Ú test_mathml_presentation_mathieub  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 )NrO  rP  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~   rf   r±  r˜   r–   rš   rš   rš   r›   Ú"test_mathml_presentation_stieltjesm  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>rO  Úbold)rQ  Úmat_symbol_stylez<mi mathvariant="bold">A</mi>)r¶  )ru   rD  r•   r˜   r—   r~   )rÎ   rš   rš   r›   Útest_print_matrix_symbolt  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sˆt‚t|| ||ƒƒdd�dks¦t‚d S )Nr   )ÚHadamardProduct)Ú	TransposeÚXr¤   ÚYrO  rP  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¹  ru   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   rD  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 )NrO  rP  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õ   r8  r˜   r9  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 )NrO  rP  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˜   r8  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   rO  rP  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   ru   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s˜t‚ttd| j | j ƒdd�d	ks¼t‚ttdt | j | j ƒdd�d
ksät‚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�sŽt‚tt	dt | j | j | j ƒdd�dk�s¾t‚tt
| j| j| j d | j ƒdd�dk�sît‚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�s˜t‚ttt| jƒ dd�dk�s¸t‚ttt| j ƒdd�dk�sØt‚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�sˆt‚ttt| j ƒdd�dk�s¨t‚d S )NrÎ   rŸ   rO  rP  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¸   rR  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 )NrO  rP  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~   rM   r–   r¸   r˜   rš   rš   rš   r›   Útest_print_elliptic_f^  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 )NrO  rP  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~   rO   r–   r˜   r¸   rš   rš   rš   r›   Útest_print_elliptic_ed  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 )NrO  rP  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~   rL   r–   r¸   r˜   rR  rš   rš   rš   r›   Útest_print_elliptic_pij  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 )NrO  rP  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~   rR   r–   r˜   r¸   rš   rš   rš   r›   Útest_print_Eip  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 )NrO  rP  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~   rS   r–   r¸   r˜   rŠ   rš   rš   rš   r›   Útest_print_expintv  s    ÿ ÿrË  c                   C   s"   t tttttƒdd�dkst‚d S )NrO  rP  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~   r[   r±  rõ   r8  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 )NrO  rP  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 )NrO  rP  zK<mrow><msub><mo>T</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   r]   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 )NrO  rP  zK<mrow><msub><mo>U</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   r\   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 )NrO  rP  zK<mrow><msub><mo>P</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   rb   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 )NrO  rP  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 )NrO  rP  zK<mrow><msub><mo>L</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   rc   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 )NrO  rP  zn<mrow><msubsup><mo>L</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r~   ra   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 )NrO  rP  zK<mrow><msub><mo>H</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r~   r^   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sŒt‚t ttddƒdd�dks¨t‚d S )NrÂ   rÄ   rO  rP  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>rC  zw<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>-2</mn></msup>rB  zw<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>-1</mn></msup>)r~   rd   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s€t‚t| || ƒdd�dksœt‚t| |ƒ| |ƒ dd�dks¼t‚t| |d ƒdd�dksØt‚t| |ƒd dd�dksôt‚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�sŽt‚t||ƒdd�dk�s¨t‚t||| ƒdd�dk�sÆt‚d S )Nr   )ÚAdjointÚInverser¹  rº  r¤   r»  rO  rP  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¹  ru   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Â   rO  rP  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“   r1  rš   rà  rš   r›   r2  è  r3  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 )NrO  rP  ze<mfenced close="}" open="{"><mi>&#8230;</mi><mn>-1</mn><mn>0</mn><mn>1</mn><mi>&#8230;</mi></mfenced>rB  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(0  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#   r$   r%   r&   r'   Z$sympy.functions.elementary.complexesr(   r)   r*   r+   Z&sympy.functions.elementary.exponentialr,   r-   r.   Z%sympy.functions.elementary.hyperbolicr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   Z#sympy.functions.elementary.integersr;   r<   Z(sympy.functions.elementary.miscellaneousr=   r>   Z(sympy.functions.elementary.trigonometricr?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   Z'sympy.functions.special.delta_functionsrK   Z*sympy.functions.special.elliptic_integralsrL   rM   rN   rO   Z'sympy.functions.special.error_functionsrP   rQ   rR   rS   Z'sympy.functions.special.gamma_functionsrT   rU   rV   Z)sympy.functions.special.mathieu_functionsrW   rX   rY   rZ   Z#sympy.functions.special.polynomialsr[   r\   r]   r^   r_   r`   ra   rb   rc   Z-sympy.functions.special.singularity_functionsrd   Z&sympy.functions.special.zeta_functionsre   rf   rg   rh   ri   Zsympy.integrals.integralsrj   Zsympy.logic.boolalgrk   rl   rm   rn   ro   rp   rq   rr   Zsympy.matrices.densers   Z&sympy.matrices.expressions.determinantrt   Z"sympy.matrices.expressions.matexprru   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¸   rR  rõ   r8  r9  r:  r¿  r±  r—   rD  rœ   r�   r³   rº   r¿   rÃ   rÐ   rÔ   r×   rÚ   rÜ   rã   rê   rí   rø   r&  r.  r6  r7  rA  rE  rK  rM  rS  rT  rV  rW  rY  r\  r]  rb  rc  rf  rg  rh  rj  rn  ro  rp  rq  rr  rs  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›   Ú<module>   s.  (488,($$%

%
	 J"k9d
#	)
&&Z9
	

=
"






















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