01. 科学技術計算用言語 Julia

Julia のロゴ

この回の目標は、Julia で計算を実行し、困ったときに目的に合う資料を選べるようになることである。Julia の文法を一度に覚える必要はない。授業では Jupyter の Notebook を使うが、接続に時間がかかる場合は Julia の対話画面(REPL)で同じ計算を試せる。

時間の目安 やること 確認できること
授業前 Julia と Jupyter の準備 VERSION を表示できる
0–15 分 目的別の資料の地図を見る 疑問に対して参照先を選べる
15–25 分 Julia とは何かを知る 特徴と最初の実行時間を説明できる
25–40 分 Julia と実行画面の関係を知る 「Julia」「IJulia」「Jupyter」を区別できる
40–55 分 起動し、最初の計算をする セルまたは REPL に結果が出る
55–80 分 配列・関数を試す 点 . の役割を説明できる
80–90 分 小課題とレポートを確認する 自分の作業環境と次の課題が分かる

授業前の準備: 自分の PC を使う人は Julia のインストール と Jupyter の準備 を済ませよう。ダウンロードには時間がかかることがある。既に Julia と Jupyter が使える人は再インストールしなくてよい。

1. 参照情報の選び方(0–15 分)

Julia の資料は多い。疑問の種類を先に決めてから、対応する入口を一つ選ぶ。 最初から全部を通読する必要はない。

困っていること・学びたいこと 最初に開く資料 次に進む資料
Julia が起動しない・版を確認したい Julia 公式のインストール 対応 OS・版
sum など一つの関数の意味を知りたい ?sum(REPL/Notebook) Julia 公式マニュアル
パッケージを追加したい Pkg の Getting Started IJulia の導入
Notebook と Julia の接続で困った IJulia の実行方法 Jupyter の公式サイト
日本語で基礎を一通り読みたい 九州大学図書館「はじめての Julia」 「いまから使える Julia 言語」
手を動かしながら覚えたい JuliaAcademy の Notebook Exercism の Julia トラック
文法をまとまった順番で学びたい Think Julia(無料公開) Julia 公式の学習資料一覧

選ぶ練習: 「sum の引数の意味を知りたい」「Julia を更新したらカーネルが見えない」「配列を使った短い問題を解きたい」の三つについて、表から最初の参照先を選ぼう。資料には対象の Julia の版や公開年がある。古い解説のコードが動かないときは、まず現在の公式マニュアルで確認する。

資料をさらに探すとき

2. Julia とは何か(15–25 分)

Julia は、科学技術計算で使いやすいように設計されたプログラミング言語である。2012 年に最初の公開版が出た。数値計算に限らず一般のプログラムも書ける。開発者らは、計算式を書きやすいことと、計算を速く実行できることの両立を目指した(開発の背景)。この授業では数値計算の道具として使う。

Julia の利点を、授業で何に役立つかと合わせて整理しておこう。

  1. 計算を表しやすい文法。 例えば x^2 は二乗、2x は $2x$ を表す。配列を使えば、複数の値に同じ計算を適用できる。
  2. 数値計算に使う機能がある。 sqrt や sum などはすぐに使える。線形代数の機能も標準ライブラリにある。一方、次回使う作図用の Plots のように、必要に応じて追加するパッケージもある。
  3. 速い計算を目指せる。 適切に書いた数値計算の関数では、C や Fortran に近い実行速度が得られる場合がある。ただし、どんなコードでも自動的に同じ速さになるわけではない。Julia の計測例を見るときも、問題や測り方を確認しよう。
  4. 試しながらプログラムを作れる。 一行ずつ入力して結果を見られ、動かしながら関数を作れる。言語の機能とパッケージを組み合わせて、短い実験から大きな計算まで発展させられる。

Julia は関数を実行するときに必要なコードをコンパイルする。そのため、最初の一回にはコンパイルの時間が加わる。短い処理を一回だけ測った時間を、繰り返し計算したときの速さと混同しないこと。対話的に気軽に試せることと、計算を高速に実行できることは両立する。Julia のソースは公開され、言語本体は MIT ライセンスで無料で使える。まず自分で小さな計算を試して、少しずつ道具として使えるようになろう。

3. Julia と Jupyter は何が違う?

Julia を使うときは、計算するプログラムと、人が入力して結果を見る画面を区別しよう。例えば Notebook のセルに 1 + 2 と書くと、ブラウザー上の Jupyter がその式を Julia に送り、Julia が計算した 3 を画面に返す。ブラウザー自身が足し算をしているわけではない。下の図では、左側が計算、中央が両者の橋渡し、右側が人の操作する画面である。

ブラウザー、Jupyter、IJulia、Julia の関係

名前 役割 この授業での使い方
Julia コードを実行する言語・実行環境 数値を計算する
REPL julia> と表示され、Julia に直接入力する対話画面 導入の確認、Notebook が開けないときの実習
IJulia Jupyter から Julia を呼び出すための連結部分 Julia の Notebook を使えるようにする
Jupyter Notebook ブラウザーでコード、結果、文章を並べる画面 授業中の主な作業場所

Julia を直接起動して、julia> に 1 + 2 と入力し、その場で 3 を見る方法が REPL である。Jupyter を使うときは、Notebook というブラウザーの作業画面と、コードを実行する Julia のカーネルがつながる。Jupyter は Notebook の画面を開くプログラム、IJulia は Jupyter と Julia をつなぐ部分である。Notebook で計算する PC に Julia が必要で、研究室のサーバー上で計算するならそのサーバーに Julia が必要になる。グラフを描く場合には別途パッケージを選ぶ。次回では Plots を使う。

ほかの画面を使いたい場合

Jupyter のロゴ 今回は Notebook を使う。Python や R でも同じ Jupyter の画面を使えるが、Julia のカーネルを選ぶことが大切である。

Pluto のロゴ Pluto はセルの依存関係に応じて再計算する Notebook。小さな実験や対話的な教材に向く。MIT の授業動画に使用例がある。

VS Code の Julia 拡張のロゴ VS Code の Julia 拡張は長いプログラムを書くときに便利である。REPL なら追加の画面ソフトを入れずに始められる。Emacs の julia-mode、ESS、eglot、Julia-vimなども選べる。授業ではどれを使っても Julia の計算内容は同じである。

4. 授業前:自分の PC に Julia を入れる

Julia の小さなロゴ

OS ごとに入口が違うだけで、目標は Julia を起動して VERSION を表示することである。以下は 2026 年 10 月時点の公式案内に沿う。最新の公式手順が変わった場合はそちらを優先する。通常は、Julia の版を管理できる juliaup を使う。

Windows

  1. Julia 公式のインストール案内から Microsoft Store の Julia を開いてインストールする。Store を使える場合はこれが基本の手順である。
  2. Store を使えない場合は、同じ公式ページの App Installer を参照する。大学管理の PC ではソフトの追加が制限される場合があるので、その場合は管理者の案内に従う。
  3. 新しい PowerShell を開いて julia --version と入力する。コマンドが見つからなければ PowerShell を開き直し、スタートメニューから Julia が起動するか確認する。

macOS

「ターミナル」を開き、公式の Mac/Linux 向け手順にある次のコマンドを実行する。

1curl -fsSL https://install.julialang.org | sh

画面の案内に従って完了したらターミナルを開き直し、julia --version で確認する。Apple Silicon と Intel の違いはインストーラーが扱う。手動で配布ファイルを選ぶ場合は公式ダウンロードを参照する。

Linux(Ubuntu など)

ターミナルで、macOS と同じ公式手順を使う。curl が入っていない Ubuntu なら、先に sudo apt install curl を実行する。

1curl -fsSL https://install.julialang.org | sh

完了後に端末を開き直して julia --version を確認する。fish を使い、コマンドが見つからない場合は ~/.config/fish/config.fish に fish_add_path $HOME/.juliaup/bin を加える。Linux の配布元パッケージで Julia 本体を入れる方法は、この授業では選ばない。 版が古いことがあるため、公式の Juliaup を使う。管理者が共用 PC に手動配置する場合は公式バイナリの説明を参照する。

どの OS でも最後に確認

Julia を起動し、julia> と表示された画面に次を入力する。バージョンの番号は画面写真と異なっていてよい。

1VERSION
21 + 2

Julia の REPL の表示例。バージョン番号は環境により異なる

この黒い画面で、行頭に julia> と表示されているものが Julia の REPL である。ここで 1 + 2 が 3 になれば Julia 本体は動いている。Jupyter がまだ使えなくても、この REPL で授業の計算を試せる。Windows のユーザー名などに日本語が含まれるだけでアカウントを作り直す必要はない。導入に失敗したときは、OS、入力したコマンド、表示されたエラー全文を記録し、公式の導入手順と照らし合わせよう。

5. Jupyter で Julia を動かす

Jupyter の小さなロゴ

Julia 本体と Jupyter は別のソフトである。IJulia を追加すると Jupyter に Julia の実行環境が登録される。IJulia の追加だけでは Jupyter 本体はインストールされないので、初回は notebook() の案内も確認する。IJulia の公式手順に沿って、Julia の julia> で次を一度だけ実行する。

1using Pkg
2Pkg.add("IJulia")

インストールには通信と時間が必要である。終わったら、同じ Julia の画面で次を実行する。

1using IJulia
2notebook()

初回に Jupyter のインストールを尋ねる画面が出たら、説明を読んで進める。インストールが済むとブラウザーに Jupyter のファイル画面が開く。そこで 新しい Notebook を作り、Julia のカーネルを選ぶ。画面の配置は Jupyter の版によって違うため、下の画像と同じボタンを探すより「新しい Notebook」「Julia のカーネル」という名前を手がかりにする。セルで 1 + 2 を入力して Shift + Enter を押し、3 が出れば準備完了である。

画面例:起動から終了まで

以下はある版の画面写真である。ボタンの位置や名称が違っても、ファイル画面 → Notebook の作成 → Julia カーネルの選択 → セルの実行という順序を確認しよう。

Jupyter のファイル画面

Notebook 作成メニューの例

カーネル選択画面の例

Julia カーネルを選ぶ例

Julia の Notebook の例

終了時には、Notebook、Jupyter、Julia の順に片付ける。

  1. Notebook を保存する。 保存ボタンや「File」メニューから、書いたコードと結果をファイルに残す。保存ボタンの位置は版によって異なる。
  2. その Notebook のカーネルを終了する。 Notebook の「File」メニューなどから「Close and Shut Down Notebook」を選ぶ。これでその Notebook の計算が止まる。単にブラウザーのタブを閉じるだけでは、計算が残る場合がある。
  3. Jupyter 全体を終了する。 ファイル一覧の画面に戻り、「File」メニューの「Shut Down」を選ぶ。Jupyter のサーバーが止まったことを確かめてから、Julia の REPL のウィンドウを閉じる。

保存などのメニュー位置の例

次回以降は Julia を起動して using IJulia; notebook() を実行する。JupyterLabを使う人は jupyterlab() も選べる。Julia の版を新しい系列へ更新した後で Jupyter の Julia カーネルが見えなくなったら、IJulia の更新手順を参照する。

6. ともかく試してみる(55–80 分)

Notebook のセルでも REPL でも、まず次を順に実行する。Notebook ではセルを実行するたびに Shift + Enter を押す。

1VERSION
2sqrt(2)
3v = [1, 2, 3, 4]
4sum(v)
5v .^ 2

v は四つの数を並べた配列である。sum(v) は総和、v .^ 2 は各要素を二乗する。

試す: v^2 と入力したときの結果を見比べ、点 . が何を指示しているか一文で書こう。エラーが出たら、その文を読んで v .^ 2 に戻せばよい。

次に関数を定義して、同じ配列に適用する。

1f(x) = x^2 + 1
2f(3)
3f.(v)

試す: f(3) と f.(v) の結果の違いを説明しよう。値が分からなくなったら ?sum や ?sqrt を試す。REPL では先頭の ? がヘルプモードを開く。Notebook でも ?sum をセルで実行できる。Julia 公式の Getting Startedにも使い方がある。

JuliaAcademy のロゴ もう少し触れたい人は JuliaAcademy の入門 Notebook 集の 00. Jupyter_notebooks.ipynbを開き、コードを自分の Notebook に一つずつ写して試そう。英語の説明をブラウザーで翻訳してもよいが、コードは翻訳しない。授業後には 01. Getting started.ipynb、02. Strings.ipynbへ進める。

7. もう少し試してみる(授業後でもよい)

上の超入門から一つ計算を選び、結果を自分の環境で再現する。余裕があれば魔法の加速法で「最初の実行」と「繰り返した実行」の時間の扱いを比べよう。授業中に終わらなくてもよい。

レポート No.01(授業後に取り組む)

  1. 「ともかく試してみる」に沿って JuliaAcademy の入門 Notebook を試し、実行したコードと、気づいたことをまとめる。
  2. 「もう少し試してみる」に沿って、超入門と魔法の加速法から試した内容をまとめる。特に計測時間の見方を説明する。
  3. 正の整数を入力すると素数かどうかを答える Julia プログラムを書く。AI に相談してよい。レポートにはテストした入力と結果、プログラムの内容に対する AI の寄与の割合を自分の見積もりで書く。この割合によって減点しない。

レポートは 学籍番号-氏名-01.pdf とし、web フォームから提出する。実行形式のプログラムをメールに添付すると受信側に拒否される場合があるため、PDF を使う。紙媒体の手渡しも可能だが、破損・紛失の可能性がある。