Code
using Plots
plot(sin, 
    x->sin(2x), 
    0, 
    2π, 
    leg=false, 
    fill=(0,:lavender))インストール・特徴・パッケージ管理
司馬博文
9/05/2020
1/01/2025
A Blog Entry on Bayesian Computation by an Applied Mathematician
$$
$$
Julia は Why We Created Julia の文書と共に,2/14/2012 に公開された科学計算向けの言語である.論文 (Bezanson et al., 2017) が発表されてすぐ,2018 年にはバージョン 1.0 がリリースされた.
現在の最新は,12/26/2023 リリースの v1.10.0 である.
Quarto は Jupyter を通じて,Pytho, R だけでなく Julia もサポートしている.1
Quarto で Julia を始めるために,最も簡便なインストール方法は こちら.
まずは Julia をインストール
すると,julia コマンドで対話的セッションを開始できる.これを Julia では REPL (Read-Eval-Print Loop) と呼ぶ.
続いて,Quarto で julia ブロックを動かすには,IJulia パッケージをインストールする.次を REPL で実行する:
これで,Jupyter Notebook で Julia を使うことができる.2
Revise.jl も追加すると,Julia セッションを再起動するためが省ける
Jupyter Cache も追加すると,ソースが変わらない限りその出力がキャッシュされ,再実行が控えられる.
Julia を始めるにあたって最も心強いのは,Julia 独自のパッケージマネジャー Pkg の存在である.
juliaキーワードで立ち上がる対話的実行環境 REPL(第 2.2 節)において,] キーでパッケージモードに入り,add でパッケージを追加する.
でパッケージの情報が表示される.
でアップデートが可能である.
パッケージ管理システム Pkg が提供する環境分離システムの単位を プロジェクト という.3
generateは新たなディレクトリと,Project.toml と src/MyPackage.jl を作成する.
activate . はパスを引数に取り,そのディレクトリにある Project.toml を有効化する.
引数なしで activate を実行することで,デフォルトの環境に戻る.
は,working directory にプロジェクトファイル(Project.toml と Manifest.toml)を作成する.
何よりコードの見た目の特徴に,LaTeX コマンドと数学記号が使える ことがある.
law tex を打って tab を押すと処理されるのである!
加えて,プロットのタイトルにも使える:
これと合わせ,変数名にはUnicodeが許される.÷, ^ などの使用が直感的に行える.
また,変数の前に数値をつけると暗黙に乗算と解釈する.
そのほかにも関数定義など,数学的にも直感的に読める,文芸的プログラミングの精神が込められている言語である.
などのコマンドが使える.
Base クラスに属する.julia コマンドで起動される
—project
—project=@. の略記.. にある Project.toml によるプロジェクトを有効化する,JULIA_PROJECT を @. に変更することと等価.Ctrl+D か exit() で終了ans:直近の evaluated term が格納されて居る.5つのモードがある.
? で発動.backspace で戻る.使いやすい!] で発動.標準では GitHub のリポジトリ上の任意のモジュールがインストール可能.; で発動Pkg]で package mode に入る.
st (= statusの alias)
Status ~/.julia/environments/v1.5/Project.tomlrm (= removeの alias)
up (= updateの alias)
gc (garbage collection)
Config file としては TOML (Tom’s Obvious, Minimal Language) 形式を採用している.可読性も高い.
key = "value"[テーブル名]# コメント の3種類からなる.Project.toml と Manifest.tomlactivate .
—project=@.オプションで julia から実行する.基本的には PkgTemplates.jl パッケージ を使うのが良い.次の記事も参照:
generate MyPackage
using MyPackage と MyPackage.greet() で呼べる.