SageMath

SageMath: 高機能オープンソース数式処理システム



SageMath(セイジ、旧称Sage)は、数式処理、数値計算、組み合わせ論など、広範な数学分野を扱うことができる、強力なオープンソースソフトウェアです。科学研究や工学分野での応用を視野に入れ、Magma、MapleMathematicaといった商用ソフトウェアの代替となることを目指して開発されました。

概要



SageMathは、2005年にウィリアム・スタインによってプロジェクトが開始され、GNU General Public Licenseに基づいて公開されました。その設計思想は、既存のオープンソースの数学ソフトウェアを統合し、Pythonを共通のインターフェースとして利用することで、ユーザーが容易にアクセスできる環境を提供することにあります。

特徴



インターフェース



ノートブックインターフェース: 対話的な操作が可能で、過去の入力を再利用したり、結果を視覚的に確認したりできます。ウェブブラウザを通じて、ローカル環境だけでなくネットワーク経由でも利用可能です。
コマンドラインインターフェース: IPythonをベースとした強力なコマンドラインインターフェースを提供します。
GUI: スライダーなどの直感的な操作が可能なGUIを備えています。

プログラミング



Pythonをベースとしているため、手続き型、関数型、オブジェクト指向プログラミングに対応しています。
MaximaやSymPyといった数式処理エンジンを統合し、高度な計算をサポートしています。
FORTRAN、C、C++などのコードを実行可能です。

演算機能



数値計算: GNU Scientific Library、SciPy、NumPyなどのライブラリを利用した、高度な線形代数計算が可能です。
数式処理: 複素数、多倍長計算、記号計算をサポートしています。
グラフ理論: グラフの可視化と解析が可能です。
並列計算: SMP環境での並列実行や、分散コンピューティング環境での並列計算をサポートしています。

データ入出力



データ、画像、動画、音声、CAD、GIS、ワープロ文書、医用データ形式など、多様な形式の入出力をサポートしています。
数式の表示やLaTeX文書の埋め込みが可能です。

外部連携



Mathematica、Magma、Mapleなどの外部ソフトウェアを呼び出し、結果を比較検討できます。
Twistedを利用して、SQLJava.NET FrameworkC++、FORTRANなどのネットワーク経由での利用を可能にします。

開発方針



SageMathの開発は、既存のソフトウェアを統合するという方針のもと、効率的に進められました。Pythonを共通言語とすることで、ユーザーはPythonの知識のみでSageMathを利用できます。また、オープンソースであるため、商用ソフトウェアのような制約がなく、幅広い分野のソフトウェアを利用できます。開発には、学生、研究者、ボランティアが参加し、助成金による支援も受けています。

成果



SageMathは、トルフェ・ド・リブレの科学技術ソフトウェア部門での受賞や、Google Summer of Codeのプロジェクトへの選出など、数々の栄誉に輝いています。また、多くの数学関連の論文や書籍で引用されており、その有用性が広く認められています。

利用条件



SageMathは、GNU General Public License version 2+ に基づく自由ソフトウェアです。ソースコードは自由にダウンロードでき、改変や再配布も可能です。Linux、macOS、Solaris 向けのバイナリも提供されており、ブータブルCDとしても配布されています。オンライン版も利用できますが、メモリサイズやセキュリティに制限があります。

まとめ



SageMathは、研究者、学生、エンジニアにとって、強力な数学ツールです。オープンソースであること、Pythonをベースとしていること、多様な機能を統合していることなどから、多くのユーザーに支持されています。今後も活発な開発が期待される、注目のソフトウェアです。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。