Maxima(ソフトウェア)

マキシマ
開発者Project MACのMacsymaグループとボランティア貢献者
初回リリース1982年; 43年前 (1982)
安定版リリース
5.48.1 [1]  / 2025年8月6日; 3か月前 (6 August 2025)
リポジトリ
  • sourceforge.net/p/maxima/code/ci/master/tree/
書かれたコモンリスプ
オペレーティング·システムクロスプラットフォーム
タイプ数学ソフトウェア
ライセンスGPL
Webサイトmaxima.sourceforge.io

Maxima/ ˈ m æ k s ɪ m ə / )は、数学および物理科学におけるコンピュータ代数計算を実行するためのソフトウェアパッケージです。Common Lispで記述されており、 macOSUnixBSDLinuxなどのすべてのPOSIXプラットフォーム、およびMicrosoft WindowsAndroidで動作します。GNU General Public License (GPL)の条件に基づいてリリースされたフリーソフトウェアです

歴史

Maximaは1982年のバージョンのMacsymaをベースにしており、これはMITで米国エネルギー省やその他の政府機関の資金提供を受けて開発された。Macsymaのバージョンは、ビル・シェルターによって1982年から2001年に亡くなるまで保守されていた。1998年、シェルターはエネルギー省からGPLでそのバージョンをリリースする許可を得た。現在Maximaと呼ばれるそのバージョンは、独立したユーザーと開発者のグループによって保守されている。Maximaには、1982年から1999年にかけてMacsymaの商用バージョンに加えられた多くの変更や機能強化は含まれていない。コア機能は同様のままだが、これらの機能強化に依存するコードはMaximaでは動作しない可能性があり、Macsymaで修正されたバグはMaximaにまだ存在する可能性があり、その逆も同様である。Maximaは、国際神経情報学調整施設の下、2019年のGoogle Summer of Codeに参加した。[2]

記号計算

ほとんどのコンピュータ代数システムと同様に、Maximaは、多項式の因数分解多項式の最大公約数の計算、展開、実部と虚部への分離、三角関数から指数関数への変換(およびその逆)など、記号代数式を再構成するさまざまな方法をサポートしています。三角関数、根、指数関数を含む代数式を簡略化するさまざまな手法を備えています。記号的な不定積分(「不定積分」)、定積分、および極限を計算できます。閉じた形式の級数展開テイラー・マクローリンローラン級数の項を導出できます。記号エントリを含む行列操作を実行できます。

Maxima は汎用システムであり、大きな数の因数分解、非常に大きな多項式の操作などの特殊なケースの計算は、専用のシステムで実行した方がよい場合があります。

数値計算

Maximaは記号演算に特化していますが、空間と時間の制約によってのみ制限される、任意精度の整数有理数浮動小数点数などの数値機能[3]も提供しています。

プログラミング

Maximaには、 ALGOL風の構文とLisp風のセマンティクスを備えた完全なプログラミング言語が含まれています。Common Lispで記述されており、基盤となるLispをMaximaから呼び出すことができるため、プログラムからアクセスして拡張できます。描画にはgnuplotを使用します。

浮動小数点と配列を多用する計算の場合、Maxima には Maxima 言語から他のプログラミング言語 (特にFortran ) へのトランスレータがあり、より効率的に実行できます。

インターフェース

MaximaのwxMaximaインターフェースのスクリーンショット

Maxima では、さまざまなグラフィカル ユーザー インターフェイス(GUI) が利用可能です。

  • wxMaxima [4]は、 wxWidgetsフレームワークを用いた高品質なグラフィカルフロントエンドです。wxMaxima は、右図に示すように、Mathematica ノートブックに似たセル構造を備えています。wxMaxima のセッションは、後で使用するために様々なファイル形式で保存できます。
  • Pythonで書かれた柔軟なノートブックスタイルのGUIであるProject Jupyterのカーネルがあります[5]
  • CantorはQtを使用してMaxima( SageMathRKAlgebraとともに)とインターフェースすることができます[6]
  • GNU TeXmacsLyXの数式エディタプログラムは、SageMathと同様に、Maximaの対話型GUIを提供するために使用できます。その他のオプションとしては、Imaximaフロントエンド、そしてImaximaによって起動されるEmacsおよびXEmacs対話モードなどがあります。
  • Climaxima [7] CLIMベースのフロントエンド[8]

Maximaコードの例

基本操作

任意精度演算

bfloat ( sqrt ( 2 ))、fpprec = 40 ; 

関数

f ( x ) := x ^ 3 $f ( 4 )

展開((ab)^3);

拡大する

展開します(( a - b ) ^ 3 );

要素

因数分解( x ^ 2 - 1 );

方程式を解く

( x ^ 2 + a * x + 1 , x )を解きます。     

方程式を数値的に解く

find_root ( cos ( x ) = x , x , 0 , 1 );     

bf_find_root ( cos ( x ) = x , x , 0 , 1 ), fpprec = 50 ;        

不定積分

積分( x ^ 2 + cos ( x ), x );   

定積分

積分( 1 / ( x ^ 3 + 1 ), x , 0 , 1 )、ratsimp ;      

数値積分

quad_qags ( sin ( sin ( x )), x , 0 , 2 )[ 1 ];   

デリバティブ

diff ( cos ( x ) ^ 2 , x , 3 );  

制限

制限(( 1 + sinh ( x )) / exp ( x ), x , inf );  

数論

素数10、20  

10 );

シリーズ

sum ( 1 / x ^ 2 , x , 1 , inf )、simpsum ;    

シリーズ拡張

テイラー( sin ( x ), x , 0 , 9 );   

niceindices (べき級数( cos ( x ), x , 0 ) );  

特殊機能

ベッセル_j ( 0 , 4.5 ); 

エアリーai 1.5 );

参照

参考文献

  1. ^ “Maxima 5.48.1 を発表”. 2025年8月6日. 2025年11月12日閲覧
  2. ^ 「GSOC 2019 は無事に終了しました » ベルギーの神経情報科学」。
  3. ^ バーンズ, デイビッド・J. & チュー, ドミニク (2010). 「第5章」.バイオサイエンスのためのモデリング入門.シュプリンガー. ISBN 978-1-84996-325-1
  4. ^ 「wxMaxima、コンピュータ代数システムMaximaのドキュメントベースインターフェース」 。 2021年11月29日閲覧
  5. ^ “マキシマ=ジュピター”. GitHub。 2021年10月13日。
  6. ^ "Cantor". cantor.kde.org . 2020年1月15日閲覧。
  7. ^ 「Flathub—Linux向けアプリストアおよびビルドサービス」flathub.org . 2019年9月27日閲覧
  8. ^ Mårtenson、Elias (2019-08-27)、GitHub - lokedhs/maxima-client: Maxima クライアント。2019-09-27取得

さらに読む

  • ティンバーレイク、トッド・キーン、ミクソン・ジュニア、J・ウィルソン (2015). 『Maximaによる古典力学』 シュプリンガー. ISBN 978-1-4939-3206-1
  • 公式サイト
  • wxマキシマ
Retrieved from "https://en.wikipedia.org/w/index.php?title=Maxima_(software)&oldid=1321564008"