(57)【要約】【課題】使用の目的に対する性能比較を行ってその結果を表示することのできる数値計算アルゴリズム性能比較表示装置あるいは／およびこの数値計算アルゴリズム性能比較表示装置を用いた数値計算アルゴリズム性能比較表示方法を提供する。【解決手段】画面上でパラメータのいずれか、比較項目の内のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での前記動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについて前記データベースに格納されたデータを検索し、取得する処理を行う取得処理手段、該データ取得処理手段で取得したデータに基づいて比較項目のいずれかもしくはこれらの組み合わせについて相対比較を行い、複数の数値アルゴリズムについて性能比較する性能比較処理手段、および性能比較結果を表示する結果画面表示手段を有する。【選択図】図２
2008004043.tif 000002
【特許請求の範囲】
【請求項１】
数値計算アルゴリズム毎に、解くべき問題、解法および解法と併用する技法の各項目について設定したパラメータ、各パラメータについて設定され、比較項目の動作仕様を決定する動作仕様ファクターおよび各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目の演算を行うコンピュータプログラムを格納する記憶手段、
前記コンピュータプログラムを使用して、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目について演算処理する演算処理手段、
前記演算処理手段の演算結果である、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけて比較項目についてのデータを格納するデータベース、
各パラメータの表示手段と各パラメータの選択手段、比較項目の表示手段とこれらの内のいずれかを選択する選択手段、各パラメータを組み合わせた形式での前記動作仕様ファクターの組み合わせを複数表示する表示手段といずれかの組み合わせの１つまたは複数を選択する選択手段、を１つの画面に同時に表示する設定画面表示手段、
前記画面上で、パラメータのいずれか、比較項目の内のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での前記動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについて前記データベースに格納されたデータを検索し、取得する処理を行うデータ取得処理手段、
該データ取得処理手段で取得したデータに基づいて比較項目のいずれかもしくはこれらの組み合わせについて相対比較を行い、複数の数値アルゴリズムについて性能比較する性能比較処理手段、および
性能比較結果を表示する結果画面表示手段、
とからなることを特徴とする数値計算アルゴリズム性能比較表示装置。
【請求項２】
請求項１において、前記性能比較処理手段は、前記相対比較の前に、設定した真の残差ノルムの基準値の範囲内にあるか、範囲外にあるか、について判定を行うことを特徴とする数値計算アルゴリズム性能比較表示装置。
【請求項３】
請求項１または２において、前記結果画面表示手段の画面には、前記相対評価の結果が色分けして表示されることを特徴とする数値計算アルゴリズム性能比較表示装置。
【請求項４】
請求項１から３のいずれかにおいて、比較項目はCPU時間もしくは収束所要回数、またはこれらの組み合わせであることを特徴とする数値計算アルゴリズム性能比較表示装置。
【請求項５】
請求項３または４において、前記画面にはCPU時間もしくは収束所要時間が複数同時に表示されることを特徴とする数値計算アルゴリズム性能比較表示装置。
【請求項６】
請求項１から５にいずれかにおいて、前記設定画面表示手段の画面に表示されたいずれかの選択手段についても通信手段を介してのクライアント端末からの指令信号によって選択操作可能であることを特徴とする数値計算アルゴリズム性能比較表示装置。
【請求項７】
記憶手段によって、数値計算アルゴリズム毎に、解くべき問題、解法および解法と併用する技法の各項目について設定したパラメータ、各パラメータについて設定され、比較項目の動作仕様を決定する動作仕様ファクターおよび各項目から選択された動作仕様形式の組み合わせに関連づけられた比較項目について演算するコンピュータプログラムが格納され、
演算処理手段によって、前記コンピュータプログラムを使用して、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目についての演算処理がなされ、
データベースに、前記演算処理手段の演算結果である、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけて比較項目についてのデータが格納され、
設定画面表示手段によって、各パラメータの表示手段と各パラメータの選択手段、比較項目のいずれかもしくはこれらの組み合わせの表示手段とこれらの内のいずれかを選択する選択手段、各パラメータを組み合わせた形式での前記動作仕様ファクターの組み合わせを複数表示する表示手段といずれかの組み合わせの１つまたは複数を選択する選択手段、が１つの画面に同時に表示され、
データ取得処理手段によって、前記画面上で、パラメータのいずれか、比較項目のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での前記動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについて前記データベースに格納されたデータが検索され、取得する処理が行われ、および
性能比較処理手段によって、前記データ取得手段で取得したデータに基づいて比較項目のいずれかもしくはこれらの組み合わせについて相対比較が行われ、複数の数値アルゴリズムについて性能比較が行われ、
結果画面表示手段によって、該性能比較結果が色分けして表示され、
前記設定画面表示手段の画面に表示されたいずれかの選択手段についても通信手段を介してのクライアント端末からの指令信号によって選択操作され、
とからなることを特徴とする数値計算アルゴリズム性能比較表示方法。
【請求項８】
請求項７において、前記性能比較処理手段によって、前記相対対比の前に、設定した真の残差ノルムの基準値の範囲内にあるか、範囲外にあるか、について判定を行うことを特徴とする数値計算アルゴリズム性能比較表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値計算アルゴリズム性能比較表示装置およびこの数値計算アルゴリズム性能比較表示装置による数値計算アルゴリズム性能比較表示方法に関する。
【背景技術】
【０００２】
自然現象や工学現象の解析では数値計算アルゴリズムを使用した数値シミュレーションが行われることが盛んである。
【０００３】
数値計算アルゴリズムに関する特許文献として、例えば、次に示すものが知られている。
【０００４】
特許文献１には、問題定義入力装置により取り込まれた定義情報、プログラム様式情報から構文解析装置が構文解析情報を作成し、アルゴリズム格納装置は、数値計算アルゴリズムの擬似コードの順序列によって表現されるアルゴリズム情報を格納し、計算式生成装置は、構文解析情報から数値計算アルゴリズムに必要な計算式情報を生成することが記載されている。
【０００５】
特許文献２には、子モデルパラメータファイルから子モデルパラメータを入力して、入力した子モデルパラメータに基づいてＫ個のモデル評価値を求めて記憶部の評価値ファイルに記憶する評価値計算部を備えた遺伝的アルゴリズムマシンの適応評価器が記載されている。
【０００６】
特許文献３には、入力データに含まれるパラメータを用いて、入力データの特性を評価する多角的アルゴリズム運用システムが記載されている。
【０００７】
【特許文献１】特開２００４−８６７６０号公報
【特許文献２】特開２００６−１２１１４号公報
【特許文献３】特開２００２−１５０２６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述したように、自然現象や工学現象の解析では、数値アルゴリズムを使用した数値シミュレーションが行われることがしばしばあり、それらを記述する方程式は線形方程式の場合、大規模な連立１次方程式
Ａｘ＝ｂ
の求解に帰着される。
【０００９】
また、固有値問題の場合には次の方程式
Ａｘ＝λＢｘ
の求解に帰着される。
【００１０】
また、代数方程式を使用する場合、
ｆ（ｘ）＝０
の求解に帰着される、他の問題についても上記同様にそれぞれの方程式の求解に帰着される。
【００１１】
このような求解において、数値シミュレーションに要する計算時間の大半がこの計算に費やされるため、速く、正確に解くことが重要である。
問題を解法するために多種多様の数値計算アルゴリズムの採用が可能であり、一体どの数値計算アルゴリズムを採用すれば速く、正確に解くことになるのか不明である。
係数行列Ａが対称正定値であれば、迷わずＣＧ法やＣｈｏｌｅｓｋｙ法が選択されるが、係数行列が非対称のような場合にはどの数値計算アルゴリズムを選択すれば速く、正確に解くことになるのかが判らない。
【００１２】
数値計算アルゴリズムの研究者（アルゴリズム開発者）は、数学的な観点から新しい数値計算アルゴリズムを提案し、収束特性、高精度を得ようとし、数値シミュレーションの研究者（アルゴリズムユーザ）は、実際に数値シミュレーションを行い、解くべき問題に応じてオリジナルのプログラムや数値計算アルゴリズム作成し、いかにして問題を解くか、を研究し、速い方が良い、許容精度内であれば十分とする。
【００１３】
このような、アルゴリズムユーザのニーズに応えて問題を解決するに当って、許容精度内で、速く求解する数値計算アルゴリズムの採用を推奨する方法が求められる。
【００１４】
本発明者は先に、かかる点に鑑みて、アルゴリズムユーザのニーズに応えて多種多様に存在する数値計算アルゴリズムを使用して問題を求解するに当って、許容精度内で、速く求解することのできる数値計算アルゴリズム性能比較表示装置あるいはこの数値計算アルゴリズム性能比較表示装置を用いた数値計算アルゴリズム性能比較表示方法を提供する特許出願を行った。
【００１５】
本発明は、更に上述の数値計算アルゴリズムの性能比較表示に当って対象とする数値計算アルゴリズムについて使用の目的に対する性能比較を行ってその結果を表示することのできる数値計算アルゴリズム性能比較表示装置あるいは／およびこの数値計算アルゴリズム性能比較表示装置を用いた数値計算アルゴリズム性能比較表示方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、数値計算アルゴリズム毎に、解くべき問題、解法および解法と併用する技法の各項目について設定したパラメータ、各パラメータについて設定され、比較項目の動作仕様を決定する動作仕様ファクターおよび各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目の演算を行うコンピュータプログラムを格納する記憶手段、
前記コンピュータプログラムを使用して、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目について演算処理する演算処理手段、
前記演算処理手段の演算結果である、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけて比較項目についてのデータを格納するデータベース、
各パラメータの表示手段と各パラメータの選択手段、比較項目の表示手段とこれらの内のいずれかを選択する選択手段、各パラメータを組み合わせた形式での前記動作仕様ファクターの組み合わせを複数表示する表示手段といずれかの組み合わせの１つまたは複数を選択する選択手段、を１つの画面に同時に表示する設定画面表示手段、
前記画面上で、パラメータのいずれか、比較項目の内のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での前記動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについて前記データベースに格納されたデータを検索し、取得する処理を行うデータ取得処理手段、
該データ取得処理手段で取得したデータに基づいて比較項目のいずれかもしくはこれらの組み合わせについて相対比較を行い、複数の数値アルゴリズムについて性能比較する性能比較処理手段、および
性能比較結果を表示する結果画面表示手段、
とからなることを特徴とする数値計算アルゴリズム性能比較表示装置を提供する。
【００１７】
また、本発明は上述の数値計算アルゴリズム性能比較表示装置において、前記性能比較処理手段は、前記相対比較の前に、設定した真の残差ノルムの基準値の範囲内にあるか、範囲外にあるか、について判定を行うことを特徴とする数値計算アルゴリズム性能比較表示装置を提供する。
【００１８】
また、本発明は上述の数値計算アルゴリズム性能比較表示装置において、前記結果画面表示手段の画面には、前記相対評価の結果が色分けして表示されることを特徴とする数値計算アルゴリズム性能比較表示装置を提供する。
【００１９】
また、本発明は上述の数値計算アルゴリズム性能比較表示装置において、比較項目はＣＰＵ時間もしくは収束所要回数、またはこれらの組み合わせであることを特徴とする数値計算アルゴリズム性能比較表示装置を提供する。
【００２０】
また、本発明は上述の数値計算アルゴリズム性能比較表示装置において、前記画面にはＣＰＵ時間もしくは収束所要時間が複数同時に表示されることを特徴とする数値計算アルゴリズム性能比較表示装置を提供する。
【００２１】
また、本発明は上述の数値計算アルゴリズム性能比較表示装置において、前記設定画面表示手段の画面に表示されたいずれかの選択手段についても通信手段を介してのクライアント端末からの指令信号によって選択操作可能であることを特徴とする数値計算アルゴリズム性能比較表示装置を提供する。
【００２２】
更に本発明は、記憶手段によって、数値計算アルゴリズム毎に、解くべき問題、解法および解法と併用する技法の各項目について設定したパラメータ、各パラメータについて設定され、比較項目の動作仕様を決定する動作仕様ファクターおよび各項目から選択された動作仕様形式の組み合わせに関連づけられた比較項目について演算するコンピュータプログラムが格納され、
演算処理手段によって、前記コンピュータプログラムを使用して、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目についての演算処理がなされ、
データベースに、前記演算処理手段の演算結果である、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけて比較項目についてのデータが格納され、
設定画面表示手段によって、各パラメータの表示手段と各パラメータの選択手段、比較項目のいずれかもしくはこれらの組み合わせの表示手段とこれらの内のいずれかを選択する選択手段、各パラメータを組み合わせた形式での前記動作仕様ファクターの組み合わせを複数表示する表示手段といずれかの組み合わせの１つまたは複数を選択する選択手段、が１つの画面に同時に表示され、
データ取得処理手段によって、前記画面上で、パラメータのいずれか、比較項目のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での前記動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについて前記データベースに格納されたデータが検索され、取得する処理が行われ、および
性能比較処理手段によって、前記データ取得手段で取得したデータに基づいて比較項目のいずれかもしくはこれらの組み合わせについて相対比較が行われ、複数の数値アルゴリズムについて性能比較が行われ、
結果画面表示手段によって、該性能比較結果が色分けして表示され、
前記設定画面表示手段の画面に表示されたいずれかの選択手段についても通信手段を介してのクライアント端末からの指令信号によって選択操作され、
とからなることを特徴とする数値計算アルゴリズム性能比較表示方法を提供する。
【００２３】
また、本発明は上述の数値計算アルゴリズム性能比較表示方法において、前記性能比較処理手段によって、前記相対対比の前に、設定した真の残差ノルムの基準値の範囲内にあるか、範囲外にあるか、について判定を行うことを特徴とする数値計算アルゴリズム性能比較表示方法を提供する。
【発明の効果】
【００２４】
本発明は、上述した記憶手段、演算処理手段、データベース、設定画面表示手段、データ取得処理手段および結果画面表示手段によって構成されることにより、アルゴリズムユーザのニーズに応えて多種多様に存在する数値計算アルゴリズムを使用して問題を求解するに当って、許容精度内で、対象の数値計算アルゴリズムについて性能比較し、相対判定を行うことのできる数値計算アルゴリズム性能比較表示装置、あるいはこの数値計算アルゴリズム性能比較表示装置を用いた数値計算アルゴリズム性能比較表示方法を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施例を図面に基づいて説明する。
【実施例】
【００２６】
図１は、本発明の実施例である数値計算アルゴリズム性能比較表示装置の構成を示すブロック図である。
【００２７】
図１において、数値計算アルゴリズム性能比較表示装置１００は、記憶手段１１、演算処理手段（１）１２、データベース１３、演算処理手段（２）１４、表示結果手段１５からなり、記憶手段１１および演算処理手段（１）１２は提供側計算機システム１を構成し、演算処理手段（２）１４および結果表示手段１５は提供側計算機システム２（数字３０で示す）を構成し、データベース１３はこれらの提供側計算機システム１および２に接続され、データの授受を行う。数値計算アルゴリズム性能比較表示装置１００はクライアント端末２００に接続され、データの授受がなされる。
【００２８】
記憶手段１１は複数のパラメータ２１を備える。これらのパラメータは数値計算アルリズム２０と関連づけられる。数値計算アルゴリズム２０は、多数の項目、例えば固有問題（Ａｘ＝λＢｘ）の求解用の線形方程式（Ａｘ＝ｂ）の求解用の、あるいは代数方程式（ｆ（ｘ）＝０）の求解用の数値計算アルゴリズム項目からなる、上記以外の数値計アルゴリズム項目を含む。各項目は、各パラメータと関連づけて記憶される。パラメータ２１は、解くべき問題２２、解法２３および解法と併用する技法２４によって構成され表現される。これらの三要素によって構成され、表現されることは公知の事項である。例えば、線形方程式の場合、解くべき問題２２の項目としては、例えば行列、右辺項、初値、他で構成され、表現され、解法２３の項目としては、例えば直接法、定常反復法、定常反復法、他で構成され、表現され、解法と併用する技法２４の項目としては、例え前処理、スケーリング、オーダリング、他で構成され、表現される。固有値問題の場合、解くべき問題２２の項目としては、例えば行列Ａ、行列Ｂ、初期値、他から構成され、表現され、解法２３の項目としては、べき乗法系統、ＱＲ法、反復法系統、他で構成され、表現され、解法と併用する技法２４の項目としては、変換公式、シフト、他で構成され、表現される、代数方程式の場合も同様である。
【００２９】
以下、主に線形方程式（Ａｘ＝ｂ）に例をとって説明することにする。
「数値計算によって解くべき問題」とは、例えば、線形方程式
Ａｘ＝ｂ、（Ａ：係数行列、ｘ：解ベクトル、ｂ：右辺項ベクトル）
などを指す。これを解くための解法と、その求解効率を向上させるための技法（前処理やスケーリングなど）の例として、「前処理付き共役勾配法」の数値計算アルゴリズムを図４に示す。（共役勾配法はＣＧ法とも呼ばれ、本実施例システムの各説明や計算機システム内でも「ＣＧ」と表示されている。）
ここで、ｘｋが解ベクトルであり、ｒｋが残差ベクトルである。これら以外のｐｋ、α
ｋ、βｋは、アルゴリズムを構成する補助的なベクトルおよびスカラーである。
【００３０】
上記の「ｂｅｇｉｎ」から「ｅｎｄ」までの間の５つの式を、残差ベクトルのノルム（上記の||ｒｋ||の値）が許容値に収束するまで繰り返し実行する。枠で囲った部分が「前処理」と呼ばれる演算で、ここの行列Ｋの作り方（前処理方法）次第で、収束状況が変わる。解法がＢｉＣＧＳｔａｂなど他のものになると、反復計算させる式の構成が変わる。Ｋ＝Ｉ（Ｉは単位行列）に相当する場合は、一般に「前処理なし」の数値計算アルゴリズムである。
【００３１】
収束判定では、||ｒｋ||の値について評価するが、典型的な判定方法は||ｒｋ||≦ε||
ｂ||による。
ここで、εが許容値であり（本システムでは１０のマイナス１２乗である）、ｂは線形方程式の右辺項ベクトルである。収束したと判定されたときまでに要した反復回数が「収束所要回数」である。
【００３２】
ＣＰＵ時間は、上記の数値計算アルゴリズムが開始される前の「前処理行列Ｋ生成に関する計算時間」と「反復求解で数値計算アルゴリズム中の残差が収束するまでの時間」との合計時間である。
【００３３】
収束グラフは、残差ベクトルのノルム||ｒｋ||を各反復ごとにデータファイル（図６，7の拡張子「．ｒｓｄ」のファイル）に格納しそれのｌｏｇ１０（常用対数）を取ったものをプロットして作成する。このグラフから、元の線形方程式に対して反復解法に基づく数値計算アルゴリズムの効果などの様子が確認できる。ただし、ここでの残差ベクトルとは、あくまでも数値計算アルゴリズム中のデータであり、計算過程における丸め誤差の混入などにより、一見，数値計算アルゴリズム中の残差では収束したように見えても、実際には解が得られていない場合もある、そのようなときには、真の残差ノルムで評価する。
【００３４】
真の残差ノルムとは、求解アルゴリズムにより得られた数値解
2008004043.tif 000003
を用いて、
2008004043.tif 000004
を評価したものである。図２０の「Ｄａｔａ  Ｔａｂｌｅ」内の「Ｒｅｓ．  ｎｏｒｍ  （ｂ−Ａｘ）は、この情報をあらわしている。
【００３５】
１）数値計算アルゴリズム
数値計算も更に細分化され、以下のような学問上の分野がある。
「線形方程式、固有値問題、特異値分解(SVD)、代数方程式、数値積分、関数近似、その他」
本実施例システムでは、これらの数値計算分野を対象とするが、説明書類では、具体例として線形方程式に関する数値計算アルゴリズムの例を取り上げた．他の分野についても同様の考え方が応用される。
【００３６】
２）解くべき問題
線形方程式（Ａｘ＝ｂ）は、係数行列と呼ばれる行列Ａ（Ｍａｔｒｉｘ）と右辺項と呼ばれるベクトルｂを用いて構成され、最終的に数値解のベクトルｘを求める。
本実施例システムでは、行列はテスト用行列を集めたＷｅｂサイトのデータを使用し、最終的には１００種類程度の行列を用意する予定である。これらのデータはテキスト形式のファイルである。
Matrix Market    http://math.nist.gov/MatrixMarket/
Sparse Matrix Collection
http://www.cise.ufl.edu/research/sparse/matrices/
【００３７】
具体的に行列名の一部を紹介すると、以下のような名称のものが存在する。
１１３８＿ｂｕｓ、４９４＿ｂｕｓ、６６２＿ｂｕｓ、６８５＿ｂｕｓ、ａｄｄ２０、ａｄｄ３２、ｂｃｓｓｔｋ１４、ｂｃｓｓｔｋ１５、ｂｃｓｓｔｋ１６、ｂｃｓｓｔｍ２６、ｇｒ＿３０＿３０、ｍｅｍｐｌｕｓ、ｎｏｓ１、ｎｏｓ２、ｎｏｓ３、ｎｏｓ４、ｎｏｓ５、ｎｏｓ６、ｎｏｓ７、ｓ１ｒｍｑ４ｍ１、ｓ１ｒｍｔ３ｍ１、ｓ２ｒｍｑ４ｍ１、ｓ２ｒｍｔ３ｍ１
（全て、Matrix Marketで提供されている行列）
さらに、本実施例システムの現状では、右辺項は実行プログラムの中で作成している。具体的には、解ベクトルｘのデータをあらかじめ適当な値で用意し、これを係数行列Ａにかけることで、右辺項ベクトルｂが作成される（この演算は、次項で説明するＬｉｓでサポートされている機能である）。
【００３８】
３）解法
線形方程式を解くための代表的な解法には、以下のようなものがある。
直接解法：ＬＵ分解に基づくガウス消去法、コレスキー分解に基づくガウス消去法、他
定常反復解法：Ｊａｃｏｂｉ法、Ｇａｕｓｓ−Ｓｅｉｄｅｌ法、ＳＯＲ法、他
非定常反復解法：ＣＧ法、ＢｉＣＧ法、ＣＧＳ法、ＢｉＣＧＳｔａｂ法、ＢｉＣＧＳｔａｂ（ｌ）法、ＧＰＢｉＣＧ法、Ｏｒｔｈｏｍｉｎ法、ＧＭＲＥＳ法、ＴＦＱＭＲ法、他
本実施例システムの現状では、定常反復解法と非定常反復解法で解法プログラムが構成されており、直接解法も取り入れることができる。解法プログラムは、以下のサイトで用意されているフリーライブラリのＬｉｓ  （Ｌｉｂｒａｒｙ  ｏｆ  Ｉｔｅｒａｔｉｖｅ  Ｓｏｌｖｅｒｓ  ｆｏｒ  Ｌｉｎｅａｒ  Ｓｙｓｔｅｍｓ）を用い、提供側計算機システム１では、実行形式プログラムとして用意されている。
Lis    http://ssi.is.s.u-tokyo.ac.jp/lis/
【００３９】
Ｌｉｓの仕様として、解法（ｓｏｌｖｅｒ）には下記のとおりｓｏｌｖｅｒＩＤが付けられている。〔  〕内の２桁の数値がｓｏｌｖｅｒＩＤである。
ＣＧ［０１］、ＢｉＣＧ［０２］、ＣＧＳ［０３］、ＢｉＣＧＳｔａｂ［０４］、ＢｉＣＧＳｔａｂ（ｌ＝２）［０５］、ＧＰＢｉＣＧ［０６］、ＴＦＱＭＲ〔０７〕、Ｏｒｔｈｏｍｉｎ［０８］、ＧＭＲＥＳ［０９］、Ｊａｃｏｂｉ［１０］、Ｇａｕｓｓ−Ｓｅｉｄｅｌ［１１］、ＳＯＲ［１２］
現在、ＢｉＣＧＳｔａｂ（ｌ）法のパラメータｌの値は、ｌ＝２としている。
【００４０】
４）解法と併用する技法
線形方程式用の解法と併用する技法（技法）には、以下のようなものがある。
前処理：反復解法の数値解への収束性に影響を及ぼす技法であり、収束性向上を意図して用いる。
スケーリング：求解アルゴリズムが安定して解を求められるよう、係数行列に対して施す技法。
オーダリング：主に求解効率の向上を意図して、係数行列の行や列の順番を入れ替える技法。
変換公式：求解効率の向上や方程式を解き易い形式に変形するために、主に係数行列を同値な式に変換すること。
その他
本実施例システムの現状では、前処理を実装している。これ以外の技法も今後取り入れる予定である．前処理のプログラムは、解法と同様Ｌｉｓを用いて、提供側計算機システム１では、実行形式プログラムとして用意されている。
【００４１】
Ｌｉｓの仕様として、前処理（ｐｒｅｃｏｎｄｉｔｉｏｎｅｒ）には下記のとおりｐｒｅｃｏｎｄＩＤが付けられている。〔  〕内の２桁の数値がｐｒｅｃｏｎｄＩＤである。
ｎｏｎｅ［００］（前処理なし）、ＰＪａｃｏｂｉ［０１］、ＩＬＵ［０２］、ＳＳＯＲ［０３］、Ｈｙｂｒｉｄ［０４］、Ｉ＋Ｓ［０５］、ＳＡＩＮＶ［０６］、ＳＡＡＭＧ［０７］
【００４２】
このように、記憶手段１１が数値計算アルゴリズム毎に、解くべき問題、解法および解法と併用する技法の各項目について設定したパラメータ２１、各パラメータについて設定され、収束グラフ、ＣＰＵ時間および収束所要回数の動作仕様を決定する動作仕様ファクターおよび各項目から選択された動作仕様ファクターの組み合わせに関連づけられた収束グラフ、ＣＰＵ時間および収束所要回数の演算を行うコンピュータプログラムを格納して構成される。
【００４３】
演算処理手段（１）１２は、入力データファイル２５および実行形式プログラムファイル２６を備えて構成される。実行形式プログラムファイル２６は解法および解法と併用する技法を格納したファイルであり、入力データファイル２５は解くべき問題のデータを格納したファイルであり、これらのファイル自体は公知の事項である。
【００４４】
図２は、数値計算アルゴリズム性能比較表示装置１００とクライアント端末２００の一部詳細を示すブロック図である。図２において、パラメータ５３におけるパラメータ項目選択はパラメータ項目選択（方法１）５３Ａ、パラメータ項目選択（方法２）５３Ｂおよびパラメータ項目選択（方法３）５３Ｃを想定した。それ以上にパラメータ項目が設定されるようになってもよい。
【００４５】
結果画面表示手段４には、パラメータ項目選択（方法１）５３Ａ、パラメータ項目選択（方法２）５３Ｂおよびパラメータ項目選択（方法３）５３Ｃに対応して結果画面表示（方法１）５４Ａ、結果画面表示（方法２）５４Ｂおよび結果画面表示（方法３）５４Ｃを行うことができる。
【００４６】
パラメータ項目選択（方法１）５３Ａでは、例えば
１）表示項目の設定
２）解くべき問題
３）解法
４）解法と併用する技法
５）真の残差ノルムに対する許容値
が選択、設定される。
【００４７】
これに対応して結果画面表示手段５４の内容を示す結果画面表示（方法１）５４Ａでは、例えば
１）収束グラフ
２）ＣＰＵ時間
３）収束所要回数
４）真の残差ノルム値
が表示される。
【００４８】
パラメータ項目選択（方法２）５３Ｂでは、例えば
１）解くべき問題
２）真の残差ノルムに対する許容値
が選択、設定される。
【００４９】
これに対応して結果画面表示（方法２）５４Ｂでは、例えば
１）求解アルゴリズム
２）比較項目（ＣＰＵ時間、収束所要回数）
３）真の残差ノルム
４）３）の相対判定結果
が表示される。
【００５０】
パラメータ項目選択（方法３）５３Ｃでは、例えば
１）グループ分けの項目（解法、併用する技法）
２）比較する項目
３）真のノルムに対する許容値
４）解くべき問題の性質
が選択、設定される。
【００５１】
これに対応して結果画面表示（方法３）では、例えば
１）求解アルゴリズム
２）解くべき問題
３）比較項目の相対判定結果
４）設定したパラメータ値
が表示される。
【００５２】
データベース１３は、データベース（１）１３Ａとデータベース（２）１３Ｂとからなり、データベース（１）１３Ａはパラメータとして、
１）収束グラフ
２）ＣＰＵ時間
３）収束所要回数
４）真の残差ノルム値
をそれぞれ関連づけて格納している。
【００５３】
データベース（２）１３Ｂはパラメータとして、
１）問題の性質（１）
２）問題の性質（２）
３）問題の性質（３）
をそれぞれ関連づけて格納している。
【００５４】
提供側計算機システム２は、演算処理手段（２Ａ）１４Ａ、演算処理手段（２Ｂ）１４Ｂおよび結果画面表示手段５４Ａからなる。
【００５５】
演算処理手段（２Ｂ）１４Ａは、比較項目に対する判定、その結果に基づく並び替えおよびその他の計算を行う。
データベース１の作成は、数値計算アルゴリズムの性能テスト問題を格納しているWebサイト（例えば、MatrixMarket〔http://math.nist.gov/MatrixMarket/〕，University of Florida Sparse Matrix Collection, 〔http://www.cise.ufl.edu/research/sparse/matrices/〕，Sparse matrix test problems 〔http://users.tkk.fi/~kouhia/sparse.html〕など、本例の装置では、Matrix Marketのデータを用いている。）からテスト問題のデータファイルと一緒にテスト問題に関する性質の情報（行列サイズ、代表的特徴や、固有値などのスペクトル特性、他）を転送している。
【００５６】
前者については、提供側計算機システム１の「入力データファイル」として使用している。後者の情報については、ＵＮＩＸ（登録商標）の基本ツールであるａｗｋを利用してテキスト形式のデータファイルに整形したものであり、これをデータベース（２）１３Ｂと呼んでいる。
【００５７】
データベース（２）１３Ｂについて：
データベース（２）１３Ｂの「解くべき問題」は、線形方程式の場合では、「行列」を指している。ここで、問題の性質１や性質２とは、行列の「大きさ」、「行列の代表的特徴（対称、非対称や正定値性など）」や「条件数」などを指している。
データベース（２）１３Ｂでは、解くべき問題の名称（行列名）をキーにして、その行列の性質を関連づけている。
【００５８】
演算処理手段（２Ｂ）１４Ｂについて：
図８に示す入力画面にて設定された「収束における真の残差ノルムの許容値」はパラメータ「criterion」に格納され、演算処理手段（２Ｂ）１４Ｂで受け取られる。
真の残差ノルムを比較判定する対象となるアルゴリズムは、図２の方法１の場合には、選択されたアルゴリズムが対象であり、方法２と３の場合には、全アルゴリズム（１２種類の解法と８種類の前処理全ての組合せ）が対象である。
【００５９】
１）方法１の場合：
クライアント端末（表示装置）から渡されたパラメータを、フリーソフトウェアｐｈｐの機能を用いて分析する。
図８の入力画面にて設定された全パラメータとそれらに格納された値は、パラメータ受渡しハンドラ−配列に格納され（ｐｈｐの動作仕様であり、公知）提供側計算機システム２では、あらためてハンドラを一配列（ここでは「ＰＯＳＴ」という配列名で説明する）から各パラメータと変数値を受け取る。
表示形式は、パラメータ「SEL」に値が格納される（SEL＝POST〔SEL〕）。
行列名は、パラメータ「matrix」に行列名が格納される（matrix＝POST〔matrix〕）
解法名は、パラメータ「solverID」（配列形式）に解法のIDが格納される（同様）。
技法名は、パラメータ「precondID」（配列形式）に技法のIDが格納される（同様）。
許容値は、パラメータ「criterion」に許容値が格納される（同様）。
【００６０】
提供側計算機システム２内部での制御の順番は、
（１）パラメータ「matrix」の値の受け取り
（２）パラメータ「solverID」の値の受け取りと解法の個数（配列の要素数）の分析
（３）パラメータ「precondID」の値の受け取りと解法の個数（配列の要素数）の分析
（４）パラメータ「criterion」の値の受け取り
（５）パラメータ「SEL」の値の受け取りとその値に応じた制御
である。
【００６１】
このとき、真の残差ノルムがcriterion以下ならば収束したと判定し、criterionよりも大きい値ならば見かけ上の収束と判定して、以下のように対応付ける。
状況            パラメータ「stat」に設定する値        パラメータ「col_stat」
収束                    conv.                          無し
見かけ上の収束          no conv.                       msg_col（黄色）
反復回数の上限          mat.itr．                      war_col（赤色）
ブレークダウン          brk.dwn                        war_col（赤色）
データテーブル表示のhtmlを作成するとき、上記の状況に応じて、対応する行のバックグラウンド色（htmlの機能で着色）を「col_stat」の色で表示する。表示出力例は、図２２のとおりである。
【００６２】
２）方法２の場合：
パラメータ入力の方法は、後述する図９あるいは図１０（行列名を指定する）のとおりである。選択された行列１つに対する、全アルゴリズム（１２種類の解法と８種類の前処理全ての組合せ）のデータについて処理が行われる。解法ID、前処理IDとアルゴリズム名の対応は、「ｌｏｏｐ＿ｓｏｌｐｒｅ」で行われる。
【００６３】
「.ｌｏｇ」拡張子のファイル中のデータで「真の残差ノルム値」と「criterion」の値とを比較判定する。このとき、真の残差ノルムがcriterion以下ならば収束したと判定し、criterionよりも大きい値ならば見かけ上の収束と判定して、以下のように対応付ける。
状況            パラメータ「stat」に設定する値        パラメータ「col_stat」
収束                    conv.                          無し
見かけ上の収束          no conv.                       msg_col（黄色）
反復回数の上限          mat.itr．                      war_col（赤色）
ブレークダウン          brk.dwn                        war_col（赤色）
表示するデータ一式（逐次番号、アルゴリズム、収束所要回数、ＣＰＵ時間、真の残差のノルム値、求解状況の情報、col_stat）を配列（INFO_dat）に格納する。
【００６４】
配列INFO_datに対して比較項目（sort_keyの値）に応じ、ＣＰＵ時間が収束所要回数のどちらかで昇順にソート（ｐｈｐの関数の使用）する。
ソート後、col_statの値がNULLのレコード（収束したもの）を対象にして最初のレコードの比較項目の値をパラメータ「TheFastest」に代入し、以後のレコードに対して、比較項目の相対評価の指標（現状では「TheFastest÷比較項目の値」）を算出し、少数第一位までをパラメータ「Rat」に代入する。
データテーブル表示のhtmlを作成するとき、上記の求解状況に応じて、対応する行のバックグラウンド色（htmlの機能で着色）を「col_stat」の色で表示する。表示出力例は、図２３のとおりである。
収束したものについては、gnuplotを用いて比較項目のデータの棒グラフを描く。
【００６５】
３）方法３の場合：
パラメータの入力方法は、図１０（行列名を指定しない場合）のとおりとしている。
データベース（１）１３Ａから行列名一覧を獲得する。各々の行列に対して全アルゴリズム（１２種類の解法と８種類の前処理全ての組合せ）のデータについて、以下の処理が行われる。
「.log」拡張子のファイルの中から、表示するデータ一式（レコード番号、アルゴリズム名、収束所要回数、ＣＰＵ時間、真の残差のノルム、求解状況の情報、col_stat）を配列（INFO_dat）に格納する。
配列INFO_datをコピーして、INFO_datOを作成する。
「INFO_dat」を、比較項目（sort_keyの値）に応じ、ＣＰＵ時間が収束所要回数のどちらかで昇順にソート（ｐｈｐの関数を使用）する。そして、昇順のレコードの先頭から、INFO_dat〔i〕〔alg〕（求解状況、iはレコードの番号）＝conv.の条件を満たす最初のレコードの比較項目の値を〔TheFastest〕に代入する。
【００６６】
図３に演算処理手段（１）１２の詳細をフローチャートで示す。図３において、実行形式プログラム２６は、入力データファイル２５の行列Ａ，Ｂ，Ｃ…（後述する１１３８＿ｂｕｓなど）を使用して、解法ＩＤ０１、０２…１２と解法と併用する技法のＩＤ００、０１、…、０７を逐次選択し実行する。
各々の行列に対して解法群（０１〜１２）と技法（００〜０７）の全組み合わせ、すなわち前述のパラメータについて設定され、収束グラフ、ＣＰＵ時間および収束所要回数の動作仕様を決定する動作仕様ファクター（因子）の組み合わせを適用して求解し、データを生成する。
【００６７】
４）入力データファイル
「解くべき問題」の実際のファイルである。
ここで用意されたファイルが、６）項の実行形式プログラムに対する入力データとなる。
【００６８】
５）実行形式プログラムファイル
コンピュータ言語で表現された解法および解法と併用する技法を、実行形式のファイルとして用意する。
Ｌｉｓの場合、Ｃ言語とＦｏｒｔｒａｎ９０のプログラムから構成され、これらに線形方程式求解用のｍａｉｎプログラムを作成し、コンパイルして実行形式プログラム（ロードモジュール）のファイルを作成する。ここで、コンパイラは商用のものやフリーのものを用いることができる。
【００６９】
このように、演算処理手段である演算処理手段（１）１２はコンピュータプログラムを使用して、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた収束グラフ、ＣＰＵ時間および収束所要回数について演算処理を行う。
【００７０】
図３にて，提供側計算機システム１（１２）で生成された諸計算結果のファイルがデータベース（１）１３Ａに格納される。また、数値計算アルゴリズムの性能テスト問題を格納しているサイト４１から数値計算アルゴリズムの性能を提供側計算機システム１（１２）に送信すると、提供側計算機システム１（１２）はファイル転送および情報の整理４２を行って整理された数値計算アルゴリズムの性能テスト問題をデータベース（２）１３Ｂに格納する。また、クライアント端末（表示装置）２００から検索実行のリクエストがあったときには、提供側計算機システム２（３０）を経由してデータベース１３のファイル検索が行われ，その中から必要なデータが提供側計算機システム２に渡される。
【００７１】
本実施例システムの現状では、このデータベース１３は，提供側計算機システム２の中に組み込まれているが、今後はデータベースのみを単独のシステムとしてもよい。
【００７２】
図５は、以上説明した本発明の実施例についてのフローチャートを説明する図である。図５において、数値計算アルゴリズムについて、画面上に、比較項目を含むパラメータの設定を行う（Ｓ１）。画面上に、真の残差ノルム基準値の設定を行う（Ｓ２）。真の残差ノルム値が真の残差ノルム基準値の範囲内にあるかについて判定を行い（Ｓ３）、範囲内にある数値アルゴリズムの順に画面上で、数値アルゴリズムのリストの並び替えを行う（Ｓ４）。各数値アルゴリズムについて、あるいは上位リストにある数値計算アルゴリズム（これらを対象の数値計算アルゴリズムという）について比較項目についての性能データの出力を行う（Ｓ５）。各性能間の性能比較、すなわち対象の数値計算アルゴリズムについての性能の相対比較による相対判定を行うと共に対象の数値計算アルゴリズムについての相対比較値（相対判定値）の算出を行う（Ｓ６）。最終的に、相対比較、相対比較値に対応して、対象の数値計算アルゴリズムを画面上で、色分け表示を行う（Ｓ７）。図２における方法１では、上記のＳ１〜Ｓ３までの処理フローが該当する。方法２では、上記のＳ１〜Ｓ６までの処理フローが該当する。方法３では、上記のＳ１〜Ｓ７までの処理フロー全てが該当する。
【００７３】
図５に示すステップについて以下、詳細に説明する。
データベース１３に載せる際の提供状況やデータファイルの内部形式の例について図６および図７を参照して説明する。
【００７４】
図６にデータベース１３Ａに載せる際の情報提供状況を示す。上述のように、解くべき問題の設定３１、解法の設定３２、解法と併用する技法の設定３３がなされ、演算処理手段（１）１２での演算処理３４がなされる。図６に記載された事項をそのまま次に示す。
【００７５】
○解くべき問題の設定３１（内部では行列名で表現。行列名の例：１１３８＿ｂｕｓ）
その他の行列名の一部を具体的に挙げると、以下のような名称のものが存在する。
１１３８＿ｂｕｓ，４９４＿ｂｕｓ，６６２＿ｂｕｓ，６８５＿ｂｕｓ，ａｄｄ２０，ａｄｄ３２，ｂｃｓｓｔｋ１４，ｂｃｓｓｔｋ１５，ｂｃｓｓｔｋ１６，ｂｃｓｓｔｍ２６，ｇｒ＿３０＿３０，ｍｅｍｐｌｕｓ，ｎｏｓ１，ｎｏｓ２，ｎｏｓ３，ｎｏｓ４，ｎｏｓ５，ｎｏｓ６，ｎｏｓ７，ｓ１ｒｍｑ４ｍ１，ｓ１ｒｍｔ３ｍ１，ｓ２ｒｍｑ４ｍ１，ｓ２ｒｍｔ３ｍ１
（全て，Matrix Marketで提供されている行列）
【００７６】
○解法の設定３２
（内部では解法のＩＤで表現．解法ＩＤの例：ＢｉＣＧＳｔａｂならば０４）
本実施例システムでは、解法は１２種類としている。
解法と併用する技法の設定３３
（内部では技法のＩＤで表現．技法ＩＤの例：ＰＪａｃｏｂｉならば０１）
本実施例システムでは、この技法（前処理）は８種類ある。
演算処理手段（１）での扱い
下記のようなテキストファイルとして格納する。
【００７７】
○演算処理手段（１）での扱い３４
○各パラメータへの値の設定
ｍａｔｒｉｘ＝１１３８＿ｂｕｓ，ｓｏｌｖｅｒＩＤ＝０４，ｐｒｅｃｏｎｄＩＤ＝０１
○検索対象であるファイル名の構成
ｍａｔｒｉｘ−ｓｏｌｖｅｒＩＤｐｒｅｃｏｎｄＩＤ００００．ｘｘｘ
（具体例：１１３８＿ｂｕｓ−０４０１００００．ｘｘｘ）
ここで，ｘｘｘはファイル種別を表す拡張子である。
ｓｏｌ：解ベクトルを格納したファイル
ｒｓｄ：反復ごとの残差ノルム情報を格納したファイル（収束グラフのデータ）
ｌｏｇ  ：  ＣＰＵ時間や収束所用回数などのデータを格納したファイル
００００は予備として用意する。
【００７８】
○本実施例では解法１２種類×技法８種類で、９６とおりの組合せができ、各々に対し３
種類の拡張子を持ったファイルを構成している。解法・技法、拡張子の数によってファイ
ル数を増減することができる。
図７に各ファイルの内部形成の例（全てテキストデータ）を示す。図７に示すように、
動作仕様ファクターに関連して収束所要回数、ＣＰＵ時間，求解状況，真の残差のノルム値が格納される。
このように、データベース１３Ａには、演算処理手段の演算結果である、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけて収束グラフ、ＣＰＵ時間および収束所要回数，求解状況，真の残差のノルム値についてのデータが格納される。
【００７９】
次に提供側計算機システム２（３０）について説明する。
演算処理手段（２Ａ）１４Ａは、後述するパラメータの項目設定画面を使用して制御を行い、各パラメータ項目の選択と動作仕様ファクターの設定および検索対象であるファイル名の構成を行う。すなわち、設定パラメータからファイル名の作成を行う。
後述するクライアント端末２００（表示装置）から検索実行のリクエストを受けて、データベースのファイル検索を行い、その中から必要なデータを受け取り、クライアント端末２００（表示装置）に表示できるようデータを加工する。以下、詳述する。
【００８０】
図８、図９はそれぞれ線形方程式アルゴリズム性能評価の情報検索システムを示し、図８は図２に示すパラメータ項目選択（方法１）に基づく入力画面を示し、図９は図２に示すパラメータ項目選択（方法２）基づく入力画面を示す。線形方程式の場合のパラメータ入力、動作仕様ファクター入力およびデータ検索、計算結果の精度判定、表示依頼の画面（画面表示装置の設定画面表示手段の画面）を表わしている。画面表示と各種制御は、フリーソフトウェアのｐｈｐを使用し、画面表示ではhtmlの表示仕様にしたがっている。
この図８では、丸印の項目を選択、あるいは設定してる。
【００８１】
２重丸の項目が収束における真の残差ノルムの許容値を設定する欄である。ここの値の設定次第で、図２２の結果出力の内容は異なってくる。
この２重丸の項目は、「真の残差のノルム」に対する許容値を指す。アルゴリズム中で用いられている残差のノルムが収束していても、そのときに得られた解を元々の線形方程式に代入して得られた真の残差ノルムを評価したとき、収束していないと判定される場合も少なくない。
ここで指定された値は、パラメータ「criterion」に代入される。
【００８２】
図９では、丸印のところを選択している点が図８と異なる。この項目をチェックすると、全アルゴリズムの組み合わせ（現在は、１２解法×８前処理で９６通り）に対して、比較したい項目（「ＣＰＵ time」か「収束所要回数」）の昇順に結果一覧を表示する。
この図では、「ＣＰＵ time」の昇順（早い順）に並べるよう設定している。もう一方は、「収束所要回数」の昇順（少ない回数で収束した順）に並べるものである。
画面表示の制御では、以下の２種類の選択肢がある。
「全ての結果（収束グラフ  データテーブル  出力テーブル）
または
〔ＣＰＵ time.収束所要回数〕（選択メニュー）の昇順にソートする」
どちらも選択しなかった場合のデフォルトは「全ての結果」である。
【００８３】
１）「全ての結果」を選択した場合（図８）：
図１９〜２１が表示される（詳しく説明すると、「全ての結果」の中でも、図１９の「収束グラフ」、図２０の「データテーブル」、図２１の「出力データ」の項目を個別に選択することもできる。）図８の「収束における真の残差ノルムの許容値」を設定することにより、データテーブルの表示では、図２１のとおり、真の残差ベクトルのノルムの値と比較（計算結果の精度判定）して「収束した」と「見かけ上の収束」とを判別する。
【００８４】
２）「〔ＣＰＵ time.収束所要回数〕の昇順にソートする」を選択した場合（図９）：
２−１）ＣＰＵ timeの昇順にソートした場合：
図２３が表示される。
２−２）収束所要回数の昇順にソートした場合：
図２３と同様に表示される。
【００８５】
図１０は、図２の「パラメータ項目選択（方法３）」に基づく入力画面である。
図９では、行列ごとの情報を表示したが、ここでは、複数の行列と全ての求解アルゴリズムの組み合わせを、比較項目の相対評価の指標（Rat.）に基づき色可視化情報を用いて一覧表にして表示する。
【００８６】
丸で囲んだ箇所が、選択メニューによる入力項目である。各入力項目の選択肢の内容は、第１優先ソート項目（第１優先グループ分け項目）の選択、結果の表示で、「解法のグループ」の単位で表記するのか、「前処理のグループ」の単位で表示するのかを選択する。比較項目（「ＣＰＵ時間」か「収束所要回数」か）を選択するあるいは行列名の選択を行うことである。
【００８７】
図８において、”赤色”とは画面上で赤色で表示される項目であり、画面上の”全ての結果”，”All solvers””none”を示している。Allは全ての組み合わせを選択する場合で、優先度が高いものとしている。そして、解法１に対して１つの欄の前処理を選択できるものとし、この入力欄は複数用意し、解法の選択数に対応するものとしている。
【００８８】
この設定で実行した結果表示の１例を図１１に示す。
図１１および図１２に記載されている事項を以下に示す。各パラメータとそれらに格納された値は，ｐｈｐの機能（公知）を用いて提供側計算機システム２を制御するプログラムへ、パラメータ受渡しハンドラーの配列として渡される。
【００８９】
（（１））表示項目
パラメータ「ＳＥＬ」に以下のＩＤを代入する。［  ］内の数値は、ＳＥＬに代入されるＩＤを表す。
全ての結果    ［９９］
収束グラフ      ［１］
データテーブル  ［２］
出力データ      ［３］
【００９０】
（（２））行列の選択（解くべき問題の内の行列）
パラメータ「ｍａｔｒｉｘ」に行列名を代入する。
図のように行列名がメニューに並んでおり，選択された行列名がパラメータｍａｔｒｉｘに代入される。
右辺項や初期値他については、各々デフォルト値が用意されている。本実施例システムでは、これらについてはデフォルト値のみ有効としている。
【００９１】
（（３））解法（図１２）
図８のとおり、解法名がメニューに並んでおり、選択された解法は２桁のＩＤとしてパラメータ「ｓｏｌｖｅｒＩＤ」に代入される。ここで、解法を複数選択することが可能であり、パラメータｓｏｌｖｅｒＩＤは配列形式になっている。具体的な解法名とＩＤの対応は以下のとおりであり、［  ］内の数値がＩＤである。
ＣＧ［０１］，ＢｉＣＧ［０２］，ＣＧＳ［０３］，ＢｉＣＧＳｔａｂ［０４］，ＢｉＣＧＳｔａｂ（ｌ＝２）［０５］，ＧＰＢｉＣＧ［０６］，ＴＦＱＭＲ〔０７〕,Ｏｒｔｈｏｍｉｎ［０８］，ＧＭＲＥＳ［０９］，Ｊａｃｏｂｉ［１０］，Ｇａｕｓｓ−Ｓｅｉｄｅｌ［１１］，ＳＯＲ［１２］
本実施例システムでは、ＢｉＣＧＳｔａｂ（ｌ）法のパラメータｌの値は、ｌ＝２としている。
個々に選択する以外に、動作仕様ファクターとして「All solvers」（全解法）を選択すると、解法のＩＤとして［９９］が設定され、ｓｏｌｖｅｒＩＤ［０］＝９９となる。
例えば図８のように個々に選択したときは、
１つ目の解法として「ＣＧ」を選択→ｓｏｌｖｅｒＩＤ［１］＝０１
２つ目の解法として「ＢｉＣＧＳｔａｂ」を選択→ｓｏｌｖｅｒＩＤ［２］＝０４
【００９２】
（（４））前処理（解法と併用する技法）（図１２）
図８のとおり、前処理名がチェックボックスに並んでおり、選択された前処理のＩＤがパラメータ「ｐｒｅｃｏｎｄＩＤ」に代入される。ここで前処理を複数選択することが可能でありパラメータｐｒｅｃｏｎｄＩＤは配列形式になっている。具体的な前処理名とＩＤの対応は以下のとおりであり、［  ］内の数値がＩＤである。
ｎｏｎｅ［００］（前処理なし），ＰＪａｃｏｂｉ［０１］，ＩＬＵ［０２］，ＳＳＯＲ［０３］，Ｈｙｂｒｉｄ［０４］，Ｉ＋Ｓ［０５］，ＳＡＩＮＶ［０６］，ＳＡＡＭＧ［０７］
個々に選択する以外に、「All」（全前処理）を選択すると、前処理のＩＤとして［９９］が設定される。
【００９３】
前述の「（（３））解法」にて個々に選択した解法に対応した前処理を選んだとき、例えば１つ目の解法として「ＣＧ」を選択し、それと併用する前処理として
「ＰＪａｃｏｂｉ」と「ＳＳＯＲ」を選択
→ｐｒｅｃｏｎｄＩＤ［１］［０］＝０１，ｐｒｅｃｏｎｄＩＤ［１］［１］＝０３
２つ目の解法として「ＢｉＣＧＳｔａｂ」を選択し、それと併用する前処理として
「ｎｏｎｅ（前処理なし）」と「ＩＬＵ」を選択
→ｐｒｅｃｏｎｄＩＤ［２］［０］＝００，ｐｒｅｃｏｎｄＩＤ［２］［１］＝０２
使用する制御言語系のｐｈｐの仕様により、配列のインデックスは０から始まるが、実質的には1番目を指している。
解法と併用するその他の技法（スケーリング，オーダリング他）については、本実施例システムの現状では実装されていないが、今後、実装してもよい。
【００９４】
（（５））データ検索と表示を依頼するボタン
次に、各パラメータ項目の選択と動作仕様ファクターの設定について述べる。
クライアント端末２００（表示装置）から渡されたパラメータを、フリーソフトウェアｐｈｐの機能を用いて分析する。
図８の入力画面にて設定された全パラメータとそれらに格納された値（動作仕様ファクター）は、パラメータ受渡しハンドラー配列に格納され（ｐｈｐの動作仕様であり、公知）、提供側計算機システム２では、あらためてハンドラー配列（ここでは「ＰＯＳＴ」という配列名で説明する）から各パラメータと変数値を受け取る。
【００９５】
（（１））で選択された表示形式は，パラメータ「ＳＥＬ」に値が格納される（ＳＥＬ＝ＰＯＳＴ［ＳＥＬ］）。
（（２））で選択された行列名は、パラメータ「ｍａｔｒｉｘ」に行列名が格納される（ｍａｔｒｉｘ＝ＰＯＳＴ［ｍａｔｒｉｘ］）。
（（３））で選択された解法名は、パラメータ「ｓｏｌｖｅｒＩＤ」（配列形式）に解法のＩＤが格納される（同様）。
（（４））で選択された技法名は、パラメータ「ｐｒｅｃｏｎｄＩＤ」（配列形式）に技法のＩＤが格納される（同様）。
【００９６】
提供側計算機システム２（３０）内部での制御の順番は、
（１）パラメータ「ｍａｔｒｉｘ」の値の受け取り
（２）パラメータ「ｓｏｌｖｅｒＩＤ」の値の受け取りと解法の個数（配列の要素数）の
分析
（３）パラメータ「ｐｒｅｃｏｎｄＩＤ」の値の受け取りと解法の個数（配列の要素数）
の分析
（４）パラメータ「ＳＥＬ」の値の受け取りとその値に応じた制御であり、それらの処理
内容は図１３−図１７で示す。図１３−図１７に記載されている事項を以下に示す。
【００９７】
図１３について：
（１）パラメータ「ｍａｔｒｉｘ」の値の受け取り
ｍａｔｒｉｘ  ＝  ＰＯＳＴ［ｍａｔｒｉｘ］
例：図８の場合は、この受け取りの後、ｍａｔｒｉｘ＝１１３８＿ｂｕｓと代入されている。
（２）パラメータ「ｓｏｌｖｅｒＩＤ」の値の受け取りと解法の個数（配列の要素数）の分析
ｐｈｐの機能を用いて、ｓｏｌｖｅｒＩＤ［ＳＳ］のサイズ（解法の個数）をカウントする（ｐｈｐの機能を利用する。公知の技術）、文字列ＳＳは、選択した解法の順番（解法のＩＤでは無く、図８で複数選択された解法の順番）を示すパラメータである。
【００９８】
解法のＩＤが「９９」以外のとき：
（このとき、ｓｏｌｖｅｒＩＤ［０］＝０と代入されている）
例えば図８の画面のとおりの入力だと，
１つ目の解法として「ＣＧ」を選択した
→ｓｏｌｖｅｒＩＤ［１］＝ＰＯＳＴ［ｓｏｌｖｅｒＩＤ［１］］
このとき、ｓｏｌｖｅｒＩＤ［１］＝０１と代入されている。
【００９９】
２つ目の解法として「ＢｉＣＧＳｔａｂ」を選択した
→ｓｏｌｖｅｒＩＤ［２］  ＝  ＰＯＳＴ［ｓｏｌｖｅｒＩＤ［２］］
このとき、ｓｏｌｖｅｒＩＤ［２］＝０４と代入されている。
【０１００】
解法のＩＤに「９９」が存在するとき：
（全解法を選択したとき、このとき、ｓｏｌｖｅｒＩＤ［０］＝９９と代入されている）
ｊ＝１，２，…，１２
ＰＯＳＴ〔ｓｏｌｖｅｒＩＤ〔ｊ〕〕＝２桁化されたｊの値
→（例：０１，０２，…，１２）
このとき、ｓｏｌｖｅｒＩＤ〔１〕＝０１，ｓｏｌｖｅｒＩＤ〔２〕＝０２，…，ｓｏｌｖｅｒＩＤ〔１２〕＝１２と代入されている。
【０１０１】
図１４について：
（３）パラメータ「ｐｒｅｃｏｎｄＩＤ」の値の受け取りと前処理の個数（配列の要素数）の分析
ｐｈｐの機能を用いて、ｐｒｅｃｏｎｄＩＤ［ＳＳ］［ＰＰ］のサイズ（各解法に対して選択した前処理の個数）をカウントする。ＳＳは（２）で選択した解法の順番であり、ＰＰは各解法に対して選択した前処理の順番を示すパラメータである。
【０１０２】
前項（２）にて選択した解法に対応した前処理を選んだとき、例えば（２）において、解法のＩＤに「９９」が存在するとき（ｓｏｌｖｅｒＩＤ［０］＝９９のとき）（図８における選択のとき）：
全解法と併用する前処理として「ＩＬＵ」（ＩＤ＝０２）が選択されている場合には、
ｐｒｅｃｏｎｄＩＤ［１］［０］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［０］［０］］，
ｐｒｅｃｏｎｄＩＤ［２］［０］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［０］［０］］，
・・・・
ｐｒｅｃｏｎｄＩＤ［１２］［０］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［０］［０］］，
このとき、ｐｒｅｃｏｎｄＩＤ［１］［０］＝０２，ｐｒｅｃｏｎｄＩＤ［２］［０］＝０２，・・・，ｐｒｅｃｏｎｄＩＤ［１２］［０］＝０２
と、全てにＩＬＵのＩＤが代入されている。
【０１０３】
使用する制御言語系のｐｈｐの仕様により、前処理の配列のインデックスは０から始まるが、実質的には１番目を指している。
【０１０４】
図１５について：
（２）において，解法のＩＤに「９９」が存在しないとき（ｓｏｌｖｅｒＩＤ［０］＝０のとき）：
前処理のＩＤに［９９］が存在しないとき：
１つ目の解法として「ＣＧ」を選択し、それと併用する前処理として「ＰＪａｃｏｂｉ」と「ＳＳＯＲ」を選択
ｐｒｅｃｏｎｄＩＤ［１］［０］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［１］［０］］，
ｐｒｅｃｏｎｄＩＤ［１］［１］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［１］［１］］，
このとき、ｐｒｅｃｏｎｄＩＤ［１］［０］＝０１（ＰＪａｃｏｂｉ），ｐｒｅｃｏｎｄＩＤ［１］［１］＝０３（ＳＳＯＲ）と代入されている。
【０１０５】
２つ目の解法として「ＢｉＣＧＳｔａｂ」を選択し、それと併用する前処理として「ｎｏｎｅ（前処理なし）」と「ＩＬＵ」を選択
ｐｒｅｃｏｎｄＩＤ［２］［０］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［２］［０］］，
ｐｒｅｃｏｎｄＩＤ［２］［１］＝ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［２］［１］］，
このとき、ｐｒｅｃｏｎｄＩＤ［２］［０］＝００（ｎｏｎｅ），ｐｒｅｃｏｎｄＩＤ［２］［１］＝０２（ＩＬＵ）と代入されている。
使用する制御言語系のｐｈｐの仕様により、前処理の配列のインデックスは０から始まるが，実質的には１番目を指している。
【０１０６】
前処理のＩＤに［９９］が存在するとき（全前処理「All」が選択されたとき）：
あらためて、全前処理のＩＤを格納する。以下の例では、１つ目に選択した解法に対して、全前処理を選んだときの前処理ＩＤの格納について説明している。
ｊ＝０，１，…，７
ＰＯＳＴ［ｐｒｅｃｏｎｄＩＤ［１］［ｊ］］＝２桁化されたｊの値
→（例：００，０１，  …，０７）
このとき、
ｐｒｅｃｏｎｄＩＤ［１］［０］＝００，ｐｒｅｃｏｎｄＩＤ［１］［１］＝０１，…，
ｐｒｅｃｏｎｄＩＤ［１］［７］＝０７
と全ての前処理のＩＤが代入されている。
（４）パラメータ「ＳＥＬ」の値の受け取りとその値に応じた制御
ＳＥＬ＝ＰＯＳＴ〔ＳＥＬ〕として、パラメータＳＥＬの値を受け取る。
【０１０７】
以下の１）〜３）のときは、方法１である。
１）ＳＥＬの値が１または９９のとき、グラフ描画の処理を実行する。
２）ＳＥＬの値が２または９９のとき、データテーブルを作成し表示する処置を実行する。３）ＳＥＬの値が３または９９のとき、出力データ一覧を表示する処理を実行する。
４）ＳＥＬの値が９０のとき、検索結果表示（方法２）を実行する。
【０１０８】
以下の１）〜５）は方法２についての説明であるが，方法１においても，収束状況に応じたパラメータ「ｃｏｌ＿ｓｔａｔ」への値代入と画面表示では，同じ方法を用いている。
【０１０９】
１）全解法のＩＤ（０１〜１２）と全前処理のＩＤ（００〜０７）から、対応する求
解アルゴリズム名を構成して、データを抽出するファイル名も図６のとおり構成していく（使うファイルは図７の「.log」拡張子のファイル）が、各々のファイル名を構成する度に以下の情報を設定していく。また、この処理では、逐次番号（解法ＩＤと前処理ＩＤが増えるごとの番号）を付けていく。
図７中の「.log」拡張子のファイル内の「ＣＰＵ時間」,「収束所要回数」,「真の残差のノルム値」とパラメータ「criterion」とを比較評価（方法１と同じ）した結果と「求解状況」の情報に応じて以下の表のとおり設定する。
状況              パラメータ「stat」に設定する値      パラメータ「col_stat」
収束                  conv.                            無し
見かけ上の収束        no conv.                         msg_col（黄色）
反復回数の上限        mat.itr.                         war_col（赤色）
ブレークダウン        brk.dwn.                         war_col（赤色）
これらと、アルゴリズム名（precondNMsolverNM）と逐次番号（num_sel）も配列に格納する。
INFO_dat〔num_sel〕〔num〕＝num_sel
INFO_dat〔num_sel〕〔alg〕＝precondNMsolverNM
INFO_dat〔num_sel〕〔itr〕＝抽出した収束所要回数
INFO_dat〔num_sel〕〔cpu〕＝抽出したＣＰＵ時間
INFO_dat〔num_sel〕〔rsd〕＝抽出した真の残差ノルム
INFO_dat〔num_sel〕〔sta〕＝抽出した求解状況
INFO_dat〔num_sel〕〔col〕＝col_stat
２）１）で得られた配列「INFO_dat」に対して、比較項目（sort_keyの値）に応じ、
ＣＰＵ時間か収束所要回数のどちらかで昇順ソート（ｐｈｐの関数を使用）する。
３）ソート後、col_statの値がNULLのレコード（収束したもの）を対象にして、最初
のレコードの比較項目の値をパラメータ「TheFastest」に代入し、以後のレコードに対して、比較項目の相対評価の指標（現状では「TheFastest÷比較項目の値」）を算出し、少数第１位までをパラメータ「Rat」に代入する。
４）Ratの値ごとに、図２４のデータテーブルをhtmlで表示する。このとき、対応する行のバックグラウンド色を「col_stat」の色で表示する。
５）収束したものについては、gnuplotを用いて比較項目のデータの棒グラフを描く。
（５）パラメータ「SEL」の値の受け取りとその値に応じた制御
SEL＝POST〔SEL〕として、パラメータSELの値を受け取る。
【０１１０】
１）SELの値が１または９９のとき、グラフ描画の処理を実行する。
１）下記の「loop_solpre」を実行する。
２）グラフにするデータは、図７中の「.rsd」拡張子のファイルをプロットする。
３）グラフ描画では、フリーソフトウェアのgnuplotを用いる。
４）gnuplotの制御は、本プログラムでgnuplotへの入力データ（gnuplot制御プログ
ラム）を生成し実行する。
２）SELの値が２または９９のとき、データテーブルを作成し表示する処理を実行する。
１）下記の「loop_solpre」を実行する。
２）ＣＰＵ時間、収束所要回数などのデータを表の形式にする。これらのデータは、図７中の「.log」拡張子のファイルに格納されている。このファイルから該当データをｐｈｐの機能を用いて抽出する。
３）図７中の「.log」拡張子のファイル内の「真の残差のノルム値」とパラメータ
「criterion」とを比較評価した結果（真の残差のノルムがcriterion以下ならば、収束した判定。criterionよりも大きい値ならば、見かけ上の収束と判定。）と「求解状況」の情報に応じて、以下の表のとおり設定する。
状況              パラメータ「stat」に設定する値      パラメータ「col_stat」
収束                  conv.                            無し
見かけ上の収束        no conv.                         msg_col（黄色）
反復回数の上限        mat.itr.                         war_col（赤色）
ブレークダウン        brk.dwn.                         war_col（赤色）
４）データテーブル表示のhtmlを作成するとき、上記の状況に応じて、対応する行の
バックグラウンド色を「col_stat」の色で表示する。
【０１１１】
３）SELの値が３または９９のとき、出力データ一覧を表示する処理を実行する。
１）下記の「loop_solpre」を実行する。
２）図７中の「.log」拡張子のファイルで該当するものを、全て画面に表示する。
３）SELの値が９０のとき、検索結果表示（方法２）を実行する。
【０１１２】
図１８に、検索対象であるファイル名を構成する処理を示す。
前述のパラメータを受け取り、図１８の「loop_solpre」プログラムを用いて、データベースにアクセスするためのファイル名を構成し、ファイル検索する。
「loop_solpre」プログラムで得られた情報から、（Ａ）を用いてデータベースのファイルを検索する。
各結果表示の際には、（Ｂ）を用いてアルゴリズム名の方を表示する。
ここで、上記パラメータ値からファイル名を構成する方法は、図６と同様である。
これらの制御では、ｐｈｐというフリーソフトウェアを用いる。
このようにして図８に示すように、各パラメータの表示手段と各パラメータの選択手段、収束グラフ、ＣＰＵ時間および収束所要回数のいずれかもしくはこれらの組み合わせの表示手段とこれらの内のいずれかを選択する選択手段、各パラメータを組み合わせた形式での動作仕様ファクターの組み合わせを複数表示する表示手段といずれかの組み合わせの１つまたは複数を選択する選択手段、を１つの画面に同時に表示する設定画面表示手段が構成される。
【０１１３】
また、画面上で、パラメータのいずれか、収束グラフ、ＣＰＵ時間および収束所要回数のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについてデータベースに格納されたデータを検索し、取得する処理を行うデータ取得処理手段が構成される。
【０１１４】
そして、設定画面表示手段には、解法についてのパラメータの前記動作仕様ファクターは複数並列して表示され、該複数並列した前記動作仕様ファクター毎に、解法と併用する技法についてのパラメータの動作仕様ファクターが表示され、この解法と併用する技法についてのパラメータの動作仕様ファクターは複数の動作仕様ファクターが複数表示される。
【０１１５】
次に、結果表示手段１５について説明する。
図１９、図２０は検索結果表示例を示す。図２０は、図１９から続く画面である（画面スクロールしたところ）。
図１９は、図８のとおりの設定にて検索実行したときの結果表示であり、選択した解法と、それらと併用する前処理技法を組合せた求解アルゴリズムによる収束グラフが画面表示されている。グラフの縦軸は求解アルゴリズムの中で算出されている残差ベクトルの２ノルムを計算（公知の評価方法）し、その値のｌｏｇ１０を取ったものである。横軸は、反復解法の反復回数を表している。
図２０は、ＣＰＵ時間や収束所要回数等の情報を一覧にした表が画面表示されている。
【０１１６】
「Ｄａｔａ  Ｔａｂｌｅ」の表の項目は次のとおりである。
Ｎｏ．    選択した求解アルゴリズムに付した番号
Ｐｒｅｃ−Ｓｏｌｖｅｒ    求解アルゴリズム名。選択した解法と、それと併用する
前処理技法を組合せた名称。
Ｉｔｅｒ．    収束所要回数．求解アルゴリズムで得られる近似解が収束するまでに
かかった反復回数。求解アルゴリズムの残差ベクトルのノルムに対す
る
収束判定は、１０のマイナス１２乗（コンピュータ上の表現では
１．０ｅ−１２）で判定した。
ＣＰＵ  ｔｉｍｅ    収束までに要したＣＰＵ時間［単位：秒］を表す。
Ｒｅｓ．  ｎｏｒｍ    真の残差の値．求解アルゴリズム中の残差ベクトルを元に収
束と判定されても、求められた近似解を代入した真の残差（
ｂ−Ａｘ）は，収束には程遠い値である場合もある。
Ｓｔａｔｕｓ    真の残差の値から収束した（ｃｏｎｖ．）か、見かけ上の収束（ｎ
ｏ  ｃｏｎｖ．）か、全く収束していない（「ｍａｘ．ｉｔｒ．（
反復回数の上限に到達）」「ｂｒｋ．ｄｗｎ．（ブレークダウン：
何らかの数値的不安定により反復計算の続行が不可能となった）」
）かを表示する。
Ｄａｔａ  Ｔａｂｌｅの番号を横軸にして、各々のＣＰＵ時間をビジュアルに比較評価し易くするために棒グラフを表示している。
この図の一番下にある「Ｃｏｎｖｅｒｇｅｄ：１，２，４，６」の表示は、収束した数値計算アルゴリズムの番号を表示している。
【０１１７】
図２１は、図２０からさらに続く画面（画面スクロールしたところ）で、図６，7中の拡張子「．ｌｏｇ」のファイルの内容（Ｏｕｔｐｕｔ  ｄａｔａ）をそのまま表示したものである。
【０１１８】
結果画面表示手段１５には、パラメータＳＥＬの値に応じて、必要な情報を画面表示できるように編集する。本実施例システムでは、これらの制御はｐｈｐを用い、画面表示用にはｈｔｍｌの仕様に従った出力を行っている。
【０１１９】
データベース１３の中から、反復解法の収束の様子を表す残差のデータ（図７では「１１３８＿ｂｕｓ−０４０１００００．ｒｓｄ」である）をグラフ表示するにあたっては、フリーソフトウェアのｇｎｕｐｌｏｔを用いている。ｇｎｕｐｌｏｔを実行するのに必要な入力ファイルもｐｈｐの機能を用いて一時ファイルを作成し、それを用いて残差データ（テキスト形式）から画像データ（バイナリ形式）を生成し、画面表示する。
【０１２０】
ＣＰＵ時間や収束所用回数などのデータを表示するにあたっては、テキスト形式のログファイル（図７では，「１１３８＿ｂｕｓ−０４０１００００．ｌｏｇ」である）の中から該当箇所を抽出し、表形式として画面表示する。
【０１２１】
このように結果画面表示手段１５は、データ取得処理手段で取得したデータに基づいて収束グラフ、ＣＰＵ時間および収束所要回数のいずれかもしくはこれらの組み合わせ表示することを行う。そして、結果画面表示手段１５の画面には、前記収束グラフが前記動作仕様ファクターの複数の組み合わせに基づいて複数同時に表示される。
【０１２２】
図２２は、図５において、数値計算アルゴリズムについて、画面上に比較項目を含むパラメータの設定を行い（Ｓ１）、真の残差ノルムの基準値の設定を行い（Ｓ２）、真の残差ノルム値が真の残差ノルム基準値の範囲内にあるかについて判定（Ｓ４）を行っている状況を示す。
【０１２３】
図２２に示すように、真の残差ノルムが１.０ｅ−０８（図８で設定した値）以下であれば、「conv.（収束した）」と判定して、白色表示、数値アルゴリズム中の残差ノルムでは収束したが、真の残差ノルムが許容値以下の場合には「no conv.（見かけ上の収束）」と判定して、黄色表示、それら以外の場合には、赤色表示する。この例では、「max.itr.（最大反復回数）」に到達したことを示している。
【０１２４】
図２３は、図５において、ステップＳ３によって判定した結果に基づいて数値アルゴリズムのリストの並び替えを行い（Ｓ４）、対象の数値計算アルゴリズムについて、比較項目についての性能データの出力を行い（Ｓ５）、対象の数値計算アルゴリズムについての性能を相対比較による相対判定を行うと共に対象の数値計算アルゴリズムについての相対比較値（相対判定値）の算出を行った（Ｓ６）例を示す。そして、この例は、最終的に、相対比較、相対比較値に対応して、対象の数値計算アルゴリズムについて画面上で、上記同様にして、色分け表示（白、黄、赤）を行う。
【０１２５】
テーブルの項目は図２２と示す項目とほぼ同じであるが、相対判定の指標として「Rat.」（Ratio比率）の項目が追加されている。現状ではRat.は、「Rat.＝（最初の比較項目の値）÷（対象の数値計算アルゴリズムの比較項目の値）」と定義している。図９の例の場合（ＣＰＵ timeの昇順にソートする）には、Rat.＝（最速のＣＰＵ時間）÷（対象の数値計算アルゴリズムのＣＰＵ時間）」である。算出した値については、上記同様に色分け表示することができる。
【０１２６】
図２４は、図１０にて第１優先の項目として「解法」，および，行列のタイプとして「対称」を選択して実行したときの出力結果を表わしている。図２４において、設定の内容は次の通りである。
【０１２７】
第１優先のソート項目：「解法」
昇順にソートする表示結果：「ＣＰＵ時間」
真の残差ノルムに対する許容値：「１.０ｅ−０８」
行列のタイプ：「対称行列」
解法と前処理について、ＩＤと名称の組合せについて表示している。
一覧表の横軸であり、上段に解法のＩＤ、下段に前処理のＩＤを表示している。
【０１２８】
図１０で「解法」を第１優先にグループ分けしたとすると、ここの表示では、
解法(Solver)    ：01 01 01 01…01 02 02 02 02…02 03………12
前処理(Precond.)：00 01 02 03…07 00 01 02 03…07 01………07
という順序となり、結局、各解法ごとにグループ分けされている。これと同じ表示は、表の下部にも再度表示している。
【０１２９】
一覧表の縦軸は、指定されたタイプの行列名一覧を表示している。ここで、行列のタイプは、図１、２のデータベース１３Ｂから情報を採取する。
【０１３０】
各々の行列についての代表的特性から、「Size V.」（行方向の行列サイズ）と「Cond.Num.」（行列の条件数）を表示している。これらはともに、図１、２のデータベース１３Ｂから情報を採取する。
【０１３１】
各々の行列に対する全アルゴリズムの性能を、比較項目（この図では、ＣＰＵ時間）の相対判定値として横方向（各行列ごと）に並べている。ここでの相対判定値とは、前述の「Rat.」を１０倍した値（表示の都合で、小数点のような冗長な文字を省くために１０倍した）のことである。図２３では縦方向へ比較項目の昇順に並んでいるが、ここでは、横方向へアルゴリズムのID順（特に図１０で設定されたとおり）に並んでいる。
【０１３２】
図２３における「conv.」に該当する項目については、相対判定値を記載しており、それ以外の項目については、すべて「＊」（アスタリスク）のみを表示している。「conv．」以外の項目について、ピリオドで表示するのは「no conv.」のみにして、それ以外の「max.itr.」や「brk.dwn.」などについては、「.」（ピリオド）を表示させる。
【０１３３】
また、相対判定値（Rat）の数値に応じて色分けもしている。色分けの説明は前述したとおりである。
相対判定値に応じた色分け情報は、スコア（score）が０が白色、１０が黒色としている。その間の１〜９に対しては，薄い黄色から濃い赤色へとグラデーションしている。
【０１３４】
次に図１について、クライアント端末２００について説明する。クライアント端末２００は、表示装置５１を備える。表示装置５１は、問題の表示５２、パラメータ項目選択５３、検索結果表示５４，および，より妥当な数値計算アルゴリズムの選定表示５５を行う。
【０１３５】
図３に示すように、クライアント端末２００、すなわち表示装置５１は各パラメータの
動作仕様ファクターの設定６１を行い、検索や比較の実行指示６２によって検索、比較要求を提供側計算機システム２（３０）にて行い、および返却された結果を検索や比較の結果として表示６３（検索結果表示）を行う。
【０１３６】
１）問題の表示
自然現象や工学現象の解明では、数値シミュレーションを用いた解析が盛んである。それらのシミュレーションでは、多くの場合、線形方程式や固有値問題などを始めとする多くの種類の数値計算の問題を解くことに帰着される。ところが、線形方程式を例にとると、求解アルゴリズムも様々なものが存在し、対象とする問題の性質によっては、その性能が十分に発揮されないようなものもある。線形方程式以外の数値計算においても同じような状況である。従って、実際の数値計算シミュレーションにあたっては、どの数値計算アルゴリズムを適用したら良いか指針が欲しいところである。クライアントは、クライアント端末２００に問題の表示を行うことになる。
【０１３７】
２）パラメータ項目選択：
図８を参照して、解きたい問題の性質に似たタイプの問題を選定することを行う。すなわち、パラメータの項目および各パラメータ項目についての動作仕様ファクターの選定を行う。これによって、検索要求がなされる。すなわち、ここでは前述した方法１、方法２のパラメータの項目選択を行う。また，図１０では複数の問題（行列）に対する全アルゴリズムの結果一覧を得るための設定を行う．すなわち，方法３のパラメータの項目選択を行う．ここで，「行列の選択」欄を選択した場合（空白にしなかった場合）には，方法２が行われる．
【０１３８】
３）検索結果表示：
図１９，図２０，図２１に示すようにして検索結果が通信手段を介してフィードバックされ、表示装置５１の画面上に表示される。すなわち、ここでは前述した方法（１）、方法（２）、方法（３）のパラメータの項目選択に対応した検索結果を表示する。
【０１３９】
４）数値計算アルゴリズムの選定：
ここでは、数値計算アルゴリズムに対する性能を比較し、相対判定を行う。
検索結果を参考にして，自分の問題を解くのに適していると思われる数値計算アルゴリズムを選定し、再度検索要求を行い、検索結果を表示することを行う。
【０１４０】
図３において、提供側計算機システム２（３０）では入力されたパラメータ項目、パラメータ項目毎の動作仕様ファクターの選択によって入力パラメータ解析７１が行われ、該当ファイルを検索７２してデータベース１３に該当ファイルを探してデータとしての提供を受け、対象データを表示用に編集７３を行う。編集された結果は、検索結果としてクライアント端末にフィードバックされ、検索や比較の結果表示６３がなされることになる。
【０１４１】
このように、数値計算アルゴリズム性能比較表示装置１００は、設定画面表示手段の画面に表示されたいずれかの選択手段についても通信手段を介してのクライアント端末からの指令信号によって選択操作可能である。
【０１４２】
以上、説明したように、数値計算アルゴリズム性能比較表示装置は、次の要素で構成し得ることになる。
【０１４３】
数値計算アルゴリズム毎に、解くべき問題、解法および解法と併用する技法の各項目について設定したパラメータ、各パラメータについて設定され、比較項目の動作仕様を決定する動作仕様ファクターおよび各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目の演算を行うコンピュータプログラムを格納すること。
前記コンピュータプログラムを使用して、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけられた比較項目について演算処理すること。
前記演算処理手段の演算結果である、各項目から選択された前記動作仕様ファクターの組み合わせに関連づけて比較項目についてのデータを格納すること。
各パラメータの表示手段と各パラメータの選択手段、比較項目の表示手段とこれらの内のいずれかを選択する選択手段、各パラメータを組み合わせた形式での前記動作仕様ファクターの組み合わせを複数表示する表示手段といずれかの組み合わせの１つまたは複数を選択する選択手段、を１つの画面に同時に表示すること。
前記画面上で、パラメータのいずれか、比較項目の内のいずれかもしくはこれらの組み合わせ、および各パラメータを組み合わせ形式での前記動作仕様ファクターの組み合わせの１つまたは複数選択すると、これらの組み合わせについて前記データベースに格納されたデータを検索し、取得する処理を行うこと。
該データ取得処理手段で取得したデータに基づいて比較項目のいずれかもしくはこれらの組み合わせについて相対比較を行い、複数の数値アルゴリズムについて性能比較と相対判定すること。
性能比較結果を表示すること。
前記性能比較処理手段は、前記相対比較の前に、設定した真の残差ノルムの基準値の範囲内にあるか、範囲外にあるか、について判定を行うこと。
前記結果画面表示手段の画面には、前記相対評価の結果が色分けして表示すること。
【図面の簡単な説明】
【０１４４】
【図１】本発明の実施例の構成を示すブロック図。
【図２】図１の一部詳細を示す図。
【図３】図１のフローチャート図。
【図４】前処理付き共役勾配法の数値アルゴリズムの例を示す図。
【図５】本発明の実施例のフローを示す図。
【図６】データベースに載せる際の情報提供状況を示す図。
【図７】動作仕様ファクターに関連して収束所要回数、ＣＰＵ時間が格納される状況を示す図。
【図８】図１のパラメータ項目選択（方法１）に基づく入力画面図。
【図９】図１のパラメータ項目選択（方法２）に基づく入力画面図。
【図１０】図１のパラメータ項目選択（主に方法３．行列名を指定した場合には方法２としても機能する）に基づく入力画面図。
【図１１】図８〜９の画面にてパラメータに代入する例を示す図。
【図１２】図８〜９の画面にてパラメータに代入する例を示す図。
【図１３】パラメータの値の受け取り、パラメータの値の受け取りと解法の個数（配列の要素数）の分析を説明する図。
【図１４】パラメータの値の受け取りと前処理の個数（配列の要素数）の分析を説明する図。
【図１５】解法のＩＤに「９９」が存在しないときの説明図。
【図１６】パラメータ「ＳＥＬ」の値の受け取りとその値に応じた制御を説明する図。（その１）
【図１７】パラメータ「ＳＥＬ」の値の受け取りとその値に応じた制御を説明する図。（その２）
【図１８】検索対象であるファイル名を構成する処理の図。
【図１９】結果表示例図。
【図２０】図１９から続く画面を示す図。
【図２１】図１９から続く画面を示す図。
【図２２】方法１により判定結果を示す図。
【図２３】方法２により相対判定結果を示す図。
【図２４】方法３により出力結果を示す図。
【符号の説明】
【０１４５】
１１…記憶手段、１２…演算処理手段（１）、１３…データベース、１３Ａ…データベース（１）、１３Ｂ…データベース（２）、１４…演算処理手段（２）、１４Ａ…演算処理手段（２Ａ）、１４Ｂ…演算処理手段（２Ｂ）、１５…結果画面表示手段、２０…数値計算アルゴリズム、２１…パラメータ、２２…解くべき問題、２３…解法、２４…解法と併用する技法、２５…入力データファイル、２６…実行形式プログラムファイル、５１…表示装置、５２…問題の表示、５３…パラメータ項目他選択、５４…検索結果表示、５５…より妥当な数値計算アルゴリズムの選定・表示、６１…各パラメータの動作仕様ファクター（例えば値）の設定、６２…検索実行指示、６３…検索結果表示、７１…入力パラメータ解析、７２…該当ファイル検索、７３…対象データを表示用に編集、１００…数値計算アルゴリズム性能比較表示装置、２００…クライアント端末。
【図１】
2008004043.tif 000005
【図２】
2008004043.tif 000006
【図３】
2008004043.tif 000007
【図４】
2008004043.tif 000008
【図５】
2008004043.tif 000009
【図６】
2008004043.tif 000010
【図７】
2008004043.tif 000011
【図８】
2008004043.tif 000012
【図９】
2008004043.tif 000013
【図１０】
2008004043.tif 000014
【図１１】
2008004043.tif 000015
【図１２】
2008004043.tif 000016
【図１３】
2008004043.tif 000017
【図１４】
2008004043.tif 000018
【図１５】
2008004043.tif 000019
【図１６】
2008004043.tif 000020
【図１７】
2008004043.tif 000021
【図１８】
2008004043.tif 000022
【図１９】
2008004043.tif 000023
【図２０】
2008004043.tif 000024
【図２１】
2008004043.tif 000025
【図２２】
2008004043.tif 000026
【図２３】
2008004043.tif 000027
【図２４】
2008004043.tif 000028