🐔
Julia入門:いろいろ入門
あらかじめ, JuliaとJupyter Notebookのインストールを済ませておこう.
パッケージ
必要なパッケージを全てインストールする. まず, Juliaを起動する.
]を押すと, パッケージモードに変わる.
add Plotsを入力してEnter.
インストールが終わったら, 同様に他のパッケージもインストールしておく.
add Optim
add Latexify
add LaTeXStrings
add Polynomials
add SpecialPolynomials
add SpecialFunctions
グラフを描写する
Juliaでは, Plots.jlというパッケージを用いて関数や配列をプロットすることができる. CSVファイルなどをプロットしたい場合は, 一旦, 配列に格納する必要がある.
パッケージ
# using Pkg
# Pkg.add("Plots")
using Plots
三角関数の描写
plot(sin)
もっと詳しく:
固有値問題を解く
LinearAlgebra.jlを使えば簡単に行列の固有値や固有ベクトルを求めることができる. LAPACKが裏で動いているので, 安心感がある. LinearAlgebra.jlは最初からインストールされている.
パッケージ
using LinearAlgebra
行列の宣言
A = [-4 0 6;
-3 2 3;
-3 0 5]
固有値と固有ベクトルの計算
eigen(A)
出力
values:
3-element Vector{Float64}:
-1.0
2.0
2.0
vectors:
3×3 Matrix{Float64}:
-0.816497 0.0 -0.707107
-0.408248 1.0 0.0
-0.408248 0.0 -0.707107
もっと詳しく:
最適化問題を解く
Optim.jlでは様々な方法で最適化問題を解くことができる. 最急降下法を用いて
パッケージ
# using Pkg
# Pkg.add("Optim")
using Optim
最小化の例
f(x) = (x[1] + 2.0)^2 + 1
x0 = [5.0]
optimize(f, x0, method=GradientDescent())
出力
* Status: success
* Candidate solution
Minimizer: [-2.00e+00]
Minimum: 1.000000e+00
* Found with
Algorithm: Gradient Descent
Initial Point: [5.00e+00]
* Convergence measures
|x - x'| = 7.00e+00 ≰ 0.0e+00
|x - x'|/|x'| = 3.50e+00 ≰ 0.0e+00
|f(x) - f(x')| = 4.90e+01 ≰ 0.0e+00
|f(x) - f(x')|/|f(x')| = 4.90e+01 ≰ 0.0e+00
|g(x)| = 9.17e-11 ≤ 1.0e-08
* Work counters
Seconds run: 0 (vs limit Inf)
Iterations: 1
f(x) calls: 3
∇f(x) calls: 3
もっと詳しく:
特殊関数を使う
Juliaには様々な特殊関数を利用するためのパッケージが用意されている.
パッケージ
# using Pkg
# Pkg.add("SpecialFunctions")
using SpecialFunctions
ガンマ関数の使用例
gamma(1/2)^2
出力
3.1415926535897936
もっと詳しく:
記事の紹介
Juliaを使った数値計算の講義資料
Juliaを使いながら量子力学を学べる
Juliaを使いながら微分積分を学べる
Juliaを使いながら統計学を学べる
Discussion