- 追加された行はこの色です。
- 削除された行はこの色です。
[[FrontPage]]
#contents
2011/06/15からのアクセス回数 &counter;
ここで紹介したSageワークシートは、以下のURLからダウンロードできます。
http://www15191ue.sakura.ne.jp:8000/home/pub/1/
また、Sageのサーバを公開しているサイト(https://cloud.sagemath.com/ , http://www15191ue.sakura.ne.jp:8000/)にユーザIDを作成することで、ダウンロードしたワークシートを
アップロードし、実行したり、変更していろいろ動きを試すことができます。
* Sageを使ってみよう [#uf14fcee]
** インストールなしで使えるsage [#t45381eb]
Sageの最大の特徴は、 FirefoxやInternet Explorer等のブラウザーからSage Notebook Serverにアクセスして、
気軽に数式処理を楽しむことが出来ることです
ノートブックは、Sageでの一連の計算を記録したノートであり、計算に関する説明文を挿入したり、
値を変更して再計算することができます。
** ノートブックの作成 [#ma2e0dd9]
Sageのノートブックを体験するには、Sageの開発サイトでアカウントを作成し、ノートブックを作成するのが最も簡単な方法です。
注)Sageの開発サイト :http://wwww.sagemath.org/ のTry Sage Online参照。
また、筆者もSageサーバを公開しています。詳しくは、 http://www15191ue.sakura.ne.jp:8000/ を参照してください。
ログインが完了すると以下のようなノートブック画面になります。
&ref(fstLogin.png);
*** ワークシートの作成 [#g32ff91c]
ノートブック画面でNew Worksheetをクリックすると新しいワークシートが作成されます。
ワークシートで式を評価するには、セルと呼ばれるテキストエリアを利用します。
セルの基本操作は、以下のように行います。
- セルの評価:セルに記述した式を評価するには、シフトキーとリターンキーを同時に押す(shift-returnと記す)方法またはevaluateをクリックする。
- セルの追加:セルの上下にマウスを移動すると青い帯が表示されます。この青い帯をクリックするとセルが追加されます。
- セルの削除:セル内のテキストをすべて削除し、もう一度バックスペースキーを押すとセルが削除されます。
** セルを評価してみよう [#o56ad80a]
それでは、セルに式を入力してその値を評価してみましょう。
以下の2行を入力して、shift-returnを押して下さい。一番最初は結果が表示されるまで少し時間が掛かります。
5/6と数値ではなく、分数で返ってくるところが数式システムならではの芸当です。
sageへの入力:
#pre{{
a = 1/2 + 1/3
print a
}}
sageの出力:
#pre{{
5/6
}}
複雑な数式を入力すると、テキストベースの結果では分かりづらいです。そんな時には、view関数を使って表示すると数式がきれいに表示されます。
sageへの入力:
#pre{{
view(a)
}}
&ref(out1.png);
** 多項式 [#lc280ed2]
中学の数学に出てきた多項式をSageで処理してみましょう。
以下の様な3次多項式を持つ関数\(f(x)\)をSageで定義します。
$$
f(x) = x^3 - x^2 -2x
$$
最初に変数xをvar関数で定義します。次に上記の多項式を変数fにセットします。
sageへの入力:
#pre{{
x = var('x')
f = x^3 - x^2 - 2*x
view(f)
}}
&ref(out2.png);
多項式の因数分解には、factor関数を使います。
因数分解の結果から、関数fはx=-1, x=0, x=2でX軸と交わります。
sageへの入力:
#pre{{
factor(f)
}}
sageの出力:
#pre{{
(x - 2)*(x + 1)*x
}}
*** 多項式のグラフ [#ub6e0799]
3次多項式$f(x)$をプロットして、X軸と交差する位置を確認してみましょう。
plot関数には、表示したい関数とその範囲を指定します。ここではx=-2.5からx=2.5の範囲を指定します。
Sageの図化機能を使うことで簡単に$f(x)$の特徴を理解することができます。
sageへの入力:
#pre{{
plot(f, [x, -2.5, 2.5])
}}
&ref(out3.png);
*** 関数の極 [#f063541b]
3次多項式$f(x)$の極は、関数の接線の傾きが0(傾きがX軸と平行)の場所です。
関数の極を求めるには$f(x)$を微分し、その値が0となるxを求めます。
関数の微分には、diff関数を使います。diff関数には、微分したい関数とその変数を引数とします。
sageへの入力:
#pre{{
df = diff(f, x); view(df)
}}
&ref(out4.png);
*** 関数の解 [#vaa702cf]
関数solverは関数が0となる変数の値を求めます。solverの引数は、解を求めたい関数とその変数を指定します。
関数fとそれを微分した関数dfのグラフを比べると関数dfがX軸と交わる点で、
関数fの接線の傾きが0となっていることが見て取れます。
sageへの入力:
#pre{{
sol = solve(df, x); view(sol)
plot(df, [x, -2.5, 2.5])
}}
&ref(out5.png);
*** 数値解 [#i6b63bdc]
Sageは数式処理システムなので、関数solverの結果が数式で返ってきます。
数値解が欲しい場合にはfind_root関数を使います。
このようにSageを使って関数fをプロットしたり、解を求めることによって関数fの理解を深めることができます。
sageへの入力:
#pre{{
print find_root(df, -2, 0), find_root(df, 0, 2)
}}
sageの出力:
#pre{{
-0.548583770355 1.21525043702
}}
** コメント [#a845beff]
#vote(おもしろかった[18],そうでもない[1],わかりずらい[0])
#vote(おもしろかった[21],そうでもない[1],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- https://cloud.sagemath.com/ になりました。 注)Sageの開発サイト :http://wwww.sagemath.org/ のTry Sage Online参照。 は繋がりません。 -- [[ysato]] &new{2014-10-15 (水) 15:51:56};
- このページの例題を sage -ipython notebook で実行してみました。大変参考になりました。http://mmays.hatenablog.com/entry/2014/10/17/001201 -- [[ysato]] &new{2014-10-17 (金) 12:19:18};
- ysatoさま、https://cloud.sagemath.com/ に修正しました。 -- [[竹本 浩]] &new{2014-10-18 (土) 08:34:44};
- 本文の url が https://cloud.sagemath.com/ になってないのでつながりません。何度も書き込んですみません。 -- [[ysato]] &new{2014-10-18 (土) 10:32:33};
- ysatoさま、ご指摘ありがとうございます。 -- [[竹本 浩]] &new{2014-10-25 (土) 16:22:16};
#comment_kcaptcha