ó
    Š*£h°1  ã                  ó¢  • S 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  0 SS	 S
4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_S S! S"4/_S#S$ S%4/_S&S' S(4/_S)S* S+4/_S,S- S.4/_S/S0 S14/_S2S3 S44/_S5S6 S74/_S8S9 S:4/_0 S;S< S=4/_S>S? S@4/_SASB SC4/_SDSE SF4/_SGSH SI4/_SJSK SL4/_SMSN SO4/_SPSQ SR4/_SSST SU4/_SVSW SX4/_SYSZ S[4/_S\S] S\4/_S^S_ S^4/_S`Sa Sb4/_ScSd Sb4/_SeSf Sg4/_ShSi Sj4/_E0 SkSl Sm4/_SnSo Sp4/_SqSr Sm4/_SsSt Su4/_SvSw Sx4/_SySz S{4/_S|S} S~4/_SS€ S�4/_S‚Sƒ S�4/_S„S… S†4/_S‡Sˆ S‰4/_SŠS‹ SŒ4/_S�SŽ S�4/_S�S‘ S’4/_S“S” S•4/_S–S— S˜4/_S™Sš S›4/_E0 SœS� Sž4/_SŸS  S¡4/_S¢S£ S¤4/_S¥S¦ S§4/_S¨S© Sª4/_S«S¬ S­4/_S®S¯ S°4/_S±S² S³4/_S´Sµ S¶4/_S·S¸ S¶4/_S¹Sº S»4/_S¼S½ S¾4/_S¿SÀ SÁ4/_SÂSÃ SÄ4/_SÅSÆ SÇ4/_SÈSÉ SÊ4/_SËSÌ SÊ4/_E0 SÍSÎ SÏ4/_SÐSÑ SÒ4/_SÓSÔ SÕ4/_SÖS× SØ4/_SÙSÚ SÛ4/_SÜSÝ SÞ4/_SßSà SÞ4/_SáSâ Sã4/_SäSå Sæ4/_SçSè Sé4/_SêSë Sì4/_SíSî Sï4/_SðSñ Sò4/_SóSô Sõ4/_SöS÷ Sø4/_SùSú Sû4/_SüSý Sþ4/_E0 SÿGS  GS4/_GSGS GS4/_GSGS GS4/_GSGS	 GS
4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GS GS! GS"4/_GS#GS$ GS%4/_GS&GS' GS(4/_GS)GS* GS)4/_GS+GS, GS-4/_GS.GS/ GS.4/_EGS0GS1 GS24/0Er " GS3 GS4\5      rGS5 rGg6(7  z
Mathematica code printer
é    )Úannotations)ÚAny)ÚBasicÚExprÚFloat)Údefault_sort_key)ÚCodePrinter)Ú
precedenceÚexpc                ó   • g©NT© ©Úxs    ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/printing/mathematica.pyÚ<lambda>r      ó   € �tó    ÚExpÚlogc                ó   • gr   r   r   s    r   r   r      r   r   ÚLogÚsinc                ó   • gr   r   r   s    r   r   r      r   r   ÚSinÚcosc                ó   • gr   r   r   s    r   r   r      r   r   ÚCosÚtanc                ó   • gr   r   r   s    r   r   r      r   r   ÚTanÚcotc                ó   • gr   r   r   s    r   r   r      r   r   ÚCotÚsecc                ó   • gr   r   r   s    r   r   r      r   r   ÚSecÚcscc                ó   • gr   r   r   s    r   r   r      r   r   ÚCscÚasinc                ó   • gr   r   r   s    r   r   r      ó   € ˜r   ÚArcSinÚacosc                ó   • gr   r   r   s    r   r   r      r-   r   ÚArcCosÚatanc                ó   • gr   r   r   s    r   r   r      r-   r   ÚArcTanÚacotc                ó   • gr   r   r   s    r   r   r      r-   r   ÚArcCotÚasecc                ó   • gr   r   r   s    r   r   r      r-   r   ÚArcSecÚacscc                ó   • gr   r   r   s    r   r   r      r-   r   ÚArcCscÚsinhc                ó   • gr   r   r   s    r   r   r      r-   r   ÚSinhÚcoshc                ó   • gr   r   r   s    r   r   r      r-   r   ÚCoshÚtanhc                ó   • gr   r   r   s    r   r   r       r-   r   ÚTanhÚcothc                ó   • gr   r   r   s    r   r   r   !   r-   r   ÚCothÚsechc                ó   • gr   r   r   s    r   r   r   "   r-   r   ÚSechÚcschc                ó   • gr   r   r   s    r   r   r   #   r-   r   ÚCschÚasinhc                ó   • gr   r   r   s    r   r   r   $   ó   € ˜r   ÚArcSinhÚacoshc                ó   • gr   r   r   s    r   r   r   %   rR   r   ÚArcCoshÚatanhc                ó   • gr   r   r   s    r   r   r   &   rR   r   ÚArcTanhÚacothc                ó   • gr   r   r   s    r   r   r   '   rR   r   ÚArcCothÚasechc                ó   • gr   r   r   s    r   r   r   (   rR   r   ÚArcSechÚacschc                ó   • gr   r   r   s    r   r   r   )   rR   r   ÚArcCschÚsincc                ó   • gr   r   r   s    r   r   r   *   r-   r   ÚSincÚ	conjugatec                ó   • gr   r   r   s    r   r   r   +   ó   € ˜Tr   Ú	ConjugateÚMaxc                 ó   • gr   r   r   s    r   r   r   ,   r-   r   ÚMinc                 ó   • gr   r   r   s    r   r   r   -   r-   r   Úerfc                ó   • gr   r   r   s    r   r   r   .   r   r   ÚErfÚerf2c                 ó   • gr   r   r   s    r   r   r   /   rR   r   Úerfcc                ó   • gr   r   r   s    r   r   r   0   r-   r   ÚErfcÚerfic                ó   • gr   r   r   s    r   r   r   1   r-   r   ÚErfiÚerfinvc                ó   • gr   r   r   s    r   r   r   2   ó   € ˜$r   Ú
InverseErfÚerfcinvc                ó   • gr   r   r   s    r   r   r   3   ó   € ˜4r   ÚInverseErfcÚerf2invc                 ó   • gr   r   r   s    r   r   r   4   ó   € ˜Dr   Úexpintc                 ó   • gr   r   r   s    r   r   r   5   r   r   ÚExpIntegralEÚEic                ó   • gr   r   r   s    r   r   r   6   ó   € �dr   ÚExpIntegralEiÚfresnelcc                ó   • gr   r   r   s    r   r   r   7   rƒ   r   ÚFresnelCÚfresnelsc                ó   • gr   r   r   s    r   r   r   8   rƒ   r   ÚFresnelSÚgammac                ó   • gr   r   r   s    r   r   r   9   rR   r   ÚGammaÚ
uppergammac                 ó   • gr   r   r   s    r   r   r   :   ó   € ˜tr   Ú	polygammac                 ó   • gr   r   r   s    r   r   r   ;   ó   € ˜dr   Ú	PolyGammaÚloggammac                ó   • gr   r   r   s    r   r   r   <   rƒ   r   ÚLogGammaÚbetac                 ó   • gr   r   r   s    r   r   r   =   rR   r   ÚBetaÚCic                ó   • gr   r   r   s    r   r   r   >   r‰   r   ÚCosIntegralÚSic                ó   • gr   r   r   s    r   r   r   ?   r‰   r   ÚSinIntegralÚChic                ó   • gr   r   r   s    r   r   r   @   r   r   ÚCoshIntegralÚShic                ó   • gr   r   r   s    r   r   r   A   r   r   ÚSinhIntegralÚlic                ó   • gr   r   r   s    r   r   r   B   r‰   r   ÚLogIntegralÚ	factorialc                ó   • gr   r   r   s    r   r   r   C   rh   r   Ú	FactorialÚ
factorial2c                ó   • gr   r   r   s    r   r   r   D   r™   r   Ú
Factorial2Úsubfactorialc                ó   • gr   r   r   s    r   r   r   E   ó   €  r   ÚSubfactorialÚcatalanc                ó   • gr   r   r   s    r   r   r   F   r   r   ÚCatalanNumberÚharmonicc                 ó   • gr   r   r   s    r   r   r   G   rh   r   ÚHarmonicNumberÚlucasc                ó   • gr   r   r   s    r   r   r   H   rR   r   ÚLucasLÚRisingFactorialc                 ó   • gr   r   r   s    r   r   r   I   s   €  Dr   Ú
PochhammerÚFallingFactorialc                 ó   • gr   r   r   s    r   r   r   J   s   €  Tr   ÚFactorialPowerÚlaguerrec                 ó   • gr   r   r   s    r   r   r   K   rh   r   Ú	LaguerreLÚassoc_laguerrec                 ó   • gr   r   r   s    r   r   r   L   ó   €  4r   Úhermitec                 ó   • gr   r   r   s    r   r   r   M   rƒ   r   ÚHermiteHÚjacobic                 ó   • gr   r   r   s    r   r   r   N   r   r   ÚJacobiPÚ
gegenbauerc                 ó   • gr   r   r   s    r   r   r   O   r–   r   ÚGegenbauerCÚ
chebyshevtc                 ó   • gr   r   r   s    r   r   r   P   r–   r   Ú
ChebyshevTÚ
chebyshevuc                 ó   • gr   r   r   s    r   r   r   Q   r–   r   Ú
ChebyshevUÚlegendrec                 ó   • gr   r   r   s    r   r   r   R   rh   r   Ú	LegendrePÚassoc_legendrec                 ó   • gr   r   r   s    r   r   r   S   rÎ   r   Úmathieucc                 ó   • gr   r   r   s    r   r   r   T   rh   r   ÚMathieuCÚmathieusc                 ó   • gr   r   r   s    r   r   r   U   rh   r   ÚMathieuSÚmathieucprimec                 ó   • gr   r   r   s    r   r   r   V   ó   €  $r   ÚMathieuCPrimeÚmathieusprimec                 ó   • gr   r   r   s    r   r   r   W   rë   r   ÚMathieuSPrimeÚ	stieltjesc                ó   • gr   r   r   s    r   r   r   X   rh   r   ÚStieltjesGammaÚ
elliptic_ec                 ó   • gr   r   r   s    r   r   r   Y   r–   r   Ú	EllipticEÚ
elliptic_fc                 ó   • gr   r   r   s    r   r   r   Z   r–   r   Ú
elliptic_kc                ó   • gr   r   r   s    r   r   r   [   r™   r   Ú	EllipticKÚelliptic_pic                 ó   • gr   r   r   s    r   r   r   \   r¸   r   Ú
EllipticPiÚzetac                 ó   • gr   r   r   s    r   r   r   ]   rR   r   ÚZetaÚdirichlet_etac                ó   • gr   r   r   s    r   r   r   ^   s   €  r   ÚDirichletEtaÚ
riemann_xic                ó   • gr   r   r   s    r   r   r   _   r™   r   Ú	RiemannXiÚbesselic                 ó   • gr   r   r   s    r   r   r   `   rƒ   r   ÚBesselIÚbesseljc                 ó   • gr   r   r   s    r   r   r   a   rƒ   r   ÚBesselJÚbesselkc                 ó   • gr   r   r   s    r   r   r   b   rƒ   r   ÚBesselKÚbesselyc                 ó   • gr   r   r   s    r   r   r   c   rƒ   r   ÚBesselYÚhankel1c                 ó   • gr   r   r   s    r   r   r   d   rƒ   r   ÚHankelH1Úhankel2c                 ó   • gr   r   r   s    r   r   r   e   rƒ   r   ÚHankelH2Úairyaic                ó   • gr   r   r   s    r   r   r   f   r{   r   ÚAiryAiÚairybic                ó   • gr   r   r   s    r   r   r   g   r{   r   ÚAiryBiÚairyaiprimec                ó   • gr   r   r   s    r   r   r   h   r–   r   ÚAiryAiPrimeÚairybiprimec                ó   • gr   r   r   s    r   r   r   i   r–   r   ÚAiryBiPrimeÚpolylogc                 ó   • gr   r   r   s    r   r   r   j   rƒ   r   ÚPolyLogÚlerchphic                 ó   • gr   r   r   s    r   r   r   k   rh   r   ÚLerchPhiÚgcdc                 ó   • gr   r   r   s    r   r   r   l   r-   r   ÚGCDÚlcmc                 ó   • gr   r   r   s    r   r   r   m   r-   r   ÚLCMÚjnc                 ó   • gr   r   r   s    r   r   r   n   r   r   ÚSphericalBesselJÚync                 ó   • gr   r   r   s    r   r   r   o   r   r   ÚSphericalBesselYÚhyperc                 ó   • gr   r   r   s    r   r   r   p   r{   r   ÚHypergeometricPFQÚmeijergc                 ó   • gr   r   r   s    r   r   r   q   rƒ   r   ÚMeijerGÚappellf1c                 ó   • gr   r   r   s    r   r   r   r   rh   r   ÚAppellF1Ú
DiracDeltac                ó   • gr   r   r   s    r   r   r   s   r™   r   Ú	Heavisidec                ó   • gr   r   r   s    r   r   r   t   rh   r   ÚHeavisideThetaÚKroneckerDeltac                 ó   • gr   r   r   s    r   r   r   u   rÎ   r   Úsqrtc                ó   • gr   r   r   s    r   r   r   v   r-   r   ÚSqrtc                  óh  ^ • \ rS rSr% SrSrSr\" \R                  40 S0 S.D6r	S\
S'   \" 5       rS	\
S
'   \" 5       rS\
S'   0 4S jrS rS rU 4S 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S rS r S  r!S! r"\"r#\"r$S" r%S# r&S$ r'S% r(S& r)\)r*S' r+S( r,S) r-S* r.S+ r/S, r0S-r1U =r2$ ).ÚMCodePrinteréz   zUA printer to convert Python expressions to
strings of the Wolfram's Mathematica code
Ú_mcodezWolfram Languageé   )Ú	precisionÚuser_functionszdict[str, Any]Ú_default_settingszset[tuple[Expr, Float]]Ú_number_symbolsz
set[Basic]Ú_not_supportedc                ó>  • [         R                  " X5        [        [        5      U l        UR	                  S0 5      R                  5       nUR                  5        H$  u  p4[        U[        5      (       a  M  S U4/X#'   M&     U R                  R                  U5        g)z+Register function mappings supplied by userrP  c                 ó   • gr   r   r   s    r   r   Ú'MCodePrinter.__init__.<locals>.<lambda>�   s   € ¨Dr   N)
r	   Ú__init__ÚdictÚknown_functionsÚgetÚcopyÚitemsÚ
isinstanceÚlistÚupdate)ÚselfÚsettingsÚ	userfuncsÚkÚvs        r   rW  ÚMCodePrinter.__init__‰   s|   € ä×Ò˜TÔ,Ü#¤OÓ4ˆÔØ—L‘LÐ!1°2Ó6×;Ñ;Ó=ˆ	Ø—O‘OÖ%‰DˆAÜ˜a¤×&Ó&Ù!0°!Ð 4Ð5�	“ñ &ð 	×Ñ×#Ñ# IÕ.r   c                ó   • U$ ©Nr   )r`  Úliness     r   Ú_format_codeÚMCodePrinter._format_code“   s   € Øˆr   c                ó’   • [        U5      nU R                  UR                  U5      < SU R                  UR                  U5      < 3$ )NÚ^)r
   ÚparenthesizeÚbaser   )r`  ÚexprÚPRECs      r   Ú
_print_PowÚMCodePrinter._print_Pow–   s>   € Ü˜$ÓˆØ×+Ñ+¨D¯I©I°tÖ<Ø×+Ñ+¨D¯H©H°dÕ;ð=ð 	=r   c                óÔ   >^ ^• [        U5      mUR                  5       u  p#[        TT ]  UR                  " U6 5      nU(       a$  US-  nUSR                  UU 4S jU 5       5      -  nU$ )NÚ*z**c              3  óH   >#   • U  H  nTR                  UT5      v •  M     g 7frg  )rm  )Ú.0Úarp  r`  s     €€r   Ú	<genexpr>Ú*MCodePrinter._print_Mul.<locals>.<genexpr>¡   s!   øé € ÐDÂ¸A˜T×.Ñ.¨q°$×7Ð7Âùs   ƒ")r
   Úargs_cncÚsuperÚ
_print_MulÚfuncÚjoin)r`  ro  ÚcÚncÚresrp  Ú	__class__s   `    @€r   r|  ÚMCodePrinter._print_Mul›   s[   ú€ Ü˜$ÓˆØ—‘“‰ˆÜ‰gÑ  §¢¨A Ó/ˆÞØ�3‰JˆCØ�4—9‘9ÕDÁÓDÓDÑDˆCØˆ
r   c                óª   • U R                  UR                  5      nU R                  UR                  5      nUR                  nSR	                  X$U5      $ )Nz{} {} {})Ú_printÚlhsÚrhsÚrel_opÚformat)r`  ro  Úlhs_codeÚrhs_codeÚops        r   Ú_print_RelationalÚMCodePrinter._print_Relational¤   sB   € Ø—;‘;˜tŸx™xÓ(ˆØ—;‘;˜tŸx™xÓ(ˆØ�[‰[ˆØ× Ñ  ¨xÓ8Ð8r   c                ó   • g)NÚ0r   ©r`  ro  s     r   Ú_print_ZeroÚMCodePrinter._print_Zero«   ó   € Ør   c                ó   • g)NÚ1r   r‘  s     r   Ú
_print_OneÚMCodePrinter._print_One®   r”  r   c                ó   • g)Nz-1r   r‘  s     r   Ú_print_NegativeOneÚMCodePrinter._print_NegativeOne±   ó   € Ør   c                ó   • g)Nz1/2r   r‘  s     r   Ú_print_HalfÚMCodePrinter._print_Half´   s   € Ør   c                ó   • g)NÚIr   r‘  s     r   Ú_print_ImaginaryUnitÚ!MCodePrinter._print_ImaginaryUnit·   r”  r   c                ó   • g)NÚInfinityr   r‘  s     r   Ú_print_InfinityÚMCodePrinter._print_Infinity¼   s   € Ør   c                ó   • g)Nz	-Infinityr   r‘  s     r   Ú_print_NegativeInfinityÚ$MCodePrinter._print_NegativeInfinity¿   s   € Ør   c                ó   • g)NÚComplexInfinityr   r‘  s     r   Ú_print_ComplexInfinityÚ#MCodePrinter._print_ComplexInfinityÂ   s   € Ø r   c                ó   • g)NÚIndeterminater   r‘  s     r   Ú
_print_NaNÚMCodePrinter._print_NaNÅ   s   € Ør   c                ó   • g)NÚEr   r‘  s     r   Ú_print_Exp1ÚMCodePrinter._print_Exp1Ê   r”  r   c                ó   • g)NÚPir   r‘  s     r   Ú	_print_PiÚMCodePrinter._print_PiÍ   rœ  r   c                ó   • g)NÚGoldenRatior   r‘  s     r   Ú_print_GoldenRatioÚMCodePrinter._print_GoldenRatioÐ   s   € Ør   c                óX   • UR                  SS9n[        U5      nU R                  X#5      $ )NT)r}  )Úexpandr
   rm  )r`  ro  Úexpandedrp  s       r   Ú_print_TribonacciConstantÚ&MCodePrinter._print_TribonacciConstantÓ   s-   € Ø—;‘; D�;Ð)ˆÜ˜$ÓˆØ× Ñ  Ó0Ð0r   c                ó   • g)NÚ
EulerGammar   r‘  s     r   Ú_print_EulerGammaÚMCodePrinter._print_EulerGammaØ   s   € Ør   c                ó   • g)NÚCatalanr   r‘  s     r   Ú_print_CatalanÚMCodePrinter._print_CatalanÛ   s   € Ør   c                óF   ^ • SSR                  U 4S jU 5       5      -   S-   $ )NÚ{ú, c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7frg  ©Údoprint©rv  rw  r`  s     €r   rx  Ú+MCodePrinter._print_list.<locals>.<genexpr>à   s   øé € Ð=º°1˜tŸ|™|¨AŸ˜ºùó   ƒ!Ú}©r~  r‘  s   ` r   Ú_print_listÚMCodePrinter._print_listß   s"   ø€ Ø�T—Y‘YÔ=¹Ó=Ó=Ñ=ÀÑCÐCr   c                ó@   • U R                  UR                  5       5      $ rg  ©rÑ  Útolistr‘  s     r   Ú_print_ImmutableDenseMatrixÚ(MCodePrinter._print_ImmutableDenseMatrixä   ó   € Ø�|‰|˜DŸK™K›MÓ*Ð*r   c                óh   ^ ^^• U 4S jmUU4S jnUU 4S jnSR                  U" 5       U" 5       5      $ )Nc                ó€   >• SR                  TR                  U S   S-   U S   S-   45      TR                  U5      5      $ )Nú{} -> {}r   é   ©r‰  rÑ  ©ÚposÚvalr`  s     €r   Ú
print_ruleÚ=MCodePrinter._print_ImmutableSparseMatrix.<locals>.print_ruleé   sD   ø€ Ø×$Ñ$Ø�L‰L˜#˜a™& ™( C¨¡F¨1¡HÐ-Ó.°·±¸SÓ0AóCð Cr   c                 óš   >• [        TR                  5       R                  5       [        S9n SSR	                  U4S jU  5       5      -   S-   $ )N)ÚkeyrÍ  rÎ  c              3  ó8   >#   • U  H  u  pT" X5      v •  M     g 7frg  r   )rv  rc  rd  rç  s      €r   rx  ÚPMCodePrinter._print_ImmutableSparseMatrix.<locals>.print_data.<locals>.<genexpr>ð   s   øé € Ð=²u©t¨q™* Q×*Ð*²uùs   ƒrÕ  )ÚsortedÚtodokr\  r   r~  )r\  ro  rç  s    €€r   Ú
print_dataÚ=MCodePrinter._print_ImmutableSparseMatrix.<locals>.print_dataí   sF   ø€ Ü˜4Ÿ:™:›<×-Ñ-Ó/Ô5EÑFˆEØØ—	‘	Ô=±uÓ=Ó=ñ>àñð r   c                 ó:   >• TR                  T R                  5      $ rg  ©rÑ  Úshape©ro  r`  s   €€r   Ú
print_dimsÚ=MCodePrinter._print_ImmutableSparseMatrix.<locals>.print_dimsó   s   ø€ Ø—<‘< §
¡
Ó+Ð+r   úSparseArray[{}, {}]©r‰  )r`  ro  rï  rõ  rç  s   ``  @r   Ú_print_ImmutableSparseMatrixÚ)MCodePrinter._print_ImmutableSparseMatrixç   s,   ú€ õ	Cö	ö	,ð %×+Ñ+©J«L¹*»,ÓGÐGr   c                ó@   • U R                  UR                  5       5      $ rg  rÚ  r‘  s     r   Ú_print_ImmutableDenseNDimArrayÚ+MCodePrinter._print_ImmutableDenseNDimArrayø   rÞ  r   c                ó|   ^ ^^^^• S mS mU 4S jmUUUU4S jnUU 4S jnSR                  U" 5       U" 5       5      $ )Nc                ó>   • SSR                  S U  5       5      -   S-   $ )NrÍ  rÎ  c              3  ó$   #   • U  H  ov •  M     g 7frg  r   )rv  rw  s     r   rx  ÚZMCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_string_list.<locals>.<genexpr>ý   s   é € Ð":ªk¨¤1ªkùs   ‚rÕ  rÖ  )Ústring_lists    r   Úprint_string_listÚGMCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_string_listü   s!   € Ø˜Ÿ™Ñ":©kÓ":Ó:Ñ:¸SÑ@Ð@r   c                 ó&   • [        S U  5       5      $ )zŽHelper function to change Python style indexing to
Pathematica indexing.

Python indexing (0, 1 ... n-1)
-> Mathematica indexing (1, 2 ... n)
c              3  ó*   #   • U  H	  oS -   v •  M     g7f)râ  Nr   )rv  Úis     r   rx  Ú]MCodePrinter._print_ImmutableSparseNDimArray.<locals>.to_mathematica_index.<locals>.<genexpr>  s   é € Ð-ª 1˜Qžªùs   ‚)Útuple)Úargss    r   Úto_mathematica_indexÚJMCodePrinter._print_ImmutableSparseNDimArray.<locals>.to_mathematica_indexÿ   s   € ô Ñ-©Ó-Ó-Ð-r   c                ód   >• SR                  TR                  U 5      TR                  U5      5      $ )z.Helper function to print a rule of Mathematicará  rã  rä  s     €r   rç  Ú@MCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_rule  s(   ø€ à×$Ñ$ T§\¡\°#Ó%6¸¿¹ÀSÓ8IÓJÐJr   c                 ó¾   >• T" [        TR                  R                  5       5       V Vs/ s H   u  pT" T" TR                  U 5      6 U5      PM"     snn 5      $ s  snn f )zçHelper function to print data part of Mathematica
sparse array.

It uses the fourth notation ``SparseArray[data,{d1,d2,...}]``
from
https://reference.wolfram.com/language/ref/SparseArray.html

``data`` must be formatted with rule.
)rí  Ú_sparse_arrayr\  Ú_get_tuple_index)rê  Úvaluero  rç  r  r  s     €€€€r   rï  Ú@MCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_data  sn   ø€ ñ %ô #)¨×);Ñ);×)AÑ)AÓ)CÔ"DôFò #E‘J�Cñ Ù(¨4×+@Ñ+@ÀÓ+EÐGØöñ #EòFóð ùóFs   ª'A
c                 ó:   >• TR                  T R                  5      $ )zÆHelper function to print dimensions part of Mathematica
sparse array.

It uses the fourth notation ``SparseArray[data,{d1,d2,...}]``
from
https://reference.wolfram.com/language/ref/SparseArray.html
rò  rô  s   €€r   rõ  Ú@MCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_dims  s   ø€ ð —<‘< §
¡
Ó+Ð+r   r÷  rø  )r`  ro  rï  rõ  rç  r  r  s   ``  @@@r   Ú_print_ImmutableSparseNDimArrayÚ,MCodePrinter._print_ImmutableSparseNDimArrayû   s<   ü€ ò	Aò	.õ	K÷	ð 	ö"	,ð %×+Ñ+©J«L¹*»,ÓGÐGr   c                ó¼  ^ • UR                   R                  T R                  ;   ai  T R                  UR                   R                     nU H?  u  p4U" UR                  6 (       d  M  U< ST R	                  UR                  S5      < S3s  $    O™UR                   R                  T R
                  ;   au  T R
                  UR                   R                     u  pVT R                  U5      (       a:  [        U 4S jU 5       5      (       a   T R                  UR                  U5      5      $ UR                   R                  ST R	                  UR                  S5      -  -   $ )NÚ[rÎ  Ú]c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7frg  )Ú
_can_print)rv  Úfr`  s     €r   rx  Ú/MCodePrinter._print_Function.<locals>.<genexpr>2  s   øé € Ð0YÊ[È°·±À×1CÐ1CÊ[ùrÔ  z[%s])
r}  Ú__name__rY  r
  Ú	stringifyÚ_rewriteable_functionsr  Úallr…  Úrewrite)r`  ro  Ú
cond_mfuncÚcondÚmfuncÚtarget_fÚrequired_fss   `      r   Ú_print_FunctionÚMCodePrinter._print_Function)  s  ø€ Ø�9‰9×Ñ ×!5Ñ!5Ó5Ø×-Ñ-¨d¯i©i×.@Ñ.@ÑAˆJÛ)‘�Ù˜Ÿ™×#Ð#Û',¨d¯n©n¸T¿Y¹YÈÖ.MÐNÒNò  *ð �Y‰Y×Ñ 4×#>Ñ#>Ó>à$(×$?Ñ$?ÀÇ	Á	×@RÑ@RÑ$SÑ!ˆHØ�‰˜x×(Ñ(¬SÔ0YÉ[Ó0Y×-YÑ-YØ—{‘{ 4§<¡<°Ó#9Ó:Ð:Ø�y‰y×!Ñ! F¨T¯^©^¸D¿I¹IÀtÓ-LÑ$LÑLÐLr   c                ó"  • [        UR                  5      S:X  a-  SR                  U R                  UR                  S   5      5      $ SR                  U R                  UR                  S   5      U R                  UR                  S   5      5      $ )Nrâ  zProductLog[{}]r   zProductLog[{}, {}])Úlenr
  r‰  r…  r‘  s     r   Ú_print_LambertWÚMCodePrinter._print_LambertW8  sp   € Üˆt�y‰y‹>˜QÓØ#×*Ñ*¨4¯;©;°t·y±yÀ±|Ó+DÓEÐEØ#×*Ñ*Ø�K‰K˜Ÿ	™	 !™Ó% t§{¡{°4·9±9¸Q±<Ó'@óBð 	Br   c                ó–   • SR                  U R                  UR                  S   5      U R                  UR                  S   5      5      $ )NzArcTan[{}, {}]râ  r   )r‰  r…  r
  r‘  s     r   Ú_print_atan2ÚMCodePrinter._print_atan2>  s>   € Ø×&Ñ&Ø�K‰K˜Ÿ	™	 !™Ó% t§{¡{°4·9±9¸Q±<Ó'@óBð 	Br   c                óü   ^ • [        UR                  5      S:X  a6  UR                  S   SS  (       d  UR                  S   UR                  S   /nOUR                  nSSR	                  U 4S jU 5       5      -   S-   $ )Nrâ  r   zHold[Integrate[rÎ  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7frg  rÐ  rÒ  s     €r   rx  Ú/MCodePrinter._print_Integral.<locals>.<genexpr>G  s   øé € Ð,KÂdÀ¨T¯\©\¸!¯_¨_ÂdùrÔ  ú]])r,  Ú	variablesÚlimitsr
  r~  )r`  ro  r
  s   `  r   Ú_print_IntegralÚMCodePrinter._print_IntegralB  sh   ø€ Üˆt�~‰~Ó !Ó#¨D¯K©K¸©N¸1¸2Ö,>Ø—I‘I˜a‘L $§.¡.°Ñ"3Ð4‰Dà—9‘9ˆDØ  4§9¡9Ô,KÁdÓ,KÓ#KÑKÈdÑRÐRr   c                óZ   ^ • SSR                  U 4S jUR                   5       5      -   S-   $ )Nz	Hold[Sum[rÎ  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7frg  rÐ  rÒ  s     €r   rx  Ú*MCodePrinter._print_Sum.<locals>.<genexpr>J  s   øé € Ð&JÂ	¸1 t§|¡|°A§ Â	ùrÔ  r5  )r~  r
  r‘  s   ` r   Ú
_print_SumÚMCodePrinter._print_SumI  s&   ø€ Ø˜TŸY™YÔ&JÀÇ	Â	Ó&JÓJÑJÈTÑQÐQr   c                óÂ   ^ • UR                   nUR                   Vs/ s H  o3S   S:X  a  US   OUPM     nnSSR                  U 4S jU/U-    5       5      -   S-   $ s  snf )Nrâ  r   zHold[D[rÎ  c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7frg  rÐ  rÒ  s     €r   rx  Ú1MCodePrinter._print_Derivative.<locals>.<genexpr>O  s   øé € Ð$Nºo¸ T§\¡\°!§_ _ºoùrÔ  r5  )ro  Úvariable_countr~  )r`  ro  Údexprr  Údvarss   `    r   Ú_print_DerivativeÚMCodePrinter._print_DerivativeL  se   ø€ Ø—	‘	ˆØ37×3FÒ3FÓGÒ3F¨a˜1™ ›��1’¨Ò)Ñ3FˆÐGØ˜4Ÿ9™9Ô$N¸u¸gÈºoÓ$NÓNÑNÐQUÑUÐUùò Hs   œAc                ó$   • SR                  U5      $ )Nz(* {} *)rø  )r`  Útexts     r   Ú_get_commentÚMCodePrinter._get_commentR  s   € Ø× Ñ  Ó&Ð&r   )rY  )3r  Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚprintmethodÚlanguagerX  r	   rQ  Ú__annotations__ÚsetrR  rS  rW  ri  rq  r|  r�  r’  r—  rš  rž  r¢  r¦  r©  r­  r±  rµ  r¹  r½  rÂ  rÆ  rÊ  r×  Ú_print_tupleÚ_print_TuplerÜ  rù  rü  r  r)  Ú_print_MinMaxBaser-  r0  r8  r=  rE  rI  Ú__static_attributes__Ú__classcell__)r‚  s   @r   rK  rK  z   s  ø‡ ñð €KØ!€Há(,¨[×-JÑ-Jñ )ØØñOñ )Ð�~ó ñ
 03«u€OÐ,Ó4Ù!$£€N�JÓ&à "ô /òò=õ
ò9òòòòòò
òò!òò
òòò1ò
òòDà€LØ€Lò+òHò"+ò,Hò\Mð (ÐòBòBòSòRòV÷'ð 'r   rK  c                ó6   • [        U5      R                  U 5      $ )zæConverts an expr to a string of the Wolfram Mathematica code

Examples
========

>>> from sympy import mathematica_code as mcode, symbols, sin
>>> x = symbols('x')
>>> mcode(sin(x).series(x).removeO())
'(1/120)*x^5 - 1/6*x^3 + x'
)rK  rÑ  )ro  ra  s     r   Úmathematica_coderY  V  s   € ô ˜Ó!×)Ñ)¨$Ó/Ð/r   N)rN  Ú
__future__r   Útypingr   Ú
sympy.corer   r   r   Úsympy.core.sortingr   Úsympy.printing.codeprinterr	   Úsympy.printing.precedencer
   rY  rK  rY  r   r   r   Ú<module>r`     sE	  ðñõ #Ý ç )Ñ )Ý /å 2Ý 0ðhØ	‰^˜UÐ#Ð$ðhà	‰^˜UÐ#Ð$ðhð 
‰^˜UÐ#Ð$ðhð 
‰^˜UÐ#Ð$ð	hð
 
‰^˜UÐ#Ð$ðhð 
‰^˜UÐ#Ð$ðhð 
‰^˜UÐ#Ð$ðhð 
‰^˜UÐ#Ð$ðhð ‰n˜hÐ'Ð(ðhð ‰n˜hÐ'Ð(ðhð ‰n˜hÐ'Ð(ðhð ‰n˜hÐ'Ð(ðhð ‰n˜hÐ'Ð(ðhð ‰n˜hÐ'Ð(ðhð ‰n˜fÐ%Ð&ðhð  ‰n˜fÐ%Ð&ð!hð" ‰n˜fÐ%Ð&ñ#hð$ ‰n˜fÐ%Ð&ð%hð& ‰n˜fÐ%Ð&ð'hð( ‰n˜fÐ%Ð&ð)hð* ‰~˜yÐ)Ð*ð+hð, ‰~˜yÐ)Ð*ð-hð. ‰~˜yÐ)Ð*ð/hð0 ‰~˜yÐ)Ð*ð1hð2 ‰~˜yÐ)Ð*ð3hð4 ‰~˜yÐ)Ð*ð5hð6 ‰n˜fÐ%Ð&ð7hð8 ‘> ;Ð/Ð0ð9hð: 
‰_˜eÐ$Ð%ð;hð< 
‰_˜eÐ$Ð%ð=hð> 
‰^˜UÐ#Ð$ð?hð@ ‰o˜uÐ%Ð&ðAhðB ‰n˜fÐ%Ð&ðChðD ‰n˜fÐ%Ð&òEhðF ‘ Ð-Ð.ðGhðH ‘ Ð/Ð0ðIhðJ ‘ ,Ð/Ð0ðKhðL ‘ Ð0Ð1ðMhðN 	‰N˜OÐ,Ð
-ðOhðP ‘. *Ð-Ð.ðQhðR ‘. *Ð-Ð.ðShðT ‰~˜wÐ'Ð(ðUhðV ‘O WÐ-Ð.ðWhðX ‘? KÐ0Ð1ðYhðZ ‘. *Ð-Ð.ð[hð\ ‰o˜vÐ&Ð'ð]hð^ 	‰N˜MÐ*Ð
+ð_hð` 	‰N˜MÐ*Ð
+ðahðb 
‰^˜^Ð,Ð-ðchðd 
‰^˜^Ð,Ð-ðehðf 	‰N˜MÐ*Ð
+òghðh ‘> ;Ð/Ð0ðihðj ‘N LÐ1Ð2ðkhðl ‘n nÐ5Ð6ðmhðn ‘ Ð1Ð2ðohðp ‘/Ð#3Ð4Ð5ðqhðr ‰~˜xÐ(Ð)ðshðt ™¨,Ð7Ð8ðuhðv ™/Ð+;Ð<Ð=ðwhðx ‘/ ;Ð/Ð0ðyhðz ™¨Ð5Ð6ð{hð| ‘ *Ð-Ð.ð}hð~ ‘ Ð+Ð,ðhð@ ‘O ]Ð3Ð4ðAhðB ‘O \Ð2Ð3ðChðD ‘O \Ð2Ð3ðEhðF ‘/ ;Ð/Ð0ðGhðH ™¨Ð5Ð6òIhðJ ‘/ :Ð.Ð/ðKhðL ‘/ :Ð.Ð/ðMhðN ‘¨Ð8Ð9ðOhðP ‘¨Ð8Ð9ðQhðR ‘>Ð#3Ð4Ð5ðShðT ‘O [Ð1Ð2ðUhðV ‘O [Ð1Ð2ðWhðX ‘N KÐ0Ð1ðYhðZ ‘_ lÐ3Ð4ð[hð\ ‰o˜vÐ&Ð'ð]hð^ ‘~ ~Ð6Ð7ð_hð` ‘N KÐ0Ð1ðahðb ‘ )Ð,Ð-ðchðd ‘ )Ð,Ð-ðehðf ‘ )Ð,Ð-ðghðh ‘ )Ð,Ð-ðihðj ‘ *Ð-Ð.òkhðl ’¡*Ð-Ð.ðmhñn ’¡Ð)Ð*ðohñp ’¡Ð)Ð*ðqhñr ’^¡]Ð3Ð4ðshñt ’^¡]Ð3Ð4ðuhñv ’¡)Ð,Ð-ðwhñx ’/¡:Ð.Ð/ðyhñz 
Š_™eÐ$Ð%ð{hñ| 
Š_™eÐ$Ð%ð}hñ~ 	ŠOÑ/Ð0Ð
1ðhñ@ 	ŠOÑ/Ð0Ð
1ðAhñB ŠÑ 3Ð4Ð5ðChñD ’¡)Ð,Ð-ðEhñF ’/¡:Ð.Ð/ðGhñH ’N¡LÐ1Ð2ðIhñJ ’>Ñ#3Ð4Ð5ðKhñL šÑ)9Ð:Ð;ñMhñN Šn™fÐ%Ð&ñOh€öVY'�;ô Y'õx0r   