環境構築

演習用プログラムは、Fortran および Python のプログラムを配布する。 実行には以下の環境が必要となる。

Fortran

ノートパソコンに、Fortranコンパイラ (gfortranなど) を用意する。 配布プログラムはgfortran-14.2.0でコンパイル、実行ができることを確認した。 行列積にはFortran組込手続であるmatmulなどを用いているので、線型代数ライブラリは不要が、行列計算を行うには線型代数ライブラリを用意する。 OpenBLASなどを導入してもよいが、以下ではRtoolsに含まれるLAPACKを利用する。

Fortranプログラムの実行結果を可視化するために、プロットができるアプリケーションが必要である。演習ではRで書かれたスクリプトを配布する。

Python

Pythonは一般的なプログラミング言語であり、ライブラリを追加する必要がある。 数学函数や行列計算にはNumpyを用いる。 データの描画にはMatplotlibが一般的である。 ノートパソコンに、Python実行環境を準備する。 配布するスクリプトはPython3.12.5で作成した。

Google Colaboratory

Google Colaboratoryは、ウェブブラウザから使う。 Google ColaboratoryはGoogleアカウントがあれば無料で利用できる。 無償版は使用できる資源に制約がある。 ネットワーク環境の制約を受けることにも注意が必要である。

Python3をCPUで使うのが既定であるが、GPUを使ったり、RやJuliaを使うこともできる。 次のようにgfortranを使うこともできる。

%%writefile hello.f90
print *, "Hello, world!"
end

シェルエスケープしてコンパイル、実行する。

!gfortran -o hello hello.f90
./hello

Jupyter

Jupyterもウェブブラウザから用いるが、 ノートパソコンに構築することもできる(WindowsMac参照)。

ターミナル

Windowsは近年ターミナルやLinuxとの統合を強化している。黒い窓と呼ばれたDOS窓コマンドプロンプト(cmd.exe)でのMS-DOSに代わり、Windows 11や最新のWindowsではTerminalが既定の端末エミュレータである。 インストールされていない場合は、Microsoft Storeで検索してインストールする。

Macには「アプリケーション/ユーティリティ」に、LaunchPadでは「その他」にある。

Windows

Windowsでは、wingetを用いると簡単に環境構築ができる。

PowershellはWindows PowerShellではなく、マルチプラットフォームのPowerShell 7以降を使う。 PowerShellをインストールして設定してみよう。 スタートメニューから「ターミナル」または「terminal」を検索して、タスクバーに追加する。起動すると、古いWindows PowerShellが起動する。PowerShell 7をインストールするように案内が表示される。

winget install Microsoft.PowerShell

プロファイルが自動で作成されるので、これがWindowsターミナルを起動した時に選択されるように設定する。ウインドウのタイトルバーの下向き記号から設定を選択するか、Ctrl+,で設定画面を表示する。「スタートアップ」の「既定のプロファイル」から、青ではなく黒のPowerShellを選び、ウィンドウ右下の「保存」ボタンをクリックする。

Pythonのインストール

Fortranを用いる場合は、飛ばして良い。

winget install Python.Python.3.13

新しいタブを開くと、pythonにパスが通っている。 pythonから抜けるにはquit()とタイプする。

PowerShell 7.5.2
python
Python 3.12.5 (tags/v3.13.7:bceelc3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

pipでNumpyとmatplotlibをインストールする。

pip install numpy matplotlib

Jupyterのインストール

jupyterをインストールする。

pip install jupyter

JupyterLabまたはJupyter Notebookを起動すると、既定のブラウザに表示される。

jupyter notebook

エディタのインストール

ソースコードを書くには、テキストエディタを用いる。必要なものを一つ入れる。

winget install Neovim.Neovim
winget install GNU.Emacs
winget install Microsoft.VisualStudioCode

私はneovimを使っている。Neovim(コマンド名はnvim)を起動して:Tutorとタイプすると、チュートリアルが始まる。

gfortranとRのインストール

Fortranでの計算結果の可視化にはRスクリプトを配布する。 R以外で描画する場合はRは不要であるが、gfortranやLAPCKを使うため、Rの開発環境であるRToolsをインストールする。 RToolsにはMinGW-w64が含まれており、最も手軽に開発環境を構築できる。 (Numpyのソースからのインストールにも推奨されている。)

winget install RProject.R
winget install RProject.Rtools

パスを設定する。設定ファイルはドキュメント(パソコンのアカウントがMicrosoftアカウントと紐付けられている場合はOneDrive\ドキュメント)のPowerShellフォルダの中のMicrosoft.PowerShell_profile.ps1に保存される。PowerShellフォルダがないと保存できないことがあるので、あらかじめ作成しておく。Neovimで編集する場合は次のようにする。

nvim $profile
$env:PATH += "$env:ProgramFiles/R/R-4.5.1/bin/x64;"
$env:PATH += "C:/rtools45/usr/bin;C:/rtools45/x86_w64-mingw32.static.posix/bin;"

Rは1行目のパスに、makeは2行目の前者に、gfortranは後者にある。RはPowerShellでは、一つ前に投入したコマンドを呼び出すものであり、名前が衝突する。 Rを起動したいときは、R.exeと打鍵する。x86_w64-mingw32.static.posix`はプラットフォームに依存するので、ARM64では異なる。 別タブを開いてgfortranがあることを確認する。

gfortran --version

Mac

プログラミング習の範囲ではMacでも、公式サイトのPythonインストーラでよい。コンパイルが必要な外部ライブラリに依存する場合は、MacPortsを使ってインストールすることをお勧めする。 Homebrewはネット上に多くの情報があるが、一貫した環境を提供するMacPortsを推す(Qiitaの解説)。 MacPortsの既定のインストール先は/opt/localである。Homebrewは、Intel Macでは/usr/localに、インストールされるので、自分でコンパイルしたものと混在することになる。Apple Siliconでは(ついに学んだのか)/opt/homebrewにインストールされるようになった。

MacPortsのインストール

Installing MacPortsに従って、次の手順でインストールする。

OSを最新に更新した後、OSに応じたpkgインストーラ(アプリケーションをインストールする普通のインストーラ)を入手してMacPortsをインストールする。 インストーラは/opt/local/bin.zshrcに追加する。

  1. AppleのCommand Line Developer Toolsをインストールする。
sudo xcode-select --install
  1. (オプション)App StoreからXcodeをインストールしライセンスに同意する。
sudo xcodebuild -license
  1. (オプション)X11ウインドウ環境を用いる場合はxorg-serverポートをインストールする。
sudo port install xorg-server

インストールが済んだら、

sudo port -v selfupdate

を実行する。 portコマンドについては、man portまたはドキュメント参照。

Pythonのインストール

複数のバージョンを共存させるために、Pythonのライブラリ名はpy313-numpyのようにPythonのバージョンが付されている。 python313/opt/local/Library/Frameworks/Python.framework/Versions/3.13にインストールされる。

sudo port install python313

インストール後に表示されるメッセージにあるが、使用するバージョンをselectサブコマンドで選択する。

sudo port select python python313

次にNumpyとmatplotlibをインストールする。

sudo port install py313-numpy py313-matplotlib

python312を明示的にインストールしなてくも、Numpyやmatpotlibが依存するものとしてインストールされる。

Jupyterのインストール

JupyterもMacPortsで簡単にインストールできる。

sudo port install py313-jupyter

gfortranとRのインストール

gfortranはgccの一部として配布されている。

sudo port install gcc14

gccも複数のバージョンを共存させるため、gfortran-mp-14のようにバージョン番号をつけた実行ファイル名になっている。

sudo port select gcc mp-gcc14

を実行するとgcc14を既定としてgfortran-mp-14を指すエイリアスgfortran/opt/local/binに作成される。

描画に使う場合には、Rもインストールする。

sudo port install R