(57)【要約】【課題】  理工学シミュレータの計算時間を制約する多元連立一次方程式を高速に数値計算すること。【解決手段】  複数の解析対象を離散化して連立一次方程式を構成し解く数値解析法において、個々の解析対象に対する連立一次方程式の計算を係数行列の階数の２乗のオーダーで実行する高速計算アルゴリズムであって、個々の解析対象を離散化して得られる複数のセグメント集合に対する係数行列を該複数のセグメント集合の和集合に対する係数行列から出発して、順次該階数を一つあるいは小さな複数ごとに増減させて、求めるべき係数行列およびセグメント集合の求めるべき要素を探索する。【選択図】  図２
2006119839.tif 000002
【特許請求の範囲】
【請求項１】
階数Ｎの連立一次方程式の係数行列Ｚを格納する第一の記憶手段と階数Ｎの定数ベクトルＶを格納する第二の記憶手段を有し、階数ｎ（ｎ＜Ｎ）の更新係数行列ｚを格納する第三の記憶手段と階数ｎの更新定数ベクトルｖを格納する第四の記憶手段と、階数ｎの未知ベクトルＩを格納する第一の一時記憶領域と階数ｎの候補行列Ｃを格納する第二の一時記憶領域と階数ｎの縮退ベクトルＥを格納する第三の一時記憶領域を有し、係数行列Ｚの特定の列ｅｐｔに対応する未知ベクトルＩの係数Ｉ（ｅｐｔ）を特定の値ｏｐｔに収斂させる最適化問題に対し、係数行列Ｚの単一あるいは同一の複数個の行と列を削除することによって得られるすべての行列の組み合わせ集合において、同集合の各要素を該候補行列Ｃとし、定数ベクトルＶから係数行列Ｚの削除した列に対応する要素を取り除いたベクトルを縮退ベクトルＥとし、該Ｃ，Ｅで構成される連立一時方程式の未知ベクトルＩの答えの内Ｉ（ｅｐｔ）が最もｏｐｔに接近していると判断される該集合の要素の行列を更新係数行列ｚとし該更新係数行列に対応するＶの要素によって構成されるベクトルを更新定数ベクトルｖとし、順次ｚおよびｖに対して同様の操作を繰り返し、予め設定された許容偏差ｔｏｌでｏｐｔに収斂したと判断するＩ（ｅｐｔ）を探索するアルゴリズムを実行する演算装置を有することを特徴とする線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項２】
請求項１記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、数値解析の各段階ｍにおいて得られる未知ベクトルＩを、元の係数行列Ｚの要素のうち該各段階ｍの終了時に得られている更新係数行列ｚに含まれる列と含まれない行に対応するものを含む検査行列Ｄに乗じ、得られたベクトルＵの要素のうち同要素の値が対応する定数ベクトルＶの要素の値と近接していると判断される場合、Ｖの該当する要素の場所に対応するＺの行と列を段階ｍの更新係数行列ｚに加え新たな段階ｍの更新係数行列ｚとし、Ｖの該当する要素の場所に対応するＶの要素を段階ｍの更新定数ベクトルｖに加え新たな段階ｍの更新定数ベクトルｖとし、段階ｍ＋１の手順に入ることを特徴とする線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項３】
請求項１又は２記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、係数行列Ｚの逆行列Ｙを格納する第五の記憶手段と更新逆行列ｙを格納する第六の記憶手段を有し、各段階でｚに対応するｙを段階ｍ−１のｙと段階ｍにおいて削除すべき段階ｍ−１のｚの行ベクトルを用いて階数１回分づつ順次計算を繰り返し段階ｍのｙを求め、ｙと対応するＶの要素の部分集合からなる定数ベクトルの積によって各段階の候補行列Ｃと縮退定数ベクトルＥを用いた未知ベクトルＩの計算を実行することを特徴とする線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項４】
請求項２記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、係数行列Ｚの逆行列Ｙを格納する第五の記憶手段と更新逆行列ｙを格納する第六の記憶手段を有し、各段階でｚに対応するｙを段階ｍ−１のｙと段階ｍにおいて付加すべき段階ｍ−１のｚの行ベクトルおよび列ベクトルを用いて階数１回分づつ順次計算を繰り返し段階ｍのｙを求め、検査行列Ｄによる判定に従い更新係数行列ｚ，更新逆行列ｙの階数上昇を伴う変更計算を実行することを特徴とする線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項５】
請求項１乃至４いずれか記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、Ｉ（ｅｐｔ）が最も目標値ｏｐｔに接近していると判断する基準をＩ（ｅｐｔ）とｏｐｔによって作られるノルムが最小であることによって定義することを特徴とする線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項６】
請求項２、４、５いずれか記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、該得られたベクトルＵの要素のうち同要素の値が対応する定数ベクトルＶの要素の値と近接していると判断する基準を、該対応するＵとＶの要素によって作られるノルムが最小であることによって定義することを特徴とする線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項７】
請求項１乃至６いずれか記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、解析対象の構造力学的性質を解析することを目的とした線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項８】
請求項１乃至６いずれか記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、解析対象の電気および電子回路的性質を解析することを目的とした線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項９】
請求項１乃至６いずれか記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、解析対象の電磁気的性質を解析することを目的とした線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【請求項１０】
請求項１乃至６いずれか記載の線形連立一次方程式の数値解析方法を用いた理工学シミュレータであって、解析対象の流体力学的性質を解析することを目的とした線形連立一次方程式の数値解析方法を用いた理工学シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は線形連立方程式を用いた最適化問題あるいは探索問題を数値解析する際に、その計算時間を低減するためのアルゴリズムに関し、特に理工学の諸現象を計算機シミュレーションするツールである理工学シミュレータのソフトウェアに係わる。
【背景技術】
【０００２】
理工学の諸現象を実験的に検証できない場合、あるいは検証が時間的制約や費用的制約の為に困難である場合、明らかになっている物理的支配方程式を用いて、検証すべき諸現象を引き起こす物理的実態を離散化し、最終的に多元連立一次方程式の形に定式化し、計算機を用いて適当なアルゴリズムで同連立方程式を数値的に解き、その解を用いて検証すべき諸現象の推定を行うことが広く行われている。また、以上の諸現象の計算機による推定を行うツールを理工学シミュレータと呼称し、その実態は汎用あるいは専用のコンピューターハードウエアと同アルゴリズムを適当な計算機言語で記述したソフトウェアプログラムである。
【０００３】
前述の理工学の計算時間を決める主要因の一つは連立一次方程式を用いて繰り返し行われる計算時間である。一般に連立一時方程式の係数行列は、解析対象の物理特性の一種の記述形式と一対一対応をするため、連立一次方程式で定式化された物理量の最適化問題あるいは探索問題は異なる成分を有する係数行列の連立一次方程式を複数繰り返し解く必要があるため、多量の計算時間が消費される。このため、特に検証すべき諸現象を引き起こす物理的実態を離散化した後の離散化された要素（セグメント）の数が大きい場合、換言すれば、用いている物理的支配方程式の挙動が１次関数的と容認できる寸法と同物理的実態の寸法の比が大きい場合は、連立一次方程式の計算時間が理工学の計算速度を制限する主要因となる。
【０００４】
このような場合、つまり連立一次方程式の次元が大きい場合は、連立一次方程式を如何に高速に数値解析するかの手法が重要な技術課題となる。連立一次方程式の数値解析の高速化は、ハードウェアの側面からとソフトウェアの側面から種々の技術が提案されている。しかしながら、ハードウェア的な高速化手法は専用の計算機ハードウェアの開発が必要となり、ソフトウェア的な高速化手法に比べてコストが高いという問題がある。
【０００５】
ソフトウェア的な高速化手法もＯＳ（オペレーションシステム）レベルの高速化手法と、プログラムアルゴリズムレベルの高速化手法があるが、これも開発コストがより安価で済むプログラムアルゴリズムレベルの高速化手法が、理工学シミュレータの商用上の点で好ましい。連立一次方程式のプログラムアルゴリズムレベルの高速化手法は、開発コストの膨大な汎用のコンピューターハードウェアと汎用のＯＳを用いることができるので、理工学シミュレータを低コストでユーザーに提供することができ、また、同時にコンピューターハードウェアによる高速化手法とＯＳレベルによる高速化手法と共存可能で、高価で高性能なコンピューターハードウェアおよびＯＳを用いることで、ユーザーに対して更なるシミュレーションの高速化を提供することができる。
【０００６】
ハードウェア的な高速化手法では、連立一次方程式の係数行列を分割してそれを複数のプロセッサに割り付け並列処理を利用して消去法の高速化を図る方法（特許文献１、特許文献２）、連立一次方程式の係数行列を分割してそれを複数のプロセッサに割り付け並列処理を利用してＬＵ分解を高速化する方法（特許文献３）、連立一次方程式の係数行列を分割してそれを複数のプロセッサに割り付け並列処理を利用して反復法を高速化する方法（特許文献４）が知られている。
【０００７】
また、ソフトウェア的高速化手法では、プログラムアルゴリズムレベルの高速化法として、連立一次方程式の係数行列の対称性を検出して対称正定置な行列の場合のみ不完全コレスキー分解を適用して同方程式の高速解法を行う方法（特許文献５）が提案されているが、解くべき連立一次方程式の係数行列の形によらず全ての連立一次方程式に有効な、プログラムアルゴリズムレベルの連立一次方程式の高速化解法は得られておらず、従って、連立一次方程式で定式化された物理量の最適化問題あるいは探索問題を効率よく解く手法は見出されていなかった。
【０００８】
【特許文献１】特開平５−２０３４８号公報
【特許文献２】特開平５−２０３４９号公報
【特許文献３】特開平７−２７１７６０号公報
【特許文献４】特開平９−２１２４８３号公報
【特許文献５】特開平６−１４９８５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
既に述べたように、連立一次方程式の計算時間が理工学の計算速度を制限する主要因となる。しかし、ハードウェア的な高速化手法は専用の計算機ハードウェアの開発が必要となり、ソフトウェア的な高速化手法に比べてコストが高いという問題があった。一方、全ての連立一次方程式に有効な、プログラムアルゴリズムレベルの連立一次方程式の高速化解法は得られていなかった。
【００１０】
そこで、本発明の目的は、上記課題を解決し、安価で高速な理工学シミュレータを実現する為に、ソフトウェア的な手法を用いて、連立一次方程式で定式化された物理量の最適化問題あるいは探索問題を効率よく解くために有効な高速数値解析アルゴリズムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、階数Ｎの連立一次方程式の係数行列Ｚを格納する第一の記憶手段と階数Ｎの定数ベクトルＶを格納する第二の記憶手段を有し、階数ｎ（ｎ＜Ｎ）の更新係数行列ｚを格納する第三の記憶手段と階数ｎの更新定数ベクトルｖを格納する第四の記憶手段と、階数ｎの未知ベクトルＩを格納する第一の一時記憶領域と階数ｎの候補行列Ｃを格納する第二の一時記憶領域と階数ｎの縮退ベクトルＥを格納する第三の一時記憶領域を有し、係数行列Ｚの特定の列ｅｐｔに対応する未知ベクトルＩの係数Ｉ（ｅｐｔ）を特定の値ｏｐｔに収斂させる最適化問題に対し、係数行列Ｚの単一あるいは同一の複数個の行と列を削除することによって得られるすべての行列の組み合わせ集合において、同集合の各要素を該候補行列Ｃとし、定数ベクトルＶから係数行列Ｚの削除した列に対応する要素を取り除いたベクトルを縮退ベクトルＥとし、該Ｃ，Ｅで構成される連立一時方程式の未知ベクトルＩの答えの内Ｉ（ｅｐｔ）が最もｏｐｔに接近していると判断される該集合の要素の行列を更新係数行列ｚとし該更新係数行列に対応するＶの要素によって構成されるベクトルを更新定数ベクトルｖとし、順次ｚおよびｖに対して同様の操作を繰り返し、予め設定された許容偏差ｔｏｌでｏｐｔに収斂したと判断するＩ（ｅｐｔ）を探索するアルゴリズムを実行する演算装置を有するものである。
【００１２】
数値解析の各段階ｍにおいて得られる未知ベクトルＩを、元の係数行列Ｚの要素のうち該各段階ｍの終了時に得られている更新係数行列ｚに含まれる列と含まれない行に対応するものを含む検査行列Ｄに乗じ、得られたベクトルＵの要素のうち同要素の値が対応する定数ベクトルＶの要素の値と近接していると判断される場合、Ｖの該当する要素の場所に対応するＺの行と列を段階ｍの更新係数行列ｚに加え新たな段階ｍの更新係数行列ｚとし、Ｖの該当する要素の場所に対応するＶの要素をを段階ｍの更新定数ベクトルｖに加え新たな段階ｍの更新定数ベクトルｖとし、段階ｍ＋１の手順に入ってもよい。
【００１３】
係数行列Ｚの逆行列Ｙを格納する第五の記憶手段と更新逆行列ｙを格納する第六の記憶手段を有し、各段階でｚに対応するｙを段階ｍ−１のｙと段階ｍにおいて削除すべき段階ｍ−１のｚの行ベクトルを用いて階数１回分づつ順次計算を繰り返し段階ｍのｙを求め、ｙと対応するＶの要素の部分集合からなる定数ベクトルの積によって各段階の候補行列Ｃと縮退定数ベクトルＥを用いた未知ベクトルＩの計算を実行してもよい。
【００１４】
係数行列Ｚの逆行列Ｙを格納する第五の記憶手段と更新逆行列ｙを格納する第六の記憶手段を有し、各段階でｚに対応するｙを段階ｍ−１のｙと段階ｍにおいて付加すべき段階ｍ−１のｚの行ベクトルおよび列ベクトルを用いて階数１回分づつ順次計算を繰り返し段階ｍのｙを求め、検査行列Ｄによる判定に従い更新係数行列ｚ，更新逆行列ｙの階数上昇を伴う変更計算を実行してもよい。
【００１５】
Ｉ（ｅｐｔ）が最も目標値ｏｐｔに接近していると判断する基準をＩ（ｅｐｔ）とｏｐｔによって作られるノルムが最小であることによって定義してもよい。
【００１６】
該得られたベクトルＵの要素のうち同要素の値が対応する定数ベクトルＶの要素の値と近接していると判断する基準を、該対応するＵとＶの要素によって作られるノルムが最小であることによって定義してもよい。
【００１７】
解析対象の構造力学的性質を解析してもよい。
【００１８】
解析対象の電気および電子回路的性質を解析してもよい。
【００１９】
解析対象の電磁気的性質を解析してもよい。
【００２０】
解析対象の流体力学的性質を解析してもよい。
【発明の効果】
【００２１】
本発明は次の如き優れた効果を発揮する。
【００２２】
（１）数値解析の高速化・高効率化に効果を発揮する。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【００２４】
理工学シミュレータを用いる理由の一つは、検証すべき諸現象が一つであっても、その担い手である物理的実態が複数あるためである。検証すべき現象が一つで且つ同物理的実態が一つであれば、理工学シミュレータは１度きりしか使用されないことになり、理工学シミュレータの使用は実験的検証に対してはなはだ高コストとなり、その様な場合は理工学シミュレータの導入は意味をなさない。物理的実態に物理的支配方程式を適用する為に、同実態を離散化した後に得られるセグメントの集合を式（１）で表す。
【００２５】
Ｓ１＝（ｓ１１，ｓ１２，…ｓ１ｍ１），
Ｓ２＝（ｓ２１，ｓ２２，…ｓ２ｍ２），
…，
Ｓｎ＝（ｓｎ１，ｓｎ２，…ｓｎｍｎ）              （１）
但し、集合Ｓｉ（ｉ＝１，２，…，ｎ）の要素の総数をｍｉとする。
【００２６】
これらの和集合をＳとすれば、式（２）が成り立つ。
【００２７】
Ｓ＝Ｓ１∪Ｓ２∪…∪Ｓｎ                          （２）
このときＳの要素を式（３）で表す。
【００２８】
Ｓ＝（ｓ１，ｓ２，…ｓｍ）                        （３）
極めて特殊な例を除けば式（４）になることはない。
【００２９】
φ＝Ｓｉ∩Ｓｊ：ｉ，ｊ＝１，２，…ｎ               （４）
なぜなら、理工学シミュレータが検証すべき一つの現象について複数の物理的実態を検証する場合、それら物理的実態には何らかの関係がある場合がほとんど全て有るからである。例えば、理工学シミュレータを何らかの最適設計に用いる場合、或いは何らかの危険因子発見に使う場合、対象となる複数の物理実態は何らかの共通性（例えば構造の類似性、包含性）があるからである。Ｓｋに関係する連立一次方程式を式（５）とする。
【００３０】
Ｍｋ・ｘｋ＝ｐｋ                                    （５）
Ｍｋは既知係数によって構成される正方行列、ｘｋは未知数ベクトル、ｐｋは既知ベクトルである。このような連立一次方程式系により定式化される探索問題あるいは最適化問題では、未知ベクトルであるｘｋの特定の要素を求めるべき値に近づけることが要求される。全体集合Ｓ（和集合）を特徴付ける全体の正方行列をＭとすれば、式（５）と同様に未知ベクトルｘ、既知ベクトルｐは式（６）によって定義される。
【００３１】
Ｍ・ｘ＝ｐ                                          （６）
この場合、探索問題あるいは最適化問題におけるパラメーターは集合ＳのなかのＳｉであり、該Ｓｉに対応するＭｉの更に対応するｘｉの要素のなかで特定のｘの要素ｘｅと結びついている要素ｘｉｅの値を、Ｓｉに対応するＭｉを順次選択し式（５）を解いて予め定める目標値ｑに収斂させることが該探索問題あるいは最適化問題の数値解法となる。従って、何らかの探索指針に則りＳ１，Ｓ２，…，Ｓｎに付いての式（５）の連立一次方程式を解くことになる。従来技術の探索指針では、たとえばＲａｎｄｏｍ法、Ｐｏｌｙｔｏｐｅ法、Ｐｏｌｙｈｅｇｏｎ法、Ｇｅｎｅｔｉｃ  Ａｌｇｏｒｉｔｈｍ法では、ＳｉつまりＭｉ自体をパラメータとし、ｘｅの値を評価値とするため、該探索の各段階で式（７）の計算が要求される。
【００３２】
Ｍ１・ｘ１＝ｃ１，Ｍ２・ｘ２＝ｃ２，…Ｍｎ・ｘｎ＝ｃｎ      （７）
連立一次方程式の構成要素である正方行列の意味の有る（同方程式が自明な解を持つ）全ての形について数値解析するためには現状の技術では基本アルゴリズムとして反復法あるいは消去法が用いられている。反復法は係数行列Ｍｉの形が探索問題あるいは最適化問題の各探索段階で不変の場合極めて効率よい計算手法であるが、本発明に関する課題のように係数行列Ｍｉの形が該探索の各段階で変化する場合は係数行列が実対称正定値行列という特殊な場合を除き一般的に効率よい計算が見出されていないため採用できない。消去法のアルゴリズムによる連立一次方程式の数値解法の計算時間は解析対象を離散化して得られるセグメント数の３乗に比例するから、従来技術による連立一次方程式の数値解析時間のオーダーは基本時間をτとして、式（８）となり、該各探索段階において係数行列の階数の三乗のオーダーの計算時間を消費する手順が複数回繰り返され、係数行列が大きくなるにつれその計算効率は著しく劣化する。
【００３３】
τ×（ｍ１＾３＋ｍ２＾３＋…＋ｍｎ＾３）              （８）
従来技術の計算時間増大の問題を解決するために、ｘｅあるいはｘｉｅの挙動そのものに着目するのではなく、Ｍｉの挙動に着目する。
【００３４】
まず、式（９）のごとく、Ｍの逆行列を計算する。この計算は、Ｍの階数の三乗の時間がかかるが、一回だけの計算であり、探索問題あるいは最適化問題の各段階の探索では不要の計算である。
【００３５】
Ｈ＝Ｍ＾（−１）                                      （９）
Ｍからの階数をｍ０とし、Ｍからｋ行ｋ列を取り除いた行列（ｍ０種類：ｋは１からｍ０）Ｍｋについて式（１０）よりｘｅに対応する要素ｘｋｅを求める。
【００３６】
Ｍｋ・ｘｋ＝ｃｋ，ｘｋｅ∈ｘｋ；ｋ＝１〜ｍ            （１０）
ｘｋｅと目標値Ｑとの間のノルムを計算し、該ノルムが十分小さいと判断される場合は、Ｍｋ自身がもとめる物理構造となる。そうでない場合は、最も該ノルムが小さいｘｋｅを有するＭｋをＭ１とし、式（１１）よりｘｅに対応する要素ｘ１ｋｅを求める。
【００３７】
Ｍ１ｋ・ｘ１ｋ＝ｃ１ｋ，ｘ１ｋｅ∈ｘ１ｋ；ｋ＝１〜ｍ−１    （１１）
ｘ１ｋｅと目標値Ｑとの間のノルムを計算し、該ノルムが十分小さいと判断される場合は、Ｍ１ｋ自身が求める物理構造となる。そうでない場合は、最も該ノルムが小さいｘ１ｋｅを有するＭ１ｋをＭ２とし順次式（１２）よりｘｅに対応する要素ｘｉｋｅを求める手順を繰り返す。
【００３８】
Ｍｉｋ・ｘｉｋ＝ｃｉｋ，ｘｉｋｅ∈ｘｉｋ；ｋ＝１〜ｍ−ｉ    （１２）
この探索手法においては、各段階での式（１２）の線形連立一次方程式が、Ｈの各段階の更新形Ｈｉによって階数ｍｉの２乗の計算時間で処理可能である。また、各Ｈｉは式（１３）により求まる行列Ｈｉａのｋ行ｋ列を取り除いて得られる。式（１３）の各計算は、やはり階数ｍｉの２乗の計算時間で処理可能であるため、全体の計算時間は行列の階数の２乗のオーダーであり従来技術の計算法に比べて格段に計算時間が短縮される。但し、式（１３）中のベクトルは列ベクトルで｛｝＾ｔは転置を表す。
【００３９】
Ｈｉａ＝Ｈ（ｉ−１）−δＨ（ｉ−１）・｛ｅｋ−ｈｋ｝・｛ｈｋ｝＾ｔ，
δ＝１／｛１＋｛ｈｋ｝＾ｔ・｛ｅｋ−ｈｋ｝｝          （１３）
上記の式（１０）から式（１２）の各手順において、Ｍｉよりｋ行ｋ列を削除することは、同ｋ列に当たるｃｉの要素無視することに当たり、その物理的意味は既知ベクトルｐの対応する要素に関する外部設定条件が不適当であることと考えられる。この「不適当」の判断が妥当か否かを検証するために、元の係数行列ＭのＭｉに含まれる列とＭｉに含まれない行とから構成される検証行列Ｌｉとｘｉを乗じて検証ベクトルｕｉを生成し、ｕｉの要素と対応する該既知ベクトルｐの要素を比較すればよい。検証結果はｕｉの要素と対応するｐの要素によって形成されるノルムが予め定められる許容値より小さいか否かで判断可能である。該許容値よりも該ノルムが小さい場合は、ｕｉの要素と対応する該既知ベクトルｐの要素が同一であることを意味し、対応する外部条件を「不適当」として削除できないことを意味するので、該ｕｉの要素と対応するｐの要素およびＭの対応する行と列をｃｉおよびＭｉに再び付加し、新たなｃｉおよびＭｉとする。新たなＭｉに対するＨｉは、Ｍにおける新たに加えるべき列ベクトルのうち元のＭｉに含まれる要素からのみなる部分ベクトルｒとＭｉに含まれない唯一つの要素ρを用いて、式（１４）により求めることが出来る。
【００４０】
Ｈｉ＝［Ｈｉ−ΔＨｉ・ｒ・｛ｒ｝＾ｔ・Ｈｉ，
−ΔＨｉ・ｒ；−Δ｛ｒ｝＾ｔ・Ｈｉ，Δ］
Δ＝１／｛ρ−｛ｒ｝＾ｔ・Ｈｉ・ｒ｝                    （１４）
但し、［Ａ１，ａ１；ａ２，α］は正方行列Ａ１、列ベクトルａ１、行ベクトルａ２および定数αから構成されるＡ１の階数より一つ多い階数をもつ正方行列を意味する。
【００４１】
式（１４）の各計算も、やはり階数ｍｉの２乗の計算時間で処理可能であるため、全体の計算時間は行列の階数の２乗のオーダーにとどまり、従来技術の計算法に比べて格段に計算時間が短縮される優位性は確保される。
【実施例１】
【００４２】
本発明の一実施例を図１及び図２を用いて説明する。図１は本発明からなる線形連立一次方程式の数値解析方法を用いた理工学シミュレータの構成要素とその結合関係を示す図であり、図２は線形連立一次方程式の数値解析方法を用いた理工学シミュレータの計算アルゴリズムのフローチャートである。
【００４３】
図１に示されるように、本発明に係る理工学シミュレータは、理工学シミュレータを用いて計算すべき諸現象の具体的な複数の解析対象を離散化して得られるセグメントの集合に関する情報を格納する記憶装置２１（記憶領域ｓ）と、該複数の解析対象を計算する際に設定される夫々の複数の解析対象に対応する外力条件を含む境界条件に関する情報を格納する記憶装置２２（記憶領域ｆ）と、記憶装置２１に格納された複数の離散化されたセグメントの集合の和集合を格納する記憶装置２３（記憶領域Ｓ）と、記憶装置２３に格納されたセグメント集合に対応する連立一次方程式の係数行列を格納する記憶装置１（記憶領域Ｚ；第一の記憶手段）と、記憶装置１に格納された係数行列の逆行列を格納する記憶装置５（記憶領域Ｙ；第五の記憶手段）と、記憶装置２２に格納された個々の解析対象に対応する外力条件を含む境界条件に関する情報によって得られる個々の解析対象に対応した連立一次方程式の定数ベクトルを格納する記憶装置３（記憶領域Ｖ；第二の記憶手段）と、記憶装置１に格納された係数行列の要素から構成される更新係数行列を格納する記憶装置２（記憶領域ｚ；第三の記憶手段）と、記憶装置３に格納された定数ベクトルの要素から構成される更新定数ベクトルを格納する記憶装置４（記憶領域ｖ；第四の記憶手段）と、未知ベクトルを格納する記憶装置８（記憶領域Ｉ；第一の一時記憶領域）と、記憶装置２に格納された更新係数行列の要素から構成される候補係数行列を格納する記憶装置７（記憶領域Ｃ；第二の一時記憶領域）と、記憶装置４に格納された更新定数ベクトルの要素から構成される縮退定数ベクトルを格納する記憶装置９（記憶領域Ｅ；第三の一時記憶領域）と、探索の各段階で計算結果をスタックする記憶装置１０（記憶領域ｔ）と、観測位置を記憶する記憶装置１１（記憶領域ｅｐｔ）と、目標値を格納する記憶装置１２（記憶領域ｏｐｔ）と、許容値を格納する記憶装置１３（記憶領域ｔｏｌ）と、演算装置１４とデーターバス２０を具備し、記憶装置１乃至１３と２１乃至２３および演算装置１４がデーターバス２０によって結合されており、これら記憶装置１乃至１３と２１乃至２３を用いて演算装置１４が必要に応じデーターを引出して計算を行いその計算結果を書き込む構成となっている。
【００４４】
図１の構成を用いて図２のフローチャートに従って、本発明からなる線形連立一次方程式の数値解析方法を用いた理工学シミュレータは、まず計算すべき諸現象の具体的な複数の解析対象を離散化して得られるセグメントの集合に関する情報を記憶装置２１に読込み、続いて該複数の解析対象を計算する際に設定される夫々の複数の解析対象に対応する外力条件を含む境界条件に関する情報を記憶装置２２に読込み、続いて記憶装置２１に格納された複数の離散化されたセグメントの集合に関する情報を用いて演算装置１４が同複数の離散化されたセグメントの集合の和集合に関する情報を計算し結果を記憶装置２３に格納する。
【００４５】
続いて記憶装置２３に格納されたセグメント集合の和集合に関する情報を用いて演算装置１４は該和集合に対応する連立一次方程式の係数行列を計算し結果を記憶装置１に書込み、続いて記憶装置１に格納された係数行列を用いて演算装置１４は同係数行列の逆行列を計算し結果を記憶装置５に書込む。
【００４６】
続いて記憶装置１に格納された係数行列を用いて演算装置１４は該係数行列の行と列を階数１だけ落とした候補行列を生成し記憶装置７に格納しさらに該行と列に対応する要素を次元１だけ落とされた縮退定数ベクトルを生成し記憶装置９に書き込む。演算装置１４はデーターバス２０を通じて、記憶装置７に格納された候補係数行列と記憶装置９に格納された縮退定数ベクトルを読み出し、直接法により未知ベクトルを求めその値を記憶装置８に格納する。演算装置１４は記憶装置８に格納された未知ベクトルのうち観測点データに相当する値を記憶装置１１に格納されている観測点位置情報をもとに抽出し、該データを記憶装置１０に格納する。
【００４７】
演算装置１４は記憶装置２に格納されている更新係数行列を用いてその階数を求め、該階数分上記手順を繰り返す。該手順の一回分の繰り返し終了後、演算装置１４は記憶装置１０に格納されている各データと記憶装置１２に格納されている目標値の間のノルムを順次計算し、該ノルムの最も小さいものを与える記憶装置１０に格納されているデータに対応する記憶装置２に格納されている更新係数行列の削除すべき行と列および更新定数ベクトルの削除すべき要素を決定し、データーバス２０を通じて記憶装置２に格納されている更新係数行列および記憶装置４に格納されている更新定数ベクトルを更新し、記憶装置２に格納されている更新係数行列および記憶装置４に格納されている更新定数ベクトルと、記憶装置１および３に格納されている元の係数行列と定数ベクトルの値を用いて順次上記手順を繰り返す。
【００４８】
該手順の繰り返しの中で、演算装置１４は計算されたノルムが記憶装置１３に格納されている許容値を下回るかどうかを常に検査し、下回る場合は手順を終了する。終了された時点で記憶装置２に格納されている更新係数行列が求めるべき物理構造を示しており、その具体構造は記憶装置２１に格納されているデータより直ちに求められる。
【００４９】
本実施例においては、候補係数行と縮退定数ベクトルを用いた直接法による連立一次方程式の計算を、記憶装置５に格納されている係数逆行列および上記探索の各段階で記憶装置１に格納されている係数行列の行・列要素によって順次該行列の階数の２乗の計算量で更新可能な、記憶装置６に格納される更新逆行列によって計算できる。
【００５０】
本実施例によれば、連立一次方程式により記述される物理現象の探索あるいは最適化を行う手順において、一回だけなされる初期化手順を除き、繰り返されるすべての連立一次方程式を直接法で解く際の計算時間を該行列の階数の２乗のオーダーで実現でき、結果として物理現象の探索あるいは最適化を高速化する効果を有する。
【実施例２】
【００５１】
本発明の他の一実施例を図３、図４及び図５を用いて説明する。図３は本発明からなる線形連立一次方程式の数値解析方法を用いた理工学シミュレータの構成要素とその結合関係を示す図であり、図４及び図５は本実施例からなる線形連立一次方程式の数値解析方法を用いた理工学シミュレータの計算アルゴリズムを示すフローチャートである。
【００５２】
図３が図１と異なる点は、新たに検証用係数行列を格納する記憶装置１６（記憶領域ｔｌ２）と検証用ベクトルを格納する記憶装置１５（記憶領域ｔｌ１）と第２の許容値を格納する記憶装置１７（記憶領域Ｄ；検査行列Ｄ）がデーターバス２０に結合されていることである。
【００５３】
本実施例においては、実施例１に記載される手順に加えて、記憶装置２に格納される更新係数行列が更新された後に、記憶装置１に格納された元の係数行列の要素のうち、記憶装置２に格納される更新係数行列に含まれる列と含まれない行からなる要素で構成される検証用係数行列を、演算装置１４が求め記憶装置１６に格納する。
【００５４】
続いて、演算装置１４は記憶装置１６に格納される検証用係数行列と記憶装置８に格納される未知ベクトルの乗算を行い、その結果を記憶装置１７に格納する。更に、演算装置１４は記憶装置１７に格納された値と、記憶装置３に格納されている定数ベクトルの対応する値によってノルムを順次計算し、記憶装置１７に格納される第２の許容値を下回っているか判定し、該許容値を下回る判定が得られた場合、該ノルムを計算するために用いられた記憶装置３に格納されている定数ベクトルの要素に該当する記憶装置１に格納される元の係数行列の行と列を、記憶装置２に格納されている更新係数行列に新たに付け加え新たな更新係数行列として記憶装置２に格納する。
【００５５】
本実施例においても、候補係数行と縮退定数ベクトルを用いた直接法による連立一次方程式の計算を、記憶装置５に格納されている係数逆行列および上記探索の各段階で記憶装置１に格納されている係数行列の行・列要素によって順次該行列の階数の２乗の計算量で更新可能な、記憶装置６に格納される更新逆行列によって計算できるので、実施例１と同様に探索問題あるいは最適化問題を実行する際の、計算時間削減の効果が保証される。本実施例によれば、実施例１の探索あるいは最適化手順において本来削除してはいけないあらかじめ与えられた外部条件を削除することを抑制することが出来るので、該探索あるいは最適化において最終目的に対し好ましくない局所最適解に陥る不都合を回避する効果がある。
【００５６】
本発明によれば、理工学シミュレータを用いる諸現象の物理的実態に対する探索あるいは最適化の数値解析において、同数値解析に多くの時間を消費する多元連立一次方程式を、該探索あるいは最適化の各回の手順において、該連立一次方程式の係数行列の階数の２乗のオーダーで連立方程式を解くことが出来るので、同各回の手順において連立一次方程式の求解に係数行列の階数の３乗のオーダーの計算時間を要する直接法を用いる従来技術の計算法に比べて、同数値解析の高速化・高効率化に効果を発揮する。
【産業上の利用可能性】
【００５７】
本発明に係る理工学シミュレータは、構造力学的性質を解析する線形連立一次方程式の数値解析に利用することができる。
【００５８】
本発明に係る理工学シミュレータは、電気および電子回路的性質を解析する線形連立一次方程式の数値解析に利用することができる。
【００５９】
本発明に係る理工学シミュレータは、電磁気的性質を解析する線形連立一次方程式の数値解析に利用することができる。
【００６０】
本発明に係る理工学シミュレータは、流体力学的性質を解析する線形連立一次方程式の数値解析に利用することができる。
【図面の簡単な説明】
【００６１】
【図１】本発明からなる一実施例の線形連立一次方程式の数値解析方法を用いた理工学シミュレータの構成要素結合図である。
【図２】本発明からなる一実施例の線形連立一次方程式の数値解析方法を用いた理工学シミュレータの計算アルゴリズムのフローチャートである。
【図３】本発明からなる他の一実施例の線形連立一次方程式の数値解析方法を用いた理工学シミュレータの構成要素結合図である。
【図４】本発明からなる他の一実施例の線形連立一次方程式の数値解析方法を用いた理工学シミュレータの計算アルゴリズムのフローチャートである。
【図５】図４の続きとなるフローチャートである。
【符号の説明】
【００６２】
１  記憶領域Ｚ（第一の記憶手段）
２  記憶領域ｚ（第三の記憶手段）
３  記憶領域Ｖ（第二の記憶手段）
４  記憶領域ｖ（第四の記憶手段）
５  記憶領域Ｙ（第五の記憶手段）
６  記憶領域ｙ（第六の記憶手段）
７  記憶領域Ｃ（第二の一時記憶領域）
８  記憶領域Ｉ（第一の一時記憶領域）
９  記憶領域Ｅ（第三の一時記憶領域）
１０  記憶領域ｔ
１１  記憶領域ｅｐｔ
１２  記憶領域ｏｐｔ
１３  記憶領域ｔｏｌ
１４  演算装置
１５  記憶領域ｔｌ１
１６  記憶領域ｔｌ２
１７  記憶領域Ｄ（検査行列Ｄ）
１８  記憶領域ｅ
２０  データーバス
２１  記憶領域ｓ
２２  記憶領域ｆ
２３  記憶領域Ｓ
【図１】
2006119839.tif 000003
【図２】
2006119839.tif 000004
【図３】
2006119839.tif 000005
【図４】
2006119839.tif 000006
【図５】
2006119839.tif 000007