🐣
Windows11でJuliaに入門しよう!
このノートでは, JuliaをインストールしてJupyter Notebookの環境構築や, 各種パッケージの使い方を学びます. Windows11の端末をセットアップにあたり, まずは下記の手順に従って隠しファイルや拡張子を表示するなどの設定を済ませておきましょう.
Juliaのインストールから起動まで
JuliaはMicrosoft Storeからインストールできます. いい時代になりましたね.
- 上記のリンクにアクセスして, 右上の
Get in Store app
をクリックします.
- 小さいウィンドウが開くので
インストール
をクリックするとそのままインストールされます. 自動でインストールは終了しますので, 最後に開く
を押して下さい.
- 初回だけインストールが入ります(一瞬なので気づかないかもしれません)が, その後に勝手にJuliaが起動します.
- 以上が「起動するまで」でした. ついでにHello, World!しましょう.
Jupyter Notebook
Juliaユーザーには作業のほとんど全てをJupyter Notebook上で行っている人も少なくありません. まずは使ってみましょう.
インストール
- 先ほどの画面で
]
を押すとpkgモードに変わります.
- pkgモードで
add IJulia
を押すとIJulia.jlがインストールされます. 他のパッケージも同じようにadd ~~~
としてインストールするので, 覚えておきましょう.
- インストールが終わったらバックスペースを押します. すると, pkgモードが終了して, 通常のREPLモードに戻ります.
- REPLに
using IJulia; notebook(detached=true)
を入力するとJupyter Notebookが起動します. 初回だけinstall Jupyter via Conda, y/n?
と表示されるのでy
と打ってEnterを押します.
- するとインストールが始まり, 自動的にJupyter Notebookが起動します.
REPLは過去の命令を覚えている
これを知っているのと知らないのでは作業効率, 成長速度に雲泥の差が出ますので, 早めに教えるべきだと考えています. 一度, Juliaのウィンドウの×ボタンを押して閉じて, 起動しなおしましょう.
- REPLで↑キーを押すと過去のコマンドの履歴が表示されます.
- Enterを押して再びJupyter Notebookを起動しましょう.
ノートブック上でのHello World!
- 適当なディレクトリに移動します. 今回はデスクトップにしましょう.
- 適当なディレクトリに移動した後, 右上のNewをクリックし, Juliaのバージョンを選択してノートブックを作成します.
- ノートブックファイルが作成され, 自動的に新しいタブでノートブックが開きます. 左上のUntitledをクリックし, ノートブックの名前を変えましょう.
- ノートブックのタイトルを入力してRenameを押します.
- 真ん中に表示されているボックスに
println("Hello World!")
を入力し, 上の再生ボタン▷をクリックします.
- 出力として
Hello World!
が表示されます.
Juliaとノートブックの使い方
- 下記のコードをノートブックのセルに入力してみてください. この
x
やy
のことを変数といいます.x = 1
は「xに1を代入する」という意味です. 数学とは違い「等しい」という意味ではないので気を付けてください. Jupyter Notebookでは最後の行を評価した値が出力されます. 今回は最後のx
の値が評価されます.
代入
x = 1
y = 2
x = y
- 次は簡単な計算をしてみましょう. 最後に
z
の値が評価されますので, 3が出力されます. 単にz
だけでも同じ結果となります.println(z)
とした場合は, コードの途中でも出力されます.
簡単な計算
x = 1
y = 2
z = x + y
- 三角関数や指数関数などは特に準備なく使えます. 円周率は
π
かpi
で使えます.π/2
はπ÷2という意味です.
関数や定数
sin(π/2)
-
Markdown記法やLaTeX記法を使うこともできます. セルを選択した状態で上のCodeと書いてあるプルダウンをクリックします. そこにMarkdownという選択肢があるので, これをクリックしましょう. すると, セル左側が少し変わります.
-
このセルに, 次の内容を入力しましょう. 見出しは#や##での後に半角空白を入れて
# タイトル
のように書きます. 数式は$$
で囲むとLaTeXのように使えます. Markdown記法についてはこちらなどを参照してください. そして, 再生ボタン▶を押すと見出し, テキスト, 数式に置き換わります.
Markdown記法の例
# マークダウンの例
例えば加法定理は以下のように書く.
$$
\sin(\alpha+\beta) = \sin\alpha \cdot \cos\beta + \cos\alpha \cdot \sin\beta
$$
- 最後に, 加法定理を数値的に検証しましょう. 変数にはギリシャ文字を使うこともできます. Juliaに限らず, コンピュータの計算では, 異なる方法で計算した結果が最後の1桁まで一致することはほとんどないので, 最後の1桁は気にしなくても問題ありません. どうしても気になる方はほかのプログラミング言語で同じ計算をしてみてください.
加法定理の検証
α = 1
β = 2
println( sin(α+β) )
println( sin(α)*cos(β)+cos(α)*sin(β) )
いろいろなパッケージの使い方
グラフを描写する
- Juliaでは, Plots.jlというパッケージを用いて関数や配列をプロットすることができる. CSVファイルなどをプロットしたい場合は, 一旦, 配列に格納する必要がある.
初回だけ必要なインストール作業
using Pkg
Pkg.add("Plots")
毎回必要な宣言
using Plots
実行例
plot(sin)
最適化問題を解く
- Optim.jlでは様々な方法で最適化問題を解くことができる. 最急降下法を用いて
の最小値・最小点を求める.f(x)=(x+2)^2+1
初回だけ必要なインストール作業
using Pkg
Pkg.add("Optim")
毎回必要な宣言
using Optim
実行例
f(x) = (x[1] + 2.0)^2 + 1
x0 = [5.0]
optimize(f, x0, method=GradientDescent())
固有値問題を解く
- LinearAlgebra.jlを使えば簡単に行列の固有値や固有ベクトルを求めることができる. LAPACKが裏で動いているので, 安心感がある. LinearAlgebra.jlは最初からインストールされている.
毎回必要な宣言
using LinearAlgebra
実行例
A = [-4 0 6;
-3 2 3;
-3 0 5]
eigen(A)
特殊関数を使う
- Juliaには様々な特殊関数を利用するためのパッケージが用意されている.
初回だけ必要なインストール作業
using Pkg
Pkg.add("SpecialFunctions")
毎回必要な宣言
using SpecialFunctions
実行例
gamma(1/2)^2
他の記事の紹介
- 他にも様々なノートが公開されているので, 気になるものを勉強しましょう.
- Juliaを使った数値計算の講義資料
http://www.cas.cmc.osaka-u.ac.jp/~paoon/Lectures/2020-8Semester-NA-basic/ - Juliaを使いながら量子力学を学べる
https://github.com/cometscome/QM - Juliaを使いながら微分積分を学べる
https://github.com/genkuroki/Calculus#微分積分学 - Juliaを使いながら統計学を学べる
https://github.com/genkuroki/Statistics#統計学
ノートを終了する
- 左上の
File > Close and Halt
から終了しましょう. タブを閉じるだけだとカーネルが生きています.
今回, 作成したノートブックはこちらのリンクからダウンロードできます.
Discussion