概要
GNU Octaveは、主に数値計算を目的とした高レベルの言語である。
Matlabとほぼ互換性のある言語を使用して、線形および非線形問題を数値的に解いたり、数値解析を行うための便利なコマンドラインインターフェースを提供する。
また,バッチ指向の言語としても使用することができる。
Octaveは、線形代数問題の解決、非線形方程式の根の発見、通常の関数の積分、多項式の操作、常微分方程式および微分代数方程式の積分のための広範なツールを備えている。
また、Octave独自の言語で記述されたユーザ定義関数や、C/C++、Fortran、その他の言語で記述された動的にロードされるモジュールを使用して、拡張・カスタマイズすることができる。
Octaveは、自由に再配布できるソフトウェアであり、Free Software Foundationが発行したGPLの条項に基づいて、再配布および変更することができる。
Octaveのインストール
パッケージ管理システムからインストール
Octaveをインストールする。
sudo zypper install octave
最新安定版のOctaveを使用する場合は、Scienceリポジトリを追加する。
sudo zypper addrepo 'http://download.opensuse.org/repositories/science/openSUSE_Leap_$releasever/' Science sudo zypper refresh
そして、ScienceリポジトリにあるOctaveをパッケージ管理システムからインストールする。
sudo zypper install --from science octave
線形代数ライブラリにおいて、標準でBLASとLAPACKの実装を使用するが、ATLASやOpenBLASを使用した方が高速に処理できる。
これは、update-alternatives
コマンドを使用して、ライブラリを切り替えることができる。
# BLASライブラリを変更する場合 /usr/sbin/update-alternatives --config libblas.so.3 # LAPACKライブラリを変更する場合 /usr/sbin/update-alternatives --config liblapack.so.3
ソースコードからインストール
Octaveのビルドに必要な依存関係のライブラリをインストールする。
sudo zypper install autoconf automake gnuplot gcc-fortran gcc7-fortran f2c pcre2-devel jpcre2-devel pcre-devel lapack-devel blas-devel \ readline-devel libbz2-devel libcurl-devel fontconfig-devel freetype-devel rapidjson-devel \ qhull_r-devel hdf5-devel fftw3-devel glpk-devel libsndfile-devel portaudio-devel libGraphicsMagick++-devel \ fltk-devel qrupdate-devel libumfpack5 libklu1 libcxsparse3 icoutils gluegen2-devel rsvg-convert \ libamd2 libcamd2 libcolamd2 libccolamd2 libcholmod3 ftgl-devel gl2ps-devel suitesparse-devel \ libarpack2 libparpack2-openmpi arpack-ng-devel parpack-openmpi-devel \ sundials-devel sundials-mvapich2-devel sundials-openmpi-devel sundials-openmpi2-devel sundials-openmpi3-devel \ libsundials_ida5-mvapich2 libsundials_ida5-openmpi libsundials_ida5-openmpi2 libsundials_ida5-openmpi3 \ libqt5-qtbase-devel libqt5-qtbase-common-devel libqt5-qtnetworkauth-devel libqt5-qtxmlpatterns-devel libqt5-qttools-devel \ libqscintilla_qt5-devel
Octaveの公式Webサイトにアクセスして、Octaveのソースコードをダウンロードする。
wget https://gnu.askapache.com/octave/octave-<バージョン>.tar.xz tar xf octave-<バージョン>.tar.xz
ダウンロードしたファイルを解凍して、ビルドディレクトリを作成する。
cd octave-<バージョン> mkdir build && cd build
Octaveをビルドおよびインストールする。
../configure --prefix=<Octaveのインストールディレクトリ> --with-x -with-qt=5 make -j $(nproc) make install
~/.profileファイル等に、以下のような環境変数PATH
と環境変数LD_LIBRARY_PATH
を追記する。
# ~/.profileファイル export PATH="<Octaveのインストールディレクトリ>/bin:$PATH" export LD_LIBRARY_PATH="<Octaveのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"
Octaveの実行に必要なライブラリをインストールする。
sudo zypper install libhdf5 libcholmod3 libGraphicsMagick++-Q16-12 libQt5Help5 libqscintilla2_qt5-15 \ libumfpack5 libcxsparse3 libspqr2 libgl2ps1 libarpack2 libqrupdate1