Published 2020-07-29T13:59:00.004Z by Physics Derivation Graph
I am interested in parsing functions written in Latex into a Sympy representation. For simple examples, this currently works: >>> import sympy >>> sympy.__version__ '1.5.1' >>> from sympy.parsing.latex import parse_latex >>> sympy.srepr(parse_latex('f(x)')) "Function('f')(Symbol('x'))" That's good. Sympy also supports expressions like >>> sympy.srepr(parse_latex('x=0')) "Equality(Symbol('x'), Integer(0))" However, a function with a constraint written in Latex is not parsed correctly: >>> sympy.srepr(parse_latex('f(x = 0)')) "Symbol('f')" The opposite direction does work (from Sympy to Latex) >>> sympy.latex(sympy.Function('f')(sympy.Equality(sympy.Symbol('x'), sympy.Integer(0)))) 'f{\\left(x = 0 \\right)}' Similarly, we can get more complicated expressions from Sympy to Latex >>> sympy.latex(sympy.Equality(sympy.Function('f')(sympy.Equality(sympy.Symbol('x'), sympy.Integer(0))),sympy.Symbol('a'))) 'f{\\left(x = 0 \\right)} = a' but the opposite (Latex to Sympy) is not working: >>> sympy.srepr(parse_latex('f{\\left(x = 0 \\right)} = a')) "Symbol('f')"