関連情報

NAGライブラリ クイック イントロダクション

このドキュメントはNAG数値計算ライブラリ(NAG Fortran ライブラリ及びNAG Library for SMP & Multicore)の構成や利用方法に関するクイック・イントロダクションです。 これからNAGライブラリを使うユーザや、NAGライブラリの構成や考え方についての理解を深めたい方々を対象にしています。

本ドキュメントはライブラリのインストール手順や、ライセンスの設定手順に関する情報は含まれません。 これらについては各実装毎のインストールガイドをご参照下さい。

本ドキュメントは Essential Introduction に含まれる情報から特に重要と思われるものをまとめたものです。 詳細については Essential Introduction をご参照いただきますようお願い致します。

本ドキュメントが皆様のお役に立てれば幸いです。

1 NAGライブラリの構成

NAG数値計算ライブラリには1700種類以上の数値計算や統計解析の分野の問題を解くための様々なサブルーチンが含まれています。 これらの数多くのサブルーチンは個別の分野毎に約50の Chapter(チャプター)に区分されています。 そして各チャプターには同じ分野の複数のルーチンが含まれています。

以下にNAG数値計算ライブラリの構成についての概念図を示します。

チャプターは(一部例外を除き)三文字からなる名称とタイトルが付けられています。

以下にいくかの例を示します。

  Chapter D01 - Quadrature (数値積分)
  Chapter E04 - Minimizing or Maximizing a Function (関数の最小化・最大化)
  Chapter F12 - Large Scale Eigenproblems (大規模固有値問題)
  Chapter G03 - Multivariate Methods (多変量解析)
  Chapter G05 - Random Number Generators (乱数生成)

チャプター内の各ルーチンにはチャプターの名称ではじまる6文字の名称が付けられています。

以下にいくかの例を示します。

  D01AJF
  E04CBF
  F12ABF
  G03AAF
  G05SBF
2番目と3番目の文字は英字ではなく数字である点に注意してください(英字の O ではなく数字の 0 です)。

2 ドキュメント

NAG数値計算ライブラリを利用するにあたって以下のドキュメントが利用可能です。

Essential Introduction
ライブラリの概要や構成について書かれたドキュメントです。 NAG数値計算ライブラリの利用開始前にお読み下さい。
チャプター/ルーチン一覧
約50のチャプターと1700種類のルーチンが含まれているリストです。
Chapter Introduction
各チャプター毎に存在するドキュメントで、そのチャプターに含まれるルーチンの設計思想や、 ルーチン選択の際の指針となる情報を与えてくれます。 ユーザは利用したいルーチンを含むチャプターのChapter Introductionを読むように強く推奨されています。
ルーチンドキュメント(マニュアル)
各ルーチン毎に存在するドキュメントでアルゴリズム、引数の詳細、エラー情報、リファレンス情報などが含まれる他、 そのルーチンを使ったExampleプログラム(及び与える入力データとそれによって得られる出力結果例)が含まれます。
実装毎の情報
実装毎の情報として、インストール手順を示す「インストールノート」とリンク方法や使い方を示す「ユーザノート」が存在します。 実装毎の個別情報は製品ダウンロードページからご参照下さい。
 NAG Fortran Libraryの実装一覧
 NAG Library for SMP & Multi-Coreの実装一覧

3 NAG数値計算ライブラリ利用手順

前述の通りNAG数値計算ライブラリには多数のルーチンが含まれていますが、 ユーザはこの中から必要とするルーチンを見つけ出して使う必要があります。

以下に推奨されるご利用手順を示します。

  1. Essential Introductionを読む。(まずライブラリの概要を理解する上でお読みください)
  2. 求めるルーチンが含まれていそうなチャプターを特定する。
  3. Chapter Introductionのアドバイスを基にルーチンを特定する。
  4. ルーチンドキュメント(マニュアル)を読む。
  5. Exampleプログラムを動かしてみる。

3.1 目的のルーチンを探す推奨手順

以下に、上記推奨利用手順に基づきNAGライブラリに含まれるルーチンを利用する例を説明と共に示します。

3.1.1 Essential Introductionを読む

Essential Introductionは本ドキュメントの基となるドキュメントで、 NAG数値計算ライブラリを利用する前に読むことが強く推奨されているドキュメントです。

以下のような内容がカバーされています。

1  概要
2  ライブラリとドキュメント
2.1  ライブラリの構成
2.2  ドキュメントの構成
2.3  ライブラリの実装
2.4  ライブラリの識別
2.5  Fortran 言語標準
3  ライブラリの使用
3.1  一般的なアドバイス
3.2  プログラミングに関するアドバイス
3.3  エラーの扱いとパラメータ IFAIL
3.3.1  エラー,失敗,警告
3.3.2  IFAIL パラメータ
3.3.3  Hard Fail オプション
3.3.4  Soft Fail オプション
3.3.5  歴史的な経緯
3.4  ライブラリの入出力
3.5  補助ルーチン
3.6  動的メモリ割当て
3.7  ライセンス管理
3.8  スレッドに関する安全性
3.9  SMP システムにおけるパフォーマンス
3.10  多言語からのライブラリのコール
4  ドキュメントの使用
4.1  マニュアルの使用
4.2  ルーチンドキュメントの構成
4.3  パラメータの仕様
4.3.1  パラメータの分類
4.3.2  制約条件と推奨値
4.3.3  配列パラメータ
4.4  実装依存情報
4.5  使用例プログラムと結果
5  サポート情報
6  NAG に関する背景情報
7  参考文献

Essential Introductionは以下のリンクよりアクセス可能です。

http://www.nag-j.co.jp/naglib/fl/doc/man/essint.htm

3.1.2 チャプターを特定する

前述のとおりNAG数値計算ライブラリは約50のチャプター(Chapter)に分けられています。

チャプター/ルーチン一覧 からどのチャプターにユーザが求めるルーチンがあるかを特定し、 そのチャプターへのリンクをクリックします。

例えば偏微分方程式に関するものを探しているであればD03チャプター(偏微分方程式)が該当します。

以下にD03チャプターへのリンクを含むチャプター/ルーチン一覧の参考図を示します。

ChapterList

3.1.3 Chapter Introductionを読んでルーチンを特定する

次にチャプター毎に用意されているChapter Introductionを読みます。 Chapter Introductionはチャプター/ルーチン一覧の各チャプターの一番上のリンクから参照する事ができます。

以下にチャプター/ルーチン一覧のD03チャプターの参考図を示します。

D03Routines

Chapter Introductionにはそのチャプターで扱われている計算に関しての背景情報が含まれるほか、 そのチャプターに含まれるサブルーチンの選択を助けるフローチャートやアドバイスを得ることができます。

以下は Chapter Introduction に含まれるフローチャートの例です。 提示されている質問にYes/Noで答えて行くことにより、適切なルーチンを教えてくれます。

DecisionTree

最後にフローチャートからの情報等を考慮した上で、このチャプターのサブルーチン一覧から必要なルーチンを選択します。

3.1.4 ルーチンドキュメント(マニュアル)を見る

ルーチンが特定できたら次にルーチンドキュメント(マニュアル)を参照します。 ルーチンドキュメント(マニュアル)はルーチン名をクリックすることで参照できます。

以下に参考図を示します。

D03ChapterSelection

ルーチンドキュメント(マニュアル)は以下のようのな情報が含まれます。

  • 概要(Purpose)
  • ルーチン仕様(Specification)
  • アルゴリズムの説明(Description)
  • リファレンス(References)
  • 引数の説明(Parameters)
  • エラーについて(Error Indicators and Warnings)
  • 解の精度について(Accuracy)
  • 実行時間等、その他情報(Further Comments)
  • Exampleプログラムの説明(Example)
  • プログラムコード(Program Text)
  • 入力データ(Program Data)
  • 実行結果例(Program Results)

以下に一例として D03EAF のルーチンドキュメント(マニュアル)の抜粋を示します。

Man1
Man2
Man3
Man4
Man5
Man6
Man7

3.2 目的のルーチンを見つけるその他の方法

目的のルーチンを見つけるためのその他方法として以下に幾つか述べます。

3.2.1 キーワードから探す方法

その他にもキーワードから該当するNAGルーチンを探す事も可能です。 キーワードから該当ルーチンを探す場合には下記のURLがご利用いただけます。
キーワードからNAGルーチンを探す :http://www.nag-j.co.jp/naglib/fl/kwic/kwic.html

例えばARIMAというキーワードを探す場合には:

  • 上記URLを開く

    Key1

  • A のリンクをクリックする
  • Aで始まるキーワードの一覧が表示されるので、ARIMA のリンクをクリックする

    Key2

  • 以上の操作でARIMAに関連するサブルーチン一覧が表示されます。

    Key3

3.2.2 NAGに問い合わせる方法

もし上記の方法で見つからない、もしくはわからない場合には日本NAG株式会社まで お問い合わせ 下さい。

3.3 Exampleをプログラムを動かす

マニュアルを読み解くのみで、即プログラムを書くことは大変です。

NAG数値計算ライブラリのルーチンのほぼすべてにExampleプログラムが提供されています。 利用可能なルーチンが見つかったらまずExampleプログラムを実行してみる事をお勧めします。

Exampleプログラムはマニュアルページにもその説明と記載がありますが、 以下に示すディレクトリにはExampleプログラムのソースファイル、 サンプルデータファイル、 及び結果ファイルが提供されていますのでご活用下さい。

Exampleプログラム(ソースファイル)
  [NAGインストール先]\examples\source\ルーチン名e.f90 (Mark 22以前では拡張子が.f)

サンプルデータファイル
  [NAGインストール先]\examples\data\ルーチン名e.d

出力結果例ファイル
  [NAGインストール先]\examples\results\ルーチン名e.r
※UNIX系の実装では上記の \ を / に読み替えて下さい。

以下に C02AKF のExampleプログラム、入力データ、及び出力結果例の格納場所の例を示します。

Windowsの場合の例:
  C:\Program Files\NAG\FL23\fldll234ml\examples\source\c02akfe.f90
  C:\Program Files\NAG\FL23\fldll234ml\examples\data\c02akfe.d
  C:\Program Files\NAG\FL23\fldll234ml\examples\results\c02akfe.r

Unix系の場合の例:
  /opt/NAG/fll6a22d9l/examples/source/c02akfe.f
  /opt/NAG/fll6a22d9l/examples/data/c02akfe.d
  /opt/NAG/fll6a22d9l/examples/results/c02akfe.r

3.3.1 Exampleプログラム活用手順

Exampleプログラムのコンパイル、リンク、実行は以下の手順で行うことができます。

[任意のフォルダ(ディレクトリ)にファイルをコピー]

まず、任意のフォルダ(ディレクトリ)を作成し、そのフォルダ(ディレクトリ)に Exampleプログラム、入力データをコピーします。 (ルーチンによっては入力データを必要としないものも存在します。その場合は入力データのコピーは不要です。)

Windowsの場合の一例:
cd 作成したフォルダ
copy "C:\Program Files\NAG\FL23\fldll234ml\examples\source\c02akfe.f90"
copy "C:\Program Files\NAG\FL23\fldll234ml\examples\data\c02akfe.d"

Unix系の場合の一例
cp /opt/NAG/fll6a22d9l/examples/source/c02akfe.f .
cp /opt/NAG/fll6a22d9l/examples/data/c02akfe.d .

[コンパイル/リンクを行う]

次に、Exampleプログラムのコンパイル/リンクを行います。 (このステップはご利用のコンパイラやNAGライブラリの実装により、詳細が異なります。 NAGライブラリを利用するプログラムのコンパイル/リンク方法については、各実装にて提供される ユーザノートの「ライブラリへのアクセス」をご参照下さい。)

以下にコンパイル/リンクを行う際のコマンドの一例を示します。

Windowsの場合の一例:
nagfor c02akfe.f90 "C:\Program Files\NAG\FL23\fldll234ml\lib\FLDLL234M_nag.lib" -o c02akfe.exe

Unix系の場合の一例
nagfor c02akfe.f /opt/nag/fll3a22d9/lib/libnag_nag.a -o c02akfe.exe

[実行する]

出来上がった実行形式ファイルを通常の実行形式と同じように実行可能です。 入力データがある場合にはリダイレクションで標準入力から与えます。

以下に入力データがある場合のリダイレクションを用いた実行例を示します。

Windwosの場合:
c02akfe.exe < c02akfe.d

Unix系の場合:
./c02akfe.exe < c02akfe.d
仮に入力データが必要ないExampleプログラムの場合には下記のようにリダイレクションなしで通常どおり実行します。
Windowsの場合:
c02akfe.exe

Unix系の場合:
./c02akfe.exe


  Created: 2012/02/07  Last Updated: 2012/02/09

Results matter. Trust NAG.
Privacy Policy | Trademarks