実験数学1 (2020年度)

注意:講義の諸情報は 大阪大学CLE に掲載するので,毎週確認してください.

注意:この講義の前半ではC言語を扱い,後半ではJuliaまたはOctaveを扱います.

注意教育用計算機を利用して講義を行う予定でしたが,しばらくの間,オンラインで講義を行う可能性が高いので,自宅のラップトップなどでプログラミングを行える環境を整えることを強く推奨します.

1. 自分のパソコンから情報教育端末のソフトウェアを利用する場合

サイバーメディアセンターのウェブページに利用方法の説明が書かれています.「キャンパスクラウドエージェント」と「VMWare Horizon View Client」のインストール・利用方法が説明されていますが,必須なのは後者です(項目2, 4).キャンパスクラウドエージェントを(エラーなどで)インストールできなくても問題ありません.

なお,Desktopに置かれたファイルはログオフ時に消去されるため,教育用計算機を利用する場合,プログラムはDesktopのDocumentsというフォルダに置いて作業すると良いでしょう.
例えばDocumentsの中にExpMath1というフォルダを作り,その中にa1-1.cを置いたとき,cygwinでのフォルダの移動操作は次のとおりです.

$ cd Z:ExpMath1/

さらにフォルダを細かく整理している場合,例えばExpMath1の中にa1というフォルダがある場合は,

$ cd a1

とします.フォルダの中身を確認する場合は

$ ls

一つ上の階層に戻りたいときは

$ cd ..

とします.

ただし,この利用方法の場合

  • 接続が必ずしも安定しないかもしれない(また一回の利用時間に制限があります)
  • 使えるエディタが限定される(メモ帳よりはNotepad++がおすすめです)
  • Juliaで使えないパッケージがある

といった理由から,自分のパソコンに環境構築することを推奨します.

2. C言語の環境を構築する

Windows:大学のPCと同じような環境を整えたい場合,Cygwin をインストール.gccというパッケージを忘れずにインストールすること.インストール後,Cygwinを立ち上げて gcc -v としてエラーがでなければOKです.

Mac: App Store から Xcode をインストール.インストール後,ターミナルを立ち上げて gcc -v としてエラーがでなければOKです.homebrewなどからgccをインストールしてもよいです.

homebrewについて補足:パッケージマネージャーとして homebrew (パッケージマネージャー(他にも MacportsFink などがあります)は便利なので,使っていない人は導入するとよいでしょう.

3. Hello World!をコンパイル/実行してみる

大学のアカウント and/or 個人のPCに「ExpMath1」といった名前のフォルダを作成します.

  • Dropboxなどで同期させておくと便利
  • フォルダ名やファイル名にはなるべく日本語は避ける

適当なエディタをダウンロードします

  • 「メモ帳」は色々と不便
  • 初心者であれば「Sublime Text」や「Atom」などがおすすめ
  • 色々試してみながら,使いやすいものを見つけていけばよい

エディタを立ち上げて,以下のプログラムを書き,適当な名前(例えば「hello.c」)をつけて保存します.

注意:拡張子は「txt」などではなく「c」とすること

#include <stdio.h>

int main()
{
   printf("Hello World!\n");
   return 0;
}

コンパイル および 実行(Windowsの場合)

仮に,hello.c が Documents の ExpMath1 というフォルダの中にあるとします(教育用計算機の場合).

Cygwinを起動し,cdコマンドで作業ディレクトリを移動

$ cd Z:ExpMath1/

gccコマンドで,hello.cをコンパイル

$ gcc hello.c

コンパイルが成功すると,実行ファイル「a.exe」が作成されるので,lsコマンドで確認してください.

$ ls
a.exe hello.c

このように2つのファイルが表示されればOKです(同じフォルダに他のファイルがあれば,それらも全て表示されます).

プログラムを実行

$ ./a
Hello World!

「Hello World!」が表示されれば成功です.

コンパイル および 実行(Macの場合)

仮に,hello.c が Desktop の ExpMath1 というフォルダの中にあるとします.

ターミナルを起動し,cdコマンドで作業ディレクトリを異動

$ cd ~/Desktop/ExpMath1

gccコマンドで,hello.cをコンパイル

$ gcc hello.c

コンパイルが成功すると,実行ファイル「a.out」が作成されます.lsコマンドで確認してみると

$ ls
a.out hello.c

と二つのファイルが表示されるはずです(同じフォルダに他のファイルがあれば,それらも全て表示されます).

プログラムを実行

$ ./a.out
Hello World!

「Hello World!」が表示されれば成功です.

4. Julia, Octaveをインストール

JuliaのウェブページからDownloadへと進み,それぞれの環境にあったものをインストールします.Macの場合は,

$ brew cask install julia

のようにインストールすることもできます.

GNU OctaveのウェブページからDownloadと進み,それぞれの環境にあったものをインストールします.

5. gnuplotを使えるようにする

gnuplotは2次元や3次元のグラフを生成するためのソフトウェアです.

注意:JuliaやOctaveではグラフを描くことができますが,C言語ではそれができません.この講義の後半ではJuliaまたはOctaveを扱いますが,C言語を使い続けても問題ありません.ただし,その場合はグラフを描くためには別のソフトウェアが必要で,例えばgnuplotを使うのがよいでしょう.(講義の内容にあわせてJuliaあるいはOctaveを扱いたい学生は,必ずしもインストールする必要はありません)

Windowsの場合

gnuplotのウェブページ からgnuplotをダウンロードし,インストールします(cygwinをfullでインストールしていれば,その中にgnuplotも含まれているらしいけれど,(windowsのPCを持っていないため)自分では確認できていません).

インストールできたら,\( \sin(x) \) のグラフなどを描いてみるとよいでしょう.

$ plot sin(x)

Macの場合

$ brew install gnuplot

でインストールできます. ただし,これだと図を描いたときに表示ウィンドウが開かなかったり色々不便なので,AquaTermXQuarts などをインストールしたうえで,

$ brew install gnuplot --with-aquaterm

$ brew install gnuplot --with-x11

というふうにインストールすると便利です.

インストールできたら,\( \sin(x) \) のグラフなどを描いてみるとよいでしょう.

$ plot sin(x)

6. LaTeXを使えるようにする

(これは必須ではありませんが)多くの数学者は Word ではなく LaTeX を使って論文を書いています.授業のレポートなどで少しずつ慣れていくとよいと思います.

インストール方法については

などが参考になります.

便利なエディタも たくさん あるので,いろいろ試してみて使いやすいものを見つければよいでしょう.