Sageの最大の特徴は、 FirefoxやInternet Explorer等のブラウザーからSage Notebook Serverにアクセスして、 気軽に数式処理を楽しむことが出来ることです
ノートブックは、Sageでの一連の計算を記録したノートであり、計算に関する説明文を挿入したり、 値を変更して再計算することができます。
Sageのノートブックを体験するには、Sageの開発サイトでアカウントを作成し、ノートブックを作成するのが最も簡単な方法です。
注)Sageの開発サイト:http://wwww.sagemath.org/のTry Sage Online参照。また、筆者のホームページでもSageサーバを公開しています。詳しくは、http://www15191ue.sakura.ne.jp:8000/を参照してください。
ログインが完了すると以下のようなノートブック画面になります。
ノートブック画面でNew Worksheetをクリックすると新しいワークシートが作成されます。
ワークシートで式を評価するには、セルと呼ばれるテキストエリアを利用します。 セルの基本操作は、以下のように行います。
それでは、セルに式を入力してその値を評価してみましょう。
以下の2行を入力して、shift-returnを押して下さい。一番最初は結果が表示されるまで少し時間が掛かります。
5/6と数値ではなく、分数で返ってくるところが数式システムならではの芸当です。
5/6 5/6 |
複雑な数式を入力すると、テキストベースの結果では分かりづらいです。そんな時には、view関数を使って表示すると数式がきれいに表示されます。
|
中学の数学に出てきた多項式をSageで処理してみましょう。
以下の様な3次多項式を持つ関数$f(x)$をSageで定義します。 $$ f(x) = x^3 - x^2 -2x $$
最初に変数xをvar関数で定義します。次に上記の多項式を変数fにセットします。
|
多項式の因数分解には、factor関数を使います。
因数分解の結果から、関数fはx=-1, x=0, x=2でX軸と交わります。
(x + 1)*(x - 2)*x (x + 1)*(x - 2)*x |
3次多項式$f(x)$をプロットして、X軸と交差する位置を確認してみましょう。
plot関数には、表示したい関数とその範囲を指定します。ここではx=-2.5からx=2.5の範囲を指定します。
Sageの図化機能を使うことで簡単に$f(x)$の特徴を理解することができます。
|
3次多項式$f(x)$の極は、関数の接線の傾きが0(傾きがX軸と平行)の場所です。 関数の極を求めるには$f(x)$を微分し、その値が0となるxを求めます。
関数の微分には、diff関数を使います。diff関数には、微分したい関数とその変数を引数とします。
|
関数solverは関数が0となる変数の値を求めます。solverの引数は、解を求めたい関数とその変数を指定します。
関数fとそれを微分した関数dfのグラフを比べると関数dfがX軸と交わる点で、 関数fの接線の傾きが0となっていることが見て取れます。
|
Sageは数式処理システムなので、関数solverの結果が数式で返ってきます。 数値解が欲しい場合にはfind_root関数を使います。
このようにSageを使って関数fをプロットしたり、解を求めることによって関数fの理解を深めることができます。
-0.548583770355 1.21525043702 -0.548583770355 1.21525043702 |
3.1415926535897932385 3.1415926535897932385 |
|