ó
    Š*£hã ã            	      ó¨  • % S r SSKJr  SSKJrJrJr  SSKrSSKJ	r	J
r
JrJrJrJrJrJr  SSKJr  SSKJr  SSKJrJrJr  SS	KJr  SS
KJr  SSKJr  SSKJ r   SSK!J"r"J#r#J$r$  SSK%J&r&  SSK'J(r(J)r)  SSK*J+r+J,r,  SSK%J-r-J.r.  SSK/J0r0J1r2  SSK3J4r4J5r5  SSK6r6\(       a  SSK7J8r8  SSK9J:r:  / SQr;0 SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_S'S(_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6_S7S8_0 S9S:_S;S<_S=S>_S?S@_SASB_SCSD_SESF_SGSH_SISJ_SKS,_SLSM_SNSD_SOSP_SQSR_SSST_SUSV_SWSX_ESYSZS[.Er<1 S\kr=0 S]S^ _S_S` _SaSb _ScSd _SeSf _SgSh _SiSj _SkSl _SmSn _SoSp _SqSr _SsSt _SuSv _SwSx _SySz _S{S| _S}S~ _S S€ S� S‚ Sƒ S„ S… S†.Er>S‡\?Sˆ'   \@" \5      rA\6R„                  " S‰5      \6R„                  " SŠ5      4rCS’S‹ jrD " SŒ S�\(5      rES’SŽ jrF\)" \E5      S� 5       rGS� rHS“S‘ jrIg)”zC
A Printer which converts an expression into its LaTeX equivalent.
é    )Úannotations)ÚAnyÚCallableÚTYPE_CHECKINGN)ÚAddÚFloatÚModÚMulÚNumberÚSÚSymbolÚExpr)Úgreeks)ÚTuple)ÚFunctionÚAppliedUndefÚ
Derivative)ÚAssocOp)ÚPow)Údefault_sort_key)ÚSympifyError)ÚtrueÚBooleanTrueÚBooleanFalse)Úprecedence_traditional)ÚPrinterÚprint_function)Úsplit_super_subÚrequires_partial)Ú
precedenceÚ
PRECEDENCE)Úprec_to_dpsÚto_str)Úhas_varietyÚsift)Ú	NDimArray)ÚBasisDependent)ÚarcsinÚarccosÚarctanÚsinÚcosÚtanÚsinhÚcoshÚtanhÚsqrtÚlnÚlogÚsecÚcscÚcotÚcothÚreÚimÚfracÚrootÚargÚAlphaz
\mathrm{A}ÚBetaz
\mathrm{B}ÚGammaú\GammaÚDeltaz\DeltaÚEpsilonz
\mathrm{E}ÚZetaz
\mathrm{Z}ÚEtaz
\mathrm{H}ÚThetaz\ThetaÚIotaz
\mathrm{I}ÚKappaz
\mathrm{K}ÚLambdaz\LambdaÚMuz
\mathrm{M}ÚNuz
\mathrm{N}ÚXiz\XiÚomicronÚoÚOmicronz
\mathrm{O}ÚPiz\PiÚRhoz
\mathrm{P}ÚSigmaz\SigmaÚTauz
\mathrm{T}ÚUpsilonz\UpsilonÚPhiz\PhiÚChiz
\mathrm{X}ÚPsiz\PsiÚOmegaz\OmegaÚlamdaz\lambdaÚLamdaÚkhiz\chiÚKhiÚ
varepsilonz\varepsilonÚvarkappaz	\varkappaÚvarphiz\varphiÚvarpiz\varpiÚvarrhoz\varrhoz	\varsigmaz	\vartheta)ÚvarsigmaÚvartheta>
   ÚwpÚellÚethÚmhoÚbethÚhbarÚalephÚgimelÚdalethÚhslashÚmathringc                ó   • SU -   S-   $ )Nz
\mathring{Ú}© ©Úss    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/printing/latex.pyÚ<lambda>rt   [   s   € ˜-¨™/¨$Ò.ó    Úddddotc                ó   • SU -   S-   $ )Nz\ddddot{ro   rp   rq   s    rs   rt   rt   \   s   € ˜ A™ dÒ*ru   Údddotc                ó   • SU -   S-   $ )Nz\dddot{ro   rp   rq   s    rs   rt   rt   ]   ó   € �z !‘| DÒ(ru   Úddotc                ó   • SU -   S-   $ )Nz\ddot{ro   rp   rq   s    rs   rt   rt   ^   s   € �i ‘k $Ò&ru   Údotc                ó   • SU -   S-   $ )Nz\dot{ro   rp   rq   s    rs   rt   rt   _   ó   € �X˜a‘Z ’_ru   Úcheckc                ó   • SU -   S-   $ )Nz\check{ro   rp   rq   s    rs   rt   rt   `   rz   ru   Úbrevec                ó   • SU -   S-   $ )Nz\breve{ro   rp   rq   s    rs   rt   rt   a   rz   ru   Úacutec                ó   • SU -   S-   $ )Nz\acute{ro   rp   rq   s    rs   rt   rt   b   rz   ru   Úgravec                ó   • SU -   S-   $ )Nz\grave{ro   rp   rq   s    rs   rt   rt   c   rz   ru   Útildec                ó   • SU -   S-   $ )Nz\tilde{ro   rp   rq   s    rs   rt   rt   d   rz   ru   Úhatc                ó   • SU -   S-   $ )Nz\hat{ro   rp   rq   s    rs   rt   rt   e   r   ru   Úbarc                ó   • SU -   S-   $ )Nz\bar{ro   rp   rq   s    rs   rt   rt   f   r   ru   Úvecc                ó   • SU -   S-   $ )Nz\vec{ro   rp   rq   s    rs   rt   rt   g   r   ru   Úprimec                ó   • SU -   S-   $ ©NÚ{z}'rp   rq   s    rs   rt   rt   h   s   € �s˜1‘u˜T’zru   Úprmc                ó   • SU -   S-   $ r’   rp   rq   s    rs   rt   rt   i   s   € �S˜‘U˜4’Zru   Úboldc                ó   • SU -   S-   $ ©Nz\boldsymbol{ro   rp   rq   s    rs   rt   rt   k   s   € �o aÑ'¨Ò,ru   Úbmc                ó   • SU -   S-   $ r˜   rp   rq   s    rs   rt   rt   l   s   € �O AÑ% dÒ*ru   c                ó   • SU -   S-   $ )Nz	\mathcal{ro   rp   rq   s    rs   rt   rt   m   ó   € �\ !‘^ DÒ(ru   c                ó   • SU -   S-   $ )Nz	\mathscr{ro   rp   rq   s    rs   rt   rt   n   rœ   ru   c                ó   • SU -   S-   $ )Nz
\mathfrak{ro   rp   rq   s    rs   rt   rt   o   s   € �m A‘o dÒ*ru   c                ó   • SU -   S-   $ )Nz\left\|{z	}\right\|rp   rq   s    rs   rt   rt   q   s   € �k !‘m LÒ0ru   c                ó   • SU -   S-   $ )Nz\left\langle{z}\right\ranglerp   rq   s    rs   rt   rt   r   s   € Ð% aÑ'Ð(9Ò9ru   c                ó   • SU -   S-   $ ©Nz\left|{z}\right|rp   rq   s    rs   rt   rt   s   ó   € �Z ‘\ +Ò-ru   c                ó   • SU -   S-   $ r¢   rp   rq   s    rs   rt   rt   t   r£   ru   )ÚcalÚscrÚfrakÚnormÚavgÚabsÚmagzdict[str, Callable[[str], str]]Úmodifier_dictz[0-9][} ]*$z(\d|\\frac{\d+}{\d+})c                ó®   • U R                  SS5      n S H  nU R                  USU-   5      n M     U R                  SS5      n U R                  SS5      n U $ )z¹
Escape a string such that latex interprets it as plaintext.

We cannot use verbatim easily with mathjax, so escaping is easier.
Rules from https://tex.stackexchange.com/a/34586/41112.
Ú\z\textbackslashz&%$#_{}Ú~z\textasciitildeÚ^z\textasciicircum)Úreplace)rr   Úcs     rs   Úlatex_escaper³      sZ   € ð 	
�	‰	�$Ð)Ó*€AÛˆØ�I‰I�a˜ ™Ó"Šñ à	�	‰	�#Ð)Ó*€AØ	�	‰	�#Ð*Ó+€AØ€Hru   c                  óX  ^ • \ rS rSr% Sr0 SS_SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_S0 _SS_SS_SS_SSSSSSSSSS.	ErS\S '   GSRS! jrGSSS" jrGSSS# jr	GSTGSSS$ jjr
S% rGSSS& jrGSUS' jrGSUS( jrGSTGSUS) jjrGSUS* jrGSUS+ jrGSUS, jrGSVS- jrS. rGSWS/ jr\r\rS0 rGSRS1 jrS2 rS3 rS4 rS5 rS6 rS7 rS8 r S9 r!S: r"S; r#GSXS< jr$S= r%S> r&GSYS? jr'GSZS@ jr(SA r)SB r*SC r+GS[SD jr,SE r-SF r.SG r/SH r0SI r1SJ r2SK r3GS\SL jr4GSRGS]SM jjr5SN r6SO r7\8SP 5       r9SQ r:SR r;SS r<GSRGSSST jjr=\==r>r?GSRSU jr@GSRSV jrAGSRSW jrBGSRSX jrCGSRSY jrDGSRSZ jrES[ rFS\ rGS] rHS^ rIS_ rJGSRS` jrKGSRSa jrLGSRSb jrMGSRSc jrNGSRSd jrOGSRSe jrPGSRSf jrQGSRSg jrRGSRSh jrSGSRSi jrTGSRSj jrUGS^Sk jrVGSRSl jrWGSRSm jrXGSRSn jrYGSRGSSSo jjrZ\Zr[GSRSp jr\GSRSq jr]GSRSr jr^GSRSs jr_GSRSt jr`GSRSu jraGSRSv jrbGSRSw jrcGSRSx jrdGSRSy jreGS_Sz jrfGSSS{ jrgGSRS| jrhGSRS} jriGSRS~ jrjGSRS jrkGSRS€ jrlGSRS� jrmGSRS‚ jrnGSRSƒ jroGSRS„ jrpGSRS… jrqGS`GSSS† jjrrGS`GSSS‡ jjrsGSRSˆ jrtGSRS‰ jruGSRSŠ jrvGSRS‹ jrwGSRSŒ jrxGSRS� jryGSRSŽ jrzGSRS� jr{GSRS� jr|GSRS‘ jr}GSRS’ jr~GSRS“ jrGSRS” jr€GSRS• jr�GSRS– jr‚GSRS— jrƒGSRS˜ jr„GSRS™ jr…GSRSš jr†GSRS› jr‡GSRSœ jrˆGSRS� jr‰GSaSž jrŠGSRSŸ jr‹GSRS  jrŒGSRS¡ jr�GSRS¢ jrŽS£ r�S¤ r�GSbGScS¥ jjr‘\‘r’GSdS¦ jr“GSbGSeS§ jjr”S¨ r•S© r–Sª r—S« r˜S¬ r™S­ ršS® r›S¯ rœS° r�S± ržS² rŸS³ r S´ r¡GSRSµ jr¢S¶ r£S· r¤S¸ r¥S¹ r¦Sº r§S» r¨S¼ r©S½ rªS¾ r«GSfS¿ jr¬GSgSÀ jr­SÁ r®SÂ r¯SÃ r°SÄ r±SÅ r²SÆ r³SÇ r´SÈ rµSÉ r¶GSRSÊ jr·SË r¸SÌ r¹SÍ rºSÎ r»SÏ r¼SÐ r½SÑ r¾GSRSÒ jr¿GSRSÓ jrÀGSRSÔ jrÁGSRSÕ jrÂGSRSÖ jrÃS× rÄSØ rÅSÙ rÆ\ÆrÇSÚ rÈGSRSÛ jrÉGSRSÜ jrÊGSRSÝ jrËGSRSÞ jrÌGSRSß jrÍGSRSà jrÎGSRSá jrÏGSRSâ jrÐSã rÑ\ÑrÒ\ÑrÓ\ÑrÔSä rÕSå rÖSæ r×Sç rØSè rÙSé rÚSê rÛSë rÜSì rÝSí rÞSî rßSï ràSð ráSñ râSò rãSó räSô råSõ ræSö rçS÷ rèSø réSù rêSú rëSû rìSü ríSý rîSþ rïSÿ rðGS  rñGS ròGS róGS rôGS rõGS röGS r÷GS røGS rùGSRGS	 jrúGSRGS
 jrûGShGS jrüGS rýGS rþGS rÿGS Gr GS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr	GSRGS jGr
GS GrGS GrGS GrGS GrGS GrGS GrGS  GrGS! GrGS" GrGS# GrGS$ GrGS% GrGS& GrGS' GrG\GrGS( GrGS) GrGS* GrGS+ GrGS, GrGS- GrGS. Gr GS/ Gr!GS0 Gr"GS1 Gr#GS2 Gr$GS3 Gr%GS4 Gr&GS5 Gr'GS6 Gr(GS7 Gr)GS8 Gr*GS9 Gr+GS: Gr,GS; Gr-GS< Gr.GS= Gr/GS> Gr0GS? Gr1GS@ Gr2GSRGSA jGr3GSRGSB jGr4GSRGSC jGr5GSRGSD jGr6GSRGSE jGr7GSRGSF jGr8GSG Gr9GSH Gr:GSI Gr;GSJ Gr<GSK Gr=GSL Gr>GSM Gr?GSN Gr@GSO GrAU 4GSP jGrBGSQGrCU =GrD$ (i  ÚLatexPrinteréŽ   Ú_latexÚ	full_precFÚfold_frac_powersÚfold_func_bracketsÚfold_short_fracNÚinv_trig_styleÚabbreviatedÚitexÚln_notationÚlong_frac_ratioÚ	mat_delimÚ[Úmat_strÚmodeÚplainÚ
mul_symbolÚorderÚsymbol_namesÚroot_notationTÚmat_symbol_styleÚimaginary_unitÚiÚperiodÚdÚdagger)	Úgothic_re_imÚdecimal_separatorÚperm_cyclicÚparenthesize_superÚminÚmaxÚdiff_operatorÚadjoint_styleÚdisable_split_super_subzdict[str, Any]Ú_default_settingsc                ó˜  • [         R                  " X5        SU R                  ;   a"  / SQnU R                  S   U;  a  [        S5      eU R                  S   c"  U R                  S   S:X  a  SU R                  S'   SSS	S
S.n X0R                  S      U R                  S'    X0R                  S   =(       d    S   U R                  S'   SSS.U l        SSSSSSSS.nU R                  S   nUR                  XU5      U R                  S'   SSSSS .nU R                  S!   nUR                  Xw5      U R                  S"'   g ! [         a    U R                  S   U R                  S'    NÆf = f! [         aT    U R                  S   R                  5       S;   a  US   U R                  S'    NáU R                  S   U R                  S'    Nÿf = f)#NrÄ   )ÚinlinerÅ   Úequationz	equation*zB'mode' must be one of 'inline', 'plain', 'equation' or 'equation*'r»   rÛ   TÚ z \,.\, ú \cdot ú \times )NÚldotr}   ÚtimesrÆ   Úmul_symbol_latexr}   Úmul_symbol_latex_numbers)Ú rÝ   r®   z\,z\:ú\;z\quadÚ)Ú])Ú(rÂ   rÌ   z
\mathrm{i}z\text{i}Újz
\mathrm{j}z\text{j})NrÌ   ÚriÚtiré   ÚrjÚtjrË   Úimaginary_unit_latexrÎ   z
\mathrm{d}z\text{d})NrÎ   ÚrdÚtdrÖ   Údiff_operator_latex)r   Ú__init__Ú	_settingsÚ
ValueErrorÚKeyErrorÚstripÚ_delim_dictÚget)ÚselfÚsettingsÚvalid_modesÚmul_symbol_tableÚimaginary_unit_tableÚ	imag_unitÚdiff_operator_tablerÖ   s           rs   rò   ÚLatexPrinter.__init__®   s  € Ü×Ò˜Ô(à�T—^‘^Ó#ò(ˆKà�~‰~˜fÑ%¨[Ó8Ü ð "=ó >ð >ð �>‰>Ð+Ñ,Ñ4Ø—‘˜vÑ&¨(Ó2Ø04ˆD�N‰NÐ,Ñ-ð ØØØ ñ	
Ðð	-à §¡°Ñ!=Ñ>ð �N‰NÐ-Ñ.ð

	1à §¡°Ñ!=×!FÀÑGð �N‰NÐ5Ñ6ð "%¨3Ñ/ˆÔð ØØØØØØñ 
Ðð —N‘NÐ#3Ñ4ˆ	Ø1E×1IÑ1IÈ)Ó1_ˆ�‰Ð-Ñ.ð ØØØñ	
Ðð Ÿ™ Ñ7ˆØ0C×0GÑ0GÈÓ0eˆ�‰Ð,Ò-øôI ó 	-à—‘˜|Ñ,ð �N‰NÐ-Ó.ð	-ûô ó 	1Ø—‘˜|Ñ,×2Ñ2Ó4ØBóCð % UÑ+ð —‘Ð9Ó:ð —N‘N <Ñ0ð —‘Ð9Ó:ð	1ús*   ÂD? Â"'E+ Ä?&E(Å'E(Å+=G	Æ*G	ÇG	c                ó$   • SR                  U5      $ )Nz\left({}\right)©Úformat©rù   rr   s     rs   Ú_add_parensÚLatexPrinter._add_parensë   s   € Ø!×(Ñ(¨Ó+Ð+ru   c                ó$   • SR                  U5      $ )Nz\left( {}\right)r  r  s     rs   Ú_add_parens_lspaceÚLatexPrinter._add_parens_lspaceï   s   € Ø"×)Ñ)¨!Ó,Ð,ru   c                óø   • [        U5      nU(       a'  U(       a   U R                  U R                  U5      5      $ XR:  d  U(       d%  XR::  a   U R                  U R                  U5      5      $ U R                  U5      $ ©N)r   r  Ú_print)rù   ÚitemÚlevelÚis_negÚstrictÚprec_vals         rs   ÚparenthesizeÚLatexPrinter.parenthesizeò   sa   € Ü)¨$Ó/ˆÞ–fØ×#Ñ# D§K¡K°Ó$5Ó6Ð6àÓ¦v°8Ó3DØ×#Ñ# D§K¡K°Ó$5Ó6Ð6à—;‘;˜tÓ$Ð$ru   c                ó~   • SU;   a6  U R                   S   (       a  U R                  U5      $ SR                  U5      $ U$ )zt
Protect superscripts in s

If the parenthesize_super option is set, protect with parentheses, else
wrap in braces.
r°   rÓ   z{{{}}})ró   r  r  r  s     rs   rÓ   ÚLatexPrinter.parenthesize_superü   s=   € ð �!‹8Ø�~‰~Ð2×3Ø×'Ñ'¨Ó*Ð*à—‘ qÓ)Ð)Øˆru   c                óö   • [         R                  " X5      nU R                  S   S:X  a  U$ U R                  S   S:X  a  SU-  $ U R                  S   (       a  SU-  $ U R                  S   nSU< SU< S	U< S3$ )
NrÄ   rÅ   rÛ   z$%s$r¾   z$$%s$$z\begin{ro   z\end{)r   Údoprintró   )rù   ÚexprÚtexÚenv_strs       rs   r  ÚLatexPrinter.doprint
  sr   € Ü�oŠo˜dÓ)ˆà�>‰>˜&Ñ! WÓ,ØˆJØ�^‰^˜FÑ# xÓ/Ø˜S‘=Ð Ø�^‰^˜F×#Ø˜s‘?Ð"à—n‘n VÑ,‰GÛ.5³s»GÐDÐDru   c                óÌ   • UR                   =(       a    UR                  =(       d:    UR                  =(       a'    U[        R                  L=(       a    UR
                  SL (       + $ )z¡
Returns True if the expression needs to be wrapped in brackets when
printed, False otherwise. For example: a + b => True; a => False;
10 => False; -10 => True.
F)Ú
is_IntegerÚis_nonnegativeÚis_Atomr   ÚNegativeOneÚis_Rational©rù   r  s     rs   Ú_needs_bracketsÚLatexPrinter._needs_brackets  sT   € ð —_‘_×<¨×)<Ñ)<÷ JØŸ™÷ I¨$´a·m±mÐ*C÷ +HØ.2×.>Ñ.>À%Ð.GôKð 	Kru   c                ó  • U R                  U5      (       d  gUR                  (       a  U R                  U5      (       d  gUR                  (       a  U R	                  U5      (       d  gUR
                  (       d  UR                  (       a  gg)aX  
Returns True if the expression needs to be wrapped in brackets when
passed as an argument to a function, False otherwise. This is a more
liberal version of _needs_brackets, in that many expressions which need
to be wrapped in brackets when added/subtracted/raised to a power do
not need them when passed to a function. Such an example is a*b.
FT)r#  Úis_MulÚ_mul_is_cleanÚis_PowÚ_pow_is_cleanÚis_AddÚis_Functionr"  s     rs   Ú_needs_function_bracketsÚ%LatexPrinter._needs_function_brackets!  sc   € ð ×#Ñ# D×)Ñ)Øð �{�{ 4×#5Ñ#5°d×#;Ñ#;Øà—— T×%7Ñ%7¸×%=Ñ%=Øà—— × 0× 0Øàru   c                ó†  ^• SSK Jn  SSKJn  SSKJn  TR                  (       a  U(       d  TR                  5       (       a  gO)[        T5      [        S   :  a  gTR                  (       a  gTR                  (       a  g[        U4S j[        4 5       5      (       a  gU(       d  [        U4S jXdU4 5       5      (       a  gg	)
a‡  
Returns True if the expression needs to be wrapped in brackets when
printed as part of a Mul, False otherwise. This is True for Add,
but also for some container objects that would not need brackets
when appearing last in a Mul, e.g. an Integral. ``last=True``
specifies that this expr is the last to appear in a Mul.
``first=True`` specifies that this expr is the first to appear in
a Mul.
r   )ÚProduct)ÚSum)ÚIntegralTr
   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  ©Úhas©Ú.0Úxr  s     €rs   Ú	<genexpr>Ú3LatexPrinter._needs_mul_brackets.<locals>.<genexpr>O  ó   øé € Ð+¢F˜qˆt�x‰x˜�{ˆ{¢Fùó   ƒ!c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r3  r5  s     €rs   r8  r9  R  s   øé € ÐBÒ)A A�D—H‘H˜Q—K�KÒ)Aùr;  F)Úsympy.concrete.productsr/  Úsympy.concrete.summationsr0  Úsympy.integrals.integralsr1  r&  Úcould_extract_minus_signr   r!   Úis_RelationalÚis_PiecewiseÚanyr	   )rù   r  ÚfirstÚlastr/  r0  r1  s    `     rs   Ú_needs_mul_bracketsÚ LatexPrinter._needs_mul_brackets8  sŒ   ø€ õ 	4Ý1Ý6à�;�;Þ˜T×:Ñ:×<Ñ<ØøÜ# DÓ)¬J°uÑ,=Ó=ØØ××ØØ××ØÜÔ+¤S¡FÓ+×+Ñ+ØÞÜÔB¨(¸SÑ)AÓB×BÑBØàru   c                óŽ   ^• TR                   (       a  g[        U4S j[        4 5       5      (       a  gTR                  (       a  gg)z‘
Returns True if the expression needs to be wrapped in brackets when
printed as part of an Add, False otherwise.  This is False for most
things.
Tc              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r3  r5  s     €rs   r8  Ú3LatexPrinter._needs_add_brackets.<locals>.<genexpr>_  r:  r;  F)rA  rC  r	   r*  r"  s    `rs   Ú_needs_add_bracketsÚ LatexPrinter._needs_add_bracketsW  s4   ø€ ð ××ØÜÔ+¤S¡FÓ+×+Ñ+ØØ�;�;ØØru   c                óP   • UR                    H  nUR                  (       d  M    g   g)NFT)Úargsr+  ©rù   r  r<   s      rs   r'  ÚLatexPrinter._mul_is_cleane  s!   € Ø—9”9ˆCØ��‰Ùñ ð ru   c                óB   • U R                  UR                  5      (       + $ r  )r#  Úbaser"  s     rs   r)  ÚLatexPrinter._pow_is_cleank  s   € Ø×'Ñ'¨¯	©	Ó2Ô2Ð2ru   c                ó"   • Ub  SU< SU< S3$ U$ )Nú\left(ú	\right)^{ro   rp   ©rù   r  Úexps      rs   Ú_do_exponentÚLatexPrinter._do_exponentn  s   € ØŠ?Û.2³CÐ8Ð8àˆKru   c                ó4  • U R                  UR                  R                  5      nUR                  (       aM  UR                   Vs/ s H  o0R	                  U5      PM     nnSnUR                  USR                  U5      5      $ SR                  U5      $ s  snf )Nz"\operatorname{{{}}}\left({}\right)ú, z\text{{{}}})Ú_deal_with_super_subÚ	__class__Ú__name__rN  r  r  Újoin)rù   r  ÚnamerM   Úlsrr   s         rs   Ú_print_BasicÚLatexPrinter._print_Basict  su   € Ø×(Ñ(¨¯©×)@Ñ)@ÓAˆØ�9�9Ø*.¯)ª)Ó4ª) Q—+‘+˜a–.©)ˆBÐ4Ø5ˆAØ—8‘8˜D $§)¡)¨B£-Ó0Ð0à!×(Ñ(¨Ó.Ð.ùò	 5s   ÁBc                ó   • SU-  $ ©Nú	\text{%s}rp   ©rù   Úes     rs   Ú_print_boolÚLatexPrinter._print_bool}  ó   € Ø˜aÑÐru   c                ó   • SU-  $ rf  rp   rh  s     rs   Ú_print_NoneTypeÚLatexPrinter._print_NoneTypeƒ  rl  ru   c                ó  • U R                  XS9nSn[        U5       H_  u  pVUS:X  a  O#UR                  5       (       a	  US-  nU* nOUS-  nU R                  U5      nU R	                  U5      (       a  SU-  nXG-  nMa     U$ )N)rÇ   rä   r   ú - ú + ú\left(%s\right))Ú_as_ordered_termsÚ	enumerater@  r  rK  )rù   r  rÇ   Útermsr  rÌ   ÚtermÚterm_texs           rs   Ú
_print_AddÚLatexPrinter._print_Add†  s”   € Ø×&Ñ& tÐ&Ð9ˆàˆÜ  Ö'‰GˆAØ�A‹vØØ×.Ñ.×0Ñ0Ø�u‘�Ø�u‘à�u‘�Ø—{‘{ 4Ó(ˆHØ×'Ñ'¨×-Ñ-Ø-°Ñ8�Ø‰OŠCñ (ð ˆ
ru   c                óL  • SSK Jn  UR                  S:X  a  gU" U5      nUR                  nUR                  nUR                  S   US-
  :X  a	  X4S-
  //-   nSnU H!  nU[        U5      R                  SS5      -  nM#     UR                  S	S
5      nUR                  SS5      nU$ )Nr   ©ÚPermutationú\left( \right)éÿÿÿÿé   rä   Ú,rå   rÂ   ú\left( rç   ú\right))Ú sympy.combinatorics.permutationsr}  ÚsizeÚcyclic_formÚ
array_formÚstrr±   )rù   r  r}  Ú	expr_permÚsizrx  rÌ   s          rs   Ú_print_CycleÚLatexPrinter._print_Cycle™  s§   € Ý@Ø�9‰9˜‹>Ø$Ù˜4Ó ˆØ×$Ñ$ˆ	Ø�i‰iˆØ�?‰?˜2Ñ #¨¡'Ó)Ø!¨A¡g Y KÑ/ˆIØˆÛˆAØœ˜A›Ÿ™ s¨EÓ2Ñ2ŠHñ à×#Ñ# C¨Ó4ˆØ×#Ñ# C¨Ó4ˆØˆru   c                ó  • SSK Jn  SSKJn  UR                  nUb  U" SU S3SSSS	9  OU R
                  R                  S
S5      nU(       a  U R                  U5      $ UR                  S:X  a  gUR                   Vs/ s H  oPR                  U5      PM     nn[        [        U5      5       Vs/ s H  oPR                  U5      PM     nnSR                  U5      nSR                  U5      n	SR                  X‰45      n
SU
-  $ s  snf s  snf )Nr   r|  )Úsympy_deprecation_warningzw
                Setting Permutation.print_cyclic is deprecated. Instead use
                init_printing(perm_cyclic=z).
                z1.6z#deprecated-permutation-print_cyclicé   )Údeprecated_since_versionÚactive_deprecations_targetÚ
stacklevelrÒ   Tr~  ú & ú \\ z \begin{pmatrix} %s \end{pmatrix})r„  r}  Úsympy.utilities.exceptionsrŽ  Úprint_cyclicró   rø   r‹  r…  r‡  r  ÚrangeÚlenr`  )rù   r  r}  rŽ  rÒ   r<   ÚlowerÚupperÚrow1Úrow2Úmats              rs   Ú_print_PermutationÚLatexPrinter._print_Permutation©  sþ   € Ý@ÝHà!×.Ñ.ˆØÑ"Ù%ð+à+6¨-ð 8ðð */Ø+PØóð Ÿ.™.×,Ñ,¨]¸DÓAˆKæØ×$Ñ$ TÓ*Ð*à�9‰9˜‹>Ø$à-1¯_ª_Ó=ª_ c—‘˜SÖ!©_ˆÐ=Ü-2´3°u³:Ô->Ó?Ò-> c—‘˜SÖ!Ñ->ˆÐ?à�z‰z˜%Ó ˆØ�z‰z˜%Ó ˆØ�l‰l˜D˜<Ó(ˆØ2°SÑ8Ð8ùò >ùÚ?s   Á=DÂ/D	c                óp   • UR                   u  p#SU R                  U5      < SU R                  U5      < S3$ )Nz\sigma_{z}(ræ   ©rN  r  )rù   r  ÚpermÚvars       rs   Ú_print_AppliedPermutationÚ&LatexPrinter._print_AppliedPermutationÊ  s,   € Ø—I‘I‰	ˆˆcØ%)§[¡[°Ö%6¸¿¹ÀCÖ8HÐIÐIru   c                óD  • [        UR                  5      nU R                  S   (       a  SOSnSU R                  ;   a  U R                  S   OS nSU R                  ;   a  U R                  S   OS n[        UR                  X#XES9nU R                  S   nSU;   aS  UR                  S5      u  p‰U	S	   S
:X  a  U	SS  n	U R                  S   S:X  a  UR                  SS5      nU< U< SU	< S3$ US:X  a  gUS:X  a  gU R                  S   S:X  a  UR                  SS5      nU$ )Nr¸   FTrÔ   rÕ   )Ústrip_zerosÚ	min_fixedÚ	max_fixedrã   ri  r   Ú+r€  rÑ   ÚcommaÚ.z{,}z10^{ro   z+infz\inftyz-infz- \infty)r"   Ú_precró   Úmlib_to_strÚ_mpf_Úsplitr±   )
rù   r  Údpsrö   ÚlowÚhighÚstr_realÚ	separatorÚmantrX  s
             rs   Ú_print_FloatÚLatexPrinter._print_FloatÎ  s  € ä˜$Ÿ*™*Ó%ˆØŸ™¨×4‘¸$ˆØ',°·±Ó'>ˆd�n‰n˜UÒ#ÀDˆØ(-°·±Ó(?ˆt�~‰~˜eÒ$ÀTˆÜ˜tŸz™z¨3ÈSÑaˆð —N‘NÐ#=Ñ>ˆ	à�(‹?Ø"Ÿ.™.¨Ó-‰KˆTà�1‰v˜‹}Ø˜!˜"�g�Ø�~‰~Ð1Ñ2°gÓ=Ø—|‘| C¨Ó.�â%)«9³cÐ:Ð:Ø˜ÓØØ˜ÓØà�~‰~Ð1Ñ2°gÓ=Ø#×+Ñ+¨C°Ó6�ØˆOru   c                ó    • UR                   nUR                  nU R                  U[        S   5      < SU R                  U[        S   5      < 3$ )Nr
   rß   ©Ú_expr1Ú_expr2r  r!   ©rù   r  Úvec1Úvec2s       rs   Ú_print_CrossÚLatexPrinter._print_Crossì  sJ   € Ø�{‰{ˆØ�{‰{ˆØ"&×"3Ñ"3°D¼*ÀUÑ:KÖ"LØ"&×"3Ñ"3°D¼*ÀUÑ:KÕ"LðNð 	Nru   c                óR   • UR                   nSU R                  U[        S   5      -  $ )Nz\nabla\times %sr
   ©Ú_exprr  r!   ©rù   r  rŽ   s      rs   Ú_print_CurlÚLatexPrinter._print_Curlò  s(   € Ø�j‰jˆØ! D×$5Ñ$5°c¼:ÀeÑ;LÓ$MÑMÐMru   c                óR   • UR                   nSU R                  U[        S   5      -  $ )Nz\nabla\cdot %sr
   rÃ  rÅ  s      rs   Ú_print_DivergenceÚLatexPrinter._print_Divergenceö  s(   € Ø�j‰jˆØ  4×#4Ñ#4°S¼*ÀUÑ:KÓ#LÑLÐLru   c                ó    • UR                   nUR                  nU R                  U[        S   5      < SU R                  U[        S   5      < 3$ )Nr
   rÞ   rº  r½  s       rs   Ú
_print_DotÚLatexPrinter._print_Dotú  sJ   € Ø�{‰{ˆØ�{‰{ˆØ!%×!2Ñ!2°4¼ÀEÑ9JÖ!KØ!%×!2Ñ!2°4¼ÀEÑ9JÕ!KðMð 	Mru   c                óR   • UR                   nSU R                  U[        S   5      -  $ )Nz	\nabla %sr
   rÃ  ©rù   r  Úfuncs      rs   Ú_print_GradientÚLatexPrinter._print_Gradient   ó(   € Ø�z‰zˆØ˜d×/Ñ/°´jÀÑ6GÓHÑHÐHru   c                óR   • UR                   nSU R                  U[        S   5      -  $ )Nz	\Delta %sr
   rÃ  rÏ  s      rs   Ú_print_LaplacianÚLatexPrinter._print_Laplacian  rÓ  ru   c                ó*  ^ ^^^• SSK Jn  T R                  S   mT R                  S   mSUU 4S jjnSUU U4S jjm[        U[        5      (       aD  UR
                  nUS   [        R                  L d  [        S USS   5       5      (       a  T" U5      $ S	nUR                  5       (       a  U* nS
nUR                  (       a  US-  nSnOSnU" USS9u  pxU[        R                  L a%  [        SSS	S9UR
                  ;  a  Xc" U5      -  nGOúU" U5      n	U" U5      n
[        U
R                  5       5      nT R                  S   nT R                  S   (       a=  US::  a7  SU
;  a1  T R                  US	S9(       a  USU	< SU
< 3-  nGO~Xi< SU
< 3-  nGOqUGb_  [        U	R                  5       5      XË-  :”  Ga?  T R                  USS9(       a  USU
< ST< SU	< S3-  nGO$UR                  (       aô  [        R                  n[        R                  nUR
                   Hk  nT R                  US	S9(       dI  [        U" Xß-  5      R                  5       5      XË-  :”  d"  UR                   UR                   s=L a  S	L a	  O  OXï-  nMg  Xß-  nMm     T R                  USS9(       a#  USU" U5      < SU
< ST< SU" U5      < S3	-  nO@USU" U5      < SU
< ST< U" U5      < 3-  nOUSU
< ST< U	< 3-  nOUSU	< SU
< S3-  nU(       a  US-  nU$ ) Nr   )Úfractionrâ   rã   c                ó  >• U R                   (       d  [        TR                  U 5      5      $ TR                  S;  a  U R	                  5       nO[        U R                  5      n[        US SS9u  p#[        US SS9u  pBT" X4-   U-   5      $ )N)ÚoldÚnonec                ó¨   • [        U S5      =(       d    [        U S5      =(       d-    [        U [        5      =(       a    [        U R                  S5      $ )NÚ_scale_factorÚis_physical_constant)ÚhasattrÚ
isinstancer   rR  ©r7  s    rs   rt   Ú:LatexPrinter._print_Mul.<locals>.convert.<locals>.<lambda>  sE   € ¼ÀÀ?Ó8S×8yÔW^Ð_`ÐbxÓWy÷ 8HÜ)¨!¬SÓ1÷  GÜ& q§v¡vÐ/EÓFð8Hru   T)Úbinaryc                ó   • [        U S5      $ )NrÝ  )rß  rá  s    rs   rt   râ    s   € ¼ÀÀ?Ô8Sru   )r&  rˆ  r  rÇ   Úas_ordered_factorsÚlistrN  r%   )r  rN  ÚunitsÚnonunitsÚprefixesÚconvert_argsrù   s        €€rs   ÚconvertÚ(LatexPrinter._print_Mul.<locals>.convert  s†   ø€ Ø—;—;Ü˜4Ÿ;™; tÓ,Ó-Ð-à—:‘: _Ó4Ø×2Ñ2Ó4‘Dä §	¡	›?�Dô #' tñ .HàPTñ#V‘�ô #' uÑ.SÐ\`Ñ"a‘�Ù# HÑ$7¸%Ñ$?Ó@Ð@ru   c           	     ó²  >• S=p[        U 5       HÃ  u  p4TR                  U5      n[        US5      (       dŠ  [        US5      (       dy  TR                  XCS:H  U[	        U 5      S-
  :H  S9(       a  SU-  n[
        S   R                  U5      (       a#  [
        S   R                  U5      (       a  UT-  nOU(       a  UT-  nOU(       a  UT-  nX-  nUnMÅ     U$ )Nrä   rÝ  rÞ  r   r€  )rD  rE  rs  )ru  r  rß  rF  r˜  Ú_between_two_numbers_pÚsearchÚmatch)	rN  Ú_texÚlast_term_texrÌ   rw  rx  Ú	numberseprù   rµ  s	         €€€rs   rê  Ú-LatexPrinter._print_Mul.<locals>.convert_args  sÜ   ø€ Ø#%Ð%ˆDä$ Tž?‘�ØŸ;™; tÓ,�Ü  o×6Ñ6¼'À$ÐH^×:_Ñ:_Ø×/Ñ/°À!¹VØ67¼3¸t»9Àq¹=Ñ6Hð 0ö Kà#5¸Ñ#@˜ä.¨qÑ1×8Ñ8¸×GÑGÜ.¨qÑ1×7Ñ7¸×AÑAà 	Ñ)™ÞØ 	Ñ)˜øÞØ˜IÑ%�DàÑ �Ø (’ñ# +ð$ ˆKru   c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7fr  )rà  r   )r6  r<   s     rs   r8  Ú*LatexPrinter._print_Mul.<locals>.<genexpr>;  s   é € Ð&SÊ(À3¤z°#´v×'>Ð'>Ê(ùs   ‚r€  Fú- rè   Trä   )Úexactr  )ÚevaluaterÀ   r»   é   r°   )rE  rU  z
\right) / z / z	\frac{1}{ro   rƒ  ú\frac{ú}{ræ   ©Úreturnrˆ  )Úsympy.simplifyrØ  ró   rà  r
   rN  r   ÚOnerC  r@  r*  r   r˜  r°  rF  r&  Úis_commutative)rù   r  rØ  rë  rN  Úinclude_parensr  ÚnumerÚdenomÚsnumerÚsdenomÚldenomÚratioÚaÚbr7  rê  ró  rµ  s   `               @@@rs   Ú
_print_MulÚLatexPrinter._print_Mul  sË  û€ Ý+ØŸ™Ð(:Ñ;ˆ	ØŸ™Ð(BÑCˆ	÷	Að 	A÷ 	ñ 	ô8 �dœC× Ñ Ø—9‘9ˆDØ�A‰wœ!Ÿ%™%Ò¤3Ñ&SÈ$ÈqÈrÉ(Ó&S×#SÑ#SÙ# DÓ)Ð)àˆØ×(Ñ(×*Ñ*Ø�5ˆDØˆCØ�{�{Ø�s‘
�Ø!%�øàˆCá ¨DÑ1‰ˆà”A—E‘EŠ>œc ! R°%Ñ8ÀÇ	Á	ÓIð �7˜4“=Ñ ŠCñ ˜U“^ˆFÙ˜U“^ˆFÜ˜Ÿ™›Ó(ˆFØ—N‘NÐ#4Ñ5ˆEØ�~‰~Ð/×0°V¸q³[Ø˜vÓ%à×+Ñ+¨E¸Ð+Ö>Ù³fºfÐEÑE’Càª²Ð8Ñ8’CØÒ"Ü˜Ÿ™›Ó'¨%©,Ô6à×+Ñ+¨E¸Ð+Ö=ÙÛ!£9«fð6ñ 6’Cà—\—\äŸ™�AÜŸ™�AØ"ŸZœZ˜Ø×3Ñ3°A¸EÐ3ÖBÜ #¡G¨A©C£L×$6Ñ$6Ó$8Ó 9¸E¹LÓ HØ!"×!1Ñ!1°Q×5EÑ5EÔ!NÈÕ!NØ™FšAà™FšAñ (ð ×/Ñ/°¸Ð/Ö=ÙÙ& qžz«6³9¹gÀa¾jð Jñ J™ñ Ù& qžz«6²9¹gÀa½jð Jñ J™ñ ³&º)ÂVÐLÑL‘Cá«6³6Ð:Ñ:�æØ�3‰JˆCØˆ
ru   c                ó¼   • UR                   (       a-  U R                  UR                  5       R                  5       5      $ U R                  UR                  5       5      $ r  )Ú
is_aliasedr  Úas_polyÚas_exprr"  s     rs   Ú_print_AlgebraicNumberÚ#LatexPrinter._print_AlgebraicNumber{  s<   € Ø�?�?Ø—;‘;˜tŸ|™|›~×5Ñ5Ó7Ó8Ð8à—;‘;˜tŸ|™|›~Ó.Ð.ru   c                óÊ   • U R                  UR                  5      nUR                  (       a  SU S3$ U R                  UR                  R	                  5       5      nSU SU S3$ )NrU  rƒ  r\  )r  ÚpÚis_inertÚalphar  )rù   r  r  r  s       rs   Ú_print_PrimeIdealÚLatexPrinter._print_PrimeIdeal�  sZ   € Ø�K‰K˜Ÿ™ÓˆØ�=�=Ø˜Q˜C˜wÐ'Ð'Ø—‘˜DŸJ™J×.Ñ.Ó0Ó1ˆØ˜˜˜2˜e˜W GÐ,Ð,ru   c                óô  • UR                   R                  (       Ga|  UR                   R                  nUR                   R                  n[	        U5      S:X  a„  US:w  a~  U R
                  S   (       aj  U R                  UR                  5      nUS:X  a  SU-  nO!U R
                  S   (       a  SX44-  nOSX44-  nUR                   R                  (       a  SU-  $ U$ U R
                  S	   (       aŸ  US:w  a™  U R                  UR                  [        S
   5      nUR                  R                  (       a  U R                  U5      nUR                  R                  (       a!  U R                  UR                  U< SU< 3S9$ U< SU< SU< S3$ UR                   R                  (       aï  UR                  R                  (       aÔ  UR                  S:X  a  UR                  < SUR                   < S3$ UR                  R                  (       az  UR                  R                  nUR                  R                  nXg-  [	        U5      :X  a=  UR                   S:X  a  SU< SU< S3$ SU< SU< S[	        UR                   5      < S3$ U R                  U5      $ UR                  R                  (       a3  U R                  UR                  U R                  UR                   5      S9$ SnU R!                  X5      $ )Nr€  rÉ   rú  z	\sqrt{%s}r¾   z\root{%d}{%s}z\sqrt[%d]{%s}z\frac{1}{%s}r¹   r   Ú/©rX  ú^{ro   r  z\frac{1}{\frac{rü  ú}}z\frac{1}{(\frac{z})^{z%s^{%s})rX  r!  r  Úqrª   ró   r  rR  Úis_negativer  r!   Ú	is_SymbolrÓ   r+  r  r  Ú_helper_print_standard_power)rù   r  r  r  rR  r  Úbase_pÚbase_qs           rs   Ú
_print_PowÚLatexPrinter._print_Powˆ  s)  € à�8‰8××ÐØ—X‘X—Z‘ZˆAØ—X‘X—Z‘ZˆAÜ�1‹v˜‹{˜q A›v¨$¯.©.¸×*IØ—{‘{ 4§9¡9Ó-�Ø˜“6Ø&¨Ñ-‘CØ—^‘^ F×+Ø*¨a¨YÑ6‘Cà*¨a¨YÑ6�CØ—8‘8×'×'Ø*¨SÑ0Ð0à�JØ—‘Ð 2×3¸¸Q»Ø×(Ñ(¨¯©´J¸uÑ4EÓF�à—9‘9×&×&Ø×2Ñ2°4Ó8�DØ—9‘9×(×(ØŸ;™; t§y¡yÃÂAÐ6F˜;ÐGÐGÛ(,«a³Ð3Ð3Ø—‘×%×%¨$¯)©)×*B×*Bà—9‘9 “>Ø)-¯¬°D·H´HÐ=Ð=à—9‘9×(×(Ø"&§)¡)§+¡+�FØ"&§)¡)§+¡+�FØ‘¬#¨f«+Ó5ØŸ8™8 rœ>ÛAGËÐ#PÐPð *ó IOÓPVÔX[Ð\`×\dÑ\dÖXeÐ#fÐfà—‘ tÓ,Ð,Ø�9‰9× × Ø—;‘;˜tŸy™y¨d¯k©k¸$¿(¹(Ó.C�;ÐDÐDØˆØ×0Ñ0°Ó;Ð;ru   c                óþ  • U R                  UR                  5      nU R                  UR                  [        S   5      nUR                  R
                  (       a  U R                  U5      nO�UR                  R                  (       a  SU-  nOl[        UR                  [        5      (       aM  UR                  S5      (       a7  [        R                  " SU5      (       a  UR                  S5      (       a  USS nX$U4-  $ )Nr   z{%s}rU  z\\left\(\\d?d?dotrƒ  é   iùÿÿÿ)r  rX  r  rR  r!   r   rÓ   Úis_Floatrà  r   Ú
startswithr8   rð  Úendswith)rù   r  ÚtemplaterX  rR  s        rs   r!  Ú)LatexPrinter._helper_print_standard_powerµ  s½   € Ø�k‰k˜$Ÿ(™(Ó#ˆð × Ñ  §¡¬J°uÑ,=Ó>ˆØ�9‰9××Ø×*Ñ*¨4Ó0‰DØ�Y‰Y××Ø˜T‘>‰DÜ˜Ÿ™¤J×/Ñ/Ø—‘ 	×*Ñ*Ü—’Ð-¨t×4Ñ4Ø—‘˜j×)Ñ)à˜˜2�;ˆDØ ˜+Ñ%Ð%ru   c                ó>   • U R                  UR                  S   5      $ ©Nr   ©r  rN  r"  s     rs   Ú_print_UnevaluatedExprÚ#LatexPrinter._print_UnevaluatedExprÆ  s   € Ø�{‰{˜4Ÿ9™9 Q™<Ó(Ð(ru   c           
     ó  ^ • [        UR                  5      S:X  a<  S[        UR                  S    Vs/ s H  nT R                  U5      PM     sn5      -  nO?U 4S jnS[        R                  SUR                   Vs/ s H
  oT" U5      PM     sn5      -  n[        UR                  [        5      (       a#  UST R                  UR                  5      -  -  nU$ UT R                  UR                  5      -  nU$ s  snf s  snf )Nr€  z\sum_{%s=%s}^{%s} r   c           	     ó‚   >• S[        U S   U S   U S   4 Vs/ s H  nTR                  U5      PM     sn5      -  $ s  snf ©Nz%s \leq %s \leq %sr€  r   rú  ©Útupler  ©Úlrr   rù   s     €rs   Ú_format_ineqÚ-LatexPrinter._print_Sum.<locals>._format_ineqÎ  óI   ø€ Ø,Ü°A°a±D¸!¸A¹$ÀÀ!ÁÑ3EÓFÒ3E¨a˜4Ÿ;™; qž>Ñ3EÑFÓGñHð HùÚFó   ˜<
z\sum_{\substack{%s}} ú\\rs  ©	r˜  Úlimitsr6  r  rˆ  r`  rà  Úfunctionr   ©rù   r  rÌ   r  r9  r8  s   `     rs   Ú
_print_SumÚLatexPrinter._print_SumÉ  sÞ   ø€ Üˆt�{‰{Ó˜qÓ Ø'Ü¨t¯{©{¸1ª~Ó>ª~¨!�t—{‘{ 1–~©~Ñ>Ó?ñ@‰CõHð +Ü—‘˜¸4¿;º;Ó!Gº;°a ,¨q¦/¹;Ñ!GÓHñIˆCô �d—m‘m¤S×)Ñ)ØÐ%¨¯©°D·M±MÓ(BÑBÑBˆCð ˆ
ð �4—;‘;˜tŸ}™}Ó-Ñ-ˆCàˆ
ùò ?ùò "Hó   ²C8
Á<C=c           
     ó  ^ • [        UR                  5      S:X  a<  S[        UR                  S    Vs/ s H  nT R                  U5      PM     sn5      -  nO?U 4S jnS[        R                  SUR                   Vs/ s H
  oT" U5      PM     sn5      -  n[        UR                  [        5      (       a#  UST R                  UR                  5      -  -  nU$ UT R                  UR                  5      -  nU$ s  snf s  snf )Nr€  z\prod_{%s=%s}^{%s} r   c           	     ó‚   >• S[        U S   U S   U S   4 Vs/ s H  nTR                  U5      PM     sn5      -  $ s  snf r4  r5  r7  s     €rs   r9  Ú1LatexPrinter._print_Product.<locals>._format_ineqá  r;  r<  z\prod_{\substack{%s}} r=  rs  r>  rA  s   `     rs   Ú_print_ProductÚLatexPrinter._print_ProductÜ  sÞ   ø€ Üˆt�{‰{Ó˜qÓ Ø(Ü¨t¯{©{¸1ª~Ó>ª~¨!�t—{‘{ 1–~©~Ñ>Ó?ñ@‰CõHð ,Ü—‘˜¸4¿;º;Ó!Gº;°a ,¨q¦/¹;Ñ!GÓHñIˆCô �d—m‘m¤S×)Ñ)ØÐ%¨¯©°D·M±MÓ(BÑBÑBˆCð ˆ
ð �4—;‘;˜tŸ}™}Ó-Ñ-ˆCàˆ
ùò ?ùò "HrD  c                ó®  • SSK Jn  / nXR                  :X  a  UR                  R                  $ [	        X5      (       a  UR                  5       R                  5       nOSU4/nU HÇ  u  pV[        UR                  R                  5       5      nUR                  S S9  U H‰  u  p‰U	S:X  a   UR                  SUR                  -   5        M+  U	S:X  a   UR                  SUR                  -   5        MQ  S	U R                  U	5      -   S
-   n
UR                  SU
-   UR                  -   5        M‹     MÉ     SR                  U5      nUS   S:w  a  USS  nU$ USS  nU$ )Nr   )ÚVectorc                ó(   • U S   R                  5       $ r.  )Ú__str__rá  s    rs   rt   Ú4LatexPrinter._print_BasisDependent.<locals>.<lambda>ü  s   € ¨!¨A©$¯,©,¬.ru   ©Úkeyr€  rr  r  rq  rU  rƒ  rä   Ú-é   )Úsympy.vectorrK  ÚzeroÚ_latex_formrà  ÚseparateÚitemsræ  Ú
componentsÚsortÚappendr  r`  )rù   r  rK  Úo1rW  ÚsystemÚvectÚ
inneritemsÚkÚvÚarg_strÚoutstrs               rs   Ú_print_BasisDependentÚ"LatexPrinter._print_BasisDependentï  s3  € Ý'àˆØ—9‘9ÓØ—9‘9×(Ñ(Ð(Ü�d×#Ñ#Ø—M‘M“O×)Ñ)Ó+‰Eà˜�Y�KˆEã!‰LˆFÜ˜dŸo™o×3Ñ3Ó5Ó6ˆJØ�O‰OÑ 8ˆOÑ9Û"‘�Ø˜“6Ø—I‘I˜e a§m¡mÑ3Ö4Ø˜"“WØ—I‘I˜e a§m¡mÑ3Ö4à'¨$¯+©+°a«.Ñ8¸:ÑE�GØ—I‘I˜e g™o°·±Ñ=Ö>ó #ñ "ð —'‘'˜"“+ˆØ�!‰9˜ÓØ˜A˜B�ZˆFð ˆð ˜A˜B�ZˆFØˆru   c                ó²   • U R                  UR                  5      nSU-   S-   SSR                  [        U R                   UR                  5      5      -  -   nU$ )Nr“   ro   ú_{%s}r�  )r  rR  r`  ÚmapÚindices)rù   r  Útex_baser  s       rs   Ú_print_IndexedÚLatexPrinter._print_Indexed  sP   € Ø—;‘;˜tŸy™yÓ)ˆØ�(‰l˜3Ñ˜w¨¯©Ü�—‘˜TŸ\™\Ó*ó*,ñ  ,ñ ,ˆàˆ
ru   c                ó8   • U R                  UR                  5      $ r  )r  Úlabelr"  s     rs   Ú_print_IndexedBaseÚLatexPrinter._print_IndexedBase  s   € Ø�{‰{˜4Ÿ:™:Ó&Ð&ru   c                óX  • U R                  UR                  5      nUR                  b�  U R                  UR                  5      nUR                  b  U R                  UR                  5      nOU R                  [        R
                  5      nSR                  XCS9nSR                  X%S9$ U$ )Nz%{lower}\mathrel{{..}}\nobreak {upper})r™  rš  z{{{label}}}_{{{interval}}})rm  Úinterval)r  rm  rš  r™  r   ÚZeror  )rù   r  rm  rš  r™  rq  s         rs   Ú
_print_IdxÚLatexPrinter._print_Idx  s™   € Ø—‘˜DŸJ™JÓ'ˆØ�:‰:Ñ!Ø—K‘K §
¡
Ó+ˆEØ�z‰zÑ%ØŸ™ D§J¡JÓ/‘àŸ™¤A§F¡FÓ+�Ø@×GÑGØ!ð Hð 2ˆHà/×6Ñ6Øð 7ð 4ð 4ð ˆru   c           	     ó®  • [        UR                  5      (       a  SnOU R                  S   nSnSn[        UR                  5       Hh  u  pVXF-  nUS:X  a  X2< SU R                  U5      < 3-  nM+  X2< SU R                  U R                  U5      5      < SU R                  U5      < S3-  nMj     US:X  a  S	U< S
U< S3nOS	U< SU R                  U5      < SU< S3n[        S UR                   5       5      (       a*  U< SU R                  UR                  [        S   SSS9< 3$ U< SU R                  UR                  [        S   SSS9< 3$ )Nz\partialrñ   rä   r   r€  rÝ   r  ro   rû  rü  ú}}{c              3  ó@   #   • U  H  oR                  5       v •  M     g 7fr  ©r@  ©r6  rÌ   s     rs   r8  Ú1LatexPrinter._print_Derivative.<locals>.<genexpr>;  s   é € Ð?²Y°×)Ñ)×+Ð+²Yùó   ‚r
   T©r  r  F)r   r  ró   ÚreversedÚvariable_countr  rÓ   rC  rN  r  r!   )rù   r  Údiff_symbolr  Údimr7  Únums          rs   Ú_print_DerivativeÚLatexPrinter._print_Derivative%  sN  € Ü˜DŸI™I×&Ñ&Ø%‰KàŸ.™.Ð)>Ñ?ˆKàˆØˆÜ˜t×2Ñ2Ö3‰FˆAØ‰JˆCØ�a‹xØ¢;°·±¸AµÐ?Ñ?’àªØ(,×(?Ñ(?ÀÇÁÈAÃÖ(OØ(,¯©°CÖ(8ð:ñ :’ñ 4ð �!Œ8Û&1³3Ð7‰Cð ó ,7¸¿¹ÀCÖ8HË#ÐNˆCäÑ?°T·Y²YÓ?×?Ñ?Û" D×$5Ñ$5°d·i±iÜ2<¸UÑ2CØ9=Ø9=ð %6ò %?ð @ð @ó
  × 1Ñ 1°$·)±)Ü2<¸UÑ2CØ9>Ø9=ð !2ò !?ð @ð 	@ru   c                óÌ   ^ • UR                   u  p#nT R                  U5      nU 4S jU 5       nU 4S jU 5       nSR                  S [        Xg5       5       5      nSU< SU< S3$ )Nc              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  ©r  ©r6  ri  rù   s     €rs   r8  Ú+LatexPrinter._print_Subs.<locals>.<genexpr>I  ó   øé € Ð1ªS¨�T—[‘[ —^�^ªSùr;  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  r‡  s     €rs   r8  rˆ  J  r‰  r;  z\\ c              3  ó<   #   • U  H  oS    S-   US   -   v •  M     g7f)r   Ú=r€  Nrp   )r6  ri  s     rs   r8  rˆ  K  s$   é € ð !BÚ'@ !ˆa‰D�3‰J˜˜1™ÖÒ'@ùs   ‚z\left. z \right|_{\substack{ z }})rN  r  r`  Úzip)	rù   Úsubsr  rÚ  ÚnewÚ
latex_exprÚ	latex_oldÚ	latex_newÚ
latex_subss	   `        rs   Ú_print_SubsÚLatexPrinter._print_SubsF  sg   ø€ ØŸ™‰ˆ�3Ø—[‘[ Ó&ˆ
Ü1©SÓ1ˆ	Ü1©SÓ1ˆ	Ø—[‘[ñ !BÜ'*¨9Ô'@ó!Bó B‰
ã9CÛ9CðEð 	Eru   c           
     óä  • S/ p2U R                   S   n[        UR                  5      S::  ax  [        S UR                   5       5      (       aW  SS[        UR                  5      S-
  -  -   S-   nUR                   Vs/ s H  nS	U< U R	                  US
   5      < 3PM      nnOó[        UR                  5       HÚ  nUS
   nUS-  n[        U5      S:”  a–  U R                   S   S:w  a  U R                   S   (       d  US-  n[        U5      S:X  a2  USU R	                  US   5      < SU R	                  US   5      < S3-  n[        U5      S:X  a  USU R	                  US   5      -  -  nUR                  S
S	U< U R	                  U5      < 35        MÜ     U< SU R                  UR                  [        S   [        S UR                   5       5      SS9< SR                  U5      < 3$ s  snf )Nrä   rñ   é   c              3  ó>   #   • U  H  n[        U5      S :H  v •  M     g7f)r€  N)r˜  )r6  Úlims     rs   r8  Ú/LatexPrinter._print_Integral.<locals>.<genexpr>U  s   é € Ð(NÂ+¸3¬¨S«°Q®Â+ùs   ‚z\irÌ   r€  Úntz\, r   z\intrÄ   rÛ   r¾   z\limitsrR  ú_{ú}^{rú  ro   ú^{%s}rÝ   r
   c              3  ó@   #   • U  H  oR                  5       v •  M     g 7fr  rx  ry  s     rs   r8  rš  p  s   é € Ð>oÒenÐ`a×?YÑ?Y×?[Ð?[Òenùr{  Tr|  )ró   r˜  r?  Úallr  r}  Úinsertr  r@  r!   rC  rN  r`  )rù   r  r  Úsymbolsr  Úsymbolr™  s          rs   Ú_print_IntegralÚLatexPrinter._print_IntegralP  sÍ  € Ø˜2ˆWØ—n‘nÐ%:Ñ;ˆô ˆt�{‰{Ó˜qÓ ¤SÑ(NÀ$Ç+Â+Ó(N×%NÑ%Nð ˜#œs 4§;¡;Ó/°!Ñ3Ñ4Ñ4°tÑ;ˆCà%)§[¢[ó2Ú%0™6ò &1°$·+±+¸fÀQ¹iÕ2HÓIÙ%0ð ð 2ˆGô   §¡Ö,�Ø˜Q™�Ø�w‘�ä�s“8˜a“<Ø—~‘~ fÑ-°Ó9Ø$(§N¡N°6×$:Ø˜zÑ)˜ä˜3“x 1“}Ù¨t¯{©{¸3¸q¹6Ö/BØ/3¯{©{¸3¸q¹6Ö/Bð Dñ D˜ä˜3“x 1“}Ø˜w¨$¯+©+°c¸!±fÓ*=Ñ>Ñ>˜à—‘™q²¸T¿[¹[ÈÕ=PÐ"QÖRñ -ó" ! $×"3Ñ"3°D·M±MÜ4>¸uÑ4EÜ;>Ñ>oÐei×enÒenÓ>oÓ;oØ;?ð #4ò #Að  ŸW™W WÕ-ð	/ð 	/ùò+2s   Á<%G-c                ó¾  • UR                   u  p#pESU R                  U5      -  n[        U5      S:X  d$  U[        R                  [        R
                  4;   a  USU R                  U5      -  -  nO*X`R                  U5      < SU R                  U5      < S3-  n[        U[        5      (       a  U< SU R                  U5      < S3$ U< SU R                  U5      < 3$ )	Nz\lim_{%s \to z+-z%s}r°   ro   rU  rƒ  rÝ   )rN  r  rˆ  r   ÚInfinityÚNegativeInfinityrà  r   )rù   r  ri  ÚzÚz0Údirr  s          rs   Ú_print_LimitÚLatexPrinter._print_Limitt  s«   € ØŸ	™	‰ˆˆbà §¡¨Q£Ñ/ˆÜˆs‹8�tÓ˜r¤a§j¡j´!×2DÑ2DÐ%EÓEØ�6˜DŸK™K¨›OÑ+Ñ+‰Cà§¡¨B¦°·±¸SÖ1AÐBÑBˆCä�aœ×!Ñ!Û+.°·±¸A¶Ð?Ð?ã" D§K¡K°¥NÐ3Ð3ru   c                ó¾  • U R                  U5      nUR                  S5      nUR                  S5      nU[        ;   a  SU-  nU$ [        U5      S:X  d"  UR	                  S5      (       d  US:X  d  US:X  a  UnU$ US:”  a*  US:”  a$  SUS[        X25       < S	U[        X25      S < 3nU$ US:”  a  SUSU < S	XS < 3nU$ US:”  a  SUSU < S	XS < 3nU$ S
U-  nU$ )a;  
Logic to decide how to render a function to latex
  - if it is a recognized latex name, use the appropriate latex command
  - if it is a single letter, excluding sub- and superscripts, just use that letter
  - if it is a longer name, then put \operatorname{} around it and be
    mindful of undercores in the name
r°   Ú_z\%sr€  r®   r   ú\operatorname{Nro   z\operatorname{%s})r]  ÚfindÚaccepted_latex_functionsr˜  r)  rÔ   )rù   rÐ  ÚsuperscriptidxÚsubscriptidxra  s        rs   Ú_hprint_FunctionÚLatexPrinter._hprint_Function‚  s!  € ð ×(Ñ(¨Ó.ˆØŸ™ 3›ˆØ—y‘y “~ˆØÔ+Ó+Ø˜D‘=ˆDð$ ˆô# �‹Y˜!‹^˜tŸ™¨t×4Ñ4¸ÈÓ8IÈ^Ð_`ÓM`ØˆDð  ˆð  Ó! l°QÔ&6àÐ:œ#˜lÓ:Ó;Øœ˜\Ó9Ð:Ò;ð=�ð ˆð   !Ô#à˜˜.Ó)Ø˜Ò)ð+�ð ˆð  Ô!à˜˜,Ó'Ø˜Ò'ð)�ð
 ˆð ,¨dÑ2�Øˆru   c                óž  • UR                   R                  n[        U SU-   5      (       a*  [        U[        5      (       d  [        U SU-   5      " X5      $ UR                   Vs/ s H  n[        U R                  U5      5      PM     nnU R                  S   nSnU R                  S   =(       a8    [        U5      S:H  =(       a#    U R                  UR                  S   5      (       + n/ SQn	X9;   a3  US:X  a  O,US	:X  a  US
   S:X  a  SOSUSS -   nOUS:X  a  USS nSnUb  SnU(       a  U[        ;   a  SU-  n
OGSU-  n
OAUb-  U R                  U5      nU R                  U5      nU< SU< S3n
OU R                  U5      n
U(       a  U[        ;   a  U
S-  n
OU
S-  n
OU
S-  n
U(       a  Ub  U
SU-  -  n
U
SR                  U5      -  $ s  snf )aÛ  
Render functions to LaTeX, handling functions that LaTeX knows about
e.g., sin, cos, ... by using the proper LaTeX command (\sin, \cos, ...).
For single-letter function names, render them as regular LaTeX math
symbols. For multi-letter function names that LaTeX does not know
about, (e.g., Li, sech) use \operatorname{} so that the function name
is rendered in Roman font and LaTeX handles spacing properly.

expr is the expression involving the function
exp is an exponent
Ú_print_r¼   Frº   r€  r   )ÚasinÚacosÚatanÚacscÚasecÚacotÚasinhÚacoshÚatanhÚacschÚasechÚacothr½   Úfullr  ÚhÚarÚarcNÚpowerTz\%s^{-1}z\operatorname{%s}^{-1}r  ro   z {%s}ú%sú{\left(%s \right)}rž  r�  )rÐ  r_  rß  rà  r   ÚgetattrrN  rˆ  r  ró   r˜  r,  r²  rµ  rÓ   r`  )rù   r  rX  rÐ  r<   rN  r¼   Úinv_trig_power_caseÚcan_fold_bracketsÚinv_trig_tablera  Úfunc_texs               rs   Ú_print_FunctionÚLatexPrinter._print_Function¢  sæ  € ð �y‰y×!Ñ!ˆÜ�4˜ TÑ)×*Ñ*Ü˜t¤\×2Ñ2Ü˜4 ¨TÑ!1Ô2°4Ó=Ð=à59·Y²YÓ?²Y¨c”C˜Ÿ™ CÓ(Ö)±YˆDÐ?ð "Ÿ^™^Ð,<Ñ=ˆNà"'Ðà $§¡Ð/CÑ D÷ !@Ü�D“	˜Q‘÷!@à×1Ñ1°$·)±)¸A±,Ó?Ô?ð òˆNð Ó%Ø! ]Ó2ØØ# vÓ-Ø$(¨¡H°£O™D¸À$ÀqÀrÀ(ÑJ‘DØ# wÓ.Ø  ˜8�DØ*.Ð'ð ‘Ø,1Ð)æ"ØÔ3Ó3Ø&¨Ñ-‘Dà4°tÑ;‘DØ‘Ø×0Ñ0°Ó6�Ø×2Ñ2°8Ó<�Û%-«sÐ3‘à×,Ñ,¨TÓ2�æ ØÔ3Ó3ð ˜HÑ$‘Dà˜E‘M‘DàÐ-Ñ-�æ" s¡Ø˜ 3™Ñ&�à˜#Ÿ(™( 4›.Ñ(Ð(ùòs @s   Á#$G
c                ó6   • U R                  [        U5      5      $ r  )rµ  rˆ  r"  s     rs   Ú_print_UndefinedFunctionÚ%LatexPrinter._print_UndefinedFunctionî  s   € Ø×$Ñ$¤S¨£YÓ/Ð/ru   c                ó|   • SU R                  UR                  5      < SU R                  UR                  5      < S3$ )Nr“   z}_{\circ}\left({z}\right))r  r@  r  r"  s     rs   Ú_print_ElementwiseApplyFunctionÚ,LatexPrinter._print_ElementwiseApplyFunctionñ  s,   � à�K‰K˜Ÿ™Ö&Ø�K‰K˜Ÿ	™	Ö"ð
ð 	
ru   c                ó^   • SSK Jn  SSKJnJn  SSKJn  SSKJn  SSK	J
n  USUSUS	US
USUS0$ )Nr   )ÚKroneckerDelta)ÚgammaÚ
lowergamma)Úbeta)Ú
DiracDelta)rU   z\deltar@   ú\gammaz\operatorname{B}z\operatorname{Chi})Ú(sympy.functions.special.tensor_functionsrÚ  Ú'sympy.functions.special.gamma_functionsrÛ  rÜ  Ú&sympy.functions.special.beta_functionsrÝ  Ú'sympy.functions.special.delta_functionsrÞ  Ú'sympy.functions.special.error_functionsrU   )rù   rÚ  rÛ  rÜ  rÝ  rÞ  rU   s          rs   Ú_special_function_classesÚ&LatexPrinter._special_function_classes÷  s;   € åKßMÝ?ÝFÝ?Ø 	Ø˜	Ø˜IØÐ)Ø˜IØÐ*ð,ð 	,ru   c                óÖ   • U R                    H@  n[        X5      (       d  M  UR                  UR                  :X  d  M1  U R                   U   s  $    U R                  [	        U5      5      $ r  )rå  Ú
issubclassr_  rµ  rˆ  )rù   r  Úclss      rs   Ú_print_FunctionClassÚ!LatexPrinter._print_FunctionClass  sT   € Ø×1Ô1ˆCÜ˜$×$Ó$¨¯©¸#¿,¹,Õ)FØ×5Ñ5°cÑ:Ò:ñ 2ð ×$Ñ$¤S¨£YÓ/Ð/ru   c                óÒ   • UR                   u  p![        U5      S:X  a  U R                  US   5      nOU R                  [        U5      5      nSU< SU R                  U5      < S3nU$ )Nr€  r   r‚  z	 \mapsto ú \right))rN  r˜  r  r6  )rù   r  r¢  r  s       rs   Ú_print_LambdaÚLatexPrinter._print_Lambda  sV   € ØŸ	™	‰ˆäˆw‹<˜1ÓØ—k‘k '¨!¡*Ó-‰Gà—k‘k¤%¨£.Ó1ˆGøã18¸$¿+¹+ÀdÖ:KÐLˆàˆ
ru   c                ó   • g)Nz\left( x \mapsto x \right)rp   r"  s     rs   Ú_print_IdentityFunctionÚ$LatexPrinter._print_IdentityFunction  s   € Ø,ru   c                ó  • [        UR                  [        S9nU Vs/ s H  nSU R                  U5      -  PM     nnS[	        UR
                  5      R                  5       < SSR                  U5      < S3nUb
  U< SU< S3$ U$ s  snf )	NrO  rÊ  r®   rU  r\  rƒ  r  ro   )ÚsortedrN  r   r  rˆ  rÐ  r™  r`  )rù   r  rX  rN  r£  Útexargsr  s          rs   Ú_hprint_variadic_functionÚ&LatexPrinter._hprint_variadic_function  sy   € Ü�d—i‘iÔ%5Ñ6ˆÙ=AÓBºT°6�5˜4Ÿ;™; vÓ.Ô.¹TˆÐBˆÜ'*¨4¯9©9£~×';Ñ';Ö'=Ø'+§y¡y°Ö'9ð;ˆà‰?Û!$£cÐ*Ð*àˆJùò Cs   �Bc                ób   • SU R                  UR                  S   5      -  nUb
  U< SU< S3$ U$ )Nz\left\lfloor{%s}\right\rfloorr   r  ro   r/  ©rù   r  rX  r  s       rs   Ú_print_floorÚLatexPrinter._print_floor&  s2   € Ø.°·±¸T¿Y¹YÀq¹\Ó1JÑJˆà‰?Û!$£cÐ*Ð*àˆJru   c                ób   • SU R                  UR                  S   5      -  nUb
  U< SU< S3$ U$ )Nz\left\lceil{%s}\right\rceilr   r  ro   r/  rù  s       rs   Ú_print_ceilingÚLatexPrinter._print_ceiling.  s2   € Ø,¨t¯{©{¸4¿9¹9ÀQ¹<Ó/HÑHˆà‰?Û!$£cÐ*Ð*àˆJru   c                óÎ   • U R                   S   (       d"  SU R                  UR                  S   5      -  nO!SU R                  UR                  S   5      -  nUb
  U< SU< S3$ U$ )Nr¿   z\log{\left(%s \right)}r   z\ln{\left(%s \right)}r  ro   )ró   r  rN  rù  s       rs   Ú
_print_logÚLatexPrinter._print_log6  sY   € Ø�~‰~˜m×,Ø+¨d¯k©k¸$¿)¹)ÀA¹,Ó.GÑG‰Cà*¨T¯[©[¸¿¹À1¹Ó-FÑFˆCà‰?Û!$£cÐ*Ð*àˆJru   c                ób   • SU R                  UR                  S   5      -  nUb
  U< SU< S3$ U$ )Nú\left|{%s}\right|r   r  ro   r/  rù  s       rs   Ú
_print_AbsÚLatexPrinter._print_AbsA  s2   € Ø" T§[¡[°·±¸1±Ó%>Ñ>ˆà‰?Û!$£cÐ*Ð*àˆJru   c                ó
  • U R                   S   (       a*  SU R                  UR                  S   [        S   5      -  nO5SR	                  U R                  UR                  S   [        S   5      5      nU R                  X25      $ )NrÐ   z\Re{%s}r   ÚAtomz\operatorname{{re}}{{{}}}©ró   r  rN  r!   r  rY  rù  s       rs   Ú	_print_reÚLatexPrinter._print_reI  óp   € Ø�>‰>˜.×)Ø˜t×0Ñ0°·±¸1±¼zÈ&Ñ?QÓRÑR‰Cà.×5Ñ5°d×6GÑ6GÈÏ	É	ÐRSÉÔV`ÐagÑVhÓ6iÓjˆCà× Ñ  Ó*Ð*ru   c                ó
  • U R                   S   (       a*  SU R                  UR                  S   [        S   5      -  nO5SR	                  U R                  UR                  S   [        S   5      5      nU R                  X25      $ )NrÐ   z\Im{%s}r   r  z\operatorname{{im}}{{{}}}r  rù  s       rs   Ú	_print_imÚLatexPrinter._print_imQ  r  ru   c                óÆ  • SSK JnJn  [        UR                  S   U5      (       a  U R                  UR                  S   S5      $ [        UR                  S   U5      (       a  U R                  UR                  S   S5      $ UR                  S   R                  (       a!  SU R                  UR                  S   5      -  $ SU R                  UR                  S   5      -  $ )Nr   )Ú
EquivalentÚImpliesz\not\Leftrightarrowz\not\Rightarrowz\neg \left(%s\right)z\neg %s)	Úsympy.logic.boolalgr  r  rà  rN  Ú_print_EquivalentÚ_print_ImpliesÚ
is_Booleanr  )rù   ri  r  r  s       rs   Ú
_print_NotÚLatexPrinter._print_NotY  s°   € ß=Ü�a—f‘f˜Q‘i ×,Ñ,Ø×)Ñ)¨!¯&©&°©)Ð5KÓLÐLÜ�a—f‘f˜Q‘i ×)Ñ)Ø×&Ñ& q§v¡v¨a¡yÐ2DÓEÐEØ�F‰F�1‰I× × Ø*¨T¯[©[¸¿¹À¹Ó-CÑCÐCà §¡¨A¯F©F°1©IÓ 6Ñ6Ð6ru   c                óx  • US   nUR                   (       a&  UR                  (       d  SU R                  U5      -  nOSU R                  U5      -  nUSS   H`  nUR                   (       a0  UR                  (       d  USU< SU R                  U5      < S3-  nMD  USU< SU R                  U5      < 3-  nMb     U$ )Nr   rs  rÊ  r€  rÝ   z \left(rƒ  )r  Úis_Notr  )rù   rN  Úcharr<   r  s        rs   Ú_print_LogOpÚLatexPrinter._print_LogOpd  s’   € Ø�1‰gˆØ�>�> #§*§*Ø$ t§{¡{°3Ó'7Ñ7‰Cà˜$Ÿ+™+ cÓ*Ñ*ˆCà˜˜“8ˆCØ�~�~ c§j§jÙ³°t·{±{À3Ö7GÐHÑH’á£D¨$¯+©+°cÕ*:Ð;Ñ;’ñ	 ð ˆ
ru   c                óV   • [        UR                  [        S9nU R                  US5      $ )NrO  z\wedge©rô  rN  r   r  ©rù   ri  rN  s      rs   Ú
_print_AndÚLatexPrinter._print_Ands  s&   € Ü�a—f‘fÔ"2Ñ3ˆØ× Ñ   yÓ1Ð1ru   c                óV   • [        UR                  [        S9nU R                  US5      $ )NrO  z\veer  r  s      rs   Ú	_print_OrÚLatexPrinter._print_Orw  s&   € Ü�a—f‘fÔ"2Ñ3ˆØ× Ñ   wÓ/Ð/ru   c                óV   • [        UR                  [        S9nU R                  US5      $ )NrO  z\veebarr  r  s      rs   Ú
_print_XorÚLatexPrinter._print_Xor{  s&   € Ü�a—f‘fÔ"2Ñ3ˆØ× Ñ   zÓ2Ð2ru   c                óL   • U R                  UR                  U=(       d    S5      $ )Nz\Rightarrow)r  rN  )rù   ri  Úaltchars      rs   r  ÚLatexPrinter._print_Implies  s   € Ø× Ñ  §¡¨×)B°NÓCÐCru   c                óf   • [        UR                  [        S9nU R                  X2=(       d    S5      $ )NrO  z\Leftrightarrowr  )rù   ri  r)  rN  s       rs   r  ÚLatexPrinter._print_Equivalent‚  s*   € Ü�a—f‘fÔ"2Ñ3ˆØ× Ñ  ×'DÐ2DÓEÐEru   c                ób   • SU R                  UR                  S   5      -  nUb
  U< SU< S3$ U$ )Nz\overline{%s}r   r  ro   r/  rù  s       rs   Ú_print_conjugateÚLatexPrinter._print_conjugate†  s2   € Ø §¡¨T¯Y©Y°q©\Ó!:Ñ:ˆà‰?Û!$£cÐ*Ð*àˆJru   c                óx   • SnSU R                  UR                  S   5      -  nUb  U< SU< SU< 3$ U< U< 3$ )Nz\operatorname{polar\_lift}rË  r   r  ro   r/  )rù   r  rX  rÐ  r<   s        rs   Ú_print_polar_liftÚLatexPrinter._print_polar_liftŽ  s?   € Ø,ˆØ# d§k¡k°$·)±)¸A±,Ó&?Ñ?ˆà‰?Û#'«ªcÐ2Ð2â"¢CÐ(Ð(ru   c                óf   • SU R                  UR                  S   5      -  nU R                  X25      $ )Nze^{%s}r   )r  rN  rY  rù  s       rs   Ú_print_ExpBaseÚLatexPrinter._print_ExpBase—  s0   € ð ˜$Ÿ+™+ d§i¡i°¡lÓ3Ñ3ˆØ× Ñ  Ó*Ð*ru   c                ó   • g)Nri  rp   rW  s      rs   Ú_print_Exp1ÚLatexPrinter._print_Exp1�  s   € Øru   c                óh   • SU R                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )Nrs  r   zK^{ro   zK%sr/  rù  s       rs   Ú_print_elliptic_kÚLatexPrinter._print_elliptic_k   s7   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆØŠ?Û"%¢sÐ+Ð+à˜C‘<Ðru   c                ó¬   • SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nUb
  SU< SU< 3$ SU-  $ )	NrU  r   ú	\middle| r€  rƒ  zF^{ro   zF%sr/  rù  s       rs   Ú_print_elliptic_fÚLatexPrinter._print_elliptic_f§  sK   � à�[‰[˜Ÿ™ 1™Ö&¨¯©°D·I±I¸a±LÖ(AðCˆàŠ?Û"%¢sÐ+Ð+à˜C‘<Ðru   c                ó"  • [        UR                  5      S:X  aD  SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nO!SU R                  UR                  S   5      -  nUb
  SU< S	U< 3$ S
U-  $ )Nrú  rU  r   r=  r€  rƒ  rs  zE^{ro   zE%s©r˜  rN  r  rù  s       rs   Ú_print_elliptic_eÚLatexPrinter._print_elliptic_e¯  sx   € Üˆt�y‰y‹>˜QÔà—‘˜TŸY™Y q™\Ö*¨D¯K©K¸¿	¹	À!¹Ö,EðG‰Cð % t§{¡{°4·9±9¸Q±<Ó'@Ñ@ˆCØŠ?Û"%¢sÐ+Ð+à˜C‘<Ðru   c           	     ó¦  • [        UR                  5      S:X  ad  SU R                  UR                  S   5      < SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nOCSU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nUb
  S	U< S
U< 3$ SU-  $ )NrR  rU  r   ú; r€  r=  rú  rƒ  z\Pi^{ro   z\Pi%srA  rù  s       rs   Ú_print_elliptic_piÚLatexPrinter._print_elliptic_piº  s¤   € Üˆt�y‰y‹>˜QÔà—‘˜TŸY™Y q™\Ö*¨D¯K©K¸¿	¹	À!¹Ö,EØ—‘˜TŸY™Y q™\Ö*ð,‰Cð ð —‘˜TŸY™Y q™\Ö*¨D¯K©K¸¿	¹	À!¹Ö,EðGˆCàŠ?Û$'ªÐ-Ð-à˜c‘>Ð!ru   c                óÄ   • UR                   S   n[        UR                   5      S:X  a  UR                   S   OUR                   S   nSU SU S3nUb
  SU< SU< 3$ SU-  $ )	Nr   r€  rU  r\  rƒ  z\operatorname{B}^{ro   z\operatorname{B}%s)rN  r˜  )rù   r  rX  r7  Úyr  s         rs   Ú_print_betaÚLatexPrinter._print_betaÇ  sd   € Ø�I‰I�a‰Lˆä §	¡	›N¨aÓ/ˆD�I‰I�aŠL°T·Y±Y¸q±\ˆØ˜�s˜"˜Q˜C˜wÐ'ˆàŠ?Û14²cÐ:Ð:à(¨3Ñ.Ð.ru   c           
     óð   • UR                    Vs/ s H  o@R                  U5      PM     nnSUS   < SUS   < S3nUb  SU< SUS   < SUS	   < S
U< SU< 3
$ SU< SUS   < SUS	   < SU< 3$ s  snf )NrU  r   r\  r€  rƒ  r°  z}_{(rú  rR  z)}^{ro   z)}r¡  )rù   r  rX  Úoperatorr<   Úlargsr  s          rs   Ú_print_betaincÚLatexPrinter._print_betaincÒ  s~   € Ø-1¯YªYÓ7ªY c—‘˜SÖ!©YˆÐ7ˆØ(-¨a¬°%¸´(Ð;ˆàŠ?Û=EÀuÈQÄxÐQVÐWXÔQYÓ[^Ò`cÐdÐdð ó 9AÀ%ÈÄ(ÈEÐRSÌHÒVYÐZÐZùò 8s   �A3c                ó"   • U R                  XSS9$ )NÚI)rM  )rO  rW  s      rs   Ú_print_betainc_regularizedÚ'LatexPrinter._print_betainc_regularizedÛ  s   € Ø×"Ñ" 4°sÐ"Ð;Ð;ru   c                ó¬   • SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nUb
  SU< SU< 3$ SU-  $ )	NrU  r   r\  r€  rƒ  z\Gamma^{ro   z\Gamma%sr/  rù  s       rs   Ú_print_uppergammaÚLatexPrinter._print_uppergammaÞ  óO   � Ø(,¯©°D·I±I¸a±LÖ(AØ(,¯©°D·I±I¸a±LÖ(AðCˆð Š?Û'*ªCÐ0Ð0à Ñ$Ð$ru   c                ó¬   • SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nUb
  SU< SU< 3$ SU-  $ )	NrU  r   r\  r€  rƒ  z\gamma^{ro   ú\gamma%sr/  rù  s       rs   Ú_print_lowergammaÚLatexPrinter._print_lowergammaç  rX  ru   c                óØ   • SU R                  UR                  S   5      -  nUb&  U R                  UR                  5      < SU< SU< 3$ U R                  UR                  5      < U< 3$ ©Nrs  r   r  ro   )r  rN  rÐ  rù  s       rs   Ú_hprint_one_arg_funcÚ!LatexPrinter._hprint_one_arg_funcð  sT   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆà‰?Ø#'§;¡;¨t¯y©yÖ#9»3ÂÐDÐDà"Ÿk™k¨$¯)©)Õ4²cÐ:Ð:ru   c                óh   • SU R                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )Nrs  r   z\operatorname{Chi}^{ro   z\operatorname{Chi}%sr/  rù  s       rs   Ú
_print_ChiÚLatexPrinter._print_Chiú  s8   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆàŠ?Û36ºÐ<Ð<à*¨SÑ0Ð0ru   c                ó¶   • SU R                  UR                  S   5      -  nU R                  UR                  S   5      nUb  SU< SU< SU< 3$ SU< SU< 3$ )Nrs  r€  r   z\operatorname{E}_{r�  ro   r/  )rù   r  rX  r  Únus        rs   Ú_print_expintÚLatexPrinter._print_expint  sW   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆØ�[‰[˜Ÿ™ 1™Ó&ˆàŠ?Û68»#ºsÐCÐCð ó 24²SÐ9Ð9ru   c                óh   • SU R                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )Nrs  r   zS^{ro   zS%sr/  rù  s       rs   Ú_print_fresnelsÚLatexPrinter._print_fresnels  ó7   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆàŠ?Û"%¢sÐ+Ð+à˜C‘<Ðru   c                óh   • SU R                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )Nrs  r   zC^{ro   zC%sr/  rù  s       rs   Ú_print_fresnelcÚLatexPrinter._print_fresnelc  rk  ru   c                ót   • SU R                  UR                  S   [        S   5      -  nUb  SU< SU< S3$ U$ )Nz!%sr   ÚFuncrU  rV  ro   ©r  rN  r!   rù  s       rs   Ú_print_subfactorialÚ LatexPrinter._print_subfactorial  s;   € Ø�t×(Ñ(¨¯©°1©´zÀ&Ñ7IÓJÑJˆàŠ?Û.1³3Ð7Ð7àˆJru   c                ór   • SU R                  UR                  S   [        S   5      -  nUb
  U< SU< S3$ U$ )Nz%s!r   rp  r  ro   rq  rù  s       rs   Ú_print_factorialÚLatexPrinter._print_factorial#  s;   € Ø�t×(Ñ(¨¯©°1©´zÀ&Ñ7IÓJÑJˆà‰?Û!$£cÐ*Ð*àˆJru   c                ór   • SU R                  UR                  S   [        S   5      -  nUb
  U< SU< S3$ U$ )Nz%s!!r   rp  r  ro   rq  rù  s       rs   Ú_print_factorial2ÚLatexPrinter._print_factorial2+  s;   € Ø˜×)Ñ)¨$¯)©)°A©,¼
À6Ñ8JÓKÑKˆà‰?Û!$£cÐ*Ð*àˆJru   c                ó¦   • SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nUb
  U< SU< S3$ U$ )Nz{\binom{r   rü  r€  r  r  ro   r/  rù  s       rs   Ú_print_binomialÚLatexPrinter._print_binomial3  sI   � Ø%)§[¡[°·±¸1±Ö%>Ø%)§[¡[°·±¸1±Ö%>ð@ˆð ‰?Û!$£cÐ*Ð*àˆJru   c                ó¬   • UR                   u  p4SU R                  U[        S   5      -  nSU< SU R                  U5      < S3nU R	                  Xb5      $ )NrÊ  rp  r“   ú	}^{\left(ú\right)}©rN  r  r!   r  rY  )rù   r  rX  Únr_  rR  r  s          rs   Ú_print_RisingFactorialÚ#LatexPrinter._print_RisingFactorial<  sL   € Ø�y‰y‰ˆØ�t×(Ñ(¨¬J°vÑ,>Ó?Ñ?‰ã+/°·±¸Q¶Ð@ˆà× Ñ  Ó*Ð*ru   c                ó¬   • UR                   u  p4SU R                  U[        S   5      -  nSU R                  U5      < SU< S3nU R	                  Xb5      $ )NrÊ  rp  z{\left(z
\right)}_{ro   r€  )rù   r  rX  r�  r_  Úsubr  s          rs   Ú_print_FallingFactorialÚ$LatexPrinter._print_FallingFactorialD  sL   € Ø�y‰y‰ˆØ�d×'Ñ'¨¬:°fÑ+=Ó>Ñ>‰à+/¯;©;°q®>»3Ð?ˆà× Ñ  Ó*Ð*ru   c                ó  • SU-  nSnUb"  UR                  S5      S:X  a  U< SU< S3nOSnU< SU R                  UR                  5      < S	U R                  UR                  5      < S
3nU(       a  U R	                  XB5      nU$ )NrÊ  Fr°   r  r  ro   Trœ  ú}\left(rƒ  )r±  r  rÇ   ÚargumentrY  )rù   r  rX  Úsymr  Úneed_exps         rs   Ú_hprint_BesselBaseÚLatexPrinter._hprint_BesselBaseL  sx   € Ø�s‰mˆàˆØ‰?Ø�x‰x˜‹} Ó"Û$'«Ð-‘à�ã+.°·±¸D¿J¹JÖ0GØ+/¯;©;°t·}±}Ö+EðGˆö Ø×#Ñ# CÓ-ˆCØˆ
ru   c                óŒ   • U(       d  gSnUS S  H  nUSU R                  U5      -  -  nM     X R                  US   5      -  nU$ )Nrä   r  z%s, r†  )rù   rŽ   rr   rÌ   s       rs   Ú_hprint_vecÚLatexPrinter._hprint_vec]  sN   € ÞØØˆØ�S�b“ˆAØ�˜$Ÿ+™+ a›.Ñ(Ñ(ŠAñ à	�[‰[˜˜R™Ó!Ñ!ˆØˆru   c                ó&   • U R                  XS5      $ )NÚJ©r�  rW  s      rs   Ú_print_besseljÚLatexPrinter._print_besseljf  ó   € Ø×&Ñ& t°#Ó6Ð6ru   c                ó&   • U R                  XS5      $ )NrR  r”  rW  s      rs   Ú_print_besseliÚLatexPrinter._print_besselii  r—  ru   c                ó&   • U R                  XS5      $ )NÚKr”  rW  s      rs   Ú_print_besselkÚLatexPrinter._print_besselkl  r—  ru   c                ó&   • U R                  XS5      $ )NÚYr”  rW  s      rs   Ú_print_besselyÚLatexPrinter._print_besselyo  r—  ru   c                ó&   • U R                  XS5      $ )NrI  r”  rW  s      rs   Ú	_print_ynÚLatexPrinter._print_ynr  r—  ru   c                ó&   • U R                  XS5      $ )Nré   r”  rW  s      rs   Ú	_print_jnÚLatexPrinter._print_jnu  r—  ru   c                ó&   • U R                  XS5      $ )NzH^{(1)}r”  rW  s      rs   Ú_print_hankel1ÚLatexPrinter._print_hankel1x  ó   € Ø×&Ñ& t°)Ó<Ð<ru   c                ó&   • U R                  XS5      $ )NzH^{(2)}r”  rW  s      rs   Ú_print_hankel2ÚLatexPrinter._print_hankel2{  r¬  ru   c                ó&   • U R                  XS5      $ )Nzh^{(1)}r”  rW  s      rs   Ú
_print_hn1ÚLatexPrinter._print_hn1~  r¬  ru   c                ó&   • U R                  XS5      $ )Nzh^{(2)}r”  rW  s      rs   Ú
_print_hn2ÚLatexPrinter._print_hn2�  r¬  ru   c                ót   • SU R                  UR                  S   5      -  nUb  U< SU< SU< 3$ U< U< 3$ r^  r/  ©rù   r  rX  Únotationr  s        rs   Ú_hprint_airyÚLatexPrinter._hprint_airy„  s:   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆà‰?Û#+«S²#Ð6Ð6â&ªÐ,Ð,ru   c                óx   • SU R                  UR                  S   5      -  nUb  SU< SU< SU< 3$ U< SU< 3$ )Nrs  r   r“   z
^\prime}^{ro   z^\primer/  r·  s        rs   Ú_hprint_airy_primeÚLatexPrinter._hprint_airy_primeŒ  s:   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆàŠ?Û,4³cº3Ð?Ð?ã%-ªsÐ3Ð3ru   c                ó&   • U R                  XS5      $ ©NÚAi©r¹  rW  s      rs   Ú_print_airyaiÚLatexPrinter._print_airyai”  ó   € Ø× Ñ  ¨DÓ1Ð1ru   c                ó&   • U R                  XS5      $ ©NÚBirÁ  rW  s      rs   Ú_print_airybiÚLatexPrinter._print_airybi—  rÄ  ru   c                ó&   • U R                  XS5      $ r¿  ©r¼  rW  s      rs   Ú_print_airyaiprimeÚLatexPrinter._print_airyaiprimeš  ó   € Ø×&Ñ& t°$Ó7Ð7ru   c                ó&   • U R                  XS5      $ rÆ  rË  rW  s      rs   Ú_print_airybiprimeÚLatexPrinter._print_airybiprime�  rÎ  ru   c                ón  • SU R                  [        UR                  5      5      < SU R                  [        UR                  5      5      < SU R	                  UR                  5      < SU R	                  UR                  5      < SU R                  UR
                  5      < S3nUb  SU< SU< S	3nU$ )
Nz{{}_{z}F_{ú}\left(\begin{matrix} r”  z \end{matrix}\middle| {ú
} \right)}r“   r�  ro   )r  r˜  ÚapÚbqr�  rŠ  rù  s       rs   Ú_print_hyperÚLatexPrinter._print_hyper   s{   � ð �[‰[œ˜TŸW™W›Ö&¨¯©´C¸¿¹³LÖ(AØ×Ñ˜tŸw™wÖ'¨×)9Ñ)9¸$¿'¹'Ö)BØ�k‰k˜$Ÿ-™-Ö(ð	*ˆð Š?Û"%£sÐ+ˆCØˆ
ru   c                óz  • SU R                  [        UR                  5      5      < SU R                  [        UR                  5      5      < SU R                  [        UR                  5      5      < SU R                  [        UR
                  5      5      < SU R                  UR
                  5      < SU R                  UR                  5      < SU R                  UR                  5      < SU R                  UR                  5      < SU R                  UR                  5      < S3nUb  S	U< SU< S
3nU$ )Nz{G_{r\  r�  rÓ  r“  ú \\z \end{matrix} \middle| {rÔ  r“   ro   )
r  r˜  rÕ  rÖ  r™   Úanr�  ÚaotherÚbotherrŠ  rù  s       rs   Ú_print_meijergÚLatexPrinter._print_meijerg«  sÅ   � ð �[‰[œ˜TŸW™W›Ö&¨¯©´C¸¿¹³LÖ(AØ�k‰kœ#˜dŸg™g›,Ö'¨¯©´S¸¿¹³\Ö)BØ×Ñ˜tŸw™wÖ'¨×)9Ñ)9¸$¿+¹+Ö)FØ×Ñ˜tŸw™wÖ'¨×)9Ñ)9¸$¿+¹+Ö)FØ�k‰k˜$Ÿ-™-Ö(ð*ˆð Š?Û"%£sÐ+ˆCØˆ
ru   c                óh   • SU R                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )Nrs  r   z\eta^{ro   z\eta%sr/  rù  s       rs   Ú_print_dirichlet_etaÚ!LatexPrinter._print_dirichlet_eta¸  s7   € Ø  4§;¡;¨t¯y©y¸©|Ó#<Ñ<ˆØŠ?Û%(ª#Ð.Ð.Ø˜3‰Ðru   c                óô   • [        UR                  5      S:X  a-  S[        [        U R                  UR                  5      5      -  nO!SU R	                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )Nrú  z\left(%s, %s\right)rs  r   z\zeta^{ro   z\zeta%s©r˜  rN  r6  rg  r  rù  s       rs   Ú_print_zetaÚLatexPrinter._print_zeta¾  sf   € Üˆt�y‰y‹>˜QÓØ(¬5´°T·[±[À$Ç)Á)Ó1LÓ+MÑM‰Cà$ t§{¡{°4·9±9¸Q±<Ó'@Ñ@ˆCØŠ?Û&)ª3Ð/Ð/Ø˜CÑÐru   c                óö   • [        UR                  5      S:X  a-  S[        [        U R                  UR                  5      5      -  nO!SU R	                  UR                  S   5      -  nUb  SU< SU< S3$ SU-  $ )	Nrú  z_{%s}\left(%s\right)rf  r   rß  r  ro   rZ  rä  rù  s       rs   Ú_print_stieltjesÚLatexPrinter._print_stieltjesÇ  sf   € Üˆt�y‰y‹>˜QÓØ)¬E´#°d·k±kÀ4Ç9Á9Ó2MÓ,NÑN‰Cà˜TŸ[™[¨¯©°1©Ó6Ñ6ˆCØŠ?Û'*«CÐ0Ð0Ø˜SÑ Ð ru   c                ó~   • S[        [        U R                  UR                  5      5      -  nUc  SU-  $ SU< SU< 3$ )Nz\left(%s, %s, %s\right)z\Phi%sz\Phi^{ro   )r6  rg  r  rN  rù  s       rs   Ú_print_lerchphiÚLatexPrinter._print_lerchphiÐ  s?   € Ø(¬5´°T·[±[À$Ç)Á)Ó1LÓ+MÑMˆØ‰;Ø˜s‘?Ð"ð ã!$¢cÐ*Ð*ru   c                ó†   • [        U R                  UR                  5      u  p4SU-  nUc
  SU< SU< 3$ SU< SU< SU< 3$ )Nrs  z\operatorname{Li}_{ro   r�  ©rg  r  rN  )rù   r  rX  rr   r©  r  s         rs   Ú_print_polylogÚLatexPrinter._print_polylogÖ  sD   € Ü�4—;‘; §	¡	Ó*‰ˆØ  1Ñ$ˆØŠ;Û23²SÐ9Ð9ð ã34³cº3Ð?Ð?ru   c           	     óŽ   • [        U R                  UR                  5      u  p4pVSU< SU< SU< SU< S3	nUb  SU-   SU-  -   nU$ )NúP_{r~  r�  ú\right)}\left(rƒ  rU  ú\right)^{%s}rî  )rù   r  rX  r�  r	  r
  r7  r  s           rs   Ú_print_jacobiÚLatexPrinter._print_jacobiÝ  sG   € Ü˜Ÿ™ d§i¡iÓ0‰
ˆˆa�Û?@Ã!ÃQËÐJˆØ‰?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c                ó†   • [        U R                  UR                  5      u  p4nSU< SU< SU< S3nUb  SU-   SU-  -   nU$ )NzC_{r~  ró  rƒ  rU  rô  rî  ©rù   r  rX  r�  r	  r7  r  s          rs   Ú_print_gegenbauerÚLatexPrinter._print_gegenbauerä  óC   € Ü�d—k‘k 4§9¡9Ó-‰ˆ‰aÛ<=»qÃ!ÐDˆØ‰?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c                ó|   • [        U R                  UR                  5      u  p4SU< SU< S3nUb  SU-   SU-  -   nU$ )NzT_{r‰  rƒ  rU  rô  rî  ©rù   r  rX  r�  r7  r  s         rs   Ú_print_chebyshevtÚLatexPrinter._print_chebyshevtë  óA   € Ü�4—;‘; §	¡	Ó*‰ˆˆ1Û*+«QÐ/ˆØ‰?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c                ó|   • [        U R                  UR                  5      u  p4SU< SU< S3nUb  SU-   SU-  -   nU$ )NzU_{r‰  rƒ  rU  rô  rî  rý  s         rs   Ú_print_chebyshevuÚLatexPrinter._print_chebyshevuò  r   ru   c                ó|   • [        U R                  UR                  5      u  p4SU< SU< S3nUb  SU-   SU-  -   nU$ )Nrò  r‰  rƒ  rU  rô  rî  rý  s         rs   Ú_print_legendreÚLatexPrinter._print_legendreù  r   ru   c                ó†   • [        U R                  UR                  5      u  p4nSU< SU< SU< S3nUb  SU-   SU-  -   nU$ )Nrò  r~  ró  rƒ  rU  rô  rî  rø  s          rs   Ú_print_assoc_legendreÚ"LatexPrinter._print_assoc_legendre   rû  ru   c                ó|   • [        U R                  UR                  5      u  p4SU< SU< S3nUb  SU-   SU-  -   nU$ )NzH_{r‰  rƒ  rU  rô  rî  rý  s         rs   Ú_print_hermiteÚLatexPrinter._print_hermite  r   ru   c                ó|   • [        U R                  UR                  5      u  p4SU< SU< S3nUb  SU-   SU-  -   nU$ )NúL_{r‰  rƒ  rU  rô  rî  rý  s         rs   Ú_print_laguerreÚLatexPrinter._print_laguerre  r   ru   c                ó†   • [        U R                  UR                  5      u  p4nSU< SU< SU< S3nUb  SU-   SU-  -   nU$ )Nr  r~  ró  rƒ  rU  rô  rî  rø  s          rs   Ú_print_assoc_laguerreÚ"LatexPrinter._print_assoc_laguerre  rû  ru   c           	     óŽ   • [        U R                  UR                  5      u  p4pVSU< SU< SU< SU< S3	nUb  SU-   SU-  -   nU$ )NzY_{r�  r‰  r�  rƒ  rU  rô  rî  ©rù   r  rX  r�  ÚmÚthetaÚphir  s           rs   Ú
_print_YnmÚLatexPrinter._print_Ynm  óH   € Ü˜tŸ{™{¨D¯I©IÓ6Ñˆˆe�SÛ23³Q»»sÐCˆØ‰?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c           	     óŽ   • [        U R                  UR                  5      u  p4pVSU< SU< SU< SU< S3	nUb  SU-   SU-  -   nU$ )NzZ_{r�  r‰  r�  rƒ  rU  rô  rî  r  s           rs   Ú
_print_ZnmÚLatexPrinter._print_Znm#  r  ru   c           
     ó–   • [        U R                  U5      u  pVnU(       a  SOSnU(       d  SOSU-  nU< U< SU< SU< SU< SU< 3
$ )Nz	^{\prime}rä   rž  rU  r\  rƒ  )rg  r  )	rù   Ú	characterrN  r�   rX  r	  r  r©  Úsups	            rs   Ú__print_mathieu_functionsÚ&LatexPrinter.__print_mathieu_functions*  s?   € Ü�d—k‘k 4Ó(‰ˆˆaÞ#‰l¨ˆÞ‰b ¨3¡ˆÚ3<»cÃ1ÃaËÊCÐPÐPru   c                ó8   • U R                  SUR                  US9$ )NÚCr  ©Ú&_LatexPrinter__print_mathieu_functionsrN  rW  s      rs   Ú_print_mathieucÚLatexPrinter._print_mathieuc0  ó   € Ø×-Ñ-¨c°4·9±9À#Ð-ÐFÐFru   c                ó8   • U R                  SUR                  US9$ )Nr   r  r&  rW  s      rs   Ú_print_mathieusÚLatexPrinter._print_mathieus3  r*  ru   c                ó:   • U R                  SUR                  SUS9$ )Nr%  T©r�   rX  r&  rW  s      rs   Ú_print_mathieucprimeÚ!LatexPrinter._print_mathieucprime6  ó    € Ø×-Ñ-¨c°4·9±9ÀDÈcÐ-ÐRÐRru   c                ó:   • U R                  SUR                  SUS9$ )Nr   Tr/  r&  rW  s      rs   Ú_print_mathieusprimeÚ!LatexPrinter._print_mathieusprime9  r2  ru   c                ó
  • UR                   S:w  aY  SnUR                  nUR                  S:  a  SnU* nU R                  S   (       a  SX#UR                   4-  $ SX#UR                   4-  $ U R                  UR                  5      $ )Nr€  rä   r   r÷  r»   z	%s%d / %dz%s\frac{%d}{%d})r  r  ró   r  )rù   r  Úsignr  s       rs   Ú_print_RationalÚLatexPrinter._print_Rational<  sz   € Ø�6‰6�Q‹;ØˆDØ—‘ˆAØ�v‰v˜‹zØ�Ø�B�Ø�~‰~Ð/×0Ø# t°·±Ð&7Ñ7Ð7Ø%¨°$·&±&Ð(9Ñ9Ð9à—;‘;˜tŸv™vÓ&Ð&ru   c                ór  • U R                  UR                  5      nUR                  (       a!  [        S UR                   5       5      (       d  [	        UR
                  5      S:”  aÍ  US-  n[	        UR
                  5      S:”  a  X R                  UR
                  5      -  nO1UR
                  (       a   X R                  UR
                  S   5      -  nUS-  n[	        UR                  5      S:”  a"  X R                  UR                  5      -  nSU-  $ X R                  UR                  S   5      -  nSU-  $ )Nc              3  óF   #   • U  H  o[         R                  :g  v •  M     g 7fr  )r   rr  )r6  r  s     rs   r8  Ú,LatexPrinter._print_Order.<locals>.<genexpr>K  s   é € Ð>²:¨a¤1§6¡6žk²:ùs   ‚!r€  rE  r   ú\rightarrow zO\left(%s\right))r  r  ÚpointrC  r˜  Ú	variables)rù   r  rr   s      rs   Ú_print_OrderÚLatexPrinter._print_OrderI  sò   € Ø�K‰K˜Ÿ	™	Ó"ˆØ�:�:œ#Ñ>°4·:²:Ó>×>Ñ>Üˆt�~‰~Ó Ó"Ø�‰IˆAÜ�4—>‘>Ó" QÓ&Ø—[‘[ §¡Ó0Ñ0‘Ø——Ø—[‘[ §¡°Ñ!2Ó3Ñ3�Ø�Ñ ˆAÜ�4—:‘:‹ Ó"Ø—[‘[ §¡Ó,Ñ,�ð # QÑ&Ð&ð —[‘[ §¡¨A¡Ó/Ñ/�Ø" QÑ&Ð&ru   c                ó|   • U R                   S   R                  U5      nUb  U$ U R                  UR                  US9$ )NrÈ   ©Ústyle)ró   rø   r]  ra  )rù   r  rD  ra  s       rs   Ú_print_SymbolÚLatexPrinter._print_SymbolY  s@   € Ø—N‘N >Ñ2×6Ñ6°tÓ<ˆØÑØˆKà×(Ñ(¨¯©¸%Ð(Ð@Ð@ru   c                óL  • Ub  SU;   a  U/ / 4$ U R                   S   (       a&  UR                  SS5      R                  SS5      / / p2nO[        U5      u  pn[        U5      nU Vs/ s H  n[        U5      PM     nnU Vs/ s H  n[        U5      PM     nnXU4$ s  snf s  snf )Nr“   rØ   r¯  z\_r°   z\^)ró   r±   r   Ú	translate)rù   ra  ÚsupersrŽ  r!  r…  s         rs   Ú_split_super_subÚLatexPrinter._split_super_subb  s¨   € Ø‰<˜3 $›;Ø˜"˜b�>Ð!Ø�^‰^Ð5×6Ø"&§,¡,¨s°EÓ":×"BÑ"BÀ3ÈÓ"NÐPRÐTV˜$ˆD˜$ä!0°Ó!6ÑˆD˜$Ü˜‹ˆÙ,2Ó3ªF S”)˜C–.©FˆÐ3Ù*.Ó/ª$ 3”	˜#–©$ˆÐ/Ø˜dÐ#Ð#ùò 4ùÚ/s   Á&BÂB!c                óÔ   • U R                  U5      u  p4nUS:X  a  SR                  U5      nU(       a  USSR                  U5      -  -  nU(       a  USSR                  U5      -  -  nU$ )Nr–   ú\mathbf{{{}}}rž  rÝ   rf  )rJ  r  r`  )rù   ÚstringrD  ra  rI  rŽ  s         rs   r]  Ú!LatexPrinter._deal_with_super_subn  sl   € Ø!×2Ñ2°6Ó:Ñˆ�dð �F‹?Ø#×*Ñ*¨4Ó0ˆDö Ø�G˜cŸh™h vÓ.Ñ.Ñ.ˆDÞØ�G˜cŸh™h t›nÑ,Ñ,ˆDàˆru   c                óä   • U R                   S   (       a  SnSnOSnSnSUUSSS	S
.nU R                  UR                  5      < SXAR                     < SU R                  UR                  5      < 3$ )Nr¾   z\gtz\ltÚ>Ú<rŒ  z\geqz\leqz\neq)z==rQ  rR  z>=z<=z!=rÝ   )ró   r  ÚlhsÚrel_opÚrhs)rù   r  ÚgtÚltÚcharmaps        rs   Ú_print_RelationalÚLatexPrinter._print_Relational}  st   € Ø�>‰>˜&×!ØˆBØ‰BàˆBØˆBð ØØØØØñ
ˆð "Ÿ[™[¨¯©Ö2Ø$§[¡[Ô1°4·;±;¸t¿x¹xÕ3HðJð 	Jru   c           	     óJ  • UR                   S S  VVs/ s H,  u  p#U R                  U5      < SU R                  U5      < 3PM.     nnnUR                   S   R                  [        :X  a;  UR	                  SU R                  UR                   S   R
                  5      -  5        OdUR	                  U R                  UR                   S   R
                  5      < SU R                  UR                   S   R                  5      < 35        SnUSR                  U5      -  $ s  snnf )Nr  z & \text{for}\: z%s & \text{otherwise}z\begin{cases} %s \end{cases}rÚ  )rN  r  Úcondr   rZ  r  r`  )rù   r  ri  r²   Úecpairsr  s         rs   Ú_print_PiecewiseÚLatexPrinter._print_Piecewise‘  sî   € à#Ÿy™y¨¨"™~ô/Ú-‘t�qð /3¯k©k¸!®n¸d¿k¹kÈ!½nÓMÙ-ð 	ñ /à�9‰9�R‰=×Ñ¤Ó%Ø�N‰NÐ3ØŸ;™; t§y¡y°¡}×'9Ñ'9Ó:ñ;õ <ð �N‰NØ ŸK™K¨¯	©	°"©×(:Ñ(:Ö;Ø ŸK™K¨¯	©	°"©×(:Ñ(:Õ;ð=ô >ð .ˆØ�V—[‘[ Ó)Ñ)Ð)ùó/s   “3Dc                óö  • / n[        UR                  5       HH  nUR                  SR                  XS S 24    Vs/ s H  o@R	                  U5      PM     sn5      5        MJ     U R
                  S   nUc-  U R
                  S   S:X  a  SnOUR                  S:*  SL a  SnOS	nS
nUR                  SU5      nUS	:X  a%  UR                  SSSUR                  -  -   S-   5      nUSR                  U5      -  $ s  snf )Nr“  rÃ   rÄ   rÛ   Úsmallmatrixé
   TÚmatrixÚarrayú \begin{%MATSTR%}%s\end{%MATSTR%}ú%MATSTR%rÊ  r“   r²   ú}%sr=  )r—  ÚrowsrZ  r`  r  ró   Úcolsr±   )rù   r  ÚlinesÚlinerÌ   rÃ   Úout_strs          rs   Ú_print_matrix_contentsÚ#LatexPrinter._print_matrix_contentsž  sè   € Øˆä˜$Ÿ)™)Ö$ˆDØ�L‰L˜Ÿ™¸TÊÀ'º]Ó$Kº]¸§[¡[°¦^¹]Ñ$KÓLÖMñ %ð —.‘. Ñ+ˆØ‰?Ø�~‰~˜fÑ%¨Ó1Ø'‘à—I‘I ‘O¨Ò,Ø&‘Gà%�Gà5ˆØ—/‘/ *¨gÓ6ˆØ�gÓØ—o‘o d¨C°#°d·i±i±-Ñ,?À%Ñ,GÓHˆGØ˜Ÿ™ EÓ*Ñ*Ð*ùò! %Ls   »C6c                ó¨   • U R                  U5      nU R                  S   (       a,  U R                  S   nU R                  U   nSU-   U-   S-   U-   nU$ )NrÁ   ú\leftú\right)rm  ró   r÷   )rù   r  rl  Ú
left_delimÚright_delims        rs   Ú_print_MatrixBaseÚLatexPrinter._print_MatrixBase´  s`   € Ø×-Ñ-¨dÓ3ˆØ�>‰>˜+×&ØŸ™¨Ñ4ˆJØ×*Ñ*¨:Ñ6ˆKØ Ñ+¨gÑ5Øñ Ø"-ñ.ˆGàˆru   c                óÊ   • U R                  UR                  [        S   SS9nU R                  UR                  5       SU R                  UR
                  5       3nSU SU S3$ )Nr  T©r  r�  r“   ú}_{ro   )r  Úparentr!   r  rÌ   ré   )rù   r  Úmatrix_partÚ
index_parts       rs   Ú_print_MatrixElementÚ!LatexPrinter._print_MatrixElement½  sd   € Ø×'Ñ'¨¯©´ZÀÑ5GÐPTÐ'ÐUˆØŸ™ D§F¡FÓ+Ð,¨A¨d¯k©k¸$¿&¹&Ó.AÐ-BÐCˆ
Ø�K�=  j \°Ð4Ð4ru   c                ó  ^ • U 4S jnT R                  UR                  [        S   SS9S-   U" UR                  UR                  R                  5      -   S-   U" UR
                  UR                  R                  5      -   S-   $ )Nc                ó    >• [        U 5      n U S   S:X  a  U S	 U S   S:X  a  S U S'   U S   U:X  a  S U S'   SR                  U4S jU  5       5      $ )Nrú  r€  r   Ú:c              3  óN   >#   • U  H  ob  TR                  U5      OSv •  M     g 7f©Nrä   r†  )r6  Úxirù   s     €rs   r8  ÚFLatexPrinter._print_MatrixSlice.<locals>.latexslice.<locals>.<genexpr>Ë  s"   øé € ÐRÒPQÈ"©~˜DŸK™K¨œOÀ2ÔEÒPQùs   ƒ"%)ræ  r`  )r7  r€  rù   s     €rs   Ú
latexsliceÚ3LatexPrinter._print_MatrixSlice.<locals>.latexsliceÃ  s\   ø€ Ü�Q“ˆAØ�‰t�q‹yØ�a�DØ�‰t�q‹yØ��!‘Ø�‰t�s‹{Ø��!‘Ø—8‘8ÔRÑPQÓRÓRÐRru   r  Trw  ú\left[r\  ú\right])r  ry  r!   Úrowslicerh  Úcolsliceri  )rù   r  r…  s   `  rs   Ú_print_MatrixSliceÚLatexPrinter._print_MatrixSliceÂ  s�   ø€ õ	Sð ×!Ñ! $§+¡+¬z¸&Ñ/AÈ$Ð!ÐOÐR[Ñ[Ù˜4Ÿ=™=¨$¯+©+×*:Ñ*:Ó;ñ<Ø>BñCá˜4Ÿ=™=¨$¯+©+×*:Ñ*:Ó;ñ<à>HñIð 	Jru   c                ó8   • U R                  UR                  5      $ r  )r  Úblocksr"  s     rs   Ú_print_BlockMatrixÚLatexPrinter._print_BlockMatrixÐ  s   € Ø�{‰{˜4Ÿ;™;Ó'Ð'ru   c                ó  • UR                   nSSKJnJn  [	        X#5      (       d5  [	        X$5      (       d%  UR
                  (       a  SU R                  U5      -  $ U R                  U[        U5      S5      nSU;   a  SU-  $ SU-  $ )Nr   ©ÚMatrixSymbolÚBlockMatrixz\left(%s\right)^{T}Tr°   z%s^{T})	r<   Úsympy.matricesr“  r”  rà  Úis_MatrixExprr  r  r   )rù   r  r�  r“  r”  rr   s         rs   Ú_print_TransposeÚLatexPrinter._print_TransposeÓ  sv   € Ø�h‰hˆß<Ü˜3×-Ñ-Ü˜3×,Ñ,°×1B×1BØ)¨D¯K©K¸Ó,<Ñ<Ð<à×!Ñ! #Ô'=¸dÓ'CÀTÓJˆAØ�a‹xØ-°Ñ1Ð1à !‘|Ð#ru   c                óB   • UR                   nSU R                  U5      -  $ )Nz!\operatorname{tr}\left(%s \right))r<   r  ©rù   r  r�  s      rs   Ú_print_TraceÚLatexPrinter._print_Traceà  s   € Ø�h‰hˆØ3°d·k±kÀ#Ó6FÑFÐFru   c                óx  • SSSS.nUR                  U R                  S   S5      nUR                  nSSKJnJn  [        XE5      (       d;  [        XF5      (       d+  UR                  (       a  SU R                  U5      < S	U< S
3$ U R                  U[        U5      S5      nSU;   a  SU< S	U< S
3$ U< SU< S
3$ )Nz\daggerz\astz
\mathsf{H})rÏ   ÚstarÚ	hermitianr×   r   r’  rU  rV  ro   Tr°   r  )rø   ró   r<   r•  r“  r”  rà  r–  r  r  r   )rù   r  Ústyle_to_latexr×   r�  r“  r”  rr   s           rs   Ú_print_AdjointÚLatexPrinter._print_Adjointä  s§   € à#Ø Ø&ñ
ˆð
 '×*Ñ*¨4¯>©>¸/Ñ+JÈJÓWˆØ�h‰hˆß<Ü˜3×-Ñ-Ü˜3×,Ñ,°×1B×1BÐ1BØ.2¯k©k¸#Ö.>ÃÐNÐNà×!Ñ! #Ô'=¸dÓ'CÀTÓJˆAØ�aŒxÛ23³]ÐCÐCã%&«Ð6Ð6ru   c                ó  ^ ^^• SSK Jm  UUU 4S jn[        TR                  5      nTR	                  5       (       a5  US   S:X  a  USS  nO	US   * US'   SSR                  [        X#5      5      -   $ SR                  [        X#5      5      $ )Nr   )ÚMatMulc                óª   >• [        U [        5      (       a"  [        U T5      (       d  TR                  U 5      $ TR                  U [	        T5      S5      $ ©NF)rà  r
   r  r  r   )r7  r¤  r  rù   s    €€€rs   rt   Ú,LatexPrinter._print_MatMul.<locals>.<lambda>û  sK   ø€ ¬Z¸¼3×-?Ñ-?Ì
ÐSTÐV\×H]ÑH]˜4Ÿ;™; q›>ð FØ×Ñ˜aÔ!7¸Ó!=¸uÓEðFru   r  r€  r÷  rÝ   )Úsympyr¤  ræ  rN  r@  r`  rg  )rù   r  ÚparensrN  r¤  s   ``  @rs   Ú_print_MatMulÚLatexPrinter._print_MatMul÷  s~   ú€ Ý öFˆô �D—I‘I‹ˆØ×(Ñ(×*Ñ*Ø�A‰w˜"‹}Ø˜A˜B�x‘à ™7˜(��Q‘Ø˜#Ÿ(™(¤3 vÓ#4Ó5Ñ5Ð5à—8‘8œC Ó-Ó.Ð.ru   c                ó~   • [        U5      nUR                  u  p4U R                  X25       SU R                  XB5       3$ )NrÞ   )r   rN  r  )rù   r  r  ÚleftÚrights        rs   Ú_print_DotProductÚLatexPrinter._print_DotProduct  s@   € Ü& tÓ,ˆØ—i‘i‰ˆØ×$Ñ$ TÓ1Ð2°'¸$×:KÑ:KÈEÓ:YÐ9ZÐ[Ð[ru   c                óô   • UR                   nUR                  (       aH  SSKJn  [	        X#5      (       a  SU R                  UR                  5      -  $ SU R                  U5      -  $ SU R                  U5      -  $ )Nr   )r”  r  )r<   r–  Ú&sympy.matrices.expressions.blockmatrixr”  rà  rm  rŽ  r  )rù   r  r�  r”  s       rs   Ú_print_DeterminantÚLatexPrinter._print_Determinant  sf   € Ø�h‰hˆØ××ÝJÜ˜#×+Ñ+Ø+¨d×.IÑ.IÈ#Ï*É*Ó.UÑUÐUØ'¨$¯+©+°cÓ*:Ñ:Ð:Ø# d×&AÑ&AÀ#Ó&FÑFÐFru   c           	     óP  • UbU  SU R                  UR                  S   [        S   SS9< SU R                  UR                  S   [        S   SS9< SU< S	3$ U R                  UR                  S   [        S   SS9< SU R                  UR                  S   [        S   SS9< 3$ )
NrU  r   r
   Trw  z \bmod r€  rV  ro   rq  rW  s      rs   Ú
_print_ModÚLatexPrinter._print_Mod  sÄ   € ØŠ?à×"Ñ" 4§9¡9¨Q¡<´¸EÑ1BØ*.ð #ó 0à×"Ñ" 4§9¡9¨Q¡<´¸EÑ1BØ*.ð #ó 0ãðð ð "&×!2Ñ!2°4·9±9¸Q±<Ü3=¸eÑ3DØ:>ð "3ó "@ð "&×!2Ñ!2°4·9±9¸Q±<Ü3=¸eÑ3DØ:>ð "3ò "@ðAð 	Aru   c                ó€   ^^• UR                   n[        S   mU R                  mSR                  UU4S jU 5       5      $ )Nr   z \circ c              3  ó4   >#   • U  H  nT" UTS S9v •  M     g7f©Trw  Nrp   ©r6  r<   r©  Úprecs     €€rs   r8  Ú6LatexPrinter._print_HadamardProduct.<locals>.<genexpr>,  ó   øé € Ð<²t°‰V�C˜ dÖ+²tùó   ƒ©rN  r!   r  r`  ©rù   r  rN  r©  r¼  s      @@rs   Ú_print_HadamardProductÚ#LatexPrinter._print_HadamardProduct&  s:   ù€ Ø�y‰yˆÜ˜%Ñ ˆØ×"Ñ"ˆà�‰Ý<±tÓ<ó>ð 	>ru   c                ón   • [        UR                  5      [        S   :  a  SnOSnU R                  X5      $ )Nr
   z%s^{\circ \left({%s}\right)}z%s^{\circ {%s}})r   rX  r!   r!  )rù   r  r+  s      rs   Ú_print_HadamardPowerÚ!LatexPrinter._print_HadamardPower.  s3   € Ü! $§(¡(Ó+¬j¸Ñ.?Ó?Ø6‰Hà)ˆHØ×0Ñ0°Ó@Ð@ru   c                ó€   ^^• UR                   n[        S   mU R                  mSR                  UU4S jU 5       5      $ )Nr   ú	 \otimes c              3  ó4   >#   • U  H  nT" UTS S9v •  M     g7frº  rp   r»  s     €€rs   r8  Ú7LatexPrinter._print_KroneckerProduct.<locals>.<genexpr>;  r¾  r¿  rÀ  rÁ  s      @@rs   Ú_print_KroneckerProductÚ$LatexPrinter._print_KroneckerProduct5  s<   ù€ Ø�y‰yˆÜ˜%Ñ ˆØ×"Ñ"ˆà× Ñ Ý<±tÓ<ó>ð 	>ru   c                ód  • UR                   UR                  p2SSKJn  [	        X$5      (       d:  UR
                  (       a)  SU R                  U5      < SU R                  U5      < S3$ U R                  U5      nSU;   a  SU< SU R                  U5      < S3$ U< SU R                  U5      < S3$ )Nr   )r“  rU  rV  ro   r°   r  )rR  rX  r•  r“  rà  r–  r  )rù   r  rR  rX  r“  Úbase_strs         rs   Ú_print_MatPowÚLatexPrinter._print_MatPow=  s�   € Ø—I‘I˜tŸx™xˆcÝ/Ü˜$×-Ñ-°$×2D×2DÐ2DØ/3¯{©{¸4Ö/@Ø.2¯k©k¸#Ö.>ð@ð @ð —{‘{ 4Ó(ˆHØ�hŒÛ2:¸D¿K¹KÈÖ<LÐMÐMã$,¨d¯k©k¸#Ö.>Ð?Ð?ru   c                ó:   • U R                  XR                  S   S9$ )NrÊ   rC  )rE  ró   r"  s     rs   Ú_print_MatrixSymbolÚ LatexPrinter._print_MatrixSymbolJ  s&   € Ø×!Ñ! $¯n©nØñ/ Ð!ð !ð 	!ru   c                ó0   • U R                   S   S:X  a  S$ S$ )NrÊ   rÅ   Ú0z
\mathbf{0}©ró   )rù   ÚZs     rs   Ú_print_ZeroMatrixÚLatexPrinter._print_ZeroMatrixN  ó(   € Ø—n‘nØñ Ø#*ó+ˆsð 	>Ø0=ð	>ru   c                ó0   • U R                   S   S:X  a  S$ S$ )NrÊ   rÅ   Ú1z
\mathbf{1}rÖ  )rù   ÚOs     rs   Ú_print_OneMatrixÚLatexPrinter._print_OneMatrixR  rÚ  ru   c                ó0   • U R                   S   S:X  a  S$ S$ )NrÊ   rÅ   z
\mathbb{I}z
\mathbf{I}rÖ  )rù   rR  s     rs   Ú_print_IdentityÚLatexPrinter._print_IdentityV  s(   € Ø $§¡Øñ! Ø#*ó!+ˆ}ð 	>Ø0=ð	>ru   c                óH   • U R                  UR                  S   5      nSU-  $ )Nr   zP_{%s}r/  )rù   ÚPÚperm_strs      rs   Ú_print_PermutationMatrixÚ%LatexPrinter._print_PermutationMatrixZ  s#   € Ø—;‘;˜qŸv™v a™yÓ)ˆØ˜(Ñ"Ð"ru   c           
     ót  • UR                  5       S:X  a  U R                  US   5      $ U R                  S   nUcB  U R                  S   S:X  a  SnO,UR                  5       S:X  d  UR                  S   S::  a  S	nOS
nSnUR	                  SU5      nUS
:X  a(  UR	                  SSSUR                  S   -  -   S-   5      nU R                  S   (       a,  U R                  S   nU R
                  U   nSU-   U-   S-   U-   nUR                  5       S:X  a  US-  $ [        UR                  5       S-   5       Vs/ s H  n/ PM     nnUR                   Vs/ s H  n[        [        U5      5      PM     nn[        R                  " U6  GH  n	US   R                  U R                  X   5      5        Sn
[        UR                  5       S-
  SS5       H´  n[        X{S-      5      UR                  U   :  a    Mp  U
(       a(  X{   R                  SR                  X{S-      5      5        OPX{   R                  USR                  X{S-      5      -  5        [        X{S-      5      S:X  a  SX{   S   -   S-   X{   S'   U
(       + n
/ X{S-   '   M¶     GM     US   S   nUR                  5       S-  S:X  a  X<-  nU$ s  snf s  snf )Nr   rp   rÃ   rÄ   rÛ   ra  r  rb  rc  rd  re  rf  rÊ  r“   r²   rg  rÁ   rp  rq  rä   r€  Tr“  r=  r‡  rˆ  rú  )Úrankr  ró   Úshaper±   r÷   r—  ræ  Ú	itertoolsÚproductrZ  r˜  r`  )rù   r  rÃ   Ú	block_strrr  rs  rÌ   Ú	level_strÚshape_rangesÚouter_iÚevenÚback_outer_irl  s                rs   Ú_print_NDimArrayÚLatexPrinter._print_NDimArray^  s¯  € à�9‰9‹;˜!ÓØ—;‘;˜t B™xÓ(Ð(à—.‘. Ñ+ˆØ‰?Ø�~‰~˜fÑ%¨Ó1Ø'‘à—I‘I“K 1Ó$¨$¯*©*°R©.¸BÓ*>Ø&‘Gà%�GØ7ˆ	Ø×%Ñ% j°'Ó:ˆ	Ø�gÓØ!×)Ñ)¨$°°c¸$¿*¹*ÀQ¹-Ñ6GÑ0GÈ%Ñ0OÓPˆIà�>‰>˜+×&Ø"Ÿn™n¨[Ñ9ˆJØ×*Ñ*¨:Ñ6ˆKØ  :Ñ-°	Ñ9Ø!ñ"Ø$/ñ0ˆIð �9‰9‹;˜!ÓØ˜r‘>Ð!ä27¸¿	¹	»Àa¹Ô2HÓ%IÒ2H¨Q£bÑ2Hˆ	Ð%IØ04·
²
Ó;²
¨1œœU 1›Xž±
ˆÐ;Ü ×(Ò(¨,Ô7ˆGØ�b‰M× Ñ  §¡¨T©]Ó!;Ô<ØˆDÜ % d§i¡i£k°!¡m°R¸Ö <�Ü�y¨a¡Ñ0Ó1°D·J±J¸|Ñ4LÓLÚÞØÑ+×2Ñ2ØŸ™ I¸1©nÑ$=Ó>õ@ð Ñ+×2Ñ2Ø! U§Z¡Z°	Àq¹.Ñ0IÓ%JÑKôMä˜9°!¡^Ñ4Ó5¸Ó:Ø6?Ø%Ñ3°BÑ7ñ78Ø:Dñ7E˜	Ñ/°Ñ3à”x�Ø,.�	 q™.Ó)ô !=ñ 8ð$ ˜A‘,˜q‘/ˆà�9‰9‹;˜‰?˜aÓØÑ)ˆGàˆùò3 &JùÚ;s   Ä6J0ÅJ5c                ót  • U R                  U5      nS nS nU H”  nUR                  nXs;   d  U(       a
  XX:X  a  US-  nXX:w  a$  Ub  US-  nUR                  (       a  US-  nOUS-  nX@R                  UR                  S   5      -  nXs;   a  US-  nX@R                  X7   5      -  nSnOSnUnM–     Ub  US-  nU$ )	Nr�  ro   z{}^{z{}_{r   rŒ  TF)r  Úis_uprN  )	rù   ra  rh  Ú	index_maprl  Úlast_valenceÚprev_mapÚindexÚnew_valences	            rs   Ú_printer_tensor_indicesÚ$LatexPrinter._printer_tensor_indices•  sÕ   € Ø—+‘+˜dÓ#ˆØˆØˆÛˆEØŸ+™+ˆKØÓ#®Ø Ó/Ø˜3‘�ØÓ*ØÑ+Ø˜s‘N�GØ—;—;Ø˜vÑ%‘Gà˜vÑ%�GØ—{‘{ 5§:¡:¨a¡=Ó1Ñ1ˆGØÓ!Ø˜3‘�ØŸ;™; yÑ'7Ó8Ñ8�Ø‘à �Ø&ŠLñ' ð( Ñ#Ø�s‰NˆGØˆru   c                ó~   • UR                   S   R                   S   nUR                  5       nU R                  X#0 5      $ r.  )rN  Úget_indicesrü  )rù   r  ra  rh  s       rs   Ú_print_TensorÚLatexPrinter._print_Tensor±  s;   € Ø�y‰y˜‰|× Ñ  Ñ#ˆØ×"Ñ"Ó$ˆØ×+Ñ+¨D¸2Ó>Ð>ru   c                ó¾   • UR                   R                  S   R                  S   nUR                   R                  5       nUR                  nU R	                  X#U5      $ r.  )r  rN  rÿ  r÷  rü  )rù   r  ra  rh  r÷  s        rs   Ú_print_TensorElementÚ!LatexPrinter._print_TensorElement¶  sM   € Ø�y‰y�~‰~˜aÑ ×%Ñ% aÑ(ˆØ—)‘)×'Ñ'Ó)ˆØ—N‘Nˆ	Ø×+Ñ+¨D¸9ÓEÐEru   c                óª   • UR                  5       u  p#USR                  U Vs/ s H  o@R                  U[        U5      5      PM     sn5      -   $ s  snf r‚  )Ú!_get_args_for_traditional_printerr`  r  r    )rù   r  r7  rN  r<   s        rs   Ú_print_TensMulÚLatexPrinter._print_TensMul¼  sO   € à×;Ñ;Ó=‰
ˆØ�b—g‘gÙAEÓFÂ¸#×Ñ˜s¤J¨tÓ$4Ö5ÁÑFó
ñ 
ð 	
ùÚFs   £$A
c           	     óî   • / nUR                   nU H-  nUR                  U R                  U[        U5      5      5        M/     UR	                  5         SR                  U5      nUR                  SS5      nU$ )Nrr  z+ -r÷  )rN  rZ  r  r    rY  r`  r±   )rù   r  r	  rN  r7  rr   s         rs   Ú_print_TensAddÚLatexPrinter._print_TensAddÃ  sc   € ØˆØ�y‰yˆÛˆAØ�H‰H�T×&Ñ& q¬*°TÓ*:Ó;Ö<ñ à	�‰ŒØ�J‰J�q‹MˆØ�I‰I�e˜TÓ"ˆØˆru   c                óv   • SUR                   (       a  SOS< SU R                  UR                  S   5      < S3$ )Nz{}r°   r¯  r“   r   ro   )rö  r  rN  r"  s     rs   Ú_print_TensorIndexÚLatexPrinter._print_TensorIndexÍ  s.   � à—:—:‰C 3Ò&Ø�K‰K˜Ÿ	™	 !™Ö%ð
ð 	
ru   c                óÐ  • [        UR                  5      S:X  aI  SU R                  UR                  S   5      < SU R                  UR                  [
        S   S5      < S3$ S[        UR                  5      < SS	R                  UR                   Vs/ s H  nS
U R                  U5      -  PM     sn5      < SU R                  UR                  [
        S   S5      < S3$ s  snf )Nr€  z\frac{\partial}{\partial {r   rv  r
   Fro   z\frac{\partial^{rÝ   z\partial {%s}rü  )r˜  r?  r  r  r  r!   r`  ©rù   r  rÌ   s      rs   Ú_print_PartialDerivativeÚ%LatexPrinter._print_PartialDerivativeÓ  sµ   € Üˆt�~‰~Ó !Ô#à—‘˜DŸN™N¨1Ñ-Ö.Ø×!Ñ! $§)¡)¬Z¸Ñ->ÀÖFðð ð $ô �D—N‘NÖ#Ø—‘ÀTÇ^Â^ÓTÂ^ÀÐ*¨T¯[©[¸«^Ô;Á^ÑTÖUØ×!Ñ! $§)¡)¬Z¸Ñ->ÀÖFðð ùâTs   ÂC#c                ó8   • U R                  UR                  5      $ r  )r  ra  r"  s     rs   Ú_print_ArraySymbolÚLatexPrinter._print_ArraySymbolà  s   € Ø�{‰{˜4Ÿ9™9Ó%Ð%ru   c                óØ   • SU R                  UR                  [        S   S5      < SSR                  UR                   Vs/ s H  o R                  U5       PM     sn5      < S3$ s  snf )Nz{{rp  Trx  r\  r  )r  ra  r!   r`  rh  r  r  s      rs   Ú_print_ArrayElementÚ LatexPrinter._print_ArrayElementã  sW   � à×Ñ˜dŸi™i¬°FÑ);¸TÖBØ�I‰I°D·L²LÓA²L¨qŸ+™+ a›.Ð)Ò*±LÑAÖBðDð 	DùâAs   ÁA'c                ó   • g)Nz
\mathbb{U}rp   r"  s     rs   Ú_print_UniversalSetÚ LatexPrinter._print_UniversalSetè  ó   € Øru   c                ó˜   • Uc!  SU R                  UR                  S   5      -  $ SU R                  UR                  S   5      < SU< S3$ )Nz$\operatorname{frac}{\left(%s\right)}r   z\operatorname{frac}{\left(z
\right)}^{ro   r/  rW  s      rs   Ú_print_fracÚLatexPrinter._print_fracë  sK   € Ø‰;Ø:¸T¿[¹[ÈÏÉÐSTÉÓ=VÑVÐVð ð —K‘K §	¡	¨!¡Ö-«sð4ð 4ru   c           
     óh  • U R                   S   S:X  a  SnO!U R                   S   S:X  a  SnO[        S5      e[        U5      S:X  a&  U R                  U R	                  US   5      U-   5      $ U R                  US	-   R                  U Vs/ s H  o0R	                  U5      PM     sn5      5      $ s  snf )
NrÑ   r«  Ú;rÍ   r�  úUnknown Decimal Separatorr€  r   z \  )ró   rô   r˜  r  r  r`  )rù   r  ÚseprÌ   s       rs   Ú_print_tupleÚLatexPrinter._print_tupleò  s©   € Ø�>‰>Ð-Ñ.°'Ó9Ø‰CØ�^‰^Ð/Ñ0°HÓ<Ø‰CäÐ8Ó9Ð9äˆt‹9˜‹>à×*Ñ*¨4¯;©;°t¸A±wÓ+?À#Ñ+EÓFÐFà×*Ñ*Ø�w‘×$Ñ$¹dÓ%Cºd¸§k¡k°!¦n¹dÑ%CÓDóFð FùÚ%Cs   Â
B/c                ó‚   • UR                    Vs/ s H  o R                  U5      PM     nnSR                  U5      $ s  snf )NrÈ  ©rN  r  r`  ©rù   r  r	  Úelementss       rs   Ú_print_TensorProductÚ!LatexPrinter._print_TensorProduct  s6   € Ø,0¯IªIÓ6ªI q—K‘K –N©IˆÐ6Ø× Ñ  Ó*Ð*ùò 7ó   �<c                ó‚   • UR                    Vs/ s H  o R                  U5      PM     nnSR                  U5      $ s  snf )Nú \wedge r'  r(  s       rs   Ú_print_WedgeProductÚ LatexPrinter._print_WedgeProduct  s6   € Ø,0¯IªIÓ6ªI q—K‘K –N©IˆÐ6Ø×Ñ Ó)Ð)ùò 7r,  c                ó$   • U R                  U5      $ r  )r$  r"  s     rs   Ú_print_TupleÚLatexPrinter._print_Tuple	  s   € Ø× Ñ  Ó&Ð&ru   c           	     óD  • U R                   S   S:X  a3  SSR                  U Vs/ s H  o R                  U5      PM     sn5      -  $ U R                   S   S:X  a3  SSR                  U Vs/ s H  o R                  U5      PM     sn5      -  $ [        S5      es  snf s  snf )NrÑ   r«  z\left[ %s\right]z; \  rÍ   ú, \  r"  )ró   r`  r  rô   r  s      rs   Ú_print_listÚLatexPrinter._print_list  sš   € Ø�>‰>Ð-Ñ.°'Ó9Ø&Ø—‘±tÓ<²t°!Ÿ{™{¨1ž~±tÑ<Ó=ñ>ð >à�^‰^Ð/Ñ0°HÓ<Ø&Ø—‘±tÓ<²t°!Ÿ{™{¨1ž~±tÑ<Ó=ñ>ð >ô Ð8Ó9Ð9ùò =ùò =s   ¤B
Á*B
c                óì   • [        UR                  5       [        S9n/ nU H=  nX   nUR                  U R	                  U5      < SU R	                  U5      < 35        M?     SSR                  U5      -  $ )NrO  z : z\left\{ %s\right\}r5  )rô  Úkeysr   rZ  r  r`  )rù   rÎ   r9  rW  rP  Úvals         rs   Ú_print_dictÚLatexPrinter._print_dict  sd   € Ü�a—f‘f“hÔ$4Ñ5ˆØˆãˆCØ‘&ˆCØ�L‰L d§k¡k°#Ö&6¸¿¹ÀCÕ8HÐIÖJñ ð % x§}¡}°UÓ';Ñ;Ð;ru   c                ó$   • U R                  U5      $ r  )r;  r"  s     rs   Ú_print_DictÚLatexPrinter._print_Dict!  s   € Ø×Ñ Ó%Ð%ru   c                óL  • [        UR                  5      S:X  d  UR                  S   S:X  a"  SU R                  UR                  S   5      -  nOCSU R                  UR                  S   5      < SU R                  UR                  S   5      < S3nU(       a  SU< SU< S	3nU$ )
Nr€  r   z\delta\left(%s\right)z\delta^{\left( z \right)}\left( rí  rU  rV  ro   rA  rù  s       rs   Ú_print_DiracDeltaÚLatexPrinter._print_DiracDelta$  s„   € Üˆt�y‰y‹>˜QÓ $§)¡)¨A¡,°!Ó"3Ø*¨T¯[©[¸¿¹À1¹Ó-FÑF‰Cð #4ð —‘˜DŸI™I a™LÖ)¨4¯;©;°t·y±yÀ±|Ö+DðFˆCçÛ-0³#Ð6ˆCØˆ
ru   c                óØ   • U R                  UR                  S   UR                  S   -
  5      nU R                  UR                  S   5      nSU< SU< S3nUb  SU< SU< S	U< S3nU$ )
Nr   r€  rú  z{\left\langle z \right\rangle}^{ro   z{\left({\langle z \rangle}^{z}\right)}^{r/  )rù   r  rX  ÚshiftrÉ  r  s         rs   Ú_print_SingularityFunctionÚ'LatexPrinter._print_SingularityFunction.  s\   € Ø—‘˜DŸI™I a™L¨4¯9©9°Q©<Ñ7Ó8ˆØ—‘˜DŸI™I a™LÓ)‰Û9>ÃÐFˆØŠ?ÛFKËUÓTWÐXˆCØˆ
ru   c                ó€   ^ • SR                  U 4S jUR                   5       5      nSU-  nU(       a  SU< SU< S3nU$ )Nr\  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  ©r6  r<   rù   s     €rs   r8  Ú0LatexPrinter._print_Heaviside.<locals>.<genexpr>7  s   øé € ÐA²j¨s˜$Ÿ+™+ c×*Ð*²jùr;  z\theta\left(%s\right)rU  rV  ro   )r`  Úpargs)rù   r  rX  rK  r  s   `    rs   Ú_print_HeavisideÚLatexPrinter._print_Heaviside6  s7   ø€ Ø—	‘	ÔA°d·j²jÓAÓAˆØ&¨Ñ.ˆßÛ-0³#Ð6ˆCØˆ
ru   c                ó@  • U R                  UR                  S   5      nU R                  UR                  S   5      nUR                  S   R                  (       a*  UR                  S   R                  (       a  SU< SU< S3nOSU< SU< S3nUb  SU< SU< S3nU$ )	Nr   r€  z\delta_{rÝ   ro   r\  rU  rV  )r  rN  r  )rù   r  rX  rÌ   ré   r  s         rs   Ú_print_KroneckerDeltaÚ"LatexPrinter._print_KroneckerDelta=  s{   € Ø�K‰K˜Ÿ	™	 !™Ó%ˆØ�K‰K˜Ÿ	™	 !™Ó%ˆØ�9‰9�Q‰<×× D§I¡I¨a¡L×$8×$8Ð$8Û'(«!Ð,‰Cøã()«1Ð-ˆCØŠ?Û-0³#Ð6ˆCØˆ
ru   c                óþ   • [        U R                  UR                  5      n[        S UR                   5       5      (       a  SSR	                  U5      -  nOSSR	                  U5      -  nU(       a  SU< SU< S3nU$ )Nc              3  ó8   #   • U  H  oR                   v •  M     g 7fr  )r  )r6  r7  s     rs   r8  Ú1LatexPrinter._print_LeviCivita.<locals>.<genexpr>J  s   é € Ð,¢)˜Q�yŽy¢)ùs   ‚z\varepsilon_{%s}rÝ   r\  rU  rV  ro   )rg  r  rN  r   r`  )rù   r  rX  rh  r  s        rs   Ú_print_LeviCivitaÚLatexPrinter._print_LeviCivitaH  sc   € Ü�d—k‘k 4§9¡9Ó-ˆÜÑ, $§)¢)Ó,×,Ñ,Ø%¨¯©°Ó(9Ñ9‰Cà%¨¯	©	°'Ó(:Ñ:ˆCßÛ-0³#Ð6ˆCØˆ
ru   c                ó„  • [        US5      (       a"  SU R                  UR                  5       5      -   $ [        US5      (       a=  SU R                  UR                  5      -   S-   U R                  UR                  5      -   $ [        US5      (       a  SU R                  UR                  5      -   $ U R                  S 5      $ )NÚ
as_booleanz\text{Domain: }Úsetú \in r¢  z\text{Domain on })rß  r  rW  r¢  rX  )rù   rÎ   s     rs   Ú_print_RandomDomainÚ LatexPrinter._print_RandomDomainR  sž   € Ü�1�l×#Ñ#Ø%¨¯©°A·L±L³NÓ(CÑCÐCÜ�Q˜×ÑØ&¨¯©°Q·Y±YÓ)?Ñ?À(ÑJØ—K‘K §¡Ó&ñ'ð (ä�Q˜	×"Ñ"Ø'¨$¯+©+°a·i±iÓ*@Ñ@Ð@à—;‘;˜tÓ$Ð$ru   c                óT   • [        UR                  [        S9nU R                  U5      $ )NrO  )rô  rN  r   Ú
_print_set©rù   rr   rW  s      rs   Ú_print_FiniteSetÚLatexPrinter._print_FiniteSet]  s"   € Ü�q—v‘vÔ#3Ñ4ˆØ�‰˜uÓ%Ð%ru   c                ó(  • [        U[        S9nU R                  S   S:X  a*  SR                  [	        U R
                  U5      5      nSU-  $ U R                  S   S:X  a*  SR                  [	        U R
                  U5      5      nSU-  $ [        S5      e)	NrO  rÑ   r«  rE  rÍ   r\  r"  ú\left\{%s\right\})rô  r   ró   r`  rg  r  rô   r^  s      rs   r]  ÚLatexPrinter._print_seta  s�   € Ü�qÔ.Ñ/ˆØ�>‰>Ð-Ñ.°'Ó9Ø—I‘Iœc $§+¡+¨uÓ5Ó6ˆEð
 $ eÑ+Ð+ð	 �^‰^Ð/Ñ0°HÓ<Ø—I‘Iœc $§+¡+¨uÓ5Ó6ˆEð $ eÑ+Ð+ô Ð8Ó9Ð9ru   c                óø  ^ ^^• UU 4S jn[        5       mTR                  R                  (       aF  TR                  R                  (       a+  TR                  R
                  (       a  TSSST4nOìTSSST4nOäTR                  R                  (       a  TTS   TR                  -
  TS   4nO°TR                  R                  (       a#  [        T5      n[        U5      [        U5      T4nOrTR                  b^  TR                  S:  S:X  a  [        T5      nOFTR                  (       a'  [        T5      n[        U5      [        U5      TTS   4nOU" 5       $ U" 5       $ SSR                  UU 4S	 jU 5       5      -   S
-   $ )Nc                 ó¨  >• TR                   S   S:X  aX  TR                   S   S:X  a  TR                  TR                   S   5      n O‡SR                  U4S jTR                    5       5      n OaTR                   S   S:X  a)  SR                  U4S jTR                   S S  5       5      n O%SR                  U4S jTR                    5       5      n SU  S	3$ )
Nr   rú  r€  r\  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  rI  s     €rs   r8  ÚKLatexPrinter._print_Range.<locals>._print_symbolic_range.<locals>.<genexpr>u  ó   øé € Ð$HÂ¸# T§[¡[°×%5Ð%5Âùr;  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  rI  s     €rs   r8  rg  x  s   øé € Ð$LÂ¸# T§[¡[°×%5Ð%5Âùr;  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  rI  s     €rs   r8  rg  z  rh  r;  z\text{Range}\left(rƒ  r'  )Úcontrr   rù   s    €€rs   Ú_print_symbolic_rangeÚ8LatexPrinter._print_Range.<locals>._print_symbolic_rangeo  s£   ø€ à�v‰v�a‰y˜A‹~Ø—6‘6˜!‘9 “>ØŸ;™; q§v¡v¨a¡yÓ1‘DàŸ9™9Ô$HÀÇÂÓ$HÓH‘Dà—6‘6˜!‘9 “>ØŸ9™9Ô$LÀÇÁÈÈÁÓ$LÓL‘DàŸ9™9Ô$HÀÇÂÓ$HÓH�Dà+¨D¨6°Ð:Ð;ru   r  r   r€  r—  Tú\left\{r\  c              3  óR   >#   • U  H  oTLa  TR                  U5      OS v •  M     g7f©z\ldotsNr†  ©r6  ÚelÚdotsrù   s     €€rs   r8  Ú,LatexPrinter._print_Range.<locals>.<genexpr>•  ó%   øé € Ð_ÒV^ÐPR¸ªn˜4Ÿ;™; rœ?À)ÔKÒV^ùó   ƒ$'ú\right\})ÚobjectÚstartÚis_infiniteÚstopÚstepÚis_positiveÚiterÚnextÚis_emptyr…  r6  Úis_iterabler`  )rù   rr   rl  ÚprintsetÚitrs  s   ``   @rs   Ú_print_RangeÚLatexPrinter._print_Rangen  s2  ú€ ö	<ô ‹xˆà�7‰7×× 1§6¡6×#5×#5Ø�v‰v×!×!Ø  Q¨¨4Ð/‘à  A r¨4Ð/‘Ø�W‰W× × Ø˜Q˜r™U Q§V¡V™^¨Q¨r©UÐ2‰HØ�V‰V××Ü�a“ˆBÜ˜B“x¤ b£¨4Ð/‰HØ�Z‰ZÑ#Ø—‘˜‘
˜tÓ#Ü  ›8‘Ø——Ü˜!“W�Ü ›8¤T¨"£X¨t°Q°r±UÐ:‘á,Ó.Ð.á(Ó*Ð*ØØ—
‘
Õ_ÑV^Ó_Ó_ñ`àñð 	ru   c           
     óÄ  • [        UR                  5      S:X  a“  UbJ  U< SU R                  UR                  S   5      < SU< SU R                  UR                  S   5      < S3$ U< SU R                  UR                  S   5      < SU R                  UR                  S   5      < S3$ U< SU R                  UR                  S   5      < S3nUb
  U< S	U< S3nU$ )
Nrú  rœ  r   r�  r‰  r€  rƒ  ro   r  rA  )rù   r  ÚletterrX  r  s        rs   Ú__print_number_polynomialÚ&LatexPrinter.__print_number_polynomial˜  s·   € Üˆt�y‰y‹>˜QÓØ‰Û9?Ø ŸK™K¨¯	©	°!©Ö5³sØ ŸK™K¨¯	©	°!©Ö5ð7ð 7ó 17ØŸ™ D§I¡I¨a¡LÖ1°4·;±;¸t¿y¹yÈ¹|Ö3LðNð Nó # D§K¡K°·	±	¸!±Ö$=Ð>ˆØ‰?Û #£SÐ)ˆCØˆ
ru   c                ó(   • U R                  USU5      $ ©NÚB©Ú&_LatexPrinter__print_number_polynomialrW  s      rs   Ú_print_bernoulliÚLatexPrinter._print_bernoulli¦  ó   € Ø×-Ñ-¨d°C¸Ó=Ð=ru   c                ó(   • U R                  USU5      $ )NÚGr�  rW  s      rs   Ú_print_genocchiÚLatexPrinter._print_genocchi©  r‘  ru   c                óh  ^ • [        UR                  5      S:X  a†  ST R                  UR                  S   5      < ST R                  UR                  S   5      < S3nSSR                  U 4S jUR                  S	    5       5      -  nUb  U< S
U< SU< 3nU$ X4-   nU$ T R	                  USU5      $ )NrR  zB_{r   r\  r€  ro   rs  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  )r6  rr  rù   s     €rs   r8  Ú+LatexPrinter._print_bell.<locals>.<genexpr>°  s#   øé € ð 3CÚ5A¨rð 48·;±;¸r·?°?Ú5Aùr;  rú  r  rŒ  )r˜  rN  r  r`  rŽ  )rù   r  rX  Útex1Útex2r  s   `     rs   Ú_print_bellÚLatexPrinter._print_bell¬  s«   ø€ Üˆt�y‰y‹>˜QÔØ$(§K¡K°·	±	¸!±Ö$=Ø $§¡¨D¯I©I°a©LÖ 9ð;ˆDà%¨¯
©
ô 3CØ59·Y±Y¸q²\ó3Có )Cñ CˆDà‰Û&*«C²Ð6�ð ˆJð ‘k�ØˆJØ×-Ñ-¨d°C¸Ó=Ð=ru   c                ó(   • U R                  USU5      $ ©NÚFr�  rW  s      rs   Ú_print_fibonacciÚLatexPrinter._print_fibonacci¹  r‘  ru   c                ób   • SU R                  UR                  S   5      -  nUb
  U< SU< S3nU$ )NzL_{%s}r   r  ro   r/  rù  s       rs   Ú_print_lucasÚLatexPrinter._print_lucas¼  ó1   € Ø˜$Ÿ+™+ d§i¡i°¡lÓ3Ñ3ˆØ‰?Û #£SÐ)ˆCØˆ
ru   c                ó(   • U R                  USU5      $ )NÚTr�  rW  s      rs   Ú_print_tribonacciÚLatexPrinter._print_tribonacciÂ  r‘  ru   c                ó˜   • Uc!  SU R                  UR                  S   5      -  $ SU< SU R                  UR                  S   5      < S3$ )Nz\mu\left(%s\right)r   z\mu^{r‰  rƒ  r/  rW  s      rs   Ú_print_mobiusÚLatexPrinter._print_mobiusÅ  sD   € Ø‰;Ø(¨4¯;©;°t·y±yÀ±|Ó+DÑDÐDð ã-0°$·+±+¸d¿i¹iÈ¹lÖ2KÐLÐLru   c           
     óh  ^ ^• [        5       m[        UR                  R                  5      S:”  d#  [        UR                  R                  5      S:”  az  ST R                  UR                  5      < ST R                  UR                  S   5      < ST R                  UR                  5      < ST R                  UR                  5      < S3	$ UR                  [        R                  L aY  UR                  nTUR                  US-
  5      UR                  US-
  5      UR                  US	-
  5      UR                  U5      4nOOUR                  [        R                  L d  UR                  S
:”  a  US S
 nUR                  T5        O[        U5      nSSR                  UU 4S jU 5       5      -   S-   $ )Nr   rn  z
\right\}_{rŒ  r�  ro   rR  rú  r€  r—  r‡  r\  c              3  óR   >#   • U  H  oTLa  TR                  U5      OS v •  M     g7frp  r†  rq  s     €€rs   r8  Ú1LatexPrinter._print_SeqFormula.<locals>.<genexpr>Þ  ru  rv  rˆ  )rx  r˜  ry  Úfree_symbolsr{  r  Úformular?  r   r¨  Úcoeffr§  ÚlengthrZ  r6  r`  )rù   rr   r{  r‚  rs  s   `   @rs   Ú_print_SeqFormulaÚLatexPrinter._print_SeqFormulaÊ  sH  ù€ Ü‹xˆÜˆq�w‰w×#Ñ#Ó$ qÓ(¬C°·±×0CÑ0CÓ,DÀqÓ,Høà—‘˜AŸI™IÖ&Ø—‘˜AŸK™K¨™NÖ+Ø—‘˜AŸG™GÖ$Ø—‘˜AŸF™FÖ#ð	ð ð �7‰7”a×(Ñ(Ò(Ø—6‘6ˆDØ˜aŸg™g d¨Q¡hÓ/°·±¸À¹Ó1BØŸ™  q¡Ó)¨1¯7©7°4«=ð:‰Hà�V‰V”q—z‘zÒ! Q§X¡X°£\Ø˜˜!�uˆHØ�O‰O˜DÕ!ä˜Q“xˆHàØ—
‘
Õ_ÑV^Ó_Ó_ñ`àñð 	ru   c                óP  • UR                   UR                  :X  a  SU R                  UR                   5      -  $ UR                  (       a  SnOSnUR                  (       a  SnOSnSU< U R                  UR                   5      < SU R                  UR                  5      < SU< 3$ )	Nrb  rè   rÂ   ræ   rç   rp  r\  rq  )ry  Úendr  Ú	left_openÚ
right_open)rù   rÌ   r­  r®  s       rs   Ú_print_IntervalÚLatexPrinter._print_Intervalå  s€   € Ø�7‰7�a—e‘eÓØ'¨$¯+©+°a·g±gÓ*>Ñ>Ð>ð �{�{Ø‘à�à�|�|Ø‘à�øò ˜$Ÿ+™+ a§g¡gÖ.°·±¸A¿E¹EÖ0BÂEðKð Kru   c                ó|   • SU R                  UR                  5      < SU R                  UR                  5      < S3$ )Nz\left\langle r\  z\right\rangle)r  rÔ   rÕ   ©rù   rÌ   s     rs   Ú_print_AccumulationBoundsÚ&LatexPrinter._print_AccumulationBounds÷  s+   � à—‘˜QŸU™UÖ# T§[¡[°·±Ö%7ð9ð 	9ru   c                ó˜   • [        U5      nUR                   Vs/ s H  o0R                  X25      PM     nnSR                  U5      $ s  snf )Nz \cup ©r   rN  r  r`  ©rù   Úur¼  rÌ   Úargs_strs        rs   Ú_print_UnionÚLatexPrinter._print_Unionû  óB   € Ü% aÓ(ˆØ89¿ºÓ?º°1×%Ñ% aÖ.¹ˆÐ?Ø�~‰~˜hÓ'Ð'ùò @ó   šAc                ó˜   • [        U5      nUR                   Vs/ s H  o0R                  X25      PM     nnSR                  U5      $ s  snf )Nz \setminus rÁ  rÂ  s        rs   Ú_print_ComplementÚLatexPrinter._print_Complement 	  óD   € Ü% aÓ(ˆØ89¿ºÓ?º°1×%Ñ% aÖ.¹ˆÐ?Ø×"Ñ" 8Ó,Ð,ùò @rÈ  c                ó˜   • [        U5      nUR                   Vs/ s H  o0R                  X25      PM     nnSR                  U5      $ s  snf )Nz \cap rÁ  rÂ  s        rs   Ú_print_IntersectionÚ LatexPrinter._print_Intersection	  rÇ  rÈ  c                ó˜   • [        U5      nUR                   Vs/ s H  o0R                  X25      PM     nnSR                  U5      $ s  snf )Nz \triangle rÁ  rÂ  s        rs   Ú_print_SymmetricDifferenceÚ'LatexPrinter._print_SymmetricDifference
	  rÌ  rÈ  c                ó>  ^ ^• [        U5      m[        UR                  5      S:¼  aR  [        UR                  5      (       d8  T R	                  UR                  S   T5      S[        UR                  5      -  -   $ SR                  UU 4S jUR                   5       5      $ )Nr€  r   z^{%d}rß   c              3  óH   >#   • U  H  nTR                  UT5      v •  M     g 7fr  )r  )r6  rX  r¼  rù   s     €€rs   r8  Ú1LatexPrinter._print_ProductSet.<locals>.<genexpr>	  s$   øé € ð  <Ú4:¨SˆD×Ñ˜c 4×(Ð(²Fùs   ƒ")r   r˜  Úsetsr$   r  r`  )rù   r  r¼  s   ` @rs   Ú_print_ProductSetÚLatexPrinter._print_ProductSet	  s|   ù€ Ü% aÓ(ˆÜˆq�v‰v‹;˜!Ó¤K°·±×$7Ñ$7Ø×$Ñ$ Q§V¡V¨A¡Y°Ó5¸Ä#ÀaÇfÁfÃ+Ñ8MÑMÐMØ×Ñõ  <Ø45·F²Fó <ó <ð 	<ru   c                ó   • g)Nz	\emptysetrp   rh  s     rs   Ú_print_EmptySetÚLatexPrinter._print_EmptySet	  s   € Øru   c                ó   • g)Nz
\mathbb{N}rp   ©rù   r�  s     rs   Ú_print_NaturalsÚLatexPrinter._print_Naturals	  r  ru   c                ó   • g)Nz\mathbb{N}_0rp   rÝ  s     rs   Ú_print_Naturals0ÚLatexPrinter._print_Naturals0	  s   € Øru   c                ó   • g©Nz
\mathbb{Z}rp   r½  s     rs   Ú_print_IntegersÚLatexPrinter._print_Integers	  r  ru   c                ó   • g©Nz
\mathbb{Q}rp   r½  s     rs   Ú_print_RationalsÚLatexPrinter._print_Rationals"	  r  ru   c                ó   • g©Nz
\mathbb{R}rp   r½  s     rs   Ú_print_RealsÚLatexPrinter._print_Reals%	  r  ru   c                ó   • g©Nz
\mathbb{C}rp   r½  s     rs   Ú_print_ComplexesÚLatexPrinter._print_Complexes(	  r  ru   c                óþ   ^ • UR                   R                  nUR                   R                  nU 4S j[        X1R                  5       5       nSR                  S U 5       5      nST R                  U5      < SU< S3$ )Nc              3  ól   >#   • U  H)  u  pTR                  U5      TR                  U5      4v •  M+     g 7fr  r†  )r6  r7  rI  rù   s      €rs   r8  Ú/LatexPrinter._print_ImageSet.<locals>.<genexpr>.	  s*   øé € ÐRÒ<Q±D°A�—‘˜A“ §¡¨A£Õ/Ò<Qùs   ƒ14r\  c              3  ó,   #   • U  H
  nS U-  v •  M     g7f)ú	%s \in %sNrp   )r6  Úxys     rs   r8  rõ  /	  s   é € Ð;²s°˜<¨"Ö,²sùs   ‚rn  ú\; \middle|\; rw  )rX   r  Ú	signaturer�  Ú	base_setsr`  r  )rù   rr   r  ÚsigÚxysÚxinyss   `     rs   Ú_print_ImageSetÚLatexPrinter._print_ImageSet+	  sZ   ø€ Ø�w‰w�|‰|ˆØ�g‰g×ÑˆÜR¼CÀÇ[Á[Ô<QÓRˆØ—
‘
Ñ;±sÓ;Ó;‰Ø7;·{±{À4Ö7HË%ÐPÐPru   c           
     óž  • SR                  [        UR                  5       Vs/ s H  o R                  U5      PM     sn5      nUR                  [
        R                  L a$  SU< SU R                  UR                  5      < S3$ SU< SU< SU R                  UR                  5      < SU R                  UR                  5      < S3	$ s  snf )Nr\  rn  rù  ú	 \right\}rY  r.  )r`  r   r‹  r  Úbase_setr   ÚUniversalSetÚ	condition©rù   rr   r£  Ú
vars_prints       rs   Ú_print_ConditionSetÚ LatexPrinter._print_ConditionSet2	  s—   € Ø—Y‘Y¼EÀ!Ç%Á%¼LÓIºL°S§¡¨CÖ 0¹LÑIÓJˆ
Ø�:‰:œŸ™Ó'ã˜TŸ[™[¨¯©Ö5ð7ð 7ð (ó
 ÛØ�K‰K˜Ÿ
™
Ö#Ø�K‰K˜Ÿ™Ö$ð	&ð 	&ùò  Js   £C
c                ó`   • U R                  UR                  S   5      nSR                  U5      $ )Nr   z\mathcal{{P}}\left({}\right)©r  rN  r  )rù   r  Ú	arg_prints      rs   Ú_print_PowerSetÚLatexPrinter._print_PowerSet>	  s)   € Ø—K‘K §	¡	¨!¡Ó-ˆ	Ø.×5Ñ5°iÓ@Ð@ru   c                ó  • SR                  UR                   Vs/ s H  o R                  U5      PM     sn5      nSU R                  UR                  5      < SU< SU R                  UR                  5      < S3$ s  snf )Nr\  rn  rù  rY  r  )r`  r?  r  r  rÖ  r  s       rs   Ú_print_ComplexRegionÚ!LatexPrinter._print_ComplexRegionB	  s]   € Ø—Y‘Y¸A¿KºKÓHºK°S§¡¨CÖ 0¹KÑHÓI‰
à�K‰K˜Ÿ™ÖÛØ�K‰K˜Ÿ™Öð!ð 	!ùò  Is   šA<c                óH   ^ • S[        U 4S jUR                   5       5      -  $ )Nr÷  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  )r6  r	  rù   s     €rs   r8  Ú/LatexPrinter._print_Contains.<locals>.<genexpr>J	  s   øé € Ð#CºF°q D§K¡K°§N NºFùr;  )r6  rN  rh  s   ` rs   Ú_print_ContainsÚLatexPrinter._print_ContainsI	  s   ø€ ØœeÔ#C¸A¿FºFÓ#CÓCÑCÐCru   c                ó  • UR                   R                  [        R                  L aB  UR                  R                  [        R                  L a  U R                  UR                  5      $ U R                  UR                  5       5      S-   $ )Nz	 + \ldots)	rÛ  r±  r   rr  Úbnr  Úa0ry  Útruncater  s     rs   Ú_print_FourierSeriesÚ!LatexPrinter._print_FourierSeriesL	  sV   € Ø�4‰4�<‰<œ1Ÿ6™6Ò! a§d¡d§l¡l´a·f±fÒ&<Ø—;‘;˜qŸt™tÓ$Ð$Ø�‰˜qŸz™z›|Ó,¨|Ñ;Ð;ru   c                ó8   • U R                  UR                  5      $ r  )ry  Úinfiniter  s     rs   Ú_print_FormalPowerSeriesÚ%LatexPrinter._print_FormalPowerSeriesQ	  s   € Ø�‰˜qŸz™zÓ*Ð*ru   c                ó    • SUR                   -  $ )Nz\mathbb{F}_{%s})Úmodr"  s     rs   Ú_print_FiniteFieldÚLatexPrinter._print_FiniteFieldT	  s   € Ø! D§H¡HÑ,Ð,ru   c                ó   • grä  rp   r"  s     rs   Ú_print_IntegerRingÚLatexPrinter._print_IntegerRingW	  r  ru   c                ó   • grè  rp   r"  s     rs   Ú_print_RationalFieldÚ!LatexPrinter._print_RationalFieldZ	  r  ru   c                ó   • grì  rp   r"  s     rs   Ú_print_RealFieldÚLatexPrinter._print_RealField]	  r  ru   c                ó   • grð  rp   r"  s     rs   Ú_print_ComplexFieldÚ LatexPrinter._print_ComplexField`	  r  ru   c                óª   • U R                  UR                  5      nSR                  [        U R                   UR                  5      5      nU< SU< S3$ )Nr\  r‡  rˆ  ©r  Údomainr`  rg  r¢  ©rù   r  r3  r¢  s       rs   Ú_print_PolynomialRingÚ"LatexPrinter._print_PolynomialRingc	  ó<   € Ø—‘˜TŸ[™[Ó)ˆØ—)‘)œC §¡¨T¯\©\Ó:Ó;ˆÛ'-«wÐ7Ð7ru   c                óª   • U R                  UR                  5      nSR                  [        U R                   UR                  5      5      nU< SU< S3$ )Nr\  rU  rƒ  r2  r4  s       rs   Ú_print_FractionFieldÚ!LatexPrinter._print_FractionFieldh	  r7  ru   c                óÚ   • U R                  UR                  5      nSR                  [        U R                   UR                  5      5      nSnUR
                  (       d  SnU< U< SU< S3$ )Nr\  rä   zS_<^{-1}r‡  rˆ  )r  r3  r`  rg  r¢  Úis_Poly)rù   r  r3  r¢  Úinvs        rs   Ú_print_PolynomialRingBaseÚ&LatexPrinter._print_PolynomialRingBasem	  sO   € Ø—‘˜TŸ[™[Ó)ˆØ—)‘)œC §¡¨T¯\©\Ó:Ó;ˆØˆØ�|�|ØˆCÚ),«f³gÐ>Ð>ru   c           	     óÈ  • UR                   R                  n/ nUR                  5        GHr  u  pESn[        U5       H_  u  pxUS:”  d  M  US:X  a"  X`R	                  UR
                  U   5      -  nM5  X`R	                  [        UR
                  U   U5      5      -  nMa     UR                  (       a.  U(       a  SU R	                  U5      -  n	O{U R	                  U5      n	OiU(       aQ  U[        R                  L a  UR                  SU/5        Mä  U[        R                  L a  UR                  SU/5        GM  U R	                  U5      n	U(       d  U	n
OU	S-   U-   n
U
R                  S5      (       a  UR                  SU
SS  /5        GM_  UR                  SU
/5        GMu     US   S;   a"  UR                  S5      nUS:X  a  SUS   -   US'   SR                  U5      n[        [!        U R                  UR
                  5      5      nS	U R	                  UR#                  5       5      -  nS
R                  U/U-   U/-   5      nU[$        ;   a  SU< SU< S3nU$ SU< SU< S3nU$ )Nrä   r   r€  rs  rª  rQ  rÝ   )rQ  rª  z	domain=%sr\  r®   ú {\left(z	 \right)}r°  z	}{\left( )r^  r_  rv  ru  r  ÚgensÚpowr*  r   r   Úextendr   r)  Úpopr`  ræ  rg  Ú
get_domainr²  )rù   Úpolyré  rv  Úmonomr²  Ús_monomrÌ   rX  Ús_coeffÚs_termÚmodifierr  rB  r3  rN  r  s                    rs   Ú_print_PolyÚLatexPrinter._print_Polyu	  s  € Ø�n‰n×%Ñ%ˆØˆØ ŸJ™JŸL‰LˆEØˆGÜ# EÖ*‘�Ø˜•7Ø˜a“xØ§;¡;¨t¯y©y¸©|Ó#<Ñ<šà§;¡;¬s°4·9±9¸Q±<ÀÓ/EÓ#FÑFšñ +ð �|�|ÞØ0°4·;±;¸uÓ3EÑE‘Gà"Ÿk™k¨%Ó0‘GæØ¤§¡’~ØŸ™ c¨7 ^Ô4Ù à¤§¡Ò-ØŸ™ c¨7 ^Ô4Ú àŸ+™+ eÓ,�æØ ‘à  3™¨Ñ0�à× Ñ  ×%Ñ%Ø—‘˜c 6¨!¨" :Ð.×/à—‘˜c 6˜]×+ñE )ðH �‰8�zÓ!Ø—y‘y “|ˆHà˜3‹Ø  q¡™>��a‘à�x‰x˜‹ˆÜ”C˜Ÿ™ T§Y¡YÓ/Ó0ˆØ˜tŸ{™{¨4¯?©?Ó+<Ó=Ñ=ˆà�y‰y˜$˜ $™¨&¨Ñ1Ó2ˆØÔ*Ô*Û/2³DÐ9ˆCð ˆ
ð +ó >AÃ$ÐGˆCàˆ
ru   c                ó¼   • UR                   R                  nUS:X  a  SnU R                  UR                  5      nUR                  nU[
        ;   a  SX#U4-  $ SX#U4-  $ )NÚComplexRootOfÚCRootOfz\%s {\left(%s, %d\right)}z'\operatorname{%s} {\left(%s, %d\right)})r^  r_  r  r  rú  r²  )rù   r;   ré  r  rú  s        rs   Ú_print_ComplexRootOfÚ!LatexPrinter._print_ComplexRootOf®	  sm   € Ø�n‰n×%Ñ%ˆØ�/Ó!ØˆCØ�{‰{˜4Ÿ9™9Ó%ˆØ—
‘
ˆØÔ*Ó*Ø/°3¸eÐ2DÑDÐDà=ÀØAFðAHñ Hð Hru   c                óp  • UR                   R                  nU R                  UR                  5      /nUR                  [
        R                  La*  UR                  U R                  UR                  5      5        U[        ;   a  SU< SSR                  U5      < S3$ SU< SSR                  U5      < S3$ )Nr®   rA  r\  r  r°  z	} {\left()
r^  r_  r  r  Úfunr   ÚIdentityFunctionrZ  r²  r`  )rù   r  ré  rN  s       rs   Ú_print_RootSumÚLatexPrinter._print_RootSumº	  s�   € Ø�n‰n×%Ñ%ˆØ—‘˜DŸI™IÓ&Ð'ˆà�8‰8œ1×-Ñ-Ò-Ø�K‰K˜Ÿ™ D§H¡HÓ-Ô.àÔ*Ô*Û/2°D·I±I¸d¶OÐDÐDð +ó >AØ=A¿Y¹YÀt¾_ðNð Nru   c                ó   • g)Nú\omegarp   r"  s     rs   Ú_print_OrdinalOmegaÚ LatexPrinter._print_OrdinalOmegaÇ	  s   € Øru   c                óª   • UR                   u  p#US:w  a(  US:w  a  SR                  X25      $ SR                  U5      $ US:w  a  SR                  U5      $ g)Nr€  z{} \omega^{{{}}}z	{} \omegaz\omega^{{{}}}rZ  )rN  r  )rù   r  rX  Úmuls       rs   Ú_print_OmegaPowerÚLatexPrinter._print_OmegaPowerÊ	  sX   € Ø—9‘9‰ˆØ�!‹8Ø�a‹xØ*×1Ñ1°#Ó;Ð;à#×*Ñ*¨3Ó/Ð/à�a‹xØ'×.Ñ.¨sÓ3Ð3à ru   c                ó€   • SR                  UR                   Vs/ s H  o R                  U5      PM     sn5      $ s  snf ©Nrr  )r`  rN  r  rO  s      rs   Ú_print_OrdinalÚLatexPrinter._print_Ordinal×	  s.   € Ø�z‰z°t·y²yÓA²y°Ÿ;™; sÖ+±yÑAÓBÐBùÒAs   š;c                óP   • U R                   S   nUR                  U [        SU5      $ )Nrâ   z	{%s}^{%d})ró   rˆ  r!   )rù   rG  rÆ   s      rs   Ú_print_PolyElementÚLatexPrinter._print_PolyElementÚ	  s&   € Ø—^‘^Ð$6Ñ7ˆ
Ø�x‰x˜œj¨+°zÓBÐBru   c                óÚ   • UR                   S:X  a  U R                  UR                  5      $ U R                  UR                  5      nU R                  UR                   5      nSU< SU< S3$ )Nr€  rû  rü  ro   )r  r  r  )rù   r:   r  r  s       rs   Ú_print_FracElementÚLatexPrinter._print_FracElementÞ	  sO   € Ø�:‰:˜‹?Ø—;‘;˜tŸz™zÓ*Ð*à—K‘K §
¡
Ó+ˆEØ—K‘K §
¡
Ó+‰EÛ',«eÐ4Ð4ru   c                óð   • [        UR                  5      S:X  a  UR                  S   S 4OUR                  u  p4SU R                  U5      -  nUb
  U< SU< S3nUb  U< SU R                  U5      < S3nU$ )Nr€  r   zE_{%s}r  ro   rU  rƒ  rA  )rù   r  rX  r  r7  r  s         rs   Ú_print_eulerÚLatexPrinter._print_euleræ	  sh   € Ü'*¨4¯9©9£~¸Ó':�—	‘	˜!‘˜dÑ#ÀÇ	Á	‰ˆØ˜$Ÿ+™+ a›.Ñ(ˆØ‰?Û #£SÐ)ˆCØ‰=Û*-¨t¯{©{¸1®~Ð>ˆCØˆ
ru   c                ób   • SU R                  UR                  S   5      -  nUb
  U< SU< S3nU$ )NzC_{%s}r   r  ro   r/  rù  s       rs   Ú_print_catalanÚLatexPrinter._print_catalanï	  r¥  ru   c           
     óä   • SR                  X#(       a  SOSU R                  UR                  S   5      U R                  UR                  S   5      U R                  UR                  S   5      5      $ )Nz5\mathcal{{{}}}{}_{{{}}}\left[{}\right]\left({}\right)z^{-1}rä   r€  r   rú  ©r  r  rN  )rù   r  rr   Úinverses       rs   Ú_print_UnifiedTransformÚ$LatexPrinter._print_UnifiedTransformõ	  sÏ   € ØG×NÑNÈqÕ]dÑRYÐjlÐnr×nyÑnyÐz~÷  {Dñ  {Dð  EFñ  {Gó  oHð  JN÷  JUñ  JUð  VZ÷  V_ñ  V_ð  `añ  Vbó  Jcð  ei÷  epñ  epð  qu÷  qzñ  qzð  {|ñ  q}ó  e~ó  ð  	ru   c                ó&   • U R                  US5      $ )NÚM©rt  r"  s     rs   Ú_print_MellinTransformÚ#LatexPrinter._print_MellinTransformø	  ó   € Ø×+Ñ+¨D°#Ó6Ð6ru   c                ó(   • U R                  USS5      $ )Nrw  Trx  r"  s     rs   Ú_print_InverseMellinTransformÚ*LatexPrinter._print_InverseMellinTransformû	  ó   € Ø×+Ñ+¨D°#°tÓ<Ð<ru   c                ó&   • U R                  US5      $ )NÚLrx  r"  s     rs   Ú_print_LaplaceTransformÚ$LatexPrinter._print_LaplaceTransformþ	  r{  ru   c                ó(   • U R                  USS5      $ )Nr�  Trx  r"  s     rs   Ú_print_InverseLaplaceTransformÚ+LatexPrinter._print_InverseLaplaceTransform
  r  ru   c                ó&   • U R                  US5      $ rž  rx  r"  s     rs   Ú_print_FourierTransformÚ$LatexPrinter._print_FourierTransform
  r{  ru   c                ó(   • U R                  USS5      $ )NrŸ  Trx  r"  s     rs   Ú_print_InverseFourierTransformÚ+LatexPrinter._print_InverseFourierTransform
  r  ru   c                ó&   • U R                  US5      $ )NÚSINrx  r"  s     rs   Ú_print_SineTransformÚ!LatexPrinter._print_SineTransform

  ó   € Ø×+Ñ+¨D°%Ó8Ð8ru   c                ó(   • U R                  USS5      $ )NrŽ  Trx  r"  s     rs   Ú_print_InverseSineTransformÚ(LatexPrinter._print_InverseSineTransform
  ó   € Ø×+Ñ+¨D°%¸Ó>Ð>ru   c                ó&   • U R                  US5      $ )NÚCOSrx  r"  s     rs   Ú_print_CosineTransformÚ#LatexPrinter._print_CosineTransform
  r‘  ru   c                ó(   • U R                  USS5      $ )Nr—  Trx  r"  s     rs   Ú_print_InverseCosineTransformÚ*LatexPrinter._print_InverseCosineTransform
  r•  ru   c                óÈ   •  UR                   b*  U R                  UR                   R                  U5      5      $  U R                  [	        U5      5      $ ! [         a     N&f = fr  )Úringr  Úto_sympyr   Úrepr©rù   r  s     rs   Ú
_print_DMPÚLatexPrinter._print_DMP
  s[   € ð	Ø�v‰vÑ!à—{‘{ 1§6¡6§?¡?°1Ó#5Ó6Ð6ð "ð
 �{‰{œ4 ›7Ó#Ð#øô ó 	Ùð	ús   ‚6A Á
A!Á A!c                ó$   • U R                  U5      $ r  )r¢  r¡  s     rs   Ú
_print_DMFÚLatexPrinter._print_DMF
  s   € Ø�‰˜qÓ!Ð!ru   c                óJ   • U R                  [        UR                  5      5      $ r  )r  r   ra  )rù   rx  s     rs   Ú_print_ObjectÚLatexPrinter._print_Object"
  s   € Ø�{‰{œ6 &§+¡+Ó.Ó/Ð/ru   c                ó  • U R                  UR                  S   5      nUb  SU< S3OSn[        UR                  5      S:X  a  SU< SU< S3nU$ U R                  UR                  S   5      nS	R                  X%U5      nU$ )
Nr   r  ro   rä   r€  ÚWrU  rƒ  zW{0}_{{{1}}}\left({2}\right))r  rN  r˜  r  )rù   r  rX  Úarg0ÚresultÚarg1s         rs   Ú_print_LambertWÚLatexPrinter._print_LambertW%
  sv   € Ø�{‰{˜4Ÿ9™9 Q™<Ó(ˆØ#&¢?›#Ñ¸ˆÜˆt�y‰y‹>˜QÔÛ.1³4Ð8ˆFð ˆð —;‘;˜tŸy™y¨™|Ó,ˆDØ5×<Ñ<¸SÈÓMˆFØˆru   c                ó\   • SR                  U R                  UR                  S   5      5      $ )Nz!\operatorname{{E}}\left[{}\right]r   rr  r"  s     rs   Ú_print_ExpectationÚLatexPrinter._print_Expectation/
  ó%   € Ø3×:Ñ:¸4¿;¹;ÀtÇyÁyÐQRÁ|Ó;TÓUÐUru   c                ó\   • SR                  U R                  UR                  S   5      5      $ )Nz#\operatorname{{Var}}\left({}\right)r   rr  r"  s     rs   Ú_print_VarianceÚLatexPrinter._print_Variance2
  s%   € Ø5×<Ñ<¸T¿[¹[ÈÏÉÐSTÉÓ=VÓWÐWru   c                ól   ^ • SR                  SR                  U 4S jUR                   5       5      5      $ )Nz#\operatorname{{Cov}}\left({}\right)r\  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr  r†  rI  s     €rs   r8  Ú1LatexPrinter._print_Covariance.<locals>.<genexpr>6
  s!   øé € ÐFmÒclÐ\_ÀtÇ{Á{ÐSV×GWÐGWÒclùr;  )r  r`  rN  r"  s   ` rs   Ú_print_CovarianceÚLatexPrinter._print_Covariance5
  s*   ø€ Ø5×<Ñ<¸T¿Y¹YÔFmÐcg×clÒclÓFmÓ=mÓnÐnru   c                ó\   • SR                  U R                  UR                  S   5      5      $ )Nz!\operatorname{{P}}\left({}\right)r   rr  r"  s     rs   Ú_print_ProbabilityÚLatexPrinter._print_Probability8
  r´  ru   c                ó€   • U R                  UR                  5      nU R                  UR                  5      nU< SU< 3$ )Nr=  )r  r3  Úcodomain)rù   Úmorphismr3  rÁ  s       rs   Ú_print_MorphismÚLatexPrinter._print_Morphism;
  s3   € Ø—‘˜XŸ_™_Ó-ˆØ—;‘;˜x×0Ñ0Ó1ˆÛ&,ªhÐ7Ð7ru   c                ó‚   • U R                  UR                  5      U R                  UR                  5      p2SU< SU< S3$ )Nrû  rü  ro   )r  r�  Úden)rù   r  r�  rÆ  s       rs   Ú_print_TransferFunctionÚ$LatexPrinter._print_TransferFunction@
  s.   € Ø—;‘;˜tŸx™xÓ(¨$¯+©+°d·h±hÓ*?‰SÛ#&«Ð,Ð,ru   c                ór   ^ ^• [        TR                  5      nUU 4S jnSR                  [        X25      5      $ )Nc                ó<   >• TR                  U [        T5      S5      $ r¦  )r  r   )r7  r  rù   s    €€rs   rt   Ú,LatexPrinter._print_Series.<locals>.<lambda>F
  s   ø€ ˜4×,Ñ,¨QÔ0FÀtÓ0LØ,1ô3ru   rÝ   )ræ  rN  r`  rg  )rù   r  rN  r©  s   ``  rs   Ú_print_SeriesÚLatexPrinter._print_SeriesD
  s+   ù€ Ü�D—I‘I‹ˆõ3ˆà�x‰xœ˜FÓ)Ó*Ð*ru   c                óŽ   ^ ^^• SSK Jm  [        TR                  5      S S S2   nUUU 4S jnSR	                  [        X25      5      $ )Nr   )ÚMIMOParallelr  c                ó€   >• [        U T5      (       a  TR                  U [        T5      S5      $ TR                  U 5      $ r¦  )rà  r  r   r  )r7  rÏ  r  rù   s    €€€rs   rt   Ú0LatexPrinter._print_MIMOSeries.<locals>.<lambda>M
  sH   ø€ Ü7AÀ!À\×7RÑ7Rð  ×,Ñ,¨QÔ0FÀtÓ0LØ-2ó4ð gØX\×XcÑXcÐdeÓXfðgru   z\cdot)Úsympy.physics.control.ltirÏ  ræ  rN  r`  rg  )rù   r  rN  r©  rÏ  s   ``  @rs   Ú_print_MIMOSeriesÚLatexPrinter._print_MIMOSeriesJ
  s8   ú€ Ý:Ü�D—I‘I‹™t ˜tÑ$ˆögˆà�}‰}œS Ó.Ó/Ð/ru   c                ó`   • SR                  [        U R                  UR                  5      5      $ rb  ©r`  rg  r  rN  r"  s     rs   Ú_print_ParallelÚLatexPrinter._print_ParallelQ
  ó    € Ø�z‰zœ#˜dŸk™k¨4¯9©9Ó5Ó6Ð6ru   c                ó`   • SR                  [        U R                  UR                  5      5      $ rb  rÖ  r"  s     rs   Ú_print_MIMOParallelÚ LatexPrinter._print_MIMOParallelT
  rÙ  ru   c           	     óÖ  • SSK JnJn  UR                  U" SSUR                  5      pT[        XC5      (       a  [        UR                  5      OU/n[        UR                  U5      (       a  [        UR                  R                  5      OUR                  /nUn[        XC5      (       a&  [        UR                  U5      (       a  U" / UQUQ76 n	OÂ[        XC5      (       aG  [        UR                  U5      (       a,  UR                  U:X  a  U" U6 n	O�XS" / UQUR                  P76 4n	Ok[        XB5      (       a0  [        UR                  U5      (       a  XE:X  a  U" U6 n	O5U" U/UQ76 n	O+XE:X  a  U" U6 n	O UR                  U:X  a  U" U6 n	O
U" / UQUQ76 n	U R                  U5      n
U R                  U5      nU R                  U	5      nUR                  S:X  a  SOSnSU
< SU< S	U< S	U< S
3	$ )Nr   )ÚTransferFunctionÚSeriesr€  r  rª  rQ  rû  rü  rÝ   ro   )Úsympy.physics.controlrÞ  rß  Úsys1r£  rà  ræ  rN  Úsys2r  r7  )rù   r  rÞ  rß  r�  ÚtfÚnum_arg_listÚden_arg_listÚ
den_term_1Ú
den_term_2r  Údenom_1Údenom_2Ú_signs                 rs   Ú_print_FeedbackÚLatexPrinter._print_FeedbackW
  s¡  € ßBà—)‘)Ñ-¨a°°D·H±HÓ=ˆRÜ)3°C×)@Ñ)@”t˜CŸH™H”~ÀsÀeˆä�t—y‘y &×)Ñ)ô ˜DŸI™IŸN™NÔ+Ø04·	±	¨{ð 	àˆ
ä�c×"Ñ"¤z°$·)±)¸V×'DÑ'DÙÐ= Ð=°Ò=‰JÜ˜×$Ñ$¬°D·I±IÐ?O×)PÑ)PØ�y‰y˜B‹Ù# \Ð2‘
à Ð!A¨Ð!A°t·y±yÒ!AÐA‘
Ü˜×.Ñ.´:¸d¿i¹iÈ×3PÑ3PØ‹yÙ# \Ð2‘
á# CÐ7¨,Ò7‘
à‹yÙ# \Ð2‘
Ø—‘˜b“Ù# \Ð2‘
á#ÐA \ÐA°LÒA�
à—‘˜CÓ ˆØ—+‘+˜jÓ)ˆØ—+‘+˜jÓ)ˆØ—y‘y B“‘¨C‰ã).³»ÃÐHÐHru   c                óà   • SSK Jn  U R                  U" UR                  UR                  5      5      nU R                  UR                  5      nUR
                  S:X  a  SOSnSU< SU< SU< 3$ )	Nr   )Ú
MIMOSeriesr  rª  rQ  z\left(I_{\tau} rÝ   z\right)^{-1} \cdot )rà  rî  r  râ  rá  r7  )rù   r  rî  Úinv_matrá  rê  s         rs   Ú_print_MIMOFeedbackÚ LatexPrinter._print_MIMOFeedback{
  sR   € Ý4Ø—+‘+™j¨¯©°D·I±IÓ>Ó?ˆØ�{‰{˜4Ÿ9™9Ó%ˆØ—y‘y B“‘¨C‰Û?DÃgÊtÐTÐTru   c                óB   • U R                  UR                  5      nSU-  $ )Nz%s_\tau)r  Ú	_expr_matrš  s      rs   Ú_print_TransferFunctionMatrixÚ*LatexPrinter._print_TransferFunctionMatrix‚
  s   € Ø�k‰k˜$Ÿ.™.Ó)ˆØ˜CÑÐru   c                ób   • SR                  UR                  R                  UR                  5      $ )Nz\text{{{}}}_{{{}}})r  r^  r_  r�  r"  s     rs   Ú
_print_DFTÚLatexPrinter._print_DFT†
  s#   € Ø$×+Ñ+¨D¯N©N×,CÑ,CÀTÇVÁVÓLÐLru   c                ó~   • U R                  [        UR                  5      5      nU R                  U5      nU< SU< 3$ )Nr€  )r  r   ra  rÃ  )rù   rÂ  Úpretty_nameÚpretty_morphisms       rs   Ú_print_NamedMorphismÚ!LatexPrinter._print_NamedMorphismŠ
  s4   € Ø—k‘k¤&¨¯©Ó"7Ó8ˆØ×.Ñ.¨xÓ8ˆÛ%¢Ð7Ð7ru   c                óh   • SSK Jn  U R                  U" UR                  UR                  S5      5      $ )Nr   )ÚNamedMorphismÚid)Úsympy.categoriesrÿ  rü  r3  rÁ  )rù   rÂ  rÿ  s      rs   Ú_print_IdentityMorphismÚ$LatexPrinter._print_IdentityMorphism�
  s0   € Ý2Ø×(Ñ(©Ø�O‰O˜X×.Ñ.°ó*6ó 7ð 	7ru   c                óú   • UR                    Vs/ s H'  nU R                  [        UR                  5      5      PM)     nnUR	                  5         SR                  U5      S-   nU R                  U5      nXE-   $ s  snf )Nz\circ r€  )rX  r  r   ra  Úreverser`  rÃ  )rù   rÂ  Ú	componentÚcomponent_names_listÚcomponent_namesrû  s         rs   Ú_print_CompositeMorphismÚ%LatexPrinter._print_CompositeMorphism”
  s}   € ð .6×-@Ò-@ó BÚ-@ 	ð !%§¡¬F°9·>±>Ó,BÖ CÙ-@ð 	ð  Bà×$Ñ$Ô&Ø#Ÿ.™.Ð)=Ó>ÀÑDˆà×.Ñ.¨xÓ8ˆØÑ0Ð0ùò Bs   �.A8c                óh   • SR                  U R                  [        UR                  5      5      5      $ ©NrM  )r  r  r   ra  )rù   rÂ  s     rs   Ú_print_CategoryÚLatexPrinter._print_CategoryŸ
  s%   € Ø×&Ñ& t§{¡{´6¸(¿-¹-Ó3HÓ'IÓJÐJru   c                ó   • UR                   (       d  U R                  [        R                  5      $ U R                  UR                   5      nUR                  (       a!  USU R                  UR                  5      -  -  nU$ )Nz\Longrightarrow %s)Úpremisesr  r   ÚEmptySetÚconclusions)rù   ÚdiagramÚlatex_results      rs   Ú_print_DiagramÚLatexPrinter._print_Diagram¢
  sg   € Ø××à—;‘;œqŸz™zÓ*Ð*à—{‘{ 7×#3Ñ#3Ó4ˆØ××ØÐ1Ø ŸK™K¨×(;Ñ(;Ó<ñ=ñ =ˆLð Ðru   c                óR  • SSUR                   -  -  n[        UR                  5       Hv  n[        UR                   5       H>  nXU4   (       a  U[        XU4   5      -  nUS-  nXAR                   S-
  :w  d  M9  US-  nM@     X1R                  S-
  :w  a  US-  nUS-  nMx     US-  nU$ )	Nz\begin{array}{%s}
r²   rÝ   r€  ú& r=  Ú
z\end{array}
)Úwidthr—  ÚheightÚlatex)rù   Úgridr  rÌ   ré   s        rs   Ú_print_DiagramGridÚLatexPrinter._print_DiagramGrid®
  s²   € Ø-°°t·z±zÑ1AÑBˆä�t—{‘{Ö#ˆAÜ˜4Ÿ:™:Ö&�Ø˜1˜—:Ø ¤E¨$°!¨t©*Ó$5Ñ5�LØ Ñ#�ØŸ
™
 Q™Õ&Ø  DÑ(’Lñ 'ð —K‘K !‘OÓ#Ø Ñ&�Ø˜DÑ ŠLñ $ð 	Ð(Ñ(ˆØÐru   c                óŠ   • SR                  U R                  UR                  5      U R                  UR                  5      5      $ )Nz{{{}}}^{{{}}})r  r  rž  ré  ©rù   rw  s     rs   Ú_print_FreeModuleÚLatexPrinter._print_FreeModuleÀ
  s/   € Ø×%Ñ% d§k¡k°!·&±&Ó&9¸4¿;¹;ÀqÇvÁvÓ;NÓOÐOru   c                óX   ^ • SR                  SR                  U 4S jU 5       5      5      $ )Nú\left[ {} \right]r�  c              3  óR   >#   • U  H  nS TR                  U5      -   S-   v •  M     g7f©r“   ro   Nr†  ©r6  r7  rù   s     €rs   r8  Ú8LatexPrinter._print_FreeModuleElement.<locals>.<genexpr>Å
  s&   øé € ð 43Ú01¨1ˆC�$—+‘+˜a“.Ñ  3Ö&²ùrv  )r  r`  )rù   r  s   ` rs   Ú_print_FreeModuleElementÚ%LatexPrinter._print_FreeModuleElementÃ
  s.   ø€ à#×*Ñ*¨3¯8©8ô 43Ù01ó43ó ,3ó 4ð 	4ru   c                ó,  ^^• UR                    VVs/ s H<  o" Vs/ s H,  o0R                  UR                  R                  U5      5      PM.     snPM>     nnnS mS mSR	                  UU4S jU 5       5      nSR                  U5      $ s  snf s  snnf )Nc                ó   • SU -   S-   $ )Nr“   ro   rp   ©rM   s    rs   rt   Ú/LatexPrinter._print_SubModule.<locals>.<lambda>Ê
  s   € ˜$ ™( Tš/ru   c                ó   • SU -   S-   $ )Nz\left[ z \right]rp   r.  s    rs   rt   r/  Ë
  s   € ˜:¨™>¨KÒ7ru   r�  c           	   3  ór   >#   • U  H,  nT" T" S R                  U4S jU 5       5      5      5      v •  M.     g7f)r�  c              3  ó4   >#   • U  H  nT" U5      v •  M     g 7fr  rp   )r6  r7  Úcurlys     €rs   r8  Ú:LatexPrinter._print_SubModule.<locals>.<genexpr>.<genexpr>Ì
  s   øé € Ð3HÂaÀ±E¸!·H°HÂaùr¿  N)r`  )r6  Úgr3  Úsquares     €€rs   r8  Ú0LatexPrinter._print_SubModule.<locals>.<genexpr>Ì
  s/   øé € ÐYÒTXÈq™e¡F¨3¯8©8Ô3HÁaÓ3HÓ+HÓ$I×JÐJÒTXùs   ƒ47ú\left\langle {} \right\rangle)rB  r  rž  rŸ  r`  r  )rù   r  r5  r7  rB  Ú
gens_latexr3  r6  s         @@rs   Ú_print_SubModuleÚLatexPrinter._print_SubModuleÈ
  sv   ù€ ØFGÇfÂfÔMÂfÀ¸!Ó<º!°Q—‘˜QŸV™VŸ_™_¨QÓ/Ö0¹!Ô<ÁfˆÑMÙ)ˆÙ7ˆØ—X‘XÕYÑTXÓYÓYˆ
Ø/×6Ñ6°zÓBÐBùò	 =ùÓMs   ’	B›3BÁBÂBc           	     ó°   • SR                  UR                   Vs/ s H  nSU R                  U5      -   S-   PM     sn5      nSR                  U5      $ s  snf )Nr�  r“   ro   r8  )r`  rB  r  r  )rù   r  r5  r9  s       rs   Ú_print_SubQuotientModuleÚ%LatexPrinter._print_SubQuotientModuleÏ
  sL   € Ø—X‘XÀ1Ç6Â6ÓJÂ6¸a˜s T§[¡[°£^Ñ3°cÔ9Á6ÑJÓKˆ
Ø/×6Ñ6°zÓBÐBùò Ks   š!Ac                óæ   ^ • UR                   R                   Vs/ s H  u  o!R                  R                  U5      PM!     nnSR	                  U 4S jU 5       5      nSR                  U5      $ s  snf )Nr�  c              3  óR   >#   • U  H  nS TR                  U5      -   S-   v •  M     g7fr'  r†  r(  s     €rs   r8  Ú=LatexPrinter._print_ModuleImplementedIdeal.<locals>.<genexpr>Õ
  s#   øé € ÐGÂ$¸Q˜c D§K¡K°£NÑ2°SÖ8Â$ùrv  r8  )Ú_modulerB  rž  rŸ  r`  r  )rù   r  r7  rB  r9  s   `    rs   Ú_print_ModuleImplementedIdealÚ*LatexPrinter._print_ModuleImplementedIdealÓ
  sV   ø€ Ø./¯i©i¯nªnÓ=ªn¡s¨—‘—‘ Ö"©nˆÐ=Ø—X‘XÔGÁ$ÓGÓGˆ
Ø/×6Ñ6°zÓBÐBùò >s   š&A.c           	     ó   • UR                    Vs/ s H  nU R                  U[        S   SS9PM     nnUS   /[        USS  S5       VVs/ s H  u  p$US-   U-   PM     snn-   nSR	                  U5      $ s  snf s  snnf )	Nr
   Trw  r   r€  ÚijkrÝ   rr  )rN  r  r!   r�  r`  )rù   r  rÌ   rr   ré   r	  s         rs   Ú_print_QuaternionÚLatexPrinter._print_QuaternionØ
  s�   € ð —i’ió!Ú�ð ×Ñ˜q¤*¨UÑ"3¸DÐÓAÙð 	
ð !àˆq‰TˆF¬#¨a°°¨e°UÔ*;Ô<Ò*;¡$ !�a˜‘e˜A”gÑ*;Ò<Ñ<ˆØ�z‰z˜!‹}Ðùò!ùã<s   �"A5Á
A:c                óŠ   • SR                  U R                  UR                  5      U R                  UR                  5      5      $ ©Nz\frac{{{}}}{{{}}})r  r  rž  Ú
base_ideal)rù   ÚRs     rs   Ú_print_QuotientRingÚ LatexPrinter._print_QuotientRingà
  s4   € à#×*Ñ*¨4¯;©;°q·v±vÓ+>Ø—‘˜QŸ\™\Ó*ó,ð 	,ru   c                óÀ   • U R                  UR                  R                  U5      5      nSR                  UU R                  UR                  R                  5      5      $ )Nú{{{}}} + {{{}}})r  rž  rŸ  r  rK  )rù   r7  Úx_latexs      rs   Ú_print_QuotientRingElementÚ'LatexPrinter._print_QuotientRingElementå
  sH   € Ø—+‘+˜aŸf™fŸo™o¨aÓ0Ó1ˆØ!×(Ñ(¨Ø—‘˜QŸV™V×.Ñ.Ó/ó1ð 	1ru   c                óH  ^ • UR                    Vs/ s H'  o!R                  R                  R                  U5      PM)     nnSR	                  SR                  U 4S jU 5       5      5      nSR	                  UT R                  UR                  R                  5      5      $ s  snf )Nr%  r�  c              3  óR   >#   • U  H  nS TR                  U5      -   S-   v •  M     g7fr'  r†  r(  s     €rs   r8  Ú<LatexPrinter._print_QuotientModuleElement.<locals>.<genexpr>ì
  s&   øé € ð :6Ú04¨1ˆC�$—+‘+˜a“.Ñ  3Ö&²ùrv  rP  )ÚdataÚmodulerž  rŸ  r  r`  r  Úkilled_module)rù   r  r7  rW  Ú
data_latexs   `    rs   Ú_print_QuotientModuleElementÚ)LatexPrinter._print_QuotientModuleElementê
  s„   ø€ Ø34·6²6Ó:²6¨a—‘—‘×&Ñ& qÖ)±6ˆÐ:Ø)×0Ñ0°·±ô :6Ù04ó:6ó 26ó 7ˆ
à!×(Ñ(¨Ø—‘˜QŸX™X×3Ñ3Ó4ó6ð 	6ùò ;s   �.Bc                óŠ   • SR                  U R                  UR                  5      U R                  UR                  5      5      $ rJ  )r  r  rR  rY  r!  s     rs   Ú_print_QuotientModuleÚ"LatexPrinter._print_QuotientModuleñ
  s4   € à#×*Ñ*¨4¯;©;°q·v±vÓ+>Ø—‘˜QŸ_™_Ó-ó/ð 	/ru   c                óÆ   • SR                  U R                  UR                  5       5      U R                  UR                  5      U R                  UR                  5      5      $ )Nz{{{}}} : {{{}}} \to {{{}}})r  r  Ú_sympy_matrixr3  rÁ  )rù   rÆ  s     rs   Ú_print_MatrixHomomorphismÚ&LatexPrinter._print_MatrixHomomorphismö
  sF   € Ø,×3Ñ3°D·K±KÀÇÁÓ@QÓ4RØ�K‰K˜Ÿ™Ó! 4§;¡;¨q¯z©zÓ#:ó<ð 	<ru   c                óØ   • U R                  UR                  R                  5      u  p#nSU-  nU(       a  USSR                  U5      -  -  nU(       a  USSR                  U5      -  -  nU$ )Nrg  rž  rÝ   rf  )rJ  ra  r`  )rù   Úmanifoldra  rI  rŽ  s        rs   Ú_print_ManifoldÚLatexPrinter._print_Manifoldú
  se   € Ø!×2Ñ2°8·=±=×3EÑ3EÓFÑˆ�dà˜dÑ"ˆÞØ�G˜cŸh™h vÓ.Ñ.Ñ.ˆDÞØ�G˜cŸh™h t›nÑ,Ñ,ˆDàˆru   c                ó|   • SU R                  UR                  5      < SU R                  UR                  5      < S3$ )Nú\text{rx  ro   )r  ra  re  )rù   Úpatchs     rs   Ú_print_PatchÚLatexPrinter._print_Patch  s'   � Ø$(§K¡K°·
±
Ö$;¸T¿[¹[ÈÏÉÖ=XÐYÐYru   c                óÊ   • SU R                  UR                  5      < SU R                  UR                  R                  5      < SU R                  UR                  5      < S3$ )Nri  z	}^{\text{z}}_{ro   )r  ra  rj  re  )rù   Úcoordsyss     rs   Ú_print_CoordSystemÚLatexPrinter._print_CoordSystem  sC   � à�K‰K˜Ÿ™Ö&¨¯©°H·N±N×4GÑ4GÖ(HÈ$Ï+É+ÐV^×VgÑVgÖJhð
ð 	
ru   c                ó>   • SU R                  UR                  5      -  $ )Nz\mathbb{\nabla}_{%s})r  Ú_wrt)rù   Úcvds     rs   Ú_print_CovarDerivativeOpÚ%LatexPrinter._print_CovarDerivativeOp  s   € Ø&¨¯©°S·X±XÓ)>Ñ>Ð>ru   c                ó®   • UR                   R                  UR                     R                  nSR	                  U R                  [        U5      5      5      $ r  ©Ú
_coord_sysr¢  Ú_indexra  r  r  r   ©rù   ÚfieldrN  s      rs   Ú_print_BaseScalarFieldÚ#LatexPrinter._print_BaseScalarField  s@   € Ø×!Ñ!×)Ñ)¨%¯,©,Ñ7×<Ñ<ˆØ×&Ñ& t§{¡{´6¸&³>Ó'BÓCÐCru   c                ó®   • UR                   R                  UR                     R                  nSR	                  U R                  [        U5      5      5      $ )Nz\partial_{{{}}}rw  rz  s      rs   Ú_print_BaseVectorFieldÚ#LatexPrinter._print_BaseVectorField  s@   € Ø×!Ñ!×)Ñ)¨%¯,©,Ñ7×<Ñ<ˆØ!×(Ñ(¨¯©´V¸F³^Ó)DÓEÐEru   c                ó,  • UR                   n[        US5      (       aV  UR                  R                  UR                     R
                  nSR                  U R                  [        U5      5      5      $ U R                  U5      nSR                  U5      $ )Nrx  z\operatorname{{d}}{}z!\operatorname{{d}}\left({}\right))	Ú_form_fieldrß  rx  r¢  ry  ra  r  r  r   )rù   Údiffr{  rN  s       rs   Ú_print_DifferentialÚ LatexPrinter._print_Differential  sw   € Ø× Ñ ˆÜ�5˜,×'Ñ'Ø×%Ñ%×-Ñ-¨e¯l©lÑ;×@Ñ@ˆFØ*×1Ñ1°$·+±+¼fÀV»nÓ2MÓNÐNà—[‘[ Ó'ˆFØ7×>Ñ>¸vÓFÐFru   c                ó`   • U R                  UR                  S   5      nSR                  U5      $ )Nr   z"\operatorname{{tr}}\left({}\right)r  )rù   r  Úcontentss      rs   Ú	_print_TrÚLatexPrinter._print_Tr!  s)   € à—;‘;˜qŸv™v a™yÓ)ˆØ4×;Ñ;¸HÓEÐEru   c                ó˜   • Ub'  SU R                  UR                  S   5      < SU< S3$ SU R                  UR                  S   5      -  $ )Nz\left(\phi\left(r   ú\right)\right)^{ro   z\phi\left(%s\right)r/  rW  s      rs   Ú_print_totientÚLatexPrinter._print_totient&  sC   € ØŠ?à—‘˜TŸY™Y q™\Ö*«Cð1ð 1à%¨¯©°D·I±I¸a±LÓ(AÑAÐAru   c                ó˜   • Ub'  SU R                  UR                  S   5      < SU< S3$ SU R                  UR                  S   5      -  $ )Nz\left(\lambda\left(r   r‹  ro   z\lambda\left(%s\right)r/  rW  s      rs   Ú_print_reduced_totientÚ#LatexPrinter._print_reduced_totient,  sC   € ØŠ?à—‘˜TŸY™Y q™\Ö*«Cð1ð 1à(¨4¯;©;°t·y±yÀ±|Ó+DÑDÐDru   c           	     ó  • [        UR                  5      S:X  a?  S[        [        U R                  UR                  S   UR                  S   45      5      -  nO!SU R	                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )	Nrú  ú_%s\left(%s\right)r€  r   rs  z\sigma^{ro   z\sigma%srä  rù  s       rs   Ú_print_divisor_sigmaÚ!LatexPrinter._print_divisor_sigma2  sƒ   € Üˆt�y‰y‹>˜QÓØ'¬%´°D·K±KØ15·±¸1±¸t¿y¹yÈ¹|Ð0Ló1Nó +Oñ O‰Cð % t§{¡{°4·9±9¸Q±<Ó'@Ñ@ˆCØŠ?Û'*ªCÐ0Ð0Ø˜SÑ Ð ru   c           	     ó  • [        UR                  5      S:X  a?  S[        [        U R                  UR                  S   UR                  S   45      5      -  nO!SU R	                  UR                  S   5      -  nUb
  SU< SU< 3$ SU-  $ )	Nrú  r’  r€  r   rs  z
\sigma^*^{ro   z
\sigma^*%srä  rù  s       rs   Ú_print_udivisor_sigmaÚ"LatexPrinter._print_udivisor_sigma<  sƒ   € Üˆt�y‰y‹>˜QÓØ'¬%´°D·K±KØ15·±¸1±¸t¿y¹yÈ¹|Ð0Ló1Nó +Oñ O‰Cð % t§{¡{°4·9±9¸Q±<Ó'@Ñ@ˆCØŠ?Û),ªcÐ2Ð2Ø˜sÑ"Ð"ru   c                ó˜   • Ub'  SU R                  UR                  S   5      < SU< S3$ SU R                  UR                  S   5      -  $ )Nz\left(\nu\left(r   r‹  ro   z\nu\left(%s\right)r/  rW  s      rs   Ú_print_primenuÚLatexPrinter._print_primenuF  sC   € ØŠ?à—‘˜TŸY™Y q™\Ö*«Cð1ð 1à$ t§{¡{°4·9±9¸Q±<Ó'@Ñ@Ð@ru   c                ó˜   • Ub'  SU R                  UR                  S   5      < SU< S3$ SU R                  UR                  S   5      -  $ )Nz\left(\Omega\left(r   r‹  ro   z\Omega\left(%s\right)r/  rW  s      rs   Ú_print_primeomegaÚLatexPrinter._print_primeomegaL  sC   € ØŠ?à—‘˜TŸY™Y q™\Ö*«Cð1ð 1à'¨$¯+©+°d·i±iÀ±lÓ*CÑCÐCru   c                ó,   • [        UR                  5      $ r  )rˆ  ra  r  s     rs   Ú
_print_StrÚLatexPrinter._print_StrR  s   € Ü�1—6‘6‹{Ðru   c                ó6   • U R                  [        U5      5      $ r  )r  r   r"  s     rs   Ú_print_floatÚLatexPrinter._print_floatU  s   € Ø�{‰{œ5 ›;Ó'Ð'ru   c                ó   • [        U5      $ r  ©rˆ  r"  s     rs   Ú
_print_intÚLatexPrinter._print_intX  ó   € Ü�4‹yÐru   c                ó   • [        U5      $ r  r¥  r"  s     rs   Ú
_print_mpzÚLatexPrinter._print_mpz[  r¨  ru   c                ó   • [        U5      $ r  r¥  r"  s     rs   Ú
_print_mpqÚLatexPrinter._print_mpq^  r¨  ru   c                ó   • [        U5      $ r  r¥  r"  s     rs   Ú_print_fmpzÚLatexPrinter._print_fmpza  r¨  ru   c                ó   • [        U5      $ r  r¥  r"  s     rs   Ú_print_fmpqÚLatexPrinter._print_fmpqd  r¨  ru   c                ó\   • SR                  [        [        UR                  5      5      5      $ )Nz"\operatorname{{Q}}_{{\text{{{}}}}})r  r³   rˆ  ra  r"  s     rs   Ú_print_PredicateÚLatexPrinter._print_Predicateg  s    € Ø4×;Ñ;¼LÌÈTÏYÉYËÓ<XÓYÐYru   c                óÒ   • UR                   nUR                  nU R                  U5      nSR                  U Vs/ s H  oPR                  U5      PM     sn5      nU< SU< S3$ s  snf )Nr\  rè   ræ   )r@  Ú	argumentsr  r`  )rù   r  ÚpredrN  Ú
pred_latexr	  Ú
args_latexs          rs   Ú_print_AppliedPredicateÚ$LatexPrinter._print_AppliedPredicatej  sU   € Ø�}‰}ˆØ�~‰~ˆØ—[‘[ Ó&ˆ
Ø—Y‘Y¹Ó=º°1§¡¨A¦¹Ñ=Ó>ˆ
Û%£zÐ2Ð2ùò  >s   ¹A$c                ó>   >• [         TU ]  U5      nS[        U5      -  $ )Nz\mathtt{\text{%s}})ÚsuperÚemptyPrinterr³   )rù   r  rr   r^  s      €rs   rÁ  ÚLatexPrinter.emptyPrinterq  s!   ø€ ä‰GÑ  Ó&ˆà$¤|°A£Ñ6Ð6ru   )r÷   r  rý  )FF)rþ  Úbool)r  rˆ  )ri  z!bool | BooleanTrue | BooleanFalse)r  r   )r  r   )r+  rˆ  rþ  rˆ  )r  z'BasisDependent')rÐ  rˆ  rþ  rˆ  )r  r   rþ  rˆ  r‹  )r‹  rˆ  rþ  rˆ  r‚  )FN)rÅ   )r  r   )ra  rˆ  rþ  z tuple[str, list[str], list[str]])rN  rˆ  rþ  rˆ  )r  r&   )r÷  Údict)F(E  r_  Ú
__module__Ú__qualname__Ú__firstlineno__ÚprintmethodrÙ   Ú__annotations__rò   r  r  r  rÓ   r  r#  r,  rF  rK  r'  r)  rY  rc  rj  Ú_print_BooleanTrueÚ_print_BooleanFalsern  ry  r‹  rž  r¤  r·  rÀ  rÆ  rÉ  rÌ  rÑ  rÕ  r  r  r  r$  r!  r0  rB  rH  rc  rj  rn  rs  r‚  r”  r¤  r¬  rµ  rÑ  rÔ  r×  Úpropertyrå  rê  rî  rñ  rö  Ú
_print_MinÚ
_print_Maxrú  rý  r   r  r	  r  r  r  r   r#  r&  r  r  r.  r1  r4  r7  r:  r>  rB  rF  rJ  rO  rS  rV  r[  r_  Ú_print_gammarb  rf  ri  rm  rr  ru  rx  r{  r‚  r†  r�  r�  r•  r™  r�  r¡  r¤  r§  rª  r®  r±  r´  r¹  r¼  rÂ  rÈ  rÌ  rÐ  r×  rÞ  rá  rå  rè  rë  rï  rõ  rù  rþ  r  r  r  r  r  r  r  r  r'  r(  r,  r0  r4  r8  r@  rE  Ú_print_RandomSymbolrJ  r]  rY  r^  rm  rt  r|  r‹  r�  r—  r›  r¡  rª  r¯  r³  r¶  rÂ  rÅ  rË  rÏ  rÒ  rØ  rÞ  rá  ræ  ró  rü  r   r  r  r
  r  r  r  r  r  r  r$  r*  r/  r2  r6  r;  r>  rA  rE  rL  rO  rT  rZ  r_  r]  Ú_print_frozensetr„  rŽ  r�  r”  r›  r   r£  r¨  r«  r´  Ú_print_SeqPerÚ_print_SeqAddÚ_print_SeqMulrº  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/  r5  r9  r>  rM  rR  rW  r[  r_  rc  rf  ri  rl  ro  rt  ry  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÷  Ú_print_IDFTrü  r  r	  r  r  r  r"  r*  r:  r=  rC  rG  rM  rR  r[  r^  rb  rf  rk  ro  rt  r|  r  r„  rˆ  rŒ  r�  r“  r–  r™  rœ  rŸ  r¢  r¦  rª  r­  r°  r³  r¶  r½  rÁ  Ú__static_attributes__Ú__classcell__)r^  s   @rs   rµ   rµ   Ž   sÏ  ø‡ Ø€Kð)Ø�Uð)à˜Eð)ð 	˜eð)ð 	˜4ð	)ð
 	˜-ð)ð 	�ð)ð 	�uð)ð 	˜4ð)ð 	�Sð)ð 	�4ð)ð 	�ð)ð 	�dð)ð 	�ð)ð 	˜ð)ð 	˜ð)ð  	˜Gð!)ð" 	˜#ð#)ð$ Ø%ØØ"ØØØØ!Ø#(ò5)Ð�~ó õ:;fõz,õ-÷%ð %òõEõKõ÷.ð õ>õõ3õò/õ ð %ÐØ%Ðò õò&ò 9òBJòò<NòNòMòMòIòIõqòf/ò-õ+<õZ&ò")òò&õ&ò<ò'òò@òBEò"/òH4õ÷@J)ð J)òX0ò
ð ñ,ó ð,ò0ò
ò-÷ð ð 8Ð7€J�õõõ	õõ+õ+ò	7òò2ò0ò3õDõFõõ)õ+õõ õ õ	 õ"õ	/õ[õ<õ%õ%÷;ð ;ð (€Lõ1õ:õ õ õõõõõ+õ+õõ"õ7õ7õ7õ7õ7õ7õ=õ=õ=õ=÷-ð -÷4ð 4õ2õ2õ8õ8õ	õõõ õ!õ+õ@õõõõõõõõõõõõQõGõGõSõSò'ò'÷ Að Að (Ðõ
$÷ð òJò(*ò+ò,ò5ò
Jò(ò$òGò7ò&/ò"\ò
GõAò>òAò>ò@ò!ò>ò>ò>ò#õ5õnò8?ò
Fò
òò
òò&òDò
õ4òFò+ò*ò'ò:ò<ò&õõõõ	õò	%ò&ò,ð "Ðò(õTõ>õ>õ>õ>õõ>õMò
ð. &€MØ%€MØ%€MòKò$9ò(ò
-ò
(ò
-ò
<òòòòòòòòQò
&òAò!òDò<ò
+ò-òòòòò8ò
8ó
?ó7ór
HóNóó!óCóCó5öööó7ó=ó7ô=ô7ô=ô9ô?ô9ô?ô$ô"ô0÷ôVôXôoôVô8ô
-ô+ô0ô7ô7ô"IôHUô ôMá�Kô8ô
7ô
	1ôKô
ôô$Pô4ô
CôCôCô
ô,ô
1ô
6ô/ô
<ô	ôZô
ô
?ôDôFôGôF÷
B÷E÷!÷#÷A÷Dôô(ôôôôôôZô3÷7÷ 7ð 7ru   rµ   c           
     óÐ  • [         R                  U 5      nU(       a  U$ U R                  5       [        ;   a  SU R                  5       -   $ U [        ;   a  SU -   $ [        [        R                  5       [        SS9 Hh  nU R                  5       R                  U5      (       d  M)  [        U 5      [        U5      :”  d  MC  [        U   " [        U S[        U5      *  5      5      s  $    U $ )aj  
Check for a modifier ending the string.  If present, convert the
modifier to latex and translate the rest recursively.

Given a description of a Greek letter or other special character,
return the appropriate latex.

Let everything else pass as given.

>>> from sympy.printing.latex import translate
>>> translate('alphahatdotprime')
"{\\dot{\\hat{\\alpha}}}'"
r®   T)rP  r  N)Útex_greek_dictionaryrø   r™  Úgreek_letters_setÚother_symbolsrô  r¬   r9  r˜  r*  rH  )rr   r  rP  s      rs   rH  rH  x  sº   € ô ×
"Ñ
" 1Ó
%€CÞ
Øˆ
Ø	
�‰‹Ô'Ó	'Ø�a—g‘g“iÑÐØ	
ŒmÓ	Ø�a‰xˆô œ-×,Ñ,Ó.´CÀÔFˆCØ�w‰w‹y×!Ñ! #×&Ó&¬3¨q«6´C¸³HÕ+<Ü$ SÒ)¬)°A°j¼¸C»°y°MÓ*BÓCÒCñ Gð ˆru   c                ó6   • [        U5      R                  U 5      $ )aÊ"  Convert the given expression to LaTeX string representation.

Parameters
==========
full_prec: boolean, optional
    If set to True, a floating point number is printed with full precision.
fold_frac_powers : boolean, optional
    Emit ``^{p/q}`` instead of ``^{\frac{p}{q}}`` for fractional powers.
fold_func_brackets : boolean, optional
    Fold function brackets where applicable.
fold_short_frac : boolean, optional
    Emit ``p / q`` instead of ``\frac{p}{q}`` when the denominator is
    simple enough (at most two terms and no powers). The default value is
    ``True`` for inline mode, ``False`` otherwise.
inv_trig_style : string, optional
    How inverse trig functions should be displayed. Can be one of
    ``'abbreviated'``, ``'full'``, or ``'power'``. Defaults to
    ``'abbreviated'``.
itex : boolean, optional
    Specifies if itex-specific syntax is used, including emitting
    ``$$...$$``.
ln_notation : boolean, optional
    If set to ``True``, ``\ln`` is used instead of default ``\log``.
long_frac_ratio : float or None, optional
    The allowed ratio of the width of the numerator to the width of the
    denominator before the printer breaks off long fractions. If ``None``
    (the default value), long fractions are not broken up.
mat_delim : string, optional
    The delimiter to wrap around matrices. Can be one of ``'['``, ``'('``,
    or the empty string ``''``. Defaults to ``'['``.
mat_str : string, optional
    Which matrix environment string to emit. ``'smallmatrix'``,
    ``'matrix'``, ``'array'``, etc. Defaults to ``'smallmatrix'`` for
    inline mode, ``'matrix'`` for matrices of no more than 10 columns, and
    ``'array'`` otherwise.
mode: string, optional
    Specifies how the generated code will be delimited. ``mode`` can be one
    of ``'plain'``, ``'inline'``, ``'equation'`` or ``'equation*'``.  If
    ``mode`` is set to ``'plain'``, then the resulting code will not be
    delimited at all (this is the default). If ``mode`` is set to
    ``'inline'`` then inline LaTeX ``$...$`` will be used. If ``mode`` is
    set to ``'equation'`` or ``'equation*'``, the resulting code will be
    enclosed in the ``equation`` or ``equation*`` environment (remember to
    import ``amsmath`` for ``equation*``), unless the ``itex`` option is
    set. In the latter case, the ``$$...$$`` syntax is used.
mul_symbol : string or None, optional
    The symbol to use for multiplication. Can be one of ``None``,
    ``'ldot'``, ``'dot'``, or ``'times'``.
order: string, optional
    Any of the supported monomial orderings (currently ``'lex'``,
    ``'grlex'``, or ``'grevlex'``), ``'old'``, and ``'none'``. This
    parameter does nothing for `~.Mul` objects. Setting order to ``'old'``
    uses the compatibility ordering for ``~.Add`` defined in Printer. For
    very large expressions, set the ``order`` keyword to ``'none'`` if
    speed is a concern.
symbol_names : dictionary of strings mapped to symbols, optional
    Dictionary of symbols and the custom strings they should be emitted as.
root_notation : boolean, optional
    If set to ``False``, exponents of the form 1/n are printed in fractonal
    form. Default is ``True``, to print exponent in root form.
mat_symbol_style : string, optional
    Can be either ``'plain'`` (default) or ``'bold'``. If set to
    ``'bold'``, a `~.MatrixSymbol` A will be printed as ``\mathbf{A}``,
    otherwise as ``A``.
imaginary_unit : string, optional
    String to use for the imaginary unit. Defined options are ``'i'``
    (default) and ``'j'``. Adding ``r`` or ``t`` in front gives ``\mathrm``
    or ``\text``, so ``'ri'`` leads to ``\mathrm{i}`` which gives
    `\mathrm{i}`.
gothic_re_im : boolean, optional
    If set to ``True``, `\Re` and `\Im` is used for ``re`` and ``im``, respectively.
    The default is ``False`` leading to `\operatorname{re}` and `\operatorname{im}`.
decimal_separator : string, optional
    Specifies what separator to use to separate the whole and fractional parts of a
    floating point number as in `2.5` for the default, ``period`` or `2{,}5`
    when ``comma`` is specified. Lists, sets, and tuple are printed with semicolon
    separating the elements when ``comma`` is chosen. For example, [1; 2; 3] when
    ``comma`` is chosen and [1,2,3] for when ``period`` is chosen.
parenthesize_super : boolean, optional
    If set to ``False``, superscripted expressions will not be parenthesized when
    powered. Default is ``True``, which parenthesizes the expression when powered.
min: Integer or None, optional
    Sets the lower bound for the exponent to print floating point numbers in
    fixed-point format.
max: Integer or None, optional
    Sets the upper bound for the exponent to print floating point numbers in
    fixed-point format.
diff_operator: string, optional
    String to use for differential operator. Default is ``'d'``, to print in italic
    form. ``'rd'``, ``'td'`` are shortcuts for ``\mathrm{d}`` and ``\text{d}``.
adjoint_style: string, optional
    String to use for the adjoint symbol. Defined options are ``'dagger'``
    (default),``'star'``, and ``'hermitian'``.

Notes
=====

Not using a print statement for printing, results in double backslashes for
latex commands since that's the way Python escapes backslashes in strings.

>>> from sympy import latex, Rational
>>> from sympy.abc import tau
>>> latex((2*tau)**Rational(7,2))
'8 \\sqrt{2} \\tau^{\\frac{7}{2}}'
>>> print(latex((2*tau)**Rational(7,2)))
8 \sqrt{2} \tau^{\frac{7}{2}}

Examples
========

>>> from sympy import latex, pi, sin, asin, Integral, Matrix, Rational, log
>>> from sympy.abc import x, y, mu, r, tau

Basic usage:

>>> print(latex((2*tau)**Rational(7,2)))
8 \sqrt{2} \tau^{\frac{7}{2}}

``mode`` and ``itex`` options:

>>> print(latex((2*mu)**Rational(7,2), mode='plain'))
8 \sqrt{2} \mu^{\frac{7}{2}}
>>> print(latex((2*tau)**Rational(7,2), mode='inline'))
$8 \sqrt{2} \tau^{7 / 2}$
>>> print(latex((2*mu)**Rational(7,2), mode='equation*'))
\begin{equation*}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation*}
>>> print(latex((2*mu)**Rational(7,2), mode='equation'))
\begin{equation}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation}
>>> print(latex((2*mu)**Rational(7,2), mode='equation', itex=True))
$$8 \sqrt{2} \mu^{\frac{7}{2}}$$
>>> print(latex((2*mu)**Rational(7,2), mode='plain'))
8 \sqrt{2} \mu^{\frac{7}{2}}
>>> print(latex((2*tau)**Rational(7,2), mode='inline'))
$8 \sqrt{2} \tau^{7 / 2}$
>>> print(latex((2*mu)**Rational(7,2), mode='equation*'))
\begin{equation*}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation*}
>>> print(latex((2*mu)**Rational(7,2), mode='equation'))
\begin{equation}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation}
>>> print(latex((2*mu)**Rational(7,2), mode='equation', itex=True))
$$8 \sqrt{2} \mu^{\frac{7}{2}}$$

Fraction options:

>>> print(latex((2*tau)**Rational(7,2), fold_frac_powers=True))
8 \sqrt{2} \tau^{7/2}
>>> print(latex((2*tau)**sin(Rational(7,2))))
\left(2 \tau\right)^{\sin{\left(\frac{7}{2} \right)}}
>>> print(latex((2*tau)**sin(Rational(7,2)), fold_func_brackets=True))
\left(2 \tau\right)^{\sin {\frac{7}{2}}}
>>> print(latex(3*x**2/y))
\frac{3 x^{2}}{y}
>>> print(latex(3*x**2/y, fold_short_frac=True))
3 x^{2} / y
>>> print(latex(Integral(r, r)/2/pi, long_frac_ratio=2))
\frac{\int r\, dr}{2 \pi}
>>> print(latex(Integral(r, r)/2/pi, long_frac_ratio=0))
\frac{1}{2 \pi} \int r\, dr

Multiplication options:

>>> print(latex((2*tau)**sin(Rational(7,2)), mul_symbol="times"))
\left(2 \times \tau\right)^{\sin{\left(\frac{7}{2} \right)}}

Trig options:

>>> print(latex(asin(Rational(7,2))))
\operatorname{asin}{\left(\frac{7}{2} \right)}
>>> print(latex(asin(Rational(7,2)), inv_trig_style="full"))
\arcsin{\left(\frac{7}{2} \right)}
>>> print(latex(asin(Rational(7,2)), inv_trig_style="power"))
\sin^{-1}{\left(\frac{7}{2} \right)}

Matrix options:

>>> print(latex(Matrix(2, 1, [x, y])))
\left[\begin{matrix}x\\y\end{matrix}\right]
>>> print(latex(Matrix(2, 1, [x, y]), mat_str = "array"))
\left[\begin{array}{c}x\\y\end{array}\right]
>>> print(latex(Matrix(2, 1, [x, y]), mat_delim="("))
\left(\begin{matrix}x\\y\end{matrix}\right)

Custom printing of symbols:

>>> print(latex(x**2, symbol_names={x: 'x_i'}))
x_i^{2}

Logarithms:

>>> print(latex(log(10)))
\log{\left(10 \right)}
>>> print(latex(log(10), ln_notation=True))
\ln{\left(10 \right)}

``latex()`` also supports the builtin container types :class:`list`,
:class:`tuple`, and :class:`dict`:

>>> print(latex([2/x, y], mode='inline'))
$\left[ 2 / x, \  y\right]$

Unsupported types are rendered as monospaced plaintext:

>>> print(latex(int))
\mathtt{\text{<class 'int'>}}
>>> print(latex("plain % text"))
\mathtt{\text{plain \% text}}

See :ref:`printer_method_example` for an example of how to override
this behavior for your own types by implementing ``_latex``.

.. versionchanged:: 1.7.0
    Unsupported types no longer have their ``str`` representation treated as valid latex.

)rµ   r  ©r  rú   s     rs   r  r  —  s   € ôn ˜Ó!×)Ñ)¨$Ó/Ð/ru   c                ó.   • [        [        U 40 UD65        g)z\Prints LaTeX representation of the given expression. Takes the same
settings as ``latex()``.N)Úprintr  rÝ  s     rs   Úprint_latexrà  q  s   € ô 
Œ%�Ñ
!˜Ñ
!Õ"ru   c           
     óÀ  • [        S0 UD6nUS:X  a  SnSnSn	Sn
SnO<US:X  a  SnSnSn	S	n
SnO+US
:X  a  SnSnSn	Sn
SnO[        SR                  U5      5      eSnU(       a  SnUR                  5       n[	        U5      nSn[        U5       HÊ  nUU   nSnSnSnXò:”  a  U(       a  SnOSnSnXò:X  a  UUS-
  :  a  XÉ-   S-   S-   nOSnUR                  5       S   S:X  a  SU-  nSnUS:X  a?  US:X  a  SnUSR                  UR                  U 5      UUUR                  U5      U5      -  nO&USR                  UUUR                  U5      U5      -  nUS-  nMÌ     Xz-  nU$ )aâ  
This function generates a LaTeX equation with a multiline right-hand side
in an ``align*``, ``eqnarray`` or ``IEEEeqnarray`` environment.

Parameters
==========

lhs : Expr
    Left-hand side of equation

rhs : Expr
    Right-hand side of equation

terms_per_line : integer, optional
    Number of terms per line to print. Default is 1.

environment : "string", optional
    Which LaTeX wnvironment to use for the output. Options are "align*"
    (default), "eqnarray", and "IEEEeqnarray".

use_dots : boolean, optional
    If ``True``, ``\\dots`` is added to the end of each line. Default is ``False``.

Examples
========

>>> from sympy import multiline_latex, symbols, sin, cos, exp, log, I
>>> x, y, alpha = symbols('x y alpha')
>>> expr = sin(alpha*y) + exp(I*alpha) - cos(log(y))
>>> print(multiline_latex(x, expr))
\begin{align*}
x = & e^{i \alpha} \\
& + \sin{\left(\alpha y \right)} \\
& - \cos{\left(\log{\left(y \right)} \right)}
\end{align*}

Using at most two terms per line:
>>> print(multiline_latex(x, expr, 2))
\begin{align*}
x = & e^{i \alpha} + \sin{\left(\alpha y \right)} \\
& - \cos{\left(\log{\left(y \right)} \right)}
\end{align*}

Using ``eqnarray`` and dots:
>>> print(multiline_latex(x, expr, terms_per_line=2, environment="eqnarray", use_dots=True))
\begin{eqnarray}
x & = & e^{i \alpha} + \sin{\left(\alpha y \right)} \dots\nonumber\\
& & - \cos{\left(\log{\left(y \right)} \right)}
\end{eqnarray}

Using ``IEEEeqnarray``:
>>> print(multiline_latex(x, expr, environment="IEEEeqnarray"))
\begin{IEEEeqnarray}{rCl}
x & = & e^{i \alpha} \nonumber\\
& & + \sin{\left(\alpha y \right)} \nonumber\\
& & - \cos{\left(\log{\left(y \right)} \right)}
\end{IEEEeqnarray}

Notes
=====

All optional parameters from ``latex`` can also be used.

Úeqnarrayz\begin{eqnarray}
z& = &z	\nonumberz
\end{eqnarray}TÚIEEEeqnarrayz\begin{IEEEeqnarray}{rCl}
z
\end{IEEEeqnarray}úalign*z\begin{align*}
z= &rä   z
\end{align*}FzUnknown environment: {}z\dotsr€  rª  z& & r  r=  r  r   r  rQ  z{:s} {:s}{:s} {:s} {:s}z{:s}{:s} {:s} {:s}rp   )rµ   rô   r  Úas_ordered_termsr˜  r—  rå  r  )rS  rU  Úterms_per_lineÚenvironmentÚuse_dotsrú   r8  r­  Ú
first_termÚnonumberÚend_termÚdoubleetrs  rv  Ún_termsÚ
term_countrÌ   rw  Ú
term_startÚterm_endr7  s                        rs   Úmultiline_latexrñ  x  sÉ  € ôF 	Ñ �xÑ €AØ�jÓ Ø+ˆØˆ
ØˆØ&ˆØ‰Ø	˜Ó	&Ø4ˆØˆ
ØˆØ*ˆØ‰Ø	˜Ó	 Ø)ˆØˆ
ØˆØ%ˆØ‰äÐ2×9Ñ9¸+ÓFÓGÐGØ€DÞØˆØ× Ñ Ó"€EÜ�%‹j€GØ€JÜ�7Ž^ˆØ�Q‰xˆØˆ
ØˆØˆØÓ&ÞØ#‘
à!�
ØˆJØÓ'à�7˜1‘9‹}à™?¨UÑ2°TÑ9‘à�à×"Ñ"Ó$ QÑ'¨2Ó-Ø�d‘7ˆDØˆDØ�‹6Ø�s‹{Ø�ØÐ0×7Ñ7¸¿	¹	À#»Ø" D¨!¯)©)°D«/¸8óEñ E‰Fð Ð+×2Ñ2°:¸tØŸ	™	 $›¨ó3ñ 3ˆFà�a‰Š
ñ= ð> Ñ€FØ€Mru   )rr   rˆ  rþ  rˆ  )r€  rä  F)JÚ__doc__Ú
__future__r   Útypingr   r   r   rë  Ú
sympy.corer   r   r	   r
   r   r   r   r   Úsympy.core.alphabetsr   Úsympy.core.containersr   Úsympy.core.functionr   r   r   Úsympy.core.operationsr   Úsympy.core.powerr   Úsympy.core.sortingr   Úsympy.core.sympifyr   r  r   r   r   Úsympy.printing.precedencer   Úsympy.printing.printerr   r   Úsympy.printing.conventionsr   r   r    r!   Úmpmath.libmp.libmpfr"   r#   r®  Úsympy.utilities.iterablesr$   r%   r8   Úsympy.tensor.arrayr&   Úsympy.vector.basisdependentr'   r²  rÙ  rÛ  r¬   rÉ  Ú	frozensetrÚ  Úcompilerî  r³   rµ   rH  r  rà  rñ  rp   ru   rs   Ú<module>r     s—  ðòõ #ß /Ñ /ã ç D× DÓ DÝ 'Ý 'ß BÑ BÝ )Ý  Ý /Ý +ß ?Ñ ?õ =ß :ß Hß <ç Bç 7ã 	æÝ,Ý:òÐ ð%Øˆ]ð%à
ˆMð%ð ˆYð%ð ˆYð	%ð
 ˆ}ð%ð ˆMð%ð 
ˆ=ð%ð ˆYð%ð ˆMð%ð ˆ]ð%ð ˆjð%ð 	ˆ-ð%ð 	ˆ-ð%ð 	ˆ&ð%ð ˆsð%ð  ˆ}ð!%ð" 	ˆ&ñ#%ð$ 
ˆ=ð%%ð& ˆYð'%ð( 
ˆ=ð)%ð* ˆ{ð+%ð, 
ˆ7ð-%ð. 
ˆ=ð/%ð0 
ˆ7ð1%ð2 ˆYð3%ð4 ˆZð5%ð6 ˆZð7%ð8 
ˆ7ð9%ð: 
ˆ=ð;%ð< �.ð=%ð> �ð?%ð@ ˆjðA%ðB ˆYðC%ðD ˆjñE%ðF ØòI%Ð òN,€ð2àÑ.ð2ð Ñ*ð2ð Ñ(ð	2ð
 Ñ&ð2ð 
Ñ$ð2ð Ñ(ð2ð Ñ(ð2ð Ñ(ð2ð Ñ(ð2ð Ñ(ð2ð 
Ñ$ð2ð 
Ñ$ð2ð 
Ñ$ð2ð Ñ!ð2ð  
Ñð!2ð$ Ñ,ð%2ð& 	Ñ
*ð'2ñ( )Ù(Ù*á0Ù9Ù-Ù-ò72€Ð.ó ñ< ˜fÓ%Ð ð ‡J‚Jˆ~ÓØ‡J‚JÐ'Ó(ðÐ ôôg+7�7ô g+7ôTWñ> �ÓñV0ó ðV0òr#õ~ru   