FrontPage

2009/10/06からのアクセス回数 4738

sageのnotebookをどう活用するか、試行錯誤した結果をお知らせします。 ここでご紹介するワークシートは、以下のURLでみることができます。

http://www.sagenb.org/pub/1029/

ワークシートの作成

最初にワークシートを作成します。

  • New Worksheetをクリックすると新しいワークシートが表示されます

メモの挿入

右上の「Edit」タグをクリックすると、以下のような画面になります。

edit.jpg

{{{と}}}で囲まれた部分がsageの入力と出力部分です。

{{{id=0|

///
}}}

このsageの入力部分以外には、htmlタグを使ってHTMLの文章を挿入することができます。

<html>
<h3>ノートブックのメモ</h3>
ノートブックには、HTMLのhtmlタグで括ってメモを入力することができます。

右上の「Edit」タグをクリックしてsageの入出力部分({{{と}}}に囲まれている部分)以外
の部分にメモを入力します。

</html>

文中の式

HTMLのメモでは、文章中に$で囲んでlatexの式を挿入することができます。latexについては、 ここを参考にしました。

例えば、xの自乗の和を表すときには、

$\sum_{i = 1}^{n} x_{i}^{2}$

と入力すると、 eq1.jpg のように出力されます。

数式の表示

数式を表示する場合には、$の代わりに$$を使います。デフォルトでは数式が中央そろえになって出力されるので、spanタグのmathクラスを使って左そろえにします。

例えば、

<span class="math">
$$
\begin{eqnarray}
  f(z) &=& (z-x_1)(z-x_2) \cdots (z-x_n) \\
       &=& z^n - \sigma_1 z^{n-1} + \sigma_2 z^{n-2} - \cdots 
       + (-1)^n \sigma_n
\end{eqnarray}
$$
<span>

とすると、

eq2.jpg

となります。

コメントの挿入

ノートブックの入力部で#から行末までがコメントなります(pythonの文法)。 コメントには、日本語も使えます。

例)

# これは、コメントです。

実際にsageを使ってみましょう

されでは、実際にnotebookからsageを動かしてみましょう。

四則演算

sageでの四則演算は、数値ではなく式として扱われます。 1 + 2を入力し、評価する(evaluateリンクをクリックするかシフトキーを押したままリターンを押す)と、単に3と出力されますが、

1+2

と入力すると、

3

と表示されます。

1/2 + 1/3は、5/6と分数で返します。

1/2 + 1/3

5/6

5/6の分数を数値として出力するには、Nまたはn関数を使います。

N(5/6)

0.833333333333333

python変数

sageでは、入力の処理に、pythonインタプリタを使っています。 notebookでは、mathmaticaのような前の結果を再利用する特殊な表現ありませんが、pythonの変数に結果を代入することによってどこでもその変数を参照することができます。

a = 1/2 + 1/3
n(a, digits=5)

0.83333

1/2 + 1/3

0.83333

前の入力は、_で表すことができます。

N(_)

0.833333333333333

文字列

文字列は、シングルクォートまたはダブルクォートで括って表します。文字列はpython内部でunicodeで保持されるため、'こんにちは'とだけ入力すると、文字化けしたような出力がでます。 日本語の文字列を正しく表示するには、print文を使います。

'hello'

'hello'

'こんにちは'

'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf'

s = 'こんにちは'
print s

こんにちは

ヘルプ

sageの関数は、関数名の後に?を付けてヘルプを表示することができます。?を2個付けるとさらに詳しいヘルプが表示されます。

abs?

help.jpg

補完機能

関数名やpythonの変数の属性は、タブキーで補完することができます。

pl[タブキー]

とすると補完の候補が以下のように表示されます。マウスまたはカーソルで選択します。

tab_cmpl.jpg

よく使う表現

数式でよく使う表現として、

  • 複素数
  • 円周率
  • 自然対数の底

があります。最初に複素数ですが、Iで虚数単位を表します。

例えば、1 + 5*Iは、実数部が1で虚数部が5の複素数を表します。

r1 = 1 + 5*I

type関数で型を調べることができます。

type(r)

<class 'sage.interfaces.r.R'>

r1の共役複素数r2を定義し、

r2 = 1 - 5*I

r1とr2の積は、1−(5i)2=1+25 で26となります。

r1*r2

26

円周率πは、piで表すことができます。

pi

pi

自然体数の底eは、exp(n)で表します。

exp(1)

e

数式処理の初歩

数式処理の初歩として、

  • 展開: expand
  • 因数分解: factor
  • 簡潔化: simplify

を試してみます。 最初に展開です。f1にeq3.jpgを代入し、展開します。

f1 = (x - 1)*(x^2 - 1); f1

(x - 1)*(x^2 - 1)

f2 = expand(f1); f2

x^3 - x^2 - x + 1

次に展開されたf2を因数分解します。eq4.jpg ですから、答えは、eq5.jpg になります。

factor(f2)

(x - 1)^2*(x + 1)

分数の式も簡単に、因数分解できます。

f3 = 1/(x+2)+1/(x-2); factor(f3)

2*x/( (x - 2)*(x + 2) )

最後に簡素化で不要な項を取り除きます。

f4 = I + x - x; simplify(f4)

I

式の整形

式をきれいに表示するには、view関数を使用します。

view(f1)

view1.jpg

view(f2)

view2.jpg

view(f3)

view3.jpg

簡単プロット

最後に、数式を2次元のグラフにプロットしてみます。

2次元グラフには、plot関数を使用します。 plot関数のもっとも単純な呼び出し方法は、

plot(関数, 最小値, 最大値)

です。

例として、y=cos(x)のグラフを−2π から2πまで描画してみます。

plot(cos, -2*pi, 2*pi)
cos.jpg

sageを試してみて

sage/インストールのSageオンラインを使って簡単にsageをお手持ちのFirfox(ブラウザ)から試すことができます。

是非、実際にsageを使い勝手を試してみてください。

コメント

選択肢 投票
おもしろかった 7  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。


(Input image string)


添付ファイル: filecos.jpg 586件 [詳細] fileview3.jpg 618件 [詳細] fileview2.jpg 640件 [詳細] fileview1.jpg 634件 [詳細] fileeq3.jpg 621件 [詳細] fileeq5.jpg 610件 [詳細] fileeq4.jpg 619件 [詳細] filetab_cmpl.jpg 523件 [詳細] filehelp.jpg 512件 [詳細] fileeq2.jpg 543件 [詳細] fileeq1.jpg 618件 [詳細] fileedit.jpg 587件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-02-10 (月) 06:13:42 (1142d)
SmartDoc