14

純粋なCで書かれた記号計算ライブラリはありますか?記号形式で数学方程式を操作する場合のような記号計算。

MathematicaSympyがあることは知っています。しかし、私は、スクリプト言語、特に開始するRubyにバインドするために、記号計算ライブラリの純粋なC実装を高性能で作成することに興味があります。

彼らはこのような記号数学ライブラリの必要性であるように思われるでしょう。時間の経過とともに、理想的には、ライブラリはlibgit2と同様の方法で構築され、プロジェクトの中央C実装があり、他の言語へのバインディングを作成する目的でさまざまな実装が分岐しますか?

4

4 に答える 4

7

MathomaticはCで実装されており、目的に合う場合があります。

Mathomatic™は、完全にCプログラミング言語で記述された、ポータブルでコマンドラインの教育用CASおよび計算機ソフトウェアです。これは無料のオープンソースソフトウェア(FOSS)であり、GNU劣等一般公衆利用許諾契約書(LGPLバージョン2.1)の下で公開されており、1986年から継続的に開発されています。このソフトウェアは、代数方程式を象徴的に解き、単純化し、組み合わせ、比較することができます。必要に応じて、一般化された標準、複素数、モジュラー、および多項式の算術を実行します。それはいくつかの計算を行い、コンパイル/インストール、学習、および使用が非常に簡単です。

開発者用マニュアルから:

Mathomaticソースコードは、C互換プログラムから呼び出し可能で、ほとんどの場合オペレーティングシステムに依存しない記号数学ライブラリとしてコンパイルすることもできます。


残念ながら、このパッケージの作成者は亡くなり、ソフトウェアは保守されなくなりました。最新バージョンはGitHubにアーカイブされてお​​り、上記のリンクが更新されています。

于 2012-08-10T09:57:56.713 に答える
5

GAPを見たことがありますか?そのウェブサイトから:

GAPは、計算群論に特に重点を置いた、計算離散代数のシステムです。GAPは、プログラミング言語、GAP言語で記述された代数アルゴリズムを実装する数千の関数のライブラリ、および代数オブジェクトの大規模なデータライブラリを提供します。数学機能の概要と説明も参照してください。GAPは、グループとその表現、リング、ベクトル空間、代数、組み合わせ構造などを研究するための研究と教育で使用されます。ソースを含むシステムは自由に配布されます。あなたはそれを研究し、あなたの特別な使用のためにそれを簡単に修正または拡張することができます。

ウィキペディアのページによると、GAPはCで実装されており、ソースコードは無料で入手できます。

于 2012-08-11T15:12:01.940 に答える
4

汎用の数式処理システムであるAxiomをご覧ください。また、Giacを使用することもできます。Giacは無料の(GPL)C ++ライブラリであり、計算カーネルであり、他のC++プログラム内で使用できます。

http://www.axiom-developer.org/

http://www-fourier.ujf-grenoble.fr/~parisse/giac.html

于 2012-07-30T03:59:19.293 に答える
3

Maximaから始めて、GCLを使用してCommonLispからCに変換することができます。

GCLは、GNUプロジェクトの公式CommonLispです。その設計では、システムのCコンパイラを使用してネイティブオブジェクトコードにコンパイルします

確かに、中間Cソースファイルを保持するオプションがあります。

GCLは現在、11のGNU / Linuxアーキテクチャ(x86 powerpc s390 sparc arm alpha ia64 hppa m68k mips mipsel)、Windows、Sparc Solaris、およびFreeBSDで、自身と主要な無料ソフトウェアLispアプリケーションであるMaxima、ACL2、およびAxiomをコンパイルしています。

于 2012-08-09T19:59:08.180 に答える