15

C++で分析統合を行う必要があります。たとえば、次のような式を統合する必要exp[I(x-y)]Iあります。は虚数です。

C ++でこれを行うにはどうすればよいですか?

GiNaCを試しましたが、多項式を統合するだけです。SymbolicC++も試してみました。sine、、、cosineなどの機能を統合できますが、それほど強力ではありませんexp(x)ln(x)たとえば、x*ln(x)Mathematicaを使用したり、パーツごとに統合したりすることで簡単に取得できる統合はできません。

C ++での分析統合のような記号計算を実行できる他のツールやライブラリはありますか?

4

3 に答える 3

6

記号積分を行う必要がある場合は、数学や極大値で実行するよりも速くなることはおそらくないでしょう。それらはすでにC ++で記述されています(のようなもの)。したがって、数式にMathematicaやMaximaでは利用できない非常に具体的な数式がない限り、おそらく運が悪いでしょう。少なくとも、そのようなカスタム操作を既製のライブラリ。

数値解法を実行する必要がある場合は、速度を上げるために独自のコードを作成することが正当化される場合があります。(私は偏微分方程式の数値解を生成するために行ったことを知っています)。

于 2012-07-05T02:30:26.627 に答える
4

数日前、Pythonや他のほとんどのプログラミング言語と比較してその速度に驚いたため、C++用のSymPyのような記号数学ライブラリを探していました。

私の知る限り、非常にモダンな構文とSymPyの機能を備えた素晴らしいライブラリであるViennaMathLibrary見つけました。このライブラリには、問題に使用できる統合機能もあります。

3自由度の関節式マニピュレータのIK(逆運動学)を解くには十分でした。

于 2020-05-05T19:33:42.593 に答える
3

記号計算を行うことを私が知っている他のC++ライブラリは

私が間違っていなければ、SymEngineはまだ統合をサポートしていません。しかし、ピラニアはそうします。Piranhaのドキュメントは現在多少制限されており、開発中ですが、ここで統合機能を確認できます。2番目のリンクは、PythonラッパーPiranhaの構文を使用していることに注意してください。ただし、ピラニアは「まばらな多変量多項式やその他の密接に関連する記号オブジェクト(Poissonシリーズなど)の記号操作用の数式処理ライブラリ」であるため、関心のある特定の関数を統合できるとは思いません。 。

C ++ではありませんが、SymPy for Pythonにも興味があるかもしれません。これは、興味があるかもしれないより複雑な記号積分のいくつかを実行できます。SymPyの積分のドキュメントはここにあります。

于 2017-07-20T19:57:20.753 に答える