sage: diff(sin(x), x)
cos(x)
高階微分
sage: diff(sin(2*x), x, 1)
2*cos(2*x)
sage: diff(sin(2*x), x, 2)
-4*sin(2*x)
sage: diff(sin(2*x), x, 3)
-8*cos(2*x)
級数展開
sage: cos(x).series(x,6)
1 + (-1/2)*x^2 + 1/24*x^4 + Order(x^6)
sage: integrate(log(x), x)
x*log(x) - x
sage: integrate(2*x + sinh(x), x)
x^2 + cosh(x)
有限区間での積分
sage: integrate(cos(x), (x, -pi/2, pi/2))
2
広義積分
sage: integrate(exp(-x**2), (x, 0, oo))
1/2*sqrt(pi)
sage: integrate(exp(-x**2), (x, -oo, oo))
sqrt(pi)
方程式の解
sage: solve(x**4 - 1, x)
[x == I, x == -1, x == -I, x == 1]
sage: solve([x + 5*y - 2, -3*x + 6*y - 15], [x, y])
超越方程式
sage: solve(exp(x) + 1, x)
[x == I*pi]
sage: factor(7786)
2 * 17 * 229
sage: factor(x^4 - 3*x^2 + 1)
(x^2 + x - 1)*(x^2 - x - 1)
作図
sage: v = [(sin(x),x) for x in srange(-2*float(pi),2*float(pi),0.1)]
sage: line(v)
作図(3D)
sage: x, y = var('x,y')
sage: plot3d(x^2 + y^2, (x,-2,2), (y,-2,2))
webベースのノートブックを立ち上げる
sage: notebook()
The notebook files are stored in: sage_notebook.sagenb
┌────────────────────────────────────────────────┐
│ │
│ Open your web browser to http://localhost:8080│
│ │
└────────────────────────────────────────────────┘
↓こんな画面が立ち上がります
Sageで自前のサーバアプリを作る
↑ を実行して http://localhost:8000/ にアクセスすると2からから7919までの1000個の素数がブラウザーに表示されます。
その他
根はPythonなのでDBのアクセスやら、なんやらかんやら、自由自在に出来ちゃいます。
Sage (数式処理システム)
SageMath 初版 24 February 2005 最新版 6.8 / 2015年7月26日 プログラミング言語 Python, Cython 対応OS Linux/OS X/Windows(VM上) プラットフォーム Python 種別 計算機代数 ライセンス GNU General Public License 公式サイト www.sagemath.org
SageMath (セイジ、以前はSage、SAGEと記した) は数学の幅広い処理を扱うソフトウェアである。扱う処理は計算機代数、組み合わせ、数値計算など多岐に及ぶ。工学的応用に加え基礎科学の研究もカバーする。
SageMath は2005年2月24日にフリーソフトウェアとして GNU General Public License の元で初版が公開された。その開発目的は Magma、Maple、Mathematica(いずれも計算機代数ソフトウェア)、MATLAB の代替となるフリーかつオープンソースなソフトウェアを提供することであった[1]。開発は、米ワシントン大学の数学准教授のウィリアム・スタイン (William Stein) が主導して始まった。
SageMath は Pythonプログラミング言語を使用しており,手続き型・関数型・オブジェクト指向によるプログラムの記述を行うことができる。
- ノートブック形式で対話的に作業を行うインターフェイスを持つ。そのためそれまでの入力を確認したり再利用したりすることが簡便である。文字入出力と画像の両方が扱え、多くのウェブブラウザ(Firefox、Opera、Konqueror、Safari など) から利用できる。状況に応じて HTTPS 接続を行うこともでき、Sage のノートブックはネットワーク越しでも、ローカルでも扱うことができる。
- IPython によるコマンドライン・インターフェイス
- Python の導入による、手続き型、関数型、オブジェクト指向を両立するプログラミング
- Maxima と SymPy を使った計算のサポート
- スライダーなどの直観的な操作を備えた GUI[3]
- ユーザーインタフェイスを追加するためのツールキット
- データ、画像、動画、音声、CAD、GIS (地理情報システム)、ワープロ文書、医用データ形式の入出力
- 数式の表示と LaTeX 文書の埋め込み[4]
- Twisted によるネットワーク経由の SQL、Java、.NET、C++、FORTRAN の利用ツール (これによりHTTP、NNTP、IMAP、SSH、IRC、FTP が利用可能となっている)
- 外部ソフトウェア (Mathematica、Magma、Maple など) を SageMath から呼び出し、処理結果や実行速度を比較する機能 (GNU TeXmacs のような、外部ソフトウェアへのフロント・エンドとして SageMath を利用できる)
- 情報集約のための Wiki システムとして MoinMoin を備える
- ユーザーから利用できる、テストの自動実行環境
- Fortran、C、C++とCythonのコードの実行
- 演算
- SMP などの マルチコア CPU 環境での並列実行、および分散コンピューティング環境での並列計算のサポート
- GNU Scientific Library、SciPy、NumPy による線形代数の数値計算
- 初等関数および特殊関数のライブラリ
- 行列およびベクトル演算 (疎行列にも対応)
- R と SciPy による多変量解析のサポート
- Python 同様の pylab による画像解析ツール
- 数論の関数のライブラリ
- 複素数、多倍長計算、記号計算のサポート
- グラフ描画
- データおよび関数の 2D および 3D プロット
- グラフ (ノードとリンクからなる) の可視化と解析