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