Octave を Windows にインストール(公式インストーラ使用・高速な行列演算環境)

概要

Octave は,MATLAB とほぼ互換の数値解析ソフトウェアである。この資料では,Windows に Octave の最新安定版(バージョン 11.3.0)を公式インストーラでインストールする手順と,高速な行列演算のしくみ(BLAS・LAPACK)について説明する。

かつては,行列演算を高速化するために Octave をソースコードから自分でビルドし,最適化された BLAS を組み込む必要があった。現在の公式 Windows インストーラは,最適化済みの BLAS と LAPACK をあらかじめ同梱している(インストーラを実行するだけで高速な演算環境が整う)。そのため,ソースコードからのビルドは一般の利用者には不要である(この点は後の章で説明する)。

目次

関連する外部ページ

サイト内の関連情報

BLAS と LAPACK とは

Octave の行列演算・ベクトル演算の速さは,内部で使う数値計算ライブラリ BLASLAPACK によって決まる。最新の公式 Windows インストーラは,これらの最適化版を同梱している(利用者が別途組み込む必要はない)。

BLAS(Basic Linear Algebra Subprograms)とは,行列演算・ベクトル演算の基本機能をもつプログラム群である。おおまかに次の三段階に分かれている。

LAPACK(Linear Algebra PACKage)とは,連立一次方程式,固有値問題,特異値分解など,行列に関する多くの計算を提供するライブラリである。Octave の主要な機能はこの LAPACK を利用している。

最新の公式インストーラに同梱されている BLAS は,マルチスレッドで動作し,複数の CPU コアを使って行列演算を高速に実行する(インストールしただけで最適化の恩恵を受けられる)。

前準備

前もって調べておく事項

Octave のインストール手順

  1. ウェブページを開く

    https://octave.org/download

  2. 「Microsoft Windows」の項目にある,最新の 64 ビット版インストーラを選ぶ

    推奨されるインストーラは octave-11.3.0-w64-installer.exe である(バージョン番号は最新のものに読み替える)。

  3. ダウンロードが始まる
  4. ダウンロードした .exe ファイルを実行
  5. ようこそ画面では「Next」をクリック
  6. ライセンス条項の確認。同意できる場合のみ「Next」をクリックする。
  7. インストールオプションは,既定(デフォルト)のままでよい。「Next」をクリック。
  8. 次のインストールオプションも,既定(デフォルト)のままでよい。「Next」をクリック。
  9. インストールディレクトリ(フォルダ)は,既定(デフォルト)のままでよい。「Install」をクリック。
  10. インストールが始まる。
  11. インストール完了の確認。「Finish」をクリック。

動作確認

  1. スタートメニューから Octave を起動する。
  2. 行列と行列の積を計算し,実行時間を測る。Octave のコマンドウィンドウで次を入力する。
    X = rand(2000);
    Y = rand(2000);
    tic(); Z = X * Y; toc();
  3. 簡単なベクトル演算を試す。
    x = [1 2 3]
    y = [4 5 6]
    x + y
    x * y'
  4. Octave の終了
    exit

拡張パッケージ(旧 octave-forge)の利用

かつて octave-forge と呼ばれた拡張機能群は,現在は個々の Octave パッケージとして配布されている。公式 Windows インストーラには,よく使うパッケージがあらかじめ同梱されている(多くの場合,別途インストールする必要はない)。

同梱済みパッケージの一覧は,次のコマンドで確認できる。

pkg list

一覧にないパッケージを追加したいときは,インターネットに接続した状態で,次の形式でインストールする(例として統計パッケージ statistics を追加する)。

pkg install -forge statistics

インストールしたパッケージは,使う前に読み込む必要がある。

pkg load statistics
help dlmread

グラフ描画

Octave は,計算結果を図として描画できる。現在の公式インストーラは描画機能を同梱しているので,追加の設定なしにそのまま描画できる。

x = 0:0.2:1.2;
plot(x, sin(x))

ソースコードからビルドしたい場合の補足

最新版の公式 Windows インストーラは,最適化済みの BLAS・LAPACK と主要な拡張パッケージを同梱している。そのため,一般の利用者がソースコードから Octave をビルドする必要はない(インストーラの実行だけで高速な演算環境が整う)。

開発版を試したい,特定の最適化を自分で施したいなど,どうしてもソースコードからビルドしたい場合は,公式が配布するソース一式(例:octave-11.3.0.tar.xz)を用いる。ビルド方法は Octave 公式マニュアルおよび Octave Wiki に最新の手順がまとめられている。ビルドは環境依存の要素が多いため,一次情報である公式ドキュメントに従うことを勧める。

演習

Octave を起動し,次の計算を順に実行して,結果と実行時間を確認しなさい。

X = rand(2000,2000);
Y = rand(2000,2000);

tic(); Z = X * Y; toc()                 % 行列と行列の積
tic(); [L, U, P] = lu(X); toc()         % LU 分解
tic(); [Zi, RCOND] = inv(X); toc()      % 逆行列
tic(); [U2, S, V] = svd(X); toc()       % 特異値分解
tic(); [v, D] = eig(cov(X)); toc()      % 分散共分散行列の固有値と固有ベクトル