• 検索結果がありません。

PDF 1 Mathematica の基本 - 東京理科大学

N/A
N/A
Protected

Academic year: 2024

シェア "PDF 1 Mathematica の基本 - 東京理科大学"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

1 Mathematica の基本

MathematicaとはWolfram Research社が開発 したソフトウェアであり,端的に説明すると色々 な計算を自動で行い,その結果を出力してくれ るというものである.Mathematicaで計算でき ることには「微分」や「積分」,「方程式の解を 求める」,「行列式を求める」など,高度な計算 も含まれるため,使いこなせれば非常に有用な プログラムである.Mathematicaの日本語公式 ホームページのURL

http://www.wolfram.com/mathematica/

index.ja.html なので,興味ある人は見てみると良い.

便利である一方,機能が多種にわたるので使 いこなすには覚えることも多い.特に,複雑な 計算をさせる場合はプログラムを書くかのよう な入力をしなくてはならないこともある.この 節では,Mathematicaの基本的な操作法の解説 と簡単な計算を行う.

なお,このプリント,および今後配布する Mathematicaに関するプリントは以下の書籍を 参考にしながら作成した.

1. 日本Mathematicaユーザー会 編著,

「入門Mathematica,東京電機大学出版局 2. Sal Mangano著,松田裕幸 訳,

「Mathematicaクックブック」,オライリー・

ジャパン

1.1 Mathematica

の起動とファイルの保 存

まずは,Mathematicaを起動する.

しばらくすると真っ白なウィンドウが開く.こ の状態になったら実際に使える状態になったの だが,色々と書き始める前にファイルの保存の 仕方を確認する.

ウィンドウ上部にあるメニューで「ファイル」

「保存」をクリックするとウィンドウが出て くるので保存する場所を選び,ファイル名を

「math」と入力した後に「保存」をクリックす ると選択した場所にファイルが新たに現れる.

一度Mathematicaを閉じて先ほど保存したフ ァイルのディレクトリを開こう.先ほど保存し

たファイルは「math.nb」となっているはずであ る.nbはnote bookの略でMathematicaのファ イルは「*.nb」として保存される.math.nb ダブルクリックしてみよう.Mathematicaが自 動的に起動し,math.nbが開く(何も書いてい ないので真っ白なウィンドウが出てくるはずで ある).

1.2

基本操作と簡単な例

簡単な式であればMathematicaは直感的な入力 のみで使うことができる.例えば,1+1を計算 させてみよう.以後,「· · ·」と入力する,と書い てあったら実際に入力するのは「」で囲まれた

· · ·の部分だけであり,括弧自身は入力しない.

1. キーボードで直接「1+1」と入力する.

2. キーボードで「Shift」を押しながら「Enter を押す(以後この操作を「Shift+Enter」と 省略したり,「実行する」,あるいは「評価 する」と言ったりする).

上の2ステップを行うとウィンドウ内の表示が

In[1]:= 1+1 Out[1]:= 2

になるはずである.「In」はinput(入力)の略で自 分が入力したものである.それに対して「Out」 はoutput(出力)の略で入力に対するMathe-

maticaの答え(評価結果)を表している.横に

数字が付いているのは,入力と出力のペアが分 かるように番号を割り振っているのである.

そのまま続けてキーボードで「1+2」と入力 し,「Shift+Enter」すると以下のようになるはず

(2)

である.

In[1]:= 1+1 Out[1]:= 2 In[2]:= 1+2 Out[2]:= 3

In・Outの横の数字が1つ増えたことが確認で きる.以後,Mathematicaに評価をさせる度に この番号が増えていく.

上の四角内に記述したように,画面に表示さ れるべきものを今後も上のような角の丸い四角 で囲って記す.ただし,In[x]/Out[x]xに入る 数字は,それまでにMathematicaに何回評価を 実行させたかによって異なるのでこの数字がプ リントの表示と一致しなくても本質的ではない.

重要なのは,同じ数字が付いているInとOutが ちゃんと対応する入力・出力にそれぞれなって いるかを確認することである.

これを考慮して以後,画面の表示を記述する 際には基本的にIn/Outの横の数字は1として 記述し,複数の入出力を同時に表示する必要が ある場合にのみ必要に応じて数を増やして記述 する.

1.3

セル

ウィンドウの右端を見ると,]のような記号がい くつかあることに気づく.Mathematicaでは入 力や出力を「セル」と呼ばれる単位でまとめて 管理する.例えば今の場合,

In[1]:= 1+1 は1つのセルに記入されていて,

Out[1]:= 2

もまた別のセルになっている.Mathematicaは デフォルトの設定では入力とそれに対応する出 力のセルを自動的にグループに分ける.今の場 合,右端も含めて画面の表示を書くと

In[1] : = 1 + 1 ]

Out[1] : = 2 ]

のようになるが,2つの小さい]は入力・出力そ れぞれのセルを表し,大きい]はそれらがグルー プになっていることを表す.特に,入力が書い てあるセルを「入力セル」,出力が書いてあるセ ルを「出力セル」という.

それぞれクリックするとそのセル,あるいは グループを選択した状態になる.大量の計算や 長い数式などを整理するのに便利であるが,当 面は必要ないときはセルには言及せずにプリン トでも省略する.

なお,計算式を一度実行すると次に入力する 際には新しいセルが作られて,そこに入力する ようになるが,既存のセルをクリックして修正 や付け足しをすることもできる.「Shift+Enter を行うと,現在選択されている入力セルの内容 が実行される.

1.4

基本操作のまとめ

これまでのことをまとめると,Mathematica











Mathematicaにやってほしいことを入力

「Shift+Enter」

結果が出力される











が基本的な流れである.後は,「Mathematicaに やってほしいことをどのように入力すればよい のか?」ということが今後のテーマとなる.

1.5

エラーや操作ミスなど

様々な計算を試す前に,間違った入力(Mathe-

maticaが認識できない入力)を実行させようと

するとどうなるか確認しよう.

(3)

1.5.1 中途半端な数式

例えば,「1+」と入力して実行させてみよう.す ると,以下のような表示で

In[1]:= 1+

In[1]の+記号がハイライトされているはずで

ある.Mathematicaでは評価させた際に,認識 できないところがあるとその部分をハイライト してくれるので,ハイライトされている部分を 見ながら入力を直そう.今の場合は,「何を足す のか」が指定されていないので適当な数字を書 き足して実行すれば問題なく結果が出力される.

例えば,3を書き足せば

In[1]:= 1+3 Out[1]:= 4

のようになる.

1.5.2 全角による入力

全角で式を入力するとどうなるだろうか? 例え ば,全角で「1+1」と入力して実行すると

In[1]:=1+1 Out[1]:=1+1

となる.1+を入力したときと違い,エラーを出 すのではなく,入力したことがそのまま出力さ れた.これは,全角で入力するとMathematica は「1+1」を数式ではなく,文字として認識 し,特に評価することがないのでそのままを出 力したのである.同じ要領で,半角入力でも単語 を入力すると入力した単語をそのまま返す.例 えば「Mathematica」と入力すると

In[1]:= Mathematica Out[1]:= Mathematica

のようになる.後に扱うが,Mathematicaは変

数を含む式を変数のまま変形したりできる.お そらくその都合で文字を入力すると文字をその まま返すようになっているのだろうと思われる.

したがって,Mathematicaに評価をさせるた めには入力モードが全角になっていないかに注 意が必要である(Mathematicaを使う上で全角 入力が必要になることは基本的にない).

1.6

簡単な計算

Mathematicaの大まかな操作方法が分かったと ころで,早速色々と計算させてみよう.まず,以 下に基本的な演算や記号の入力法を列挙する.

1.6.1 演算・記号の入力法・関数

以下の表のa, bは実際に使用するときは数字を 当てはめて使おう(アルファベットのまま入力 しても問題はないが何も評価してくれない).

演算・記号 入力法

a+b a+b

a−b a - b

a×b ab

a÷b a/b

ab a^b

i(虚数単位) I(大文字のi π(円周率) Pi

e(ネピア数) E

次に,よく使う関数を表にまとめる.

関数 入力法

|a|(絶対値) Abs[a]

logab Log[a,b]

logeb(自然対数) Log[b]

√a Sqrt[a]

sina Sin[a]

cosa Cos[a]

tana Tan[a]

Mathematicaは「加減乗除の計算順序」や「括 弧で囲まれたものを先に計算する」などのルー ルも組み込まれているので数式を見たまま入力 すれば望みの計算をしてくれる.

上の表に挙げたもの以外にも関数や記号はた くさんあるが,全て挙げるのは不可能なのでもっ

(4)

と知りたい人はプリントの最後に解説するドキュ メントセンターを使って調べてみよう.

表からも分かるように基本的にどの関数も

関数名[引数]

の形で入力して使うようになっている.また,

Mathematicaにおいてはこれら「関数」が基本 要素であり,特定の計算をさせるために必要な 関数を選び出し,組み合わせることによって望 みの計算をさせるのである.

その最も単純な例が,2つ以上の関数を合成 することである.例えばlog|a|を計算させるに は Log[Abs[a]] と入力すればよい.

課題 1.1. Mathematicaに以下の2つの計算を させ,結果が違うことを確認せよ.

2×3 + 4÷2 2×(3 + 4)÷2

課題 1.2. R3の2つの点(1,2,3)と(1,3,0) の間のユークリッド距離をMathematicaに計算 させよ.

ただし,R3の2点(x1, x2, x3)(y1, y2, y3) 間のユークリッド距離は

vu ut∑3

i=1

(xi−yi)2

である.

1.7

もう少し複雑な計算

これまでは「1つの計算式を入力してそれを実 行する」,ということを行ってきたが,もう少し 込み入った計算もできるので見てみよう.

1.7.1 複数個の計算式

まず,一つの入力セルに複数の計算式を入力し て実行させることができる.以下のように入力 してみよ.なお,改行をするには「Enter」を押

せばよい.

1+1

2+2

この状態で実行すると以下のようになるはずで ある.

In[1]:= 1+1 2+2

]

Out[1]:= 2 ]

Out[2]:= 4 ]







1つのセルに2つの計算式を入れたので結果が 2つ出力された.その関係で,Outの番号がIn の番号とずれてしまうが,ウィンドウの右端を みると,3つのセルが1つのグループとしてちゃ んとまとめられていることが分かる.

1.7.2 変数を用いた省略

一連の計算過程で,表示の長い値をいちいち入 力するのは面倒である.例えば円周率の近似値

として3.14159を使って計算する式が大量にあ

る場合,

x=3.14159 3x

x^2

の よ う に 入 力 す れ ば ,Mathematica は x

3.14159として定義されたことを認識し,後に

続く計算式においてx = 3.14159を代入して計

(5)

算してくれる.上の例を実行すると

In[1]:= x=3.14159 3x x^2

Out[1]:= 3.14159 Out[2]:= 9.42477 Out[3]:= 9.86959

のようになる.最初の出力はxの値を返してい るだけである.また,一度xに値を定めると,値 を再定義するまでMathematicaはxの値を保存 する.新しいセルに

x-2

と入力して実行してみよう.すると,このセル 内ではxの値を定めていないにも関わらず,ちゃ んと1.14159という値を出力する.

一度値を定めた変数の中身を消すためには

Clear[変数]

を実行すればよい.今の場合

Clear[x]

3*x

を実行すると

In[1]:= Clear[x]

3*x Out[1]:= 3 x

のように,xを値の決まっていない変数として の評価結果が出力された.

1.8

困ったときのドキュメントセンター

次回以降より複雑なMathematicaの使い方を解 説するが,関数の使い方を調べたり,プリント で解説しきれない事柄を自分で調べるための方 法を解説する.

ウィンドウ上部にあるメニューで「ヘルプ」

「ドキュメントセンター」をクリックすると新し いウィンドウが開き,ドキュメントセンターの メニューが表示される.使い方としては大きく 分けて2通りある.

1. 検索フォームにキーワードを入力して検索 する

検索すると関連する項目がリストアップさ れ,クリックして進んでいけば個別の関数 に関する説明や具体的にどのように入力し て使うのかの例を交えた解説をみることが できる.使いたい関数の名前はわかってい るが細かい入力方法が分からない場合に有 効な方法である.

2. 最初のメニューをたどりながら探す メニューに表示されているいくつかのカテ ゴリーを選んでいき,最終的に必要な関数 の解説ページにたどり着く方法である.こ れは,「こういうことをやりたい」というの が分かっているが,どの関数を用いれば可 能かが分からないときに有効である.

分からなくなったらとりあえず ドキュメントセンターで調べよう!

参照

関連したドキュメント

CUDALinkについての詳細な内容は, Mathematicaドキュメントセンターの以下のページをご参照ください. [CUDALink

アプリケーション(プログラム)としての Mathematica

このDPはマルチプルアライメントに対しても利用可能であるが,配列の本数に比例してネットワークの

また,ダイナミクスという視点からではないものの,本研 究と同様にヤコビアンの特異値計算を行なうことで, Bengio らは, deep learning

員理のための贋理が主張せられたこともあった。

行列式は置換群の各置換σに対して, sgnσa1σ1a2σ2· · ·an σn を計算して, すべての置換

談話会 &整数論講演会2020December 2020年12月18日 指数3と5のイデアル類群をもつ 虚重2次体の決定について 小松 亨東京理科大学 概要2次体を 2つ以上合成してできる 体を重2次体multiquadratic fieldとい い, 実数体に含まれない重2次体を虚重 2 次体という.. 本講演 では, 拡張されたリーマン予想ERHの 下で,

• 写像f:X →Y が点列連続sequentially continuousとは, もしxn → xならば, つねに fxn→fxであることをいう.. • 写像f: X→Y が連続continuousとは,もしU ⊂Y がYの開集合ならば,逆像f−1U⊂X