Fermat (computer algebra system) とは

Fermat(Pierre de Fermatにちなんで命名)は、Fordham大学のRobert H. Lewis教授が開発したフリーウェアプログラムです。有理数、実数、複素数、モジュラ数、有限体要素、多変数多項式、有理関数、または多項式を法とする他の多項式を計算することができるコンピュータ代数システムです。アプリケーションの主な領域は、多変量多項式または有理関数の環の多変量有理関数演算および行列代数です。フェルマーは超越関数や記号的統合の単純化をしません。
フェルマーとのセッションは、通常、合理的なまたはモジュラーな「モード」を選択して地面(または地面の輪) F {\displaystyle F} Z {\displaystyle \mathbb {Z} } または Z / n {\displaystyle \mathbb {Z} /n} として確立することから始まります。この上に任意の数の記号変数 t 1 , t 2 , , t n , {\displaystyle t_{1},t_{2},\dots ,t_{n},} を付けることができ、それによって多項式環 F [ t 1 , t 2 , , t n ] {\displaystyle F[t_{1},t_{2},\dots ,t_{n}]} とその商フィールドを作成することができます。さらに、いくつかの t i {\displaystyle t_{i}} を含む多項式 p , q , {\displaystyle p,q,\dots } は商の環を作るために選択することができる F ( t 1 , t 2 , ) / ( p , q , ) . {\displaystyle F(t_{1},t_{2},\dots )/(p,q,\dots ).} 。最後に、負と正の指数を持つLaurent多項式を許すことが可能である。計算リングがこのように確立されると、すべての計算はこのリングの要素になります。計算環はセッションの後半で変更することができます。
互いに再帰的に呼び出す多項式gcd手続きは、約7000行のコードです。
Fermatには、サブマトリクス、疎行列、行列式、正規化、列縮小、行エシェロン、スミス正規形、および行列逆行列などの配列および行列操作用の組み込みプリミティブが豊富に用意されています。これは、よく知られているコンピュータ代数システムよりも、特に多変量多項式gcdで、一貫して高速です。スペース効率も良いです。
フェルマーの基本データ項目は、多変量有理関数または多項式です。分子と分母は共通の因数を持たない多項式です。多項式は、多項式を単項式のリストとして実装するいくつかのシステムとは異なり、一般的なリンクリストとして再帰的に実装されます。 (ほとんどの)有限体を実装するために、ユーザは記号変数の既定のMonic多項式、たとえば p ( t 1 ) , {\displaystyle p(t_{1}),} を見つけ、それによってFermatにコマンドを出します。これは再帰的に継続されてもよい q ( t 2 , t 1 ) , {\displaystyle q(t_{2},t_{1}),} 。この新しく作成された地面上での算術と計算を容易にするために、低レベルのデータ構造が設定される。 2つの特別なフィールド G F ( 2 8 ) {\displaystyle GF(2^{8})} G F ( 2 16 ) , {\displaystyle GF(2^{16}),} はビットレベルでより効率的に実装されます。
ディクソンの合成技法の実装を支援するために、行列式関数に特別な機能が追加されました。これらは、対称性を示す多項式の系を用いた計算結果の速度の劇的な増加をもたらす。
Fermatは完全なプログラミング言語を提供します。プログラムやデータは、通常のテキストファイルに保存することができます。通常のテキストファイルは、そのように検査したり、後のセッションで読み込んだり、他のソフトウェアシステムで読み取ったりすることができます。