Prevent Sympy from rearranging the equation

后端 未结 2 1148
攒了一身酷
攒了一身酷 2020-12-04 01:40

Perhaps im overlooking the obvious but how do you prevent sympy from rearranging equations?

Im using Sympy in the iPython notebook so i can easily copy-paste the Lat

2条回答
  •  温柔的废话
    2020-12-04 02:13

    Currently, there is no way in SymPy to print things exactly as they are entered, because that information isn't even saved anywhere.

    I believe in a multiplication, symbols are ordered alphabetically, with capital letters coming before lowercase letters (basically, the order from ord). The best trick I can come up with is to use the symbol_names option to latex, which lets you change the name used for a Symbol in its LaTeX representation. The ordering will still be based on the original symbol's name, so you can trick it:

    >>> from sympy.abc import epsilon, omega, t
    >>> latex(epsilon*sigma*t**4, symbol_names={t:"T"})
    \epsilon \sigma T^{4}
    

    If you want this to pretty print nicely in the notebook, you'll have to write a custom version of the printing extension that passes your symbol_names dict to latex. See https://github.com/sympy/sympy/blob/master/sympy/interactive/printing.py (ideally one could just pass the latex options to init_printing, I'll open an issue in the SymPy bug tracker for that).

提交回复
热议问题