2013-04-04 6 views
15

LaTeX式を解析し、直接SymPy式として使用したいと考えています。言い換えれば、私は必要なのsympifyに似たものである:LaTex式をSymPy内で使用できるタイプに変換する

from sympy import sympify 
f = sympify('x^2 + sin(y) + 1/2') 
print f 

それは例えば、入力として、LaTeXの表現(文字列)を取ることができます。

f = latex_sympify('\frac{x}{1+x}') 

sympifyを変換することができることを考えます文字列を正規の数式でSymPyオブジェクトに変換します。もしLaTeXを正規の数式に変換できるものがあれば、そのトリックを行うだろうと思います---しかし、私はPython内ですべてをやりたいと思っています。

ご提案は大変ありがとうございます。

+0

数式のためのフィーチャのうち、どのフィーチャを最低限含めるべきか?あなたは配列/行列/二項演算子などを扱う必要がありますか? – Bakuriu

+0

これにはまだSymPy機能はありません。 https://code.google.com/p/sympy/issues/detail?id=2319をご覧ください。 LaTeXをPythonのようなものに変換できるセカンダリパーサーを見つけることができるかもしれません。SymPyはそれを解析します。 – asmeurer

+0

またパッチが歓迎されています:) – asmeurer

答えて

2

私は、このような(Google検索経由)などのMathMLにラテックスを変換するツール、になります。http://www.mathtowebonline.com/

その後、あなたはこのから出てくるXMLを処理することができます。ただし、結果を数式として解釈するように注意してください。そのようなツールは、テキスト表現が同等であることを保証するかもしれませんが、演算子とオペランドのブラケット(グループ化)は期待通りではないかもしれません。一般的には、ネスティングが少ないことがわかります。慣習によってネストされていると解釈する、互いに隣り合う演算子は、単純にXML形式の兄弟要素に変換されます。これを数式として解釈しようとすると、やり残った作業がまだ残っています(ネストされた構造を正しい方法で復元する)。

6

このラテックスを見てみましょう - > Sympyコンバータ、それはラテックスの大きなサブセットのための素晴らしい作品:私はこのような何かが...とにかく存在しない、LaTeXのは、トンを持っていると思います

https://github.com/augustt198/latex2sympy

関連する問題