
    sg8w             	          d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZmZ d dlmZmZmZmZmZmZmZmZ d dlmZmZmZmZ d dlmZ d d	lmZmZ d d
l m!Z! d dl"m#Z#m$Z$m%Z% d dl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZG d dlHmIZImJZJ d dlKmLZLmMZM d dlNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZ d dl[m\Z\ d dl]m^Z^m_Z_m`Z`maZa d dlbmcZcmdZdmeZemfZf d dlgmhZhmiZimjZj d dlkmlZlmmZmmnZnmoZo d dlpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZy d dlzm{Z{ d dl|m}Z}m~Z~mZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d lmZmZmZmZmZ d d!lmZmZmZmZ d d"lmZ d d#lmZ d d$lmZ d d%lmZmZmZmZmZmZmZ d d&lmZ d d'lmZ d d(lmZmZmZmZmZmZmZ d d)lmZ  ed*      \	  ZZZZZZZZZ e       Z e       Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zd? Zd@ ZdA ZdB ZdC ZdD ZdE ZdF ZdG ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZdR ZdS ZdT ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ Zd\ Zd] Zd^ Zd_ Zd` Zda Zdb Zdc Zdd Zde Zdf Z dg Zdh Zdi Zdj Zdk Zdl Zdm Zdn Zdo Z	dp Z
dq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zdy Zdz Zd{ Zd| Zd} Zd~ Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/y)    )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                      t               } | j                  dt        z         t        j                  dt        z         k(  sJ y N   )r}   doprintxmp)ms    S/var/www/html/venv/lib/python3.12/site-packages/sympy/printing/tests/test_mathml.pytest_mathml_printerr   B   s/    A99QqS>RZZ!_,,,    c                  F    t         j                  dt        z         dk(  sJ y )Nr   z*<apply><plus/><ci>x</ci><cn>1</cn></apply>)r   r   r    r   r   test_content_printmethodr   G   s    ::a!e LLLLr   c                     t         j                  dt        z         } | j                  dk(  sJ | j                  }t        |      dk(  sJ |d   j                  dk(  sJ |d   j                         du sJ |d   j                  J |d   j                  dv sJ |d   j                  dk(  rB|d   j                  d   j                  d	k(  sJ |d
   j                  d   j                  dk(  sDJ |d   j                  d   j                  dk(  sJ |d
   j                  d   j                  d	k(  sJ t         j                  t        d
z        }|j                  dk(  sJ |j                  }|d   j                  d   j                  dk(  sJ |d
   j                  d   j                  dk(  sJ t         j                  d
t        z        }|j                  dk(  sJ |j                  }|d   j                  dk(  sJ |d   j                  d   j                  dk(  sJ |d
   j                  d   j                  dk(  sJ t         j                  t        dd
      t        z        }|j                  dk(  sJ |j                  }|d   j                  dk(  sJ |d   j                  d   j                  dk(  sJ |d
   j                  d   j                  dk(  sJ y )Nr   apply   r   plusF)cncir   1   r   2times      ?1.0)	r   _printr   nodeName
childNodeslenhasChildNodes	nodeValuer   mml_1nodesmml_2mml_3mmls        r   test_content_mathml_corer   K   s   IIa!eE>>W$$$Eu:??8&&&8!!#u,,,8%%%8,,,QxD Qx""1%//3666Qx""1%//3666Qx""1%//3666Qx""1%//3666IIadOE>>W$$$E8q!++s2228q!++s222IIacNE>>W$$$E8'''8q!++s2228q!++s222
))E#qM!O
$C<<7"""NNE8'''8q!++u4448q!++s222r   c                     t         j                  t        t                    } | j                  dk(  sJ | j
                  d   j                  dk(  sJ | j
                  d   j                  dk(  sJ t         j                  t        t        t              t        d            }|j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  dk(  sJ t         j                  t        t        t        t        z        t        d            }|j                  dk(  sJ |j
                  d   j                  d
k(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  dk(  sJ t         j                  t        t        t        ft        t        z              }|j                  dk(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ y )Nr   r   rD   r   r   Fevaluater	   bvarpartialdifflambdar   )
r   r   rD   r   r   r   r	   rG   yr   r   r   r   mml_4s       r   test_content_mathml_functionsr   p   s   IIc!fE>>W$$$A''5000A''4///IId3q61u56E>>W$$$A''6111A''6111A))	8t   IId3qs8Q78E>>W$$$A''=888A''6111A))	8t   IIfaVQU+,E>>X%%%A''6111A))	8t  A''6111A))	8t  A''7222r   c                     t        t              t        z  } t        j                  t	        | t        d            }|j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j                         t        j                  |       j                         k(  sJ y )Nr   limitr   r   r   lowlimitr   )rD   r   r   r   r   r   r   toxmllim_funr   s     r   test_content_mathml_limitsr      s    !fQhGIIeGQ*+EA''7222A''6111A'':555A$$&"))G*<*B*B*DDDDr   c                     t         } t        j                  t        | t         ddf            }|j                  d   j
                  dk(  sJ |j                  d   j
                  dk(  sJ |j                  d   j
                  dk(  sJ |j                  d   j
                  dk(  sJ |j                  d	   j                         t        j                  |       j                         k(  sJ y )
Nr   r   intr   r   r   r   uplimit   )r   r   r   rk   r   r   r   )	integrandr   s     r   test_content_mathml_integralsr      s    IIIhy1a)45EA''5000A''6111A'':555A''9444A$$&"))I*>*D*D*FFFFr   c                  J   t        g d      } t        g dg dg dg      }t        j                  |       }|j                  d   j                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ |j                  d	   j                  dk(  sJ |j                  d	   j                  d   j                  dk(  sJ |j                  d	   j                  d   j                  d   j
                  d
k(  sJ |j                  d   j                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ t        j                  |      }|j                  d   j                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d	   j                  dk(  sJ |j                  d   j                  d	   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ |j                  d	   j                  dk(  sJ |j                  d	   j                  d   j                  dk(  sJ |j                  d	   j                  d   j                  d   j
                  d
k(  sJ |j                  d	   j                  d	   j                  dk(  sJ |j                  d	   j                  d	   j                  d   j
                  dk(  sJ |j                  d	   j                  d   j                  dk(  sJ |j                  d	   j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d	   j                  dk(  sJ |j                  d   j                  d	   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ y )Nr   r   r   r      r   r   r   r   	      r   r   	matrixrowr   r   r   r   r   305497)rt   r   r   r   r   r   ABmll_1mll_2s       r   test_content_mathml_matricesr      se   yA	9i01AIIaLEA'';666A))!,55===A))!,77:DDKKKA'';666A))!,55===A))!,77:DDKKKA'';666A))!,55===A))!,77:DDKKKIIaLEA'';666A))!,55===A))!,77:DDKKKA))!,55===A))!,77:DDKKKA))!,55===A))!,77:DDKKKA'';666A))!,55===A))!,77:DDKKKA))!,55===A))!,77:DDKKKA))!,55===A))!,77:DDKKKA'';666A))!,55===A))!,77:DDKKKA))!,55===A))!,77:DDKKKA))!,55===A))!,77:DDKKKr   c                     t         } t        j                  t        | t         ddf            }|j                  d   j
                  dk(  sJ |j                  d   j
                  dk(  sJ |j                  d   j
                  dk(  sJ |j                  d   j
                  d	k(  sJ |j                  d
   j                         t        j                  |       j                         k(  sJ y )Nr   
   r   sumr   r   r   r   r   r   )r   r   r   r   r   r   r   summandr   s     r   test_content_mathml_sumsr      s    GIIc'Aq":./EA''5000A''6111A'':555A''9444A$$&"))G*<*B*B*DDDDr   c                     t         j                  dg      } | j                  dk(  sJ | j                  d   j                  dk(  sJ t	        | j                        dk(  sJ t         j                  dt        d      g      }|j                  dk(  sJ |j                  d   j                  dk(  sJ |j                  d   j                  dk(  sJ t	        |j                        dk(  sJ y )Nr   listr   r   r   )r   r   r   r   r   r   r   r   s     r   test_content_mathml_tuplesr      s    IIqcNE>>V###A''4///u A%%%IIq'!*o&E>>V###A''4///A''4///u A%%%r   c                  F   t         j                  t        dz  t        dz  z
  t        z         } | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ y )Nr   r   r   r   r   minusr   )r   r   r   r   r   r   s    r   test_content_mathml_addr      s    
))AqD1a4K!O
$C>>!%%///>>!''*33w>>>>>!''*33w>>>r   c                      t         j                  t        dd            } 	 | j                  dk(  sJ t         j                  t        dd            }|j                  d   j                  dk(  sJ y )Nr   r   r   r   r   divide)r   r   r   r   r   r   s     r   test_content_mathml_Rationalr      s^    IIhq!n%E%>>T!!!IIhq!n%EA''8333r   c                  4   t         j                  t              } | j                  dk(  sJ t         j                  t              } | j                  dk(  sJ t         j                  t
              } | j                  dk(  sJ t         j                  t              } | j                  dk(  sJ t        t              dk(  sJ t        t        j                        dk(  sJ t        t        j                        dk(  sJ t        t        j                        } | dk(  sJ t        t        j                        } | d	k(  sJ t        t        j                        } | d
k(  sJ t        t        j                        } | dk(  sJ t        t        j                         } | dk(  sJ y )N
imaginaryiexponentialeinfinityr   z<hbar/>z<tribonacciconstant/>z<cn>&#966;</cn>z<eulergamma/>z<emptyset/>z<true/>z<false/>z<notanumber/>)r   r   r   r   r   r   r   r   ry   r   TribonacciConstantGoldenRatio
EulerGammaEmptySetro   rn   NaNr   s    r   test_content_mathml_constantsr      sK   
))A,C<<<'''
))A,C<<>)))
))B-C<<:%%%
))B-C<<4$<9$$$!&&'+BBBB!-- $5555

C/!!!

C-
.C)
/C*
-C/!!!r   c                     t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  d	k(  sJ t         j                  t        t                    } | j                  d   j
                  d
k(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j
                  dk(  sJ t         j                  t!        t                    } | j                  d   j
                  dk(  sJ t         j                  t#        t                    } | j                  d   j
                  dk(  sJ t         j                  t%        t                    } | j                  d   j
                  dk(  sJ t         j                  t'        t                    } | j                  d   j
                  dk(  sJ t         j                  t)        t                    } | j                  d   j
                  dk(  sJ t         j                  t+        t                    } | j                  d   j
                  dk(  sJ t         j                  t-        t                    } | j                  d   j
                  dk(  sJ t         j                  t/        t                    } | j                  d   j
                  dk(  sJ t         j                  t1        t                    } | j                  d   j
                  dk(  sJ t         j                  t3        t                    } | j                  d   j
                  dk(  sJ t         j                  t5        t                    } | j                  d   j
                  dk(  sJ t         j                  t7        t                    } | j                  d   j
                  dk(  sJ t         j                  t9        t                    } | j                  d   j
                  dk(  sJ y )Nr   rD   rG   rB   rF   r@   rA   arcsinarccosarctanarccotarccscarcsecr9   r:   r0   r3   r8   r;   arcsinharctanharccosharccotharccscharcsech)r   r   rD   r   r   r   rG   rB   rF   r@   rA   rJ   rK   rC   rH   rI   rE   r9   r:   r0   r3   r8   r;   r4   r2   r7   r1   r5   r6   r   s    r   test_content_mathml_trigr    sj   
))CF
C>>!%%...
))CF
C>>!%%...
))CF
C>>!%%...
))CF
C>>!%%...
))CF
C>>!%%...
))CF
C>>!%%...
))DG
C>>!%%111
))DG
C>>!%%111
))DG
C>>!%%111
))DG
C>>!%%111
))DG
C>>!%%111
))DG
C>>!%%111
))DG
C>>!%%///
))DG
C>>!%%///
))DG
C>>!%%///
))DG
C>>!%%///
))DG
C>>!%%///
))DG
C>>!%%///
))E!H
C>>!%%222
))E!H
C>>!%%222
))E!H
C>>!%%222
))E!H
C>>!%%222
))E!H
C>>!%%222
))E!H
C>>!%%222r   c                  $   t         j                  t        t        d            } | j                  dk(  sJ | j
                  d   j                  dk(  sJ | j
                  d   j                  dk(  sJ | j
                  d   j
                  d   j                  dk(  sJ | j
                  d   j                  dk(  sJ | j
                  d   j
                  d   j                  d	k(  sJ t         j                  t        dt                    }|j                  dk(  sJ |j
                  d   j                  d
k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  d	k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ t         j                  t        dt                    }|j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  d	k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ t         j                  t        dt                    }|j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  d	k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ y )Nr   r   r   eqr   r   r   r   r   neqgeqlt)
r   r   r   r   r   r   r   r   r   r   r   s       r   test_content_mathml_relationalr  Y  s^   IIbAhE>>W$$$A''4///A''4///A))!,66#===A''4///A))!,66#===IIbAhE>>W$$$A''5000A''4///A))!,66#===A''4///A))!,66#===IIbAhE>>W$$$A''5000A''4///A))!,66#===A''4///A))!,66#===IIbAhE>>W$$$A''4///A''4///A))!,66#===A''4///A))!,66#===r   c                     t         j                  t              } | j                  dk(  sJ | j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d	            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d
            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ ~ y )Nr   r   r   x^2zmml:msupzmml:mir   r   x__2x_2zmml:msubx^3_2zmml:msubsupr   r   x__3_2x_2_azmml:mrowzmml:mo ax^2^ax__2__a)r   r   r   r   r   r   r   r   s    r   test_content_symbolr   {  sq   
))A,C<<4>>!&&#---
))F5M
"C<<4>>!%%333>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII
))F6N
#C<<4>>!%%333>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII
))F5M
"C<<4>>!%%333>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII
))F7O
$C<<4>>!%%666>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII
))F8$
%C<<4>>!%%666>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII>>!''*33x???>>!''*55a8BBcIII
))F7O
$C<<4>>!%%333>>!''*33x???>>!''*55a8BBcIII>>!''*33zAAA>>!''*55a8AAXMMM>>!''*55a8CC	9  >>!''*55a8AAXMMM>>!''*55a8CC	9  >>!''*55a8AAXMMM>>!''*55a8CC	9  
))F7O
$C<<4>>!%%333>>!''*33x???>>!''*55a8BBcIII>>!''*33zAAA>>!''*55a8AAXMMM>>!''*55a8CC	9  >>!''*55a8AAXMMM>>!''*55a8CC	9  >>!''*55a8AAXMMM>>!''*55a8CC	9  
))F9%
&C<<4>>!%%333>>!''*33x???>>!''*55a8BBcIII>>!''*33zAAA>>!''*55a8AAXMMM>>!''*55a8CC	9  >>!''*55a8AAXMMM>>!''*55a8CC	9  >>!''*55a8AAXMMM>>!''*55a8CC	9  r   c                     t         j                  t        d            } | j                  dk(  sJ | j                  d   j
                  dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            d	k(  sJ t         j                  t        d
            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d             d!k(  sJ t         j                  t        d"            d#k(  sJ t         j                  t        d$            d%k(  sJ t         j                  t        d&            d'k(  sJ t         j                  t        d(            d)k(  sJ t         j                  t        d*            d+k(  sJ t         j                  t        d,            d-k(  sJ t         j                  t        d.            d/k(  sJ t         j                  t        d0            d1k(  sJ t         j                  t        d2            d3k(  sJ t         j                  t        d4            d5k(  sJ t         j                  t        d6            d7k(  sJ t         j                  t        d8            d9k(  sJ t         j                  t        d:            d;k(  sJ t         j                  t        d<            d=k(  sJ t         j                  t        d>            d?k(  sJ t         j                  t        d@            dAk(  sJ t         j                  t        dB            dCk(  sJ t         j                  t        dD            dEk(  sJ t         j                  t        dF            dGk(  sJ t         j                  t        dH            dIk(  sJ t         j                  t        dJ            dKk(  sJ t         j                  t        dL            dMk(  sJ t         j                  t        dN            dOk(  sJ t         j                  t        dP            dQk(  sJ t         j                  t        dR            dSk(  sJ t         j                  t        dT            dUk(  sJ t         j                  t        dV            dWk(  sJ t         j                  t        dX            dYk(  sJ t         j                  t        dZ            d[k(  sJ t         j                  t        d\            d]k(  sJ t         j                  t        d^            d_k(  sJ t         j                  t        d`            dak(  sJ t         j                  t        db            dck(  sJ t         j                  t        dd            dek(  sJ y )fNalphar   r      αz<ci>&#945;</ci>betaz<ci>&#946;</ci>rU   z<ci>&#947;</ci>deltaz<ci>&#948;</ci>epsilonz<ci>&#949;</ci>rj   z<ci>&#950;</ci>etaz<ci>&#951;</ci>thetaz<ci>&#952;</ci>iotaz<ci>&#953;</ci>kappaz<ci>&#954;</ci>r   z<ci>&#955;</ci>muz<ci>&#956;</ci>nuz<ci>&#957;</ci>xiz<ci>&#958;</ci>omicronz<ci>&#959;</ci>r   z<ci>&#960;</ci>rhoz<ci>&#961;</ci>varsigmaz<ci>&#962;</ci>sigmaz<ci>&#963;</ci>tauz<ci>&#964;</ci>upsilonz<ci>&#965;</ci>phiz<ci>&#966;</ci>chiz<ci>&#967;</ci>psiz<ci>&#968;</ci>omegaz<ci>&#969;</ci>Alphaz<ci>&#913;</ci>Betaz<ci>&#914;</ci>Gammaz<ci>&#915;</ci>Deltaz<ci>&#916;</ci>Epsilonz<ci>&#917;</ci>Zetaz<ci>&#918;</ci>Etaz<ci>&#919;</ci>Thetaz<ci>&#920;</ci>Iotaz<ci>&#921;</ci>Kappaz<ci>&#922;</ci>r   z<ci>&#923;</ci>Muz<ci>&#924;</ci>Nuz<ci>&#925;</ci>Xiz<ci>&#926;</ci>Omicronz<ci>&#927;</ci>Piz<ci>&#928;</ci>Rhoz<ci>&#929;</ci>Sigmaz<ci>&#931;</ci>Tauz<ci>&#932;</ci>Upsilonz<ci>&#933;</ci>Phiz<ci>&#934;</ci>Chiz<ci>&#935;</ci>Psiz<ci>&#936;</ci>Omegaz<ci>&#937;</ci>)r   r   r   r   r   r   r   r   s    r   test_content_mathml_greekrO    s   
))F7O
$C<<4>>!&&*HHHH::fWo&*;;;;::fVn%)::::::fWo&*;;;;::fWo&*;;;;::fY'(,====::fVn%)::::::fUm$(9999::fWo&*;;;;::fVn%)::::::fWo&*;;;;::fX&'+<<<<::fTl#'8888::fTl#'8888::fTl#'8888::fY'(,====::fTl#'8888::fUm$(9999::fZ()->>>>::fWo&*;;;;::fUm$(9999::fY'(,====::fUm$(9999::fUm$(9999::fUm$(9999::fWo&*;;;;::fWo&*;;;;::fVn%)::::::fWo&*;;;;::fWo&*;;;;::fY'(,====::fVn%)::::::fUm$(9999::fWo&*;;;;::fVn%)::::::fWo&*;;;;::fX&'+<<<<::fTl#'8888::fTl#'8888::fTl#'8888::fY'(,====::fTl#'8888::fUm$(9999::fWo&*;;;;::fUm$(9999::fY'(,====::fUm$(9999::fUm$(9999::fUm$(9999::fWo&*;;;;r   c                     t         dz  t         dz  t        z  z   dt         z  t        dz  z  z   t        dz  z   } t        ddi      }|j                  |       }|j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  d	k(  sJ |j                  d   j                  d   j                  d   j                  d
k(  sJ |j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ t        ddi      }|j                  |       }|j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  d	k(  sJ |j                  d   j                  d   j                  d   j                  d
k(  sJ y )Nr   r   r   orderlexr   r   powerr   r   r   r   rev-lex)r   r   r~   r   r   r   dataexprr   r   s      r   test_content_mathml_orderrX    s   a4!Q$q&=1Q3q!t8#ad*D	w.	/B
))D/C>>!''*33w>>>>>!''*55a8==DDD>>!''*55a8==DDD>>!''*33w>>>>>!''*55a8==DDD>>!''*55a8==DDD	w	2	3B
))D/C>>!''*33w>>>>>!''*55a8==DDD>>!''*55a8==DDD>>!''*33w>>>>>!''*55a8==DDD>>!''*55a8==DDDr   c                  &    t        t        d        y )Nc                  $    t        t        d      S )Ngarbage)methodr   r   r   r   r   <lambda>z'test_content_settings.<locals>.<lambda>:  s    fQy9 r   r   	TypeErrorr   r   r   test_content_settingsra  9  s    
99:r   c                  N   t        t        t        t                    dk(  sJ t        t	        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t                    dk(  sJ y )Nz)<apply><and/><ci>x</ci><ci>y</ci></apply>z(<apply><or/><ci>x</ci><ci>y</ci></apply>z)<apply><xor/><ci>x</ci><ci>y</ci></apply>z-<apply><implies/><ci>x</ci><ci>y</ci></apply>z<apply><not/><ci>x</ci></apply>)r   rp   r   r   rm   rl   rr   rs   r   r   r   test_content_mathml_logicrc  =  s    #a) KKKK"Q(IIII#a) KKKK'!Q- $SSSS#a&>>>>>r   c                  "   t        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t        t        t              t                    dk(  sJ t        t              } t        t              }t        t              }t        t
              }t        | |d      }t        ||d      }t        | |d      }t        ||d      }t        | |d      }t        ||d      }	t        | |      }
t        ||      }t        |      dk(  sJ t        |      dk(  sJ t        |      dk(  sJ t        |
      d	k(  sJ t        t        | |d            d
k(  sJ t        t        ||d            dk(  sJ t        t        ||	d            dk(  sJ t        t        |
|d            dk(  sJ t        t        | |d            dk(  sJ t        t        ||d            dk(  sJ t        t        ||	d            dk(  sJ t        t        |
|d            dk(  sJ t        t        | |	d            dk(  sJ t        t        ||d            dk(  sJ t        t        ||d            dk(  sJ t        t        |
|d            dk(  sJ t        t        | |            dk(  sJ t        t        ||            dk(  sJ t        t        ||            dk(  sJ t        t        ||	            dk(  sJ y )Nz<set><ci>a</ci></set>z<set><ci>a</ci><ci>b</ci></set>z4<set><ci>c</ci><set><ci>a</ci><ci>b</ci></set></set>Fr   zA<apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zE<apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zC<apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zL<apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply>zq<apply><intersect/><set><ci>a</ci></set><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><intersect/><apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><intersect/><apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><intersect/><apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>zq<apply><union/><set><ci>a</ci></set><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><union/><apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><union/><apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><union/><apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>zq<apply><setdiff/><set><ci>a</ci></set><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><setdiff/><apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><setdiff/><apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><setdiff/><apply><cartesianproduct/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><set><ci>a</ci></set><apply><cartesianproduct/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><apply><union/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><union/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><apply><intersect/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><intersect/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>z<apply><cartesianproduct/><apply><setdiff/><set><ci>a</ci></set><set><ci>b</ci></set></apply><apply><setdiff/><set><ci>c</ci></set><set><ci>d</ci></set></apply></apply>)
r   r   r  bcdr   r   r   r   )r   r   CDU1U2I1I2C1C2P1P2s               r   test_content_finite_setsrr  E  s   )A,#::::)Aq/"&GGGG)IaOQ/0>? ? ? 	!A!A!A!A	q!e	$B	q!e	$B	aU	+B	aU	+B	Aq5	)B	Aq5	)B	Aq	B	Aq	B":KL L L":	   ":MN N N":	   ,q"u56	@@ @ @ ,r267	00 0 0 ,r267	00 0 0 ,r267	@@ @ @
 %2./	@@ @ @ %B/0	00 0 0 %B/0	00 0 0 %B/0	@@ @ @
 *QU34	@@ @ @ *Re45	00 0 0 *Re45	00 0 0 *Re45	@@ @ @
 *Q#$	00 0 0 *R$%	00 0 0 *R$%	@@ @ @ *R$%	@@ @ @r   c                  N   t         j                  dt        z         dk(  sJ t         j                  t        dz        dk(  sJ t         j                  t        dz        dk(  sJ t         j                  t        dz        dk(  sJ t         j                  dt        z        d	k(  sJ y )
Nr   z+<mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow>r   z!<msup><mi>x</mi><mn>2</mn></msup>z#<mfrac><mn>1</mn><mi>x</mi></mfrac>z:<mfrac><mn>1</mn><msup><mi>x</mi><mn>2</mn></msup></mfrac>z:<mrow><mn>2</mn><mo>&InvisibleTimes;</mo><mi>x</mi></mrow>)mppr   r   r   r   r   test_presentation_printmethodrw    s    ;;q1u!NNNN;;q!t CCCC;;q"u!FFFF;;q"uDE E E;;qsDE E Er   c                     t         j                  dt        z         } | j                  dk(  sJ | j                  }t        |      dk(  sJ |d   j                  dv sJ |d   j                  dk(  sJ |d   j                  dk(  rB|d   j                  d   j                  dk(  sJ |d	   j                  d   j                  d
k(  sDJ |d   j                  d   j                  d
k(  sJ |d	   j                  d   j                  dk(  sJ t         j                  t        d	z        }|j                  dk(  sJ |j                  }|d   j                  d   j                  d
k(  sJ |d   j                  d   j                  dk(  sJ t         j                  d	t        z        }|j                  dk(  sJ |j                  }|d   j                  d   j                  dk(  sJ |d   j                  d   j                  dk(  sJ |d	   j                  d   j                  d
k(  sJ t         j                  t        dd	      t        z        }|j                  dk(  sJ |j                  }|d   j                  d   j                  dk(  sJ |d   j                  d   j                  dk(  sJ |d	   j                  d   j                  d
k(  sJ y )Nr   mrowr   r   )mimnmor{  r   r   r   msupr   z&InvisibleTimes;r   r   )rv  r   r   r   r   r   r   r   r   s        r   test_presentation_mathml_corer~    s   JJq1uE>>V###Eu:??8,,,8$$$QxD Qx""1%//3666Qx""1%//3666Qx""1%//3666Qx""1%//3666JJq!tE>>V###E8q!++s2228q!++s222JJqsOE>>V###E8q!++s2228q!++/AAAA8q!++s222
**U3]1_
%C<<6!!!NNE8q!++u4448q!++/AAAA8q!++s222r   c                     t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ t         j                  t        t        t              t        d            }|j                  dk(  sJ |j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d	k(  sJ |j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ t         j                  t        t        t        t        z        t        d            }|j                  d   j                  d
k(  sJ |j                  d   j                  d   j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j
                  dk(  sJ y )Nr   rD   r   r   Fr   ry  z&dd;mfencedmfracz&#x2202;rG   )
rv  r   rD   r   r   r   r	   r   rG   r   )r   r   r   s      r   "test_presentation_mathml_functionsr    s:   JJs1vEA))! 

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

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

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

(i     A))! 

*Q"
1&&/i6: : : JJtC!Ha%89EA''7222A))! 

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

*Q!	U+ + +r   c            	          t        d      } t         | t        t        t              t        t        t        t        t        t              }t        |      dk(  sJ t        |d      dk(  sJ y )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  rg  s     r   test_print_derivativer    sj    A1Q1:q!Q1a0A!9 	ss s s!^, 	OO O Or   c                     t        t              t        z  } t        j                  t	        | t        d            }|j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j
                  d   j
                  d   j                  dk(  sJ y )	Nr   munderlimr   r   z&#x2192;r   r   )rD   r   rv  r   r   r   r   r   r   s     r   test_presentation_mathml_limitsr    sa   !fQhGJJuWa+,EA''8333A))! 

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

*Q"
1

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

*Q"
1

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

*Q"
1

)s  r   c            
         t         j                  t        t        t        ddf            dk(  sJ t         j                  t        t	        t              t                    dk(  sJ t         j                  t        t        t
        z  t        t
                    dk(  sJ t        d      \  } }t         j                  t        t        t
        z  | z  t        t
        |             dk(  sJ t         j                  t        t        t
        z  | z  |z  t        t
        | |            dk(  sJ t         j                  t        t        t        t
        | ddf            d	k(  sJ t         j                  t        t        t        df            d
k(  sJ y )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>)rv  r   rk   r   r/   r   r   )r  ws     r   "test_presentation_mathml_integralsr    sx   ;;xAq!9-.	33 3 3 ;;xA*+	:: : : ;;x!Q*+	QQ Q Q 5>DAq;;x!Aq!Q/0	JJ J J ;;x!AaAq!45	WW W W ;;x1a!Q34	@@ @ @ ;;xAq6*+	  r   c                     t        g d      } t        g dg dg dg      }t        j                  |       }|j                  d   j                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ t        |j                  d   j                        dk(  sJ |j                  d   j                  d   j                  d   j                  d	k(  sJ t        |j                  d   j                  d   j                        d
k(  sJ |j                  d   j                  d   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d
   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j                  d   j                  d   j                  dk(  sJ t        j                  |      }|j                  d   j                  dk(  sJ |j                  d   j                  d   j                  dk(  sJ t        |j                  d   j                        dk(  sJ |j                  d   j                  d   j                  d   j                  d	k(  sJ t        |j                  d   j                  d   j                        dk(  sJ |j                  d   j                  d   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d
   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d
   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d
   j                  d
   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d
   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d
   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d   j                  d   j                  d   j                  dk(  sJ y )Nr   r   r   r   r   mtablemtrr   mtdr   r   r   r   r   r   r   r   r   r   )rt   rv  r   r   r   r   r   r   s       r   !test_presentation_mathml_matricesr  &  s   yA	9i01AJJqMEA''8333A))!,55>>>u"--.!333A))!,77:CCuLLLu"--a0;;<AAAA))!,77 

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

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

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

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

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

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

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

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

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

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

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

*Q"
1&&/i37 7 7r   c                     t         } t        j                  t        | t         ddf            }|j                  d   j
                  dk(  sJ t        |j                  d   j                        dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ t        |j                  d   j                  d   j                        dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d   j                  d	k(  sJ y )
Nr   r   r   
munderoverr   z&#x2211;r   10r   )r   rv  r   r   r   r   r   r   r   s     r   test_presentation_mathml_sumsr  O  s6   GJJs7Q2J/0EA''<777u"--.!333A))!,77 

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

)t  A))!,66#===r   c                  T   t         j                  t        dz  t        dz  z
  t        z         } t        | j                        dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  d   j
                  d	k(  sJ | j                  d
   j                  d   j
                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ y )Nr   r   r   r   r   r   -r   r   r   +)rv  r   r   r   r   r   r   s    r   test_presentation_mathml_addr  \  s   
**QTAqD[1_
%Cs~~!###>>!''*55a 

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

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

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

)s  >>!''*44;;;>>!''*44;;;r   c                  p   t         j                  t        dd            } | j                  dk(  sJ t         j                  t        dd            }|j                  dk(  sJ |j                  d   j                  d   j
                  dk(  sJ |j                  d   j                  d   j
                  dk(  sJ y )	Nr   r{  r   r   r  r   r   r   )rv  r   r   r   r   r   r   s     r   !test_presentation_mathml_Rationalr  l  s    JJx1~&E>>T!!!JJx1~&E>>W$$$A))!,66#===A))!,66#===r   c                     t         j                  t              } | j                  d   j                  dk(  sJ t         j                  t
              } | j                  d   j                  dk(  sJ t         j                  t              } | j                  d   j                  dk(  sJ t         j                  t              } | j                  d   j                  dk(  sJ t        t        d      dk(  sJ t        t        j                  d      d	k(  sJ t        t        j                  d      d
k(  sJ t        t        j                  d      dk(  sJ t        t        d      dk(  sJ t        t        j                  d      dk(  sJ y )Nr   z&ImaginaryI;z&ExponentialE;z&#x221E;z&pi;r  r  <mi>&#x210F;</mi><mi>TribonacciConstant</mi><mi>&#x3B3;</mi><mi>&#x3A6;</mi>z*<mover><mo>&#x221E;</mo><mo>~</mo></mover>z<mi>NaN</mi>)rv  r   r   r   r   r   r   r   r   ry   r   r   r   r   r   r   r   s    r   "test_presentation_mathml_constantsr  v  sb   
**Q-C>>!&&.888
**Q-C>>!&&*::::
**R.C>>!&&*444
**R.C>>!&&&000$/3FFFF!&& 
*+ + +!,, 
     !-- 
      #~.45 5 5 !%%0NBBBr   c                  <   t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  d	k(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  d
k(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t        t                    } | j                  d   j                  d   j
                  dk(  sJ t         j                  t!        t                    } | j                  d   j                  d   j
                  dk(  sJ y )Nr   rD   rG   rB   r  r  r  r9   r:   r0   r  r	  r
  )rv  r   rD   r   r   r   rG   rB   rJ   rK   rC   r9   r:   r0   r4   r2   r7   r   s    r   test_presentation_mathml_trigr    s   
**SV
C>>!''*44===
**SV
C>>!''*44===
**SV
C>>!''*44===
**T!W
C>>!''*44@@@
**T!W
C>>!''*44@@@
**T!W
C>>!''*44@@@
**T!W
C>>!''*44>>>
**T!W
C>>!''*44>>>
**T!W
C>>!''*44>>>
**U1X
C>>!''*44	AAA
**U1X
C>>!''*44	AAA
**U1X
C>>!''*44	AAAr   c                     t         j                  t        t        d            } t	        | j
                        dk(  sJ | j
                  d   j                  dk(  sJ | j
                  d   j
                  d   j                  dk(  sJ | j
                  d   j                  dk(  sJ | j
                  d   j
                  d   j                  dk(  sJ | j
                  d   j                  d	k(  sJ | j
                  d   j
                  d   j                  d
k(  sJ t         j                  t        dt                    }t	        |j
                        dk(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  d
k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ t         j                  t        dt                    }t	        |j
                        dk(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  d
k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ t         j                  t        dt                    }t	        |j
                        dk(  sJ |j
                  d   j                  d	k(  sJ |j
                  d   j
                  d   j                  d
k(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ |j
                  d   j                  dk(  sJ |j
                  d   j
                  d   j                  dk(  sJ y )Nr   r   r   rz  r   r|  =r   r{  r   z&#x2260;z&#x2265;<)rv  r   r   r   r   r   r   r   r   r   r   r   s       r   #test_presentation_mathml_relationalr    s"   JJr!Qx Eu A%%%A''4///A))!,66#===A''4///A))!,66#===A''4///A))!,66#===JJr!Qx Eu A%%%A''4///A))!,66#===A''4///A))!,66*DDDA''4///A))!,66#===JJr!Qx Eu A%%%A''4///A))!,66#===A''4///A))!,66*DDDA''4///A))!,66#===JJr!Qx Eu A%%%A''4///A))!,66#===A''4///A))!,66#===A''4///A))!,66#===r   c                     t         j                  t              } | j                  dk(  sJ | j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d	            } | j                  d
k(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  d
k(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ t         j                  t        d            } | j                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ | j                  d   j                  d   j                  dk(  sJ | j                  d   j                  d   j                  d   j
                  dk(  sJ ~ y )Nrz  r   r   r  r}  r   r   r  r  msubr  msubsupr   r   r  r  ry  r|  r  r  r  r  )rv  r   r   r   r   r   r   r   s    r   test_presentation_symbolr    s	   
**Q-C<<4>>!&&#---
**VE]
#C<<6!!!>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;
**VF^
$C<<6!!!>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;
**VE]
#C<<6!!!>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;
**VG_
%C<<9$$$>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;
**VH%
&C<<9$$$>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;>>!%%--->>!''*44;;;
**VG_
%C<<6!!!>>!%%--->>!''*44;;;>>!%%///>>!''*33t;;;>>!''*55a8BBcIII>>!''*33t;;;>>!''*55a8BBcIII>>!''*33t;;;>>!''*55a8BBcIII
**VG_
%C<<6!!!>>!%%--->>!''*44;;;>>!%%///>>!''*33t;;;>>!''*55a8BBcIII>>!''*33t;;;>>!''*55a8BBcIII>>!''*33t;;;>>!''*55a8BBcIII
**VI&
'C<<6!!!>>!%%--->>!''*44;;;>>!%%///>>!''*33t;;;>>!''*55a8BBcIII>>!''*33t;;;>>!''*55a8BBcIII>>!''*33t;;;>>!''*55a8BBcIIIr   c                     t         j                  t        d            } | j                  dk(  sJ | j                  d   j
                  dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            d	k(  sJ t         j                  t        d
            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d             d!k(  sJ t         j                  t        d"            d#k(  sJ t         j                  t        d$            d%k(  sJ t         j                  t        d&            d'k(  sJ t         j                  t        d(            d)k(  sJ t         j                  t        d*            d+k(  sJ t         j                  t        d,            d-k(  sJ t         j                  t        d.            d/k(  sJ t         j                  t        d0            d1k(  sJ t         j                  t        d2            d3k(  sJ t         j                  t        d4            d5k(  sJ t         j                  t        d6            d7k(  sJ t         j                  t        d8            d9k(  sJ t         j                  t        d:            d;k(  sJ t         j                  t        d<            d=k(  sJ t         j                  t        d>            d?k(  sJ t         j                  t        d@            dAk(  sJ t         j                  t        dB            dCk(  sJ t         j                  t        dD            dEk(  sJ t         j                  t        dF            dGk(  sJ t         j                  t        dH            dIk(  sJ t         j                  t        dJ            dKk(  sJ t         j                  t        dL            dMk(  sJ t         j                  t        dN            dOk(  sJ t         j                  t        dP            dQk(  sJ t         j                  t        dR            dSk(  sJ t         j                  t        dT            dUk(  sJ t         j                  t        dV            dWk(  sJ t         j                  t        dX            dYk(  sJ t         j                  t        dZ            d[k(  sJ t         j                  t        d\            d]k(  sJ t         j                  t        d^            d_k(  sJ t         j                  t        d`            dak(  sJ t         j                  t        db            dck(  sJ t         j                  t        dd            dek(  sJ y )fNr"  rz  r   r#  z<mi>&#945;</mi>r$  z<mi>&#946;</mi>rU   z<mi>&#947;</mi>r%  z<mi>&#948;</mi>r&  z<mi>&#949;</mi>rj   z<mi>&#950;</mi>r'  z<mi>&#951;</mi>r(  z<mi>&#952;</mi>r)  z<mi>&#953;</mi>r*  z<mi>&#954;</mi>r   z<mi>&#955;</mi>r+  z<mi>&#956;</mi>r,  z<mi>&#957;</mi>r-  z<mi>&#958;</mi>r.  z<mi>&#959;</mi>r   z<mi>&#960;</mi>r/  z<mi>&#961;</mi>r0  z<mi>&#962;</mi>r1  z<mi>&#963;</mi>r2  z<mi>&#964;</mi>r3  z<mi>&#965;</mi>r4  z<mi>&#966;</mi>r5  z<mi>&#967;</mi>r6  z<mi>&#968;</mi>r7  z<mi>&#969;</mi>r8  z<mi>&#913;</mi>r9  z<mi>&#914;</mi>r:  z<mi>&#915;</mi>r;  z<mi>&#916;</mi>r<  z<mi>&#917;</mi>r=  z<mi>&#918;</mi>r>  z<mi>&#919;</mi>r?  z<mi>&#920;</mi>r@  z<mi>&#921;</mi>rA  z<mi>&#922;</mi>r   z<mi>&#923;</mi>rB  z<mi>&#924;</mi>rC  z<mi>&#925;</mi>rD  z<mi>&#926;</mi>rE  z<mi>&#927;</mi>rF  z<mi>&#928;</mi>rG  z<mi>&#929;</mi>rH  z<mi>&#931;</mi>rI  z<mi>&#932;</mi>rJ  z<mi>&#933;</mi>rK  z<mi>&#934;</mi>rL  z<mi>&#935;</mi>rM  z<mi>&#936;</mi>rN  z<mi>&#937;</mi>)rv  r   r   r   r   r   r   r   s    r   test_presentation_mathml_greekr  6  s   
**VG_
%C<<4>>!&&*HHHH;;vg'+<<<<;;vf~&*;;;;;;vg'+<<<<;;vg'+<<<<;;vi()->>>>;;vf~&*;;;;;;ve}%)::::;;vg'+<<<<;;vf~&*;;;;;;vg'+<<<<;;vh'(,====;;vd|$(9999;;vd|$(9999;;vd|$(9999;;vi()->>>>;;vd|$(9999;;ve}%)::::;;vj)*.????;;vg'+<<<<;;ve}%)::::;;vi()->>>>;;ve}%)::::;;ve}%)::::;;ve}%)::::;;vg'+<<<<;;vg'+<<<<;;vf~&*;;;;;;vg'+<<<<;;vg'+<<<<;;vi()->>>>;;vf~&*;;;;;;ve}%)::::;;vg'+<<<<;;vf~&*;;;;;;vg'+<<<<;;vh'(,====;;vd|$(9999;;vd|$(9999;;vd|$(9999;;vi()->>>>;;vd|$(9999;;ve}%)::::;;vg'+<<<<;;ve}%)::::;;vi()->>>>;;ve}%)::::;;ve}%)::::;;ve}%)::::;;vg'+<<<<r   c                  \   t         dz  t         dz  t        z  z   dt         z  t        dz  z  z   t        dz  z   } t        ddi      }|j                  |       }|j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d	   j                  d   j                  d
k(  sJ |j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d	   j                  d   j                  dk(  sJ t        ddi      }|j                  |       }|j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d	   j                  d   j                  dk(  sJ |j                  d   j
                  dk(  sJ |j                  d   j                  d   j                  d   j                  dk(  sJ |j                  d   j                  d	   j                  d   j                  d
k(  sJ y )Nr   r   r   rQ  rR  r   r}  r   r   r      r   r   rT  )r   r   r|   r   r   r   r   rV  s      r   test_presentation_mathml_orderr  o  su   a4!Q$q&=1Q3q!t8#ad*D	"GU#3	4B
))D/C>>!%%///>>!''*55a8BBcIII>>!''*55a8BBcIII>>!%%///>>!''*55a8BBcIII>>!''*55a8BBcIII	"GY#7	8B
))D/C>>!%%///>>!''*55a8BBcIII>>!''*55a8BBcIII>>!%%///>>!''*55a8BBcIII>>!''*55a8BBcIIIr   c                     t        dd      } t        j                  t        d|             dk(  sJ t        j                  t        d| dd            dk(  sJ t        j                  t        d| dd            dk(  sJ t        j                  t        d| dd            dk(  sJ t        j                  t        d| dd            d	k(  sJ y )
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   rv  r   r   r  s    r   test_print_intervalsr    s    sA;;x1~&QR R R;;x1eU34QR R R;;x1dE23QR R R;;x1eT23QR R R;;x1dD12QR R Rr   c                     t         j                  t        d            dk(  sJ t         j                  t        dt                    dk(  sJ t         j                  t        dt        t                    dk(  sJ t         j                  t        ddddd            d	k(  sJ t         j                  t        ddt        ddd                  d
k(  sJ y )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>)rv  r   r   r  r   r   r   test_print_tuplesr    s    ;;uQy!45 5 5;;uQ{#>? ? ?;;uQ1~&HI I I;;uQ1a+,\] ] ];;uQ5Aq>23	<< < <r   c                  H   t         j                  t        t                    dk(  sJ t         j                  t	        t                    dk(  sJ t         j                  t        t        dz               dk(  sJ t         j                  t	        t        dz               dk(  sJ y )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>)rv  r   r)   r   r*   r   r   r   test_print_re_imr    s    ;;r!uTU U U;;r!uTU U U;;r!a%y!	77 7 7 ;;r!a%y!TU U Ur   c                      t         j                  t        t                    dk(  sJ t         j                  t        t        dz               dk(  sJ y )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>)rv  r   r,   r   r   r   r   test_print_Absr    sP    ;;s1vGH H H;;s1q5z"hi i ir   c            	      h    t         j                  t        t        ddgddgg                  dk(  sJ y )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>)rv  r   ru   rt   r   r   r   test_print_Determinantr    s=    ;;{6Aq6Aq6*:#;<= 	__ _ _r   c                  &    t        t        d        y )Nc                  &    t        t        dd      S )Nr  r[  )r  r\  r]  r   r   r   r^  z,test_presentation_settings.<locals>.<lambda>  s    fQ,57 r   r_  r   r   r   test_presentation_settingsr    s    
9 7 8r   c                  $   ddl m} m}m}m}m} t        j                  |      dk(  sJ t        j                  |       dk(  sJ t        j                  |      dk(  sJ t        j                  |      dk(  sJ t        j                  |      dk(  sJ y )Nr   IntegersNaturals	Naturals0Reals	Complexesz&<mi mathvariant="normal">&#x2102;</mi>z&<mi mathvariant="normal">&#x2124;</mi>z&<mi mathvariant="normal">&#x2115;</mi>z=<msub><mi mathvariant="normal">&#x2115;</mi><mn>0</mn></msub>z&<mi mathvariant="normal">&#x211D;</mi>)
sympy.setsr  r  r  r  r  rv  r   r  s        r   test_print_domainsr    s    JJ;;y!%MMMM;;x $LLLL;;x $LLLL;;y!GH H H;;u!IIIIr   c                      t         j                  t               dk(  sJ t         j                  t         t        z        dk(  sJ t         j                  t	        dd             dk(  sJ y )Nz!<mrow><mo>-</mo><mi>x</mi></mrow>z:<mrow><mo>-</mo><mfrac><mi>x</mi><mi>y</mi></mfrac></mrow>r   r   z:<mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow>)rv  r   r   r   r   r   r   r    test_print_expression_with_minusr    sk    ;;r?AAAA;;r!tDE E E;;A'DE E Er   c                  l    ddl m}   G d d|       } |dd      }t        j                  |      dk(  sJ y )Nr   )AssocOpc                       e Zd ZdZy)'test_print_AssocOp.<locals>.TestAssocOpr   N)__name__
__module____qualname__identityr   r   r   TestAssocOpr    s    r   r  r   r   z5<mrow><mi>testassocop</mi><mn>1</mn><mn>2</mn></mrow>)sympy.core.operationsr  rv  r   )r  r  rW  s      r   test_print_AssocOpr    s@    -g  q!D;;t?@ @ @r   c                      t        t        d      t        d            } t        j                  |       dk(  sJ t        j                  |       dk(  sJ y )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   rv  r   r   rW  s    r   test_print_basicr    sO    1qtD;;tLM M M::dDDDDr   c                      t        ddgddgg      } t        | dd      dk(  sJ t        | dd	      d
k(  sJ t        | dd      dk(  sJ y )Nr   r   r   r   r  [)r  	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>)rt   r   r  s    r   test_mat_delim_printr    s    Aq6Aq6"#D$#>	** * * $#>	YY Y Y $"=	DD D Dr   c                      t        t              } t        | d      dk(  sJ t        | dd      dk(  sJ t        | dd      dk(  sJ y )Nr  r  z6<mrow><mi>log</mi><mfenced><mi>x</mi></mfenced></mrow>F)r  ln_notationTz5<mrow><mi>ln</mi><mfenced><mi>x</mi></mfenced></mrow>)r/   r   r   r  s    r   test_ln_notation_printr    sl    q6D$/@A A A$EB@A A A$DA?@ @ @r   c                      t         t        z  } t        | d      dk(  sJ t        | dd       dk(  sJ t        | dd      dk(  sJ t        | dd      dk(  sJ t        | dd	      d
k(  sJ y )Nr  r  z:<mrow><mi>x</mi><mo>&InvisibleTimes;</mo><mi>y</mi></mrow>)r  
mul_symboldotz0<mrow><mi>x</mi><mo>&#xB7;</mo><mi>y</mi></mrow>ldotz2<mrow><mi>x</mi><mo>&#x2024;</mo><mi>y</mi></mrow>r   z0<mrow><mi>x</mi><mo>&#xD7;</mo><mi>y</mi></mrow>)r   r   r   r  s    r   test_mul_symbol_printr    s    q5D$/DE E E$4@DE E E$5A:; ; ;$6B<= = =$7C:; ; ;r   c                  N    t         j                  t        ddd            dk(  sJ y )Nr   r   r   zN<mrow><mi>&#x3A6;</mi><mfenced><mn>1</mn><mn>2</mn><mn>3</mn></mfenced></mrow>)rv  r   rh   r   r   r   test_print_lerchphir    s,    ;;x1a()XY Y Yr   c                      t         j                  t        t        t                    dk(  sJ t
        j                  t        t        t                    dk(  sJ y )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   rf   r   r   rv  r   r   r   test_print_polylogr    sM    ::gam$78 8 8;;wq!}%VW W Wr   c                      t        h d      } t        j                  |       dk(  sJ t        h d      }t        j                  |      dk(  sJ y )N>   r   r   r   zD<mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mn>5</mn></mfenced>>   r   r   r   D<mfenced close="}" open="{"><mn>1</mn><mn>2</mn><mn>3</mn></mfenced>)	frozensetrv  r   set)r  ss     r   test_print_set_frozensetr    sU    )A;;q>NO O OIA;;q>NO O Or   c                  Z    t        t        dd      } t        j                  |       dk(  sJ y )Nr   r   zD<mfenced close="}" open="{"><mn>1</mn><mn>3</mn><mi>x</mi></mfenced>)r   r   rv  r   )f1s    r   test_print_FiniteSetr  !  s0    	1a	B;;r?NO O Or   c                      t         j                  t        t                    dk(  sJ t         j                  t        t        t                    dk(  sJ y )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>)rv  r   r.   r   r   r   r   r   test_print_LambertWr  '  s<    ;;x{#']]]];;x1~&*jjjjr   c                  T    t         j                  t        j                        dk(  sJ y )Nz<mo>&#x2205;</mo>)rv  r   r   r   r   r   r   test_print_EmptySetr  ,  s    ;;qzz"&9999r   c                  T    t         j                  t        j                        dk(  sJ y )Nz<mo>&#x1D54C;</mo>)rv  r   r   UniversalSetr   r   r   test_print_UniversalSetr  0  s    ;;q~~&*>>>>r   c                      t         j                  t                     dk(  sJ t         j                  t        d            dk(  sJ t         j                  t	                     dk(  sJ y )Nz<mi>&#x210B;</mi>r   z <msup>&#x1D49E;<mn>2</mn></msup>z<mi>&#x2131;</mi>)rv  r   rz   rw   rx   r   r   r   test_print_spacesr  4  sR    ;;|~&*====;;|A'+MMMM;;y{#'::::r   c                  0   t         j                  t              dk(  sJ t         j                  t        j                        dk(  sJ t         j                  t        j
                        dk(  sJ t         j                  t        j                        dk(  sJ y )Nr  r  r  r  )rv  r   ry   r   r   r   r   r   r   r   test_print_constantsr  :  sp    ;;t 3333;;q++,0MMMM;;q}}%);;;;;;q||$(::::r   c                  p    t         j                  t        t        t        j
                              dk(  sJ y )NzN<mrow><mi>x</mi><mo>&#x2208;</mo><mi mathvariant="normal">&#x2115;</mi></mrow>)rv  r   r   r   r   r  r   r   r   test_print_Containsr  A  s.    ;;x1::./XY Y Yr   c                  R    t         j                  t        t                    dk(  sJ y )Nz<msup><mi>x</mi>&#x2020;</msup>)rv  r   r{   r   r   r   r   test_print_Daggerr  F  s    ;;vay!%FFFFr   c                     t        t        dd      } t        t        dd      }d } |t        | |d            dk(  sJ  |t	        | |d            d	k(  sJ  |t        | |d            d
k(  sJ  |t        | |d            dk(  sJ t        t              }t        t              }t        t              }t        ||d      }t	        ||d      }t        ||d      }t        ||d      }	t        ||      }
 |t        ||d            dk(  sJ  |t	        ||d            dk(  sJ  |t        ||	d            dk(  sJ  |t        ||
d            dk(  sJ  |t        ||            dk(  sJ y )Nr   r   r   r   c                     t        | d      S )Nr  r  )r   )r   s    r   r^  z"test_print_SetOp.<locals>.<lambda>N  s    fQ7 r   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  rf  rg  r   )r  f2prntrr   rh  ri  rj  rl  rn  D1rp  s              r   test_print_SetOpr  J  s   	1a	B	1a	B7Er2./,, , , b"u56,, , , BU34,, , , $Re<=,, , ,
 	!A!A!A	q!e	$B	aU	+B	Aq5	)B	QE	2B	Aq	Bq"u-.	77 7 7
 ae45	77 7 7
 ArE23	77 7 7
 $QU;<	77 7 7
 Ar"#	77 7 7r   c                     t         j                  t        t        t                    dk(  sJ t         j                  t        t        t                    dk(  sJ t         j                  t        t        t                    dk(  sJ t         j                  t        t        t                    dk(  sJ t         j                  t        t        t                    dk(  sJ t         j                  t        t        t        t              t        dkD              dk(  sJ t         j                  t        t        t        d      t        dk  t        t        d	z   kD              d
k(  sJ t         j                  t        t        t        t              t        dkD              dk(  sJ t         j                  t        t        t        d      t        t        dk  t        t        d	z   kD                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t        t        t                          dk(  sJ y )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>)rv  r   rp   r   r   rm   rl   rr   rq   r   rs   r   r   r   test_print_logicr    s   ;;s1ay!<= = =;;r!Qx <= = =;;s1ay!<= = =;;wq!}%<= = =;;z!Q'(<= = = ;;s2a8QU+,	== = = ;;s2a8QUAAI67	UU U U ;;r"Q(AE*+	== = = ;;s2a8RAq1q5y%9:;	44 4 4 ;;s1v"JJJJ;;s3q!9~&	-- - -r   c                     t        t        t        j                  dz  z  d      dk(  sJ t        t        t        j                  dz  z  dd      dk(  sJ t        t        t        j                  dz  z  d      d	k(  sJ t        t        t        j                  dz  z  dd      d
k(  sJ t        t        t	        dd      z  d      dk(  sJ t        t        t	        dd      z  dd      dk(  sJ y )Nr   r  r  z#<mroot><mi>x</mi><mn>3</mn></mroot>F)r  root_notationz:<msup><mi>x</mi><mfrac><mn>1</mn><mn>3</mn></mfrac></msup>contentz;<apply><root/><degree><cn>3</cn></degree><ci>x</ci></apply>zM<apply><power/><ci>x</ci><apply><divide/><cn>1</cn><cn>3</cn></apply></apply>rt  z<<mfrac><mn>1</mn><mroot><mi>x</mi><mn>3</mn></mroot></mfrac>zS<mfrac><mn>1</mn><msup><mi>x</mi><mfrac><mn>1</mn><mn>3</mn></mfrac></msup></mfrac>)r   r   r   Oner   r   r   r   test_root_notation_printr    s   !aeeAg,7-. . .!aeeAg,eLDE E E!aeeAg,	2EF F F!aeeAg,	GWX X X!hr1o&?FG G G!hr1o&eT`a a ar   c                      t         t        dd      z  } t        | d      dk(  sJ t        | dd      dk(  sJ t        | dd	      dk(  sJ y )
Nr   r   r  r  z:<msup><mi>x</mi><mfrac><mn>5</mn><mn>2</mn></mfrac></msup>T)r  fold_frac_powerszJ<msup><mi>x</mi><mfrac bevelled="true"><mn>5</mn><mn>2</mn></mfrac></msup>F)r   r   r   r  s    r   test_fold_frac_powers_printr    ss    AD$/DE E E$FTU U U$GDE E Er   c                      t        dd      } t        | d      dk(  sJ t        | dd      dk(  sJ t        | dd	      dk(  sJ y )
Nr   r   r  r  z#<mfrac><mn>2</mn><mn>5</mn></mfrac>T)r  fold_short_fracz3<mfrac bevelled="true"><mn>2</mn><mn>5</mn></mfrac>F)r   r   r  s    r   test_fold_short_frac_printr    se    Aq>D$/-. . .$E=> > >$F-. . .r   c                     t         j                  t        t                    dk(  sJ t         j                  t        t        dz               dk(  sJ t         j                  t	        t                    dk(  sJ t         j                  t	        t        dz               dk(  sJ t         j                  t        t        t                    dk(  sJ t         j                  t        dt        t        z               dk(  sJ y )	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>)rv  r   r   r   r   r   r   r   r   r   test_print_factorialsr    s    ;;y|$(KKKK;;yQ'(_` ` `;;z!}%)MMMM;;z!a%()`a a a;;x1~&RS S S;;x1q5)*	88 8 8r   c                  F    t        t              } t        | d      dk(  sJ y )Nr  r  zI<mrow><mfenced close="&#8971;" open="&#8970;"><mi>x</mi></mfenced></mrow>)r=   r   r   r  s    r   test_print_floorr    s*    8D$/ST T Tr   c                  F    t        t              } t        | d      dk(  sJ y )Nr  r  zI<mrow><mfenced close="&#8969;" open="&#8968;"><mi>x</mi></mfenced></mrow>)r<   r   r   r  s    r   test_print_ceilingr     s*    1:D$/ST T Tr   c                      t        t        t        dz         } t        | d      dk(  sJ t        t        t        ft        t        z         } t        | d      dk(  sJ y )Nr   r  r  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  s    r   test_print_Lambdar"    sg    !QqS>D$/	-- - - 1a&!a% D$/	XX X Xr   c                      t         j                  t        t                    dk(  sJ t         j                  t        t        dz               dk(  sJ y )Nz.<menclose notation="top"><mi>x</mi></menclose>r   zO<mrow><menclose notation="top"><mi>x</mi></menclose><mo>+</mo><mn>1</mn></mrow>)rv  r   r+   r   r   r   r   test_print_conjugater$    sN    ;;y|$89 9 9;;yQ'(YZ Z Zr   c                     t        dd      } t        j                  t        dd            dk(  sJ t        j                  t        d|             dk(  sJ t        j                  t        | dz   | dz               d	k(  sJ y )
Nr  Tr  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   rv  r   r   r  s    r   test_print_AccumBoundsr&    s    sA;;{1a()-wwww;;{1a()-wwww;;{1q5!a%01  6B  B  B  Br   c                  ~   t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        d            dk(  sJ t         j                  t        dt        z              dk(  sJ t         j                  t        d	t        z              d
k(  sJ y )Ng}Ô%ITzL<mrow><mn>1.0</mn><mo>&#xB7;</mo><msup><mn>10</mn><mn>100</mn></msup></mrow>g0.++zM<mrow><mn>1.0</mn><mo>&#xB7;</mo><msup><mn>10</mn><mn>-100</mn></msup></mrow>g}Ô%IzM<mrow><mn>-1.0</mn><mo>&#xB7;</mo><msup><mn>10</mn><mn>100</mn></msup></mrow>r   z<mi>&#x221E;</mi>g      z(<mrow><mo>-</mo><mi>&#x221E;</mi></mrow>)rv  r   r   r   r   r   r   test_print_Floatr(    s    ;;uU|$(vvvv;;uV}%)xxxx;;uV}%)xxxx;;uSV}%)<<<<;;uT"W~&*TTTTr   c                  f   t         j                  t        t                    dk(  sJ t         j                  t	        t        t
                    dk(  sJ t         j                  t        t        t
                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t        t
                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t                    d	k(  sJ t         j                  t        t                    d
k(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t        t                    dk(  sJ t         j                  t!        t                    dk(  sJ y )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>)rv  r   rU   r   rW   r   rV   rj   ri   rO   r'   r(   r%   r&   rR   rQ   rL   r   r   r   test_print_different_functionsr*    s   ;;uQx $````;;z!Q'(,rrrr;;z!Q'(,rrrr;;tAw#____;;tAqz"&llll;;}Q'(-iiii;;z!}%)eeee;;wqz"&bbbb;;q)*.jjjj;;wqz"&bbbb;;z!}%)eeee;;x{#']]]];;x{#(^^^^;;y|$  )H  H  H  Hr   c                      t         j                  d       dk(  sJ t         j                  t              dk(  sJ t         j                  t              dk(  sJ y )Nz<mi>None</mi>z<mi>True</mi>z<mi>False</mi>)rv  r   ro   rn   r   r   r   test_mathml_builtinsr,    sH    ;;t///;;t///;;u!1111r   c                  j   t         j                  t        dd            dk(  sJ t         j                  t        dd            dk(  sJ t         j                  t        ddd            dk(  sJ t         j                  t        dd	d            d
k(  sJ t         j                  t        d	dd            dk(  sJ t         j                  t        dt        d            dk(  sJ t         j                  t        t        dd            dk(  sJ t         j                  t        dt         d            dk(  sJ y )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>rt  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>ru  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>)rv  r   r   r   r   r   r   test_mathml_Ranger0    sL   ;;uQ|$_` ` `;;uQ{#NO O O;;uQ1~&NO O O;;uQA'_` ` `;;uRB'(	   ;;uQA'TU U U;;uRR()TU U U;;uR"b)*VW W Wr   c                      t         j                  t        t                    dk(  sJ t         j                  t        d      t        d      z         dk(  sJ y )Nz.<msup><mi>&ExponentialE;</mi><mi>x</mi></msup>r   r   z\<mrow><mi>&ExponentialE;</mi><mo>+</mo><msup><mi>&ExponentialE;</mi><mn>2</mn></msup></mrow>)rv  r   r-   r   r   r   r   test_print_expr2  2  sQ    ;;s1v89 9 9;;s1vA'fg g gr   c                  t   t         j                  t        t        t                    dk(  sJ t         j                  t        t        dt        dz              dk(  sJ t         j                  t        t        t                    dk(  sJ t         j                  t        t        dt        dz              dk(  sJ y )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>)rv  r   r?   r   r   r>   r   r   r   test_print_MinMaxr4  9  s    ;;s1ay!JK K K;;s1aA'	-- - - ;;s1ay!JK K K;;s1aA'	-- - -r   c                     t        d      } t        t        |       d      dk(  sJ t        t        |       d      dk(  sJ t        t	        |       d      dk(  sJ t        t        |       d      dk(  sJ t        t        |       d      dk(  sJ t        t        |       d      dk(  sJ t        t        |       d      d	k(  sJ t        t        | t              d      d
k(  sJ t        t	        | t              d      d
k(  sJ t        t        | t              d      dk(  sJ t        t        | t              d      dk(  sJ t        t        | t              d      dk(  sJ y )Nnr  r  z!<msub><mi>C</mi><mi>n</mi></msub>z!<msub><mi>B</mi><mi>n</mi></msub>z!<msub><mi>E</mi><mi>n</mi></msub>z!<msub><mi>F</mi><mi>n</mi></msub>z!<msub><mi>L</mi><mi>n</mi></msub>z!<msub><mi>T</mi><mi>n</mi></msub>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   )r6  s    r    test_mathml_presentation_numbersr7  F  s   sA'!*n5+, , ,)A,7+, , ,$q'>2+, , ,%(N3+, , ,)A,7+, , ,%(N3+, , ,*Q-8+, , ,)Aq/>:UV V V$q!*n5UV V V%1+~6UV V V)Aq/>:UV V V*Q"N;UV V Vr   c                  L   t        t        t        t        t              d      dk(  sJ t        t        t        t        t              d      dk(  sJ t        t        t        t        t              d      dk(  sJ t        t        t        t        t              d      dk(  sJ y )Nr  r  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   r[   r   r   r  rY   rZ   rX   r   r   r    test_mathml_presentation_mathieur9  b  s    (1a#^<RS S S(1a#^<RS S S-1a(.AZ[ [ [-1a(.AZ[ [ [r   c                      t        t        t              d      dk(  sJ t        t        t        t              d      dk(  sJ y )Nr  r  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   rg   r6  r   r   r   r   "test_mathml_presentation_stieltjesr;  m  sG    )A,7	34 4 4)Aq/>:	]^ ^ ^r   c                      t        ddd      } t        j                  |       dk(  sJ t        j                  |       dk(  sJ t	        | dd      d	k(  sJ t	        | d
      dk(  sJ y )Nr   r   r   z
<mi>A</mi>z
<ci>A</ci>r  bold)r  mat_symbol_stylez<mi mathvariant="bold">A</mi>)r>  )rv   rv  r   r   r   )r   s    r   test_print_matrix_symbolr?  t  sq    S!QA;;q>\)))::a=L(((!^fE'( ( ( !f-===r   c                  2   ddl m}  ddl m} t        ddd      }t        ddd      }t	         | |||z        d      d	k(  sJ t	         | ||      |z  d      d
k(  sJ t	         | |||      d      dk(  sJ t	         | | ||            d      dk(  sJ y )Nr   )HadamardProduct)	TransposeXr   Yr  r  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>)sympy.matrices.expressionsrA  rB  rv   r   )rA  rB  rC  rD  s       r   test_print_hadamardrF  ~  s    :4S!QAS!QA/!QqS)>B	   /!Q')>B	   /!Q*NC	   /!Q'(.B  r   c                      t        t        d            } t        j                  |       dk(  sJ t        j                  |       dk(  sJ y )NRz
<mi>R</mi>z
<ci>R</ci>)r   r   rv  r   r   )rH  s    r   test_print_random_symbolrI    s<    VC[!A;;q>\)))::a=L(((r   c                  L   t        t        t              t           d      dk(  sJ t        t        t              t        t        t
        f   d      dk(  sJ t        t        t              t           t        t              t
           z  t        t              z  d      dk(  sJ y )Nr  r  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  re  rf  rg  er   r   r   test_print_IndexedBaserL    s    +a.#^<+, , ,+a.Aq)>BRS S S+a.#KN1$55k!nD(*ee e er   c                      t        t        t              d      dk(  sJ t        t        t        t        z        d      dk(  sJ t        t        t        t        f      d      dk(  sJ y )Nr  r  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  re  r   r   r   test_print_IndexedrN    se    +a..9\III+ac"N;:; ; ;+q!f%~>>? ? ?r   c                      t        d      \  } }t        d| |      }t        |d   d      dk(  sJ t        || |f   d      dk(  sJ t        || |z  df   d      d	k(  sJ y )
Nzi jr   )r   r   r  r  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   rv   r   )ijr   s      r   test_print_MatrixElementrR    s    5>DAqS!QA!C&>2YZ Z Z!AaC&N3YZ Z Z!AaCE(n5 	JJ J Jr   c                  
   t        d      } t        t        | j                  | j                  | j
                  z  dz  | j                  z         d      dk(  sJ t        t        | j                  | j                        d      dk(  sJ t        t
        t        | j                  | j                        z  d      dk(  sJ t        t        t
        | j                  z  | j                        d      dk(  sJ t        t        d| j
                  z  | j                  z        d      d	k(  sJ t        t        dt
        z  | j
                  z  | j                  z        d      d
k(  sJ t        t
        t        d| j
                  z  | j                  z        z  d      dk(  sJ t        t        dt
        z  | j
                  z  | j                  z  | j                  z         d      dk(  sJ t        t        d| j
                  z  | j                  z        d      dk(  sJ t        t
        t        d| j
                  z  | j                  z        z  d      dk(  sJ t        t        dt
        z  | j
                  z  | j                  z  | j                  z         d      dk(  sJ t        t        | j                  | j                  | j
                  z  dz  | j                  z         d      dk(  sJ t        t        | j                  | j                        d      dk(  sJ t        t        t
        | j                  z  | j                        d      dk(  sJ t        t
        t        | j                  | j                        z  d      dk(  sJ t        t        | j
                        d      dk(  sJ t        t        | j
                  d| j                  z  z         d      dk(  sJ t        t
        t        | j
                        z  d      dk(  sJ t        t        t
        | j
                  z        d      dk(  sJ t        t        | j
                  | j                        t        | j                  | j
                        z   d      dk(  sJ t        t        | j                  | j
                        d      dk(  sJ t        t        | j
                        d      dk(  sJ t        t        | j
                  d| j                  z  z         d      dk(  sJ t        t
        t        | j
                        z  d      dk(  sJ t        t        t
        | j
                  z        d      dk(  sJ y )Nr   r   r  r  a	  <mrow><msub><mover><mi mathvariant="bold">i</mi><mo>^</mo></mover><mi mathvariant="bold">A</mi></msub><mo>&#xD7;</mo><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   rP  rQ  r   kr   r   r   r   r   r  r   )ACSs    r   test_print_VectorrV    si   
S/C%suuSUU{1}suu45~N	0	0 	0 	0 %suu%~>	66 6 6
 !E#%%''@	GG G G %#%%'@	## # # $qwsuu}%~>	GG G G $qs355y'@	GG G G !D355''@	-- - - $qs355y./H	GG G G *QsuuWSUU]+^D	YY Y Y !Jqwsuu}--~F	-- - - *QqSYsuu_suu45~N	YY Y Y #ceeSUU355[]35501>J	G	G 	G 	G #ceeSUU#^<	66 6 6
 #agsuu%~>	GG G G !Csuu%%~>	GG G G (355/>:	66 6 6 (3551SUU7?+^D	NN N N
 !HSUUO#^<	** * * (1SUU7#^<	-- - - %suu%ceeSUU(;;^T@A A A%suu%~>	ZZ Z Z )CEE"N;	66 6 6 )CEEAceeGO,nE	NN N N
 !Icee$$n=	** * * )AceeG$n=	-- - -r   c                      t        t        t        t              d      dk(  sJ t        t        t        t        z  t              d      dk(  sJ y )Nr  r  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   rN   r   r   r   r   r   test_print_elliptic_frX  ^  sU    *Q"n=_` ` `*QqS!$? 	FF F Fr   c                      t        t        t              d      dk(  sJ t        t        t        t              d      dk(  sJ y )Nr  r  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   rP   r   r   r   r   r   test_print_elliptic_erZ  d  sK    *Q->:UV V V*Q"n=_` ` `r   c                      t        t        t        t              d      dk(  sJ t        t        t        t        t              d      dk(  sJ y )Nr  r  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   rM   r   r   r  r   r   r   test_print_elliptic_pir\  j  sP    +a#~>_` ` `+aA&.Ajk k kr   c                      t        t        t              d      dk(  sJ t        t        t        t        z        d      dk(  sJ y )Nr  r  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   rS   r   r   r   r   r   test_print_Eir^  p  sL    "Q%>2?@ @ @"QT(n5VW W Wr   c                      t        t        t        t              d      dk(  sJ t        t        t	        t              d   t	        t              d         d      dk(  sJ y )Nr  r  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   rT   r   r   r   r   r   r   test_print_expintr`  v  sb    &A,.9UV V V&Q*KN1,=>.Y 	DD D Dr   c                  `    t        t        t        t        t        t
              d      dk(  sJ y )Nr  r  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\   r6  r  re  r   r   r   r   test_print_jacobirb  |  s/    &Aq!$? 	CC C Cr   c                  V    t        t        t        t        t              d      dk(  sJ y )Nr  r  zn<mrow><msubsup><mo>C</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r   ra   r6  r  r   r   r   r   test_print_gegenbauerrd    s*    *Q1%@xy y yr   c                  L    t        t        t        t              d      dk(  sJ y )Nr  r  zK<mrow><msub><mo>T</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r   r^   r6  r   r   r   r   test_print_chebyshevtrf    (    *Q"n=UV V Vr   c                  L    t        t        t        t              d      dk(  sJ y )Nr  r  zK<mrow><msub><mo>U</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r   r]   r6  r   r   r   r   test_print_chebyshevuri    rg  r   c                  L    t        t        t        t              d      dk(  sJ y )Nr  r  zK<mrow><msub><mo>P</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r   rc   r6  r   r   r   r   test_print_legendrerk    '    (1a.N;UV V Vr   c                  V    t        t        t        t        t              d      dk(  sJ y )Nr  r  zn<mrow><msubsup><mo>P</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r   r`   r6  r  r   r   r   r   test_print_assoc_legendrern    *    .Aq)^Dxy y yr   c                  L    t        t        t        t              d      dk(  sJ y )Nr  r  zK<mrow><msub><mo>L</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r   rd   r6  r   r   r   r   test_print_laguerrerq    rl  r   c                  V    t        t        t        t        t              d      dk(  sJ y )Nr  r  zn<mrow><msubsup><mo>L</mo><mi>n</mi><mfenced><mi>a</mi></mfenced></msubsup><mfenced><mi>x</mi></mfenced></mrow>)r   rb   r6  r  r   r   r   r   test_print_assoc_laguerrers    ro  r   c                  L    t        t        t        t              d      dk(  sJ y )Nr  r  zK<mrow><msub><mo>H</mo><mi>n</mi></msub><mfenced><mi>x</mi></mfenced></mrow>)r   r_   r6  r   r   r   r   test_print_hermiteru    s'    '!Q->:UV V Vr   c                     t        t        t        dd      d      dk(  sJ t        t        t        dd      d      dk(  sJ t        t        t        dd      d      d	k(  sJ t        t        t        t        t              d      d
k(  sJ t        t        t        dd      d      dk(  sJ t        t        t        dd      d      dk(  sJ y )Nr   r   r  r  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>ru  zw<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>-2</mn></msup>rt  zw<msup><mfenced close="&#10217;" open="&#10216;"><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfenced><mn>-1</mn></msup>)r   re   r   r  r6  r   r   r   test_mathml_SingularityFunctionrx    s   %aA.G	AA A A %aQ/H	AA A A %aA.G	   %aA.G	   %aB/H	BB B B %aB/H	BB B Br   c                  p   ddl m} m}m} t	        ddd      }t	        ddd      }t         | |      d      dk(  sJ t         | ||z         d      d	k(  sJ t         | |       | |      z   d      d
k(  sJ t         | ||z        d      dk(  sJ t         | |       | |      z  d      dk(  sJ t         | |dz        d      dk(  sJ t         | |      dz  d      dk(  sJ t         |  ||            d      dk(  sJ t         | | |            d      dk(  sJ t         |  ||            d      dk(  sJ t         | | |            d      dk(  sJ t         | | |      |z         d      dk(  sJ t         ||      d      dk(  sJ t         |||z         d      dk(  sJ y )Nr   )AdjointInverserB  rC  r   rD  r  r  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.matricesrz  r{  rB  rv   r   )rz  r{  rB  rC  rD  s        r   test_mathml_matrix_functionsr}    sT   ::S!QAS!QA'!*n523 3 3'!a%..9fg g g'!*wqz)>B	44 4 4 '!A#,7	>> > > '!*WQZ'@	?? ? ? '!Q$-8\] ] ]'!*a-8\] ] ]''!*%~>]^ ^ ^''!*%~>]^ ^ ^')A,'@\] ] ])GAJ'@\] ] ])GAJN+^D	AA A A )A,7+, , ,)AE"N;_` ` `r   c                      ddl m} m}m} t	         | d      d      dk(  sJ t	         |dd      d      dk(  sJ t	         |dd      d      d	k(  sJ y )
Nr   Identity
ZeroMatrix	OneMatrixr   r  r  z<mi>&#x1D540;</mi>r   z<mn>&#x1D7D8</mn>z<mn>&#x1D7D9</mn>)r|  r  r  r  r   r  s      r   test_mathml_special_matricesr    s[    >>(1+~6:NNNN*Q"N;?RRRR)Aq/>:>QQQQr   c                       ddl m  t          t        t        dk  ft        dz  df            dk(  sJ t	        t
         fd       y )Nr   	Piecewiser   r   Tz<piecewise><piece><ci>x</ci><apply><leq/><ci>x</ci><cn>1</cn></apply></piece><otherwise><apply><power/><ci>x</ci><cn>2</cn></apply></otherwise></piecewise>c                  @    t          t        t        dk  f            S r   r]  r  s   r   r^  z'test_mathml_piecewise.<locals>.<lambda>  s    viAF&<= r   )$sympy.functions.elementary.piecewiser  r   r   r   
ValueErrorr  s   @r   test_mathml_piecewiser    sJ    >)QQK!Q$67 	ff f f :=>r   c                      t        t        t         t              d      dk(  sJ t        t        t        t         d      d      dk(  sJ y )Nr  r  ze<mfenced close="}" open="{"><mi>&#8230;</mi><mn>-1</mn><mn>0</mn><mn>1</mn><mi>&#8230;</mi></mfenced>rt  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   test_issue_17857r    sS    %R..9op p p%RC$n=op p pr   c                      t        d      } t        t        j                  |       j	                  d            }| |k(  sJ y )Ng@;?z</cn>)r   floatr   r   strip)r   r   s     r   test_float_roundtripr    s5    "#Abjjm!!'*+A6M6r   N(0  !sympy.calculus.accumulationboundsr   sympy.concrete.summationsr   sympy.core.basicr   sympy.core.containersr   sympy.core.functionr   r   r	   r
   sympy.core.numbersr   r   r   r   r   r   r   r   sympy.core.relationalr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   sympy.core.sympifyr   (sympy.functions.combinatorial.factorialsr   r   r   %sympy.functions.combinatorial.numbersr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   $sympy.functions.elementary.complexesr)   r*   r+   r,   &sympy.functions.elementary.exponentialr-   r.   r/   %sympy.functions.elementary.hyperbolicr0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   #sympy.functions.elementary.integersr<   r=   (sympy.functions.elementary.miscellaneousr>   r?   (sympy.functions.elementary.trigonometricr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   'sympy.functions.special.delta_functionsrL   *sympy.functions.special.elliptic_integralsrM   rN   rO   rP   'sympy.functions.special.error_functionsrQ   rR   rS   rT   'sympy.functions.special.gamma_functionsrU   rV   rW   )sympy.functions.special.mathieu_functionsrX   rY   rZ   r[   #sympy.functions.special.polynomialsr\   r]   r^   r_   r`   ra   rb   rc   rd   -sympy.functions.special.singularity_functionsre   &sympy.functions.special.zeta_functionsrf   rg   rh   ri   rj   sympy.integrals.integralsrk   sympy.logic.boolalgrl   rm   rn   ro   rp   rq   rr   rs   sympy.matrices.densert   &sympy.matrices.expressions.determinantru   "sympy.matrices.expressions.matexprrv   sympy.physics.quantumrw   rx   ry   rz   r{   sympy.printing.mathmlr|   r}   r~   r   sympy.series.limitsr   sympy.sets.containsr   sympy.sets.fancysetsr   sympy.sets.setsr   r   r   r   r   r   r   sympy.stats.rvr   sympy.tensor.indexedr   sympy.vectorr   r   r   r   r   r   r   sympy.testing.pytestr   r   r   r  r  re  rf  rg  rK  r6  r   rv  r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   rO  rX  ra  rc  rr  rw  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r,  r0  r2  r4  r7  r9  r;  r?  rF  rI  rL  rN  rR  rV  rX  rZ  r\  r^  r`  rb  rd  rf  ri  rk  rn  rq  rs  ru  rx  r}  r  r  r  r  r   r   r   <module>r     s   9 ) " ' B B   0 0 " - &     H G E E> > > > > =7 7 7 7 =( (  ' '   N# # .   ' > ; 1 1 % ( &5 5 5 ' ,   '#K0 1aAq!Q!-
M"3J3>EG"LJE
&?4"@G3T>DhV6<rE4;?a@HE 3F+0O"<&7R
>< >C4#BL#>LWt6=rJ2R<	Ui_
8
JE@ED@;Y
WOOk
:?;;Y
G:7z-DaE.8TTXZBUH"2W(g
-V8[^>$N)e?JT-lF`kWDCyVVVyVyVB,#`LR?pr   