sage/text/表記方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2011/06/15からのアクセス回数 &counter;
ここで紹介したSageワークシートは、以下のURLからダウンロー...
http://www15191ue.sakura.ne.jp:8000/home/pub/2/
また、Sageのサーバを公開しているサイト(http://www.sagenb...
アップロードし、実行したり、変更していろいろ動きを試すこ...
** 表記方法 [#x5f15435]
Sageを使用する際に知っていると便利な約束事(表記方法)が...
代表的なものについて、以下に示します。
*** python文法 [#z9e4a790]
Sageは、pythonのインタプリタを使っているため、pythonの構...
pythonでのコメント(実行に影響しない注釈)は、#記号から行...
コメントには日本語も使用できますので、式の説明やメモを入...
sageへの入力:
#pre{{
# print 1 + 3 この行はコメントです。
print 1 + 3 + 5
}}
sageの出力:
#pre{{
9
}}
*** 複数の式を1行にまとめる [#ec08335d]
複数の式を1行にまとめるには、式を;(セミコロン)で区切りま...
セルを評価するとprint文やshowコマンドの結果、それと一番最...
しかし、最後の代入文の結果は表示されないため、例のように;...
を入力します。
sageへの入力:
#pre{{
b = 1 + 3; print b # 複数の式を1行にまとめるには、式を;(...
a = 1; a # 代入の結果は、値を返さないので;で区切って変数...
}}
sageの出力:
#pre{{
4
1
}}
*** python変数への代入 [#x8e66a0c]
計算結果をpython変数に代入するときには、= (イコール)を使...
python変数と断っているのは、sageの数式で使われる変数と区...
aの値を数値として出力するには、N関数またはnメソッドを使い...
sageへの入力:
#pre{{
a = 1/2 + 1/3; print a
N(a)
}}
sageの出力:
#pre{{
5/6
0.833333333333333
}}
*** タプル [#d0c05aed]
タプルは、カンマで区切られた値からなるシーケンスデータ型...
タプルの出力は()カッコで括られたカンマ区切りの形式で表示...
タプルの変数への代入をタプル・パッキングと呼び、逆にタプ...
シーケンス・アンパッキングは変数への一括代入に使用すると...
リストや辞書と合わせるために、あえてカッコ()をつけてタプ...
sageへの入力:
#pre{{
t = (1, 2, 3); print t # 変数tへのタプル(1, 2, 3)...
(x, y, z) = t; print x, y, z # タプルtから変数x, y, zへの...
}}
sageの出力:
#pre{{
(1, 2, 3)
1 2 3
}}
*** リスト [#x8157ac1]
sageでは、リストがもっとも重要なデータ構造になります。
タプルとは異なり、リストでは要素の参照の他に、要素の追加...
sageへの入力:
#pre{{
L1 = [1, 2, 3]; print L1 # リストの生成
L2 = [9, 8, 7]
L1.append(4); print L1 # 要素の追加
print L1[2] # 要素の取得
print L1[1:3] # 部分リストの取得
print L1[-1] # 最後の要素は、-1で参照
print L1 + L2 # リストの結合
}}
sageの出力:
#pre{{
[1, 2, 3]
[1, 2, 3, 4]
3
[2, 3]
4
[1, 2, 3, 4, 9, 8, 7]
}}
*** 辞書 [#j91c2fe6]
辞書、別名「連想配列」と言われ、リストのインデックスの代...
できます。
- 辞書の生成:キーと値のペアを:(コロン)ではさみ,(カンマ)...
- 要素の取得;[]カッコにキーを指定して要素を取得します。
sageへの入力:
#pre{{
ages = {'John':24, 'Sarah':28, 'Mike':31}; # 辞書の生成
print ages # 辞書の出力
print ages['Sarah'] # 要素の取得
}}
sageの出力:
#pre{{
{'Sarah': 28, 'Mike': 31, 'John': 24}
28
}}
*** 変数の宣言 [#u1428887]
sageの式で変数として認識させるには変数をvar関数で宣言しな...
#pre{{
var('変数名')
}}
複数の変数を宣言する場合には、スペースを空けて指定します...
#pre{{
x, y = var('x y')
}}
のようにpython変数x, yに宣言したsage変数を代入します。
*** 関数の定義 [#f5b82d50]
sageの関数には、以下の3種類の指定方法があります。必要に応...
- シンボリック関数: f(x) = 式の形式で定義します。
- python関数: pythonのdefを使って関数を定義します。
- lambda関数: lambda 変数のリスト: 式の形式で定義します。
例では、\(sqrt(x)=x^{\frac{1}{2}}\)を返す関数をシンボリッ...
それぞれ symRoot, pyRoot, lamRoot として定義し、その使い...
当然すべて、同じ結果になります。
sageへの入力:
#pre{{
# シンボリック関数
symRoot(x) = x^(1/2)
# python関数
def pyRoot(x):
return x^(1/2)
# lambda関数
lamRoot = lambda x: x^(1/2)
# 関数の呼び出し
print symRoot(2), pyRoot(2), lamRoot(2)
# 数式が引数の場合
x, y = var('x y')
print symRoot(x+y), pyRoot(x+y), lamRoot(x+y)
}}
sageの出力:
#pre{{
sqrt(2) sqrt(2) sqrt(2)
sqrt(x + y) sqrt(x + y) sqrt(x + y)
}}
*** 値の代入 [#z5bb1d65]
変数の値を指定して関数の値を取得するには、以下の3つの方法...
- 値を指定したい変数を引数とするシンボリック関数を定義する
- 関数の引数にx=2のように変数に値を代入して参照する
- subs関数を使って値を代入する
以下の例では\(f(x) = a x + b\)の関数をf(x)、g(x, a, b)で...
を示しています。subsの場合には、a=2, b=1のようにカンマで...
で与える方法が使用できます。var関数で変数を定義すればa=c,...
sageへの入力:
#pre{{
# 関数f, g、変数x, a, bを定義
var('x a b')
f(x) = a*x + b
g(x, a, b) = f
print g(x, 2, 1)
print f(a=2, b=1)
print f.subs(a=2, b=1)
print f.subs({a:2, b:1})
# 変数c, dへの置換
var('c d')
print f.subs(a=2*c, b=d+1)
}}
sageの出力:
#pre{{
2*x + 1
2*x + 1
x |--> 2*x + 1
x |--> 2*x + 1
x |--> 2*c*x + d + 1
}}
*** 規則の代入 [#m12a13ff]
規則の代入には、subs_expr関数を使います。例として、関数h...
変数の置換では行えない変換もsub_exprを使うことによって可...
sageへの入力:
#pre{{
var('w')
h = x^2 + 3; print h # 関数hの定義
print h.subs_expr(x^2 == w) # x^2をwに置き換える
}}
sageの出力:
#pre{{
x^2 + 3
w + 3
}}
*** 前の出力結果の参照 [#u0d14985]
直前の実行結果を _ で参照することができます。
sageへの入力:
#pre{{
[1, 2, 3]
}}
sageの出力:
#pre{{
[1, 2, 3]
}}
sageへの入力:
#pre{{
sum(_) # 直前の実行結果を_で参照し、リストの和を求めま...
}}
sageの出力:
#pre{{
6
}}
** コメント [#e3f6d041]
#vote(おもしろかった[9],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- こまいことで恐縮ですが、「変数の宣言 」で「 宣言されたs...
- 宣言したsage変数をクリアする方法を教えてください。 -- [...
- Sageは、pythonで作られているので、del 変数名が使えるの...
- googleで検索したところ、reset が見つかりクリアできまし...
- Sage の例題では、Sage言語とpython言語が含まれています。...
- ysatoさま、Sageはpythonで処理されており、Sageとpythonで...
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2011/06/15からのアクセス回数 &counter;
ここで紹介したSageワークシートは、以下のURLからダウンロー...
http://www15191ue.sakura.ne.jp:8000/home/pub/2/
また、Sageのサーバを公開しているサイト(http://www.sagenb...
アップロードし、実行したり、変更していろいろ動きを試すこ...
** 表記方法 [#x5f15435]
Sageを使用する際に知っていると便利な約束事(表記方法)が...
代表的なものについて、以下に示します。
*** python文法 [#z9e4a790]
Sageは、pythonのインタプリタを使っているため、pythonの構...
pythonでのコメント(実行に影響しない注釈)は、#記号から行...
コメントには日本語も使用できますので、式の説明やメモを入...
sageへの入力:
#pre{{
# print 1 + 3 この行はコメントです。
print 1 + 3 + 5
}}
sageの出力:
#pre{{
9
}}
*** 複数の式を1行にまとめる [#ec08335d]
複数の式を1行にまとめるには、式を;(セミコロン)で区切りま...
セルを評価するとprint文やshowコマンドの結果、それと一番最...
しかし、最後の代入文の結果は表示されないため、例のように;...
を入力します。
sageへの入力:
#pre{{
b = 1 + 3; print b # 複数の式を1行にまとめるには、式を;(...
a = 1; a # 代入の結果は、値を返さないので;で区切って変数...
}}
sageの出力:
#pre{{
4
1
}}
*** python変数への代入 [#x8e66a0c]
計算結果をpython変数に代入するときには、= (イコール)を使...
python変数と断っているのは、sageの数式で使われる変数と区...
aの値を数値として出力するには、N関数またはnメソッドを使い...
sageへの入力:
#pre{{
a = 1/2 + 1/3; print a
N(a)
}}
sageの出力:
#pre{{
5/6
0.833333333333333
}}
*** タプル [#d0c05aed]
タプルは、カンマで区切られた値からなるシーケンスデータ型...
タプルの出力は()カッコで括られたカンマ区切りの形式で表示...
タプルの変数への代入をタプル・パッキングと呼び、逆にタプ...
シーケンス・アンパッキングは変数への一括代入に使用すると...
リストや辞書と合わせるために、あえてカッコ()をつけてタプ...
sageへの入力:
#pre{{
t = (1, 2, 3); print t # 変数tへのタプル(1, 2, 3)...
(x, y, z) = t; print x, y, z # タプルtから変数x, y, zへの...
}}
sageの出力:
#pre{{
(1, 2, 3)
1 2 3
}}
*** リスト [#x8157ac1]
sageでは、リストがもっとも重要なデータ構造になります。
タプルとは異なり、リストでは要素の参照の他に、要素の追加...
sageへの入力:
#pre{{
L1 = [1, 2, 3]; print L1 # リストの生成
L2 = [9, 8, 7]
L1.append(4); print L1 # 要素の追加
print L1[2] # 要素の取得
print L1[1:3] # 部分リストの取得
print L1[-1] # 最後の要素は、-1で参照
print L1 + L2 # リストの結合
}}
sageの出力:
#pre{{
[1, 2, 3]
[1, 2, 3, 4]
3
[2, 3]
4
[1, 2, 3, 4, 9, 8, 7]
}}
*** 辞書 [#j91c2fe6]
辞書、別名「連想配列」と言われ、リストのインデックスの代...
できます。
- 辞書の生成:キーと値のペアを:(コロン)ではさみ,(カンマ)...
- 要素の取得;[]カッコにキーを指定して要素を取得します。
sageへの入力:
#pre{{
ages = {'John':24, 'Sarah':28, 'Mike':31}; # 辞書の生成
print ages # 辞書の出力
print ages['Sarah'] # 要素の取得
}}
sageの出力:
#pre{{
{'Sarah': 28, 'Mike': 31, 'John': 24}
28
}}
*** 変数の宣言 [#u1428887]
sageの式で変数として認識させるには変数をvar関数で宣言しな...
#pre{{
var('変数名')
}}
複数の変数を宣言する場合には、スペースを空けて指定します...
#pre{{
x, y = var('x y')
}}
のようにpython変数x, yに宣言したsage変数を代入します。
*** 関数の定義 [#f5b82d50]
sageの関数には、以下の3種類の指定方法があります。必要に応...
- シンボリック関数: f(x) = 式の形式で定義します。
- python関数: pythonのdefを使って関数を定義します。
- lambda関数: lambda 変数のリスト: 式の形式で定義します。
例では、\(sqrt(x)=x^{\frac{1}{2}}\)を返す関数をシンボリッ...
それぞれ symRoot, pyRoot, lamRoot として定義し、その使い...
当然すべて、同じ結果になります。
sageへの入力:
#pre{{
# シンボリック関数
symRoot(x) = x^(1/2)
# python関数
def pyRoot(x):
return x^(1/2)
# lambda関数
lamRoot = lambda x: x^(1/2)
# 関数の呼び出し
print symRoot(2), pyRoot(2), lamRoot(2)
# 数式が引数の場合
x, y = var('x y')
print symRoot(x+y), pyRoot(x+y), lamRoot(x+y)
}}
sageの出力:
#pre{{
sqrt(2) sqrt(2) sqrt(2)
sqrt(x + y) sqrt(x + y) sqrt(x + y)
}}
*** 値の代入 [#z5bb1d65]
変数の値を指定して関数の値を取得するには、以下の3つの方法...
- 値を指定したい変数を引数とするシンボリック関数を定義する
- 関数の引数にx=2のように変数に値を代入して参照する
- subs関数を使って値を代入する
以下の例では\(f(x) = a x + b\)の関数をf(x)、g(x, a, b)で...
を示しています。subsの場合には、a=2, b=1のようにカンマで...
で与える方法が使用できます。var関数で変数を定義すればa=c,...
sageへの入力:
#pre{{
# 関数f, g、変数x, a, bを定義
var('x a b')
f(x) = a*x + b
g(x, a, b) = f
print g(x, 2, 1)
print f(a=2, b=1)
print f.subs(a=2, b=1)
print f.subs({a:2, b:1})
# 変数c, dへの置換
var('c d')
print f.subs(a=2*c, b=d+1)
}}
sageの出力:
#pre{{
2*x + 1
2*x + 1
x |--> 2*x + 1
x |--> 2*x + 1
x |--> 2*c*x + d + 1
}}
*** 規則の代入 [#m12a13ff]
規則の代入には、subs_expr関数を使います。例として、関数h...
変数の置換では行えない変換もsub_exprを使うことによって可...
sageへの入力:
#pre{{
var('w')
h = x^2 + 3; print h # 関数hの定義
print h.subs_expr(x^2 == w) # x^2をwに置き換える
}}
sageの出力:
#pre{{
x^2 + 3
w + 3
}}
*** 前の出力結果の参照 [#u0d14985]
直前の実行結果を _ で参照することができます。
sageへの入力:
#pre{{
[1, 2, 3]
}}
sageの出力:
#pre{{
[1, 2, 3]
}}
sageへの入力:
#pre{{
sum(_) # 直前の実行結果を_で参照し、リストの和を求めま...
}}
sageの出力:
#pre{{
6
}}
** コメント [#e3f6d041]
#vote(おもしろかった[9],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- こまいことで恐縮ですが、「変数の宣言 」で「 宣言されたs...
- 宣言したsage変数をクリアする方法を教えてください。 -- [...
- Sageは、pythonで作られているので、del 変数名が使えるの...
- googleで検索したところ、reset が見つかりクリアできまし...
- Sage の例題では、Sage言語とpython言語が含まれています。...
- ysatoさま、Sageはpythonで処理されており、Sageとpythonで...
#comment_kcaptcha
ページ名:
SmartDoc