JP4311741B2 - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP4311741B2
JP4311741B2 JP2004363677A JP2004363677A JP4311741B2 JP 4311741 B2 JP4311741 B2 JP 4311741B2 JP 2004363677 A JP2004363677 A JP 2004363677A JP 2004363677 A JP2004363677 A JP 2004363677A JP 4311741 B2 JP4311741 B2 JP 4311741B2
Authority
JP
Japan
Prior art keywords
residual
calculation
cumulative
minimum value
updating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004363677A
Other languages
English (en)
Other versions
JP2006172137A (ja
Inventor
輝芳 鷲澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004363677A priority Critical patent/JP4311741B2/ja
Priority to US11/300,494 priority patent/US7856466B2/en
Publication of JP2006172137A publication Critical patent/JP2006172137A/ja
Application granted granted Critical
Publication of JP4311741B2 publication Critical patent/JP4311741B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Description

本発明は、連立一次方程式の解を求める為の計算処理技術に関するものである。
様々な分野で解かれる問題の多くは、離散近似等により連立一次方程式に帰着されることが知られている。
これら連立一次方程式の係数行列は通常正則である。従って、Gaussの消去法によって解を得ることが出来る。また、係数行列が大規模でスパースな場合には、Jacobi法、Gauss−Seidel法等の反復法や、共役勾配法が有効であることが知られている(非特許文献1を参照)。対象とする問題に対してどの解法を選択するかによって、必要とされる計算機のスペックや計算速度が異なることから、以下のような技術が開示されている。
特許文献1では、行列がスパースであるかどうか、及び電源の周波数がパラメタ以下かどうかによって、連立一次方程式の解法として、直接法と反復法を選択する方法を提供している。これによってメモリ容量に応じた最適な解法が選択できるとしている。
また特許文献2では、求解時間を予測する工程を設け、その結果を用いて、行列に対する複数の三角分解解法のうちから最適な解法を選択する方法を提供している。これによって、与えられた問題を最速に解くことができるとしている。
しかし、対象とする問題によっては係数行列が特異になる場合がある。このときには、直接法としてのGauss法や、Jacobi法に基づく一連の反復法は破綻する。
一方、共役勾配法(以下CG法と略記)は、係数行列が特異であってもある条件が成り立つ場合には、解を与えることが知られている(非特許文献2を参照)。また、CG法が破綻するような場合でも、共役残差法(以下CR法と略記)は破綻せず最適な解に収束することが知られている(非特許文献3)。
特開平05-073527号公報 特開平11-242664号公報 森、杉原、室田:"数値計算、"岩波講座 応用数学[方法2]、岩波書店(1994)。 EF. Kaasschieter : "Preconditioned conjugate gradients for solving singular systems," Journal of Computational and Applied Mathematics, 24, pp.265-275 (1988). 阿部、緒方、杉原、張、三井:"特異な係数行列をもつ連立一次方程式に対するCR法の収束性、"日本応用数理学会論文誌、Vol.9, No.1, pp.1-13 (1999).
以上の説明をまとめると、係数行列が正則であれば、直接法、反復法、CG法、CR法の全ての方法が有効である。係数行列が特異である場合、ある条件を満たせば、CG法、CR法が有効である。それ以外の場合は、CR法のみが有効である。
しかしこのように係数行列が正則であるか、特異であるかに応じて、解法が異なる故、係数行列が正則かどうか不明であるような連立一次方程式を解く場合には、事前に解法を決めることができない。
本発明は以上の問題に鑑みて成されたものであり、係数行列が正則かどうか不明である連立一次方程式を解くための計算技術を提供することを目的とする。
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
即ち、記憶媒体とプロセッサとを備えた情報処理装置であって、前記記憶媒体に記憶されたプログラムを前記プロセッサが実行することにより、
連立一次方程式の解データを求める為に共役勾配法に従って変数と残差とを繰り返し計算する第1の計算手段と、
前記第1の計算手段が前記繰り返し計算を1回行う毎に、前記共役勾配法に従った計算処理が発散しているか否かを判断する判断手段と、
前記判断手段が発散していると判断した場合には、前記共役勾配法に従った計算処理の代わりに、前記連立一次方程式の解データを求める為に共役残差法に従って変数と残差とを繰り返し計算する第2の計算手段とを実現し、
前記判断手段は、
1回の前記繰り返し計算で得られた新たな残差がそれまでの残差の最小値より小さければ、当該新たな残差で当該最小値を更新する最小値更新手段と、
前記新たな残差が前記残差の初期値より小さければ、当該初期値から当該新たな残差への減少量を加えて累積減少量を更新する累積減少量更新手段と、
前記新たな残差が前記最小値より大きければ、当該最小値から当該新たな残差への増加量を加えて累積増加量を更新する累積増加量更新手段とを有し、
前記累積増加量と前記累積減少量とに基づいて、前記共役勾配法に従った計算処理が発散しているか否かを判断する
ことを特徴とする。
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
即ち、記憶媒体とプロセッサとを備えた情報処理装置で実行される情報処理方法であって、前記記憶媒体に記憶されたプログラムを前記プロセッサが実行することにより、
連立一次方程式の解データを求める為に共役勾配法に従って変数と残差とを繰り返し計算する第1の計算工程と、
前記第1の計算工程で前記繰り返し計算を1回行う毎に、前記共役勾配法に従った計算処理が発散しているか否かを判断する判断工程と、
前記判断工程で発散していると判断した場合には、前記共役勾配法に従った計算処理の代わりに、前記連立一次方程式の解データを求める為に共役残差法に従って変数と残差とを繰り返し計算する第2の計算工程とを実行し、
前記判断工程は、
1回の前記繰り返し計算で得られた新たな残差がそれまでの残差の最小値より小さければ、当該新たな残差で当該最小値を更新する最小値更新工程と、
前記新たな残差が前記残差の初期値より小さければ、当該初期値から当該新たな残差への減少量を加えて累積減少量を更新する累積減少量更新工程と、
前記新たな残差が前記最小値より大きければ、当該最小値から当該新たな残差への増加量を加えて累積増加量を更新する累積増加量更新工程とを有し、
前記累積増加量と前記累積減少量とに基づいて、前記共役勾配法に従った計算処理が発散しているか否かを判断する
ことを特徴とする。
本発明の構成により、係数行列が正則かどうか不明である連立一次方程式を解くことができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
図2は、本実施形態に係る情報処理装置として機能するコンピュータの基本構成を示すブロック図である。
201はCPUで、RAM204に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する各処理を実行する。
202は表示装置で、CRTや液晶画面などにより構成されており、CPU201による処理結果を文字が画像などでもって表示することができる。
203は入力装置で、キーボードやマウスなどの操作系の装置により構成されており、各種の指示をCPU201に対して入力することができる。
204はRAMで、ハードディスク装置205からロードされたプログラムやデータを一時的に記憶する為のエリアを備えると共に、CPU201が各種の処理を実行する際に必要なワークエリアを備える。
205はハードディスク装置で、ここにはOS(オペレーティングシステム)や、コンピュータが行うべき後述の各処理をCPU201に実行させるためのプログラムやデータが保存されており、これらの一部もしくは全部はCPU201による制御に従ってRAM204にロードされる。
206はNIC(ネットワークインターフェース)で、外部装置とのデータ通信を行う際のインターフェースとして機能するものであり、本コンピュータはこのNIC206を介して外部装置とプログラムやデータの送受信を行う。なお、ハードディスク装置205が保存しているプログラムやデータの代わりに、NIC206を介して外部装置から受信したプログラムやデータをCPU201による処理対象としても良い。
207は上述の各部を繋ぐバスである。
次に、上記構成を備える。コンピュータが行う、連立一次方程式の解を求める為の数値計算処理について説明する。
図1は、本実施形態に係るコンピュータが行う、連立一次方程式の解を求めるための数値計算処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU201に実行させるためのプログラムやデータはハードディスク装置205に保存されており、CPU201の制御に従ってRAM204にロードされ、これを用いてCPU201が処理を行うことで、本実施形態に係るコンピュータは以下説明する処理を行うことになる。
先ず、以下の処理で用いる各変数の為の記憶領域をRAM204内に確保すると共に、解く対象となる連立一次方程式に係るデータ(M×Nの係数行列をA、M×1の変数行列(変数ベクトル)をX、M×1の右辺を示す行列をbとすると、連立一次方程式はAX=bの形でもって表現できるので、連立一次方程式に係るデータは係数行列Aのデータ、右辺の行列Bのデータを示す)や以下の説明で既知のパラメータとして説明するものをハードディスク装置205からRAM204にロードし、さらには、以下の処理で用いる各種の変数を初期化するのであるが、例えば(反復回数を代入するための変数)変数tを0に初期化する(ステップS101)。
次に、共役勾配法に従った処理を1回(1ステップ)実行する(ステップS102)。そして残差Rtの最小値RMINを更新する(ステップS103)。t=0のときは、RMIN=R0とする。
次に、RMINに対する変数ベクトルXMIN、及び反復回数tMINのそれぞれが保持する値をRAM204に一時的に記憶する(ステップS104)。
次に、累積減少量CRDt、累積増加量CRItを求める(ステップS105)。ステップS105における処理については詳しくは図3〜6を用いて後述する。
次に、共役勾配法の収束判定条件に基づいて、計算が収束したかどうかを判定し(ステップS106)、収束していれば本処理を終了する。一方、収束していなければ処理をステップS107に進める。ここで、収束しているのか否かの判定処理については特に限定するものではないが、例えば反復回数、残差ベクトルのノルム等によって予め決定された方法を用いるようにしても良い。
ステップS106において収束していないと判断された場合には、以下の式(1)に従った大小比較処理を行う(ステップS107)。
εCRDt<CRIt (1)
ここでεは経験的に決定される正の実数である。CRDt、CRItについては後述する。そしてこのような大小比較処理を行った結果、εCRDt≧CRItである場合には処理をステップS102に戻し、変数tに1を加算して以降の処理を繰り返す。
一方、εCRDt<CRItの場合、即ち、共役勾配法による計算処理が発散したと判断される場合には、処理をステップS108に進め、変数ベクトルの初期値にXMINを設定し、共役残差法に従って、連立一次方程式の解を求める処理を行う(ステップS108)。
次に、上記ステップS105における処理の詳細について説明する。上記CRDt、CRItは以下の式に従って求める。
CRDt ← CRDt-1 + max[(R0-Rt),0] (2)
CRIt ← CRIt-1 + max[(Rt-RMIN),0] (3)
ここで、max(x、y)はx、yの大きい方の値を出力する関数である。図4は、共役勾配法、共役残差法それぞれにおける残差と反復回数との関係を示す図である。図4に示す如く、縦軸は残差、横軸は反復回数を示す。また、同図において実線の折れ線403は、共役勾配法に従った計算処理を行っているときの残差Rtの反復回数に対する変化を示し、二点鎖線404は、共役残差法に従った計算処理を行っているときの残差Rtの反復回数に対する変化を示す。また405はRMINであり、この時点での反復回数がtMIN、変数ベクトルがXMINである。
406は初期残差R0である。407は408が現れるまでの一時的なRMINであり、409は410が現れるまでの一時的なRMINである。411は共役勾配法に従った計算処理が発散したと判断されたときの反復回数である。即ち、図4は、上記式(1)を満たしている(εCRDt<CRIt)場合のものである。
図3は、ステップS105における処理のフローチャートである。先ず、残差Rt<RMINであるのか否かを判断し(ステップS301)、残差Rt<RMINの場合には処理をステップS302に進め、以下の式(4),(5)に従った処理を行う(ステップS302)。
RMIN = Rt (4)
XMIN = Xt (5)
これは図4において406から407の間、408から409の間、410から405の間で成り立つ。ステップS302における処理が完了すると、処理をステップS304に進める。
一方、ステップS301における判断処理で残差Rt≧RMINの場合には処理をステップS303に進め、以下の式(6)に従った計算処理を行い、CRItを更新する(ステップS303)。
CRIt ← CRIt-1 + (Rt - RMIN) (6)
ステップS302における処理が完了すると、処理をステップS304に進める。以上の処理が完了すると次に、Rt<R0であるのか否かを判断する(ステップS304)。Rt≧R0の場合には本処理、即ちステップS105における処理を完了し、処理をステップS106に進める。一方、Rt<R0の場合には処理をステップS305に進め、以下の式(7)に従った計算処理を行い、CRDtを更新する(ステップS305)。
CRDt ← CRDt-1 + (R0 - Rt) (7)
なお、CRDt、CRItの更新はそれぞれ式(6)、(7)に従って更新することに限定するものではなく、例えば以下の式(8)、(9)に従って更新するようにしても良い。
CRDt ← CRDt-1 + max[(R0-Rt),0] t ≦ tMIN (8)
CRIt ← CRIt-1 + max[(Rt-RMIN),0] tMIN < t (9)
以下では、CRDt、CRItの更新を式(8)、(9)に従って行う場合について説明する。
図6は、共役勾配法、共役残差法それぞれにおける残差と反復回数との関係を示す図である。図6に示す如く、縦軸は残差、横軸は反復回数を示す。また、同図において実線の折れ線603は、共役勾配法に従った計算処理を行っているときの残差Rtの反復回数に対する変化を示し、二点鎖線604は、共役残差法に従った計算処理を行っているときの残差Rtの反復回数に対する変化を示す。また605はRMINであり、この時点での反復回数がtMIN、変数ベクトルがXMINである。
606は初期残差R0である。607は共役勾配法に従った計算処理が発散したと判断されたときの反復回数である。即ち、図6は、上記式(1)を満たしている(εCRDt<CRIt)場合のものである。
図5は、ステップS105における処理のフローチャートである。先ず、残差Rt<RMINであるのか否かを判断し(ステップS501)、残差Rt<RMINの場合には処理をステップS502に進め、上記式(4),(5)に従った処理を行う(ステップS502)。
そして以下の式(10)に従ってCRDtを更新する処理を行う(ステップS503)。
CRDt ← CRDt-1 + CRD2 (10)
ただし、CRD0、CRD2はステップS101において0に初期化されているものとする。そして処理をステップS504に進め、CRIt、CRD2を以下の式(11)、(12)に示す如く、0に初期化する(ステップS504)。
CRD2 = 0 (11)
CRIt = 0 (12)
そして本フローチャートに従った処理を完了させ、処理をステップS106に戻す。
一方、ステップS501において、残差Rt≧RMINの場合には処理をステップS505に進め、以下の式(13)に従ってCRD2を更新する処理を行う(ステップS505)。
CRD2 ← CRD2 + (R0 - Rt) (13)
そして次に、以下の式(14)に従ってCRItを更新する処理を行う(ステップS506)。
CRIt ← CRIt-1 + (Rt - RMIN) (14)
以上の処理が完了すると、処理をステップS106に戻す。
次に、上記共役勾配法について説明する。図7は、共役勾配法に従った計算処理(ステップS102における処理)のフローチャートである。なお、同図に示したフローチャートに従った処理は1ステップ分のものであるので実際にはこのような1ステップ分の処理を複数回繰り返して行う。
先ず、以下の式(15)に従って、更新係数αtの値を求める(ステップS701)。
αt+1 = (Rt,pt)/(pt,Apt) (15)
ここで、Aは上記係数行列である。
次に、変数ベクトルXを以下の式(16)に従って更新する(ステップS702)。
Xt+1 = Xt + αtpt (16)
次に、残差ベクトルRtを以下の式(17)に従って更新する(ステップS703)。
Rt+1 = RttApt (17)
次に、探索方向ベクトルptの更新係数βt+1を以下の式(18)に従って求める(ステップS704)。
βt+1 = - (Rt+1,Apt)/(Apt,Apt) (18)
次に、探索方向ベクトルptを以下の式(19)に従って更新する(ステップS705)。
pt+1 = Rt+1 + βt+1pt (19)
次に、上記共役残差法について説明する。図8は、共役残差法に従った計算処理(ステップS108における処理)のフローチャートである。なお、同図に示したフローチャートに従った処理は1ステップ分のものであるので実際にはこのような1ステップ分の処理を複数回繰り返して行う。
先ず、以下の処理で用いる各変数の為の記憶領域をRAM204内に確保すると共に、それぞれの変数の初期化処理を行う(ステップS801)。このような変数には、変数ベクトルXk、変位拘束条件B、評価関数L1が含まれている。
また、変数の初期化については例えば、変数ベクトルX、残差ベクトルR、探索方向ベクトルpを初期化する。それぞれの初期値をX0、R0、p0と表す。ここでX0=XMINとする。
また、R0については上記X0を用いて以下の式(20)に従って求める。
Rk = b - AXk (20)
ここで、bは上記右辺の行列(ベクトル)である。また、p0についてはR0と同じ値とする。また本明細書における説明において、k回目の繰り返し計算で得られたものについては、それを表す変数に添え字kを付す。
また、反復回数を示す変数kを0に初期化する。
図8に戻って、次に、状態ベクトルの更新係数αkを以下の式(21)に従って求める(ステップS802)。
αk = (Rk-1,Apk-1)/(Apk-1,Apk-1) (21)
次に、変数ベクトルXkを以下の式(22)に従って更新する(ステップS803)。
Xk = Xk-1 + αkpk-1 (22)
次に、残差ベクトルRkを以下の式(23)に従って更新する(ステップS804)。
Rk = Rk-1kApk-1 (24)
次に、探索方向ベクトルpの更新係数βkを以下の式(24)に従って求める(ステップS805)。
βk = - (ARk,Apk-1)/(Apk-1,Apk-1) (24)
次に、探索方向ベクトルpkを以下の式(25)に従って更新する(ステップS806)。
pk = Rk + βkpk-1 (25)
そして次に、以上の計算の結果、計算が収束しているのか否かを判断し(ステップS807)、収束していれば本処理を終了するのであるが、収束していない場合には処理をステップS802に戻し、以降の処理を行う。ここで、収束しているのか否かの判定処理については特に限定するものではないが、例えば反復回数、残差ベクトルのノルム等によって予め決定された方法を用いるようにしても良い。
なお、上記ステップS102では共役勾配法の派生法を用いるようにしても良いし、同様に、ステップS108では共役残差法の派生法を用いるようにしても良い。
なお、共役残差法およびその様々な派生法は、例えば、速見:“特異な系に対するGCR(k)法の収束性について、”京都大学数理解析研究所講究録1265(2002年)、阿部、緒方、杉原、張、三井:“特異な係数行列をもつ連立一次方程式に対するCR法の収束性、”日本応用数理学会論文誌、Vol.9, No.1, pp.1-13 (1999年)、K. Hayami: ”On the Behaviour of the Conjugate Residual Method for Singular Systems,” NII Technical Report, NII-2001-002E (2002年)、S-L. Zhang, Y. Oyanagi, M. Sugihara: “Necessary and sufficient conditions for the convergence of Orthomin(k) on singular and inconsistent systems,” Numerische Mathemarik, 87, pp.391-405 (2000年)等に開示されている。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の実施形態に係るコンピュータが行う、連立一次方程式の解を求めるための数値計算処理のフローチャートである。 本発明の実施形態に係る情報処理装置として機能するコンピュータの基本構成を示すブロック図である。 ステップS105における処理のフローチャートである。 共役勾配法、共役残差法それぞれにおける残差と反復回数との関係を示す図である。 ステップS105における処理のフローチャートである。 共役勾配法、共役残差法それぞれにおける残差と反復回数との関係を示す図である。 共役勾配法に従った計算処理(ステップS102における処理)のフローチャートである。 共役残差法に従った計算処理(ステップS108における処理)のフローチャートである。

Claims (6)

  1. 記憶媒体とプロセッサとを備えた情報処理装置であって、前記記憶媒体に記憶されたプログラムを前記プロセッサが実行することにより、
    連立一次方程式の解データを求める為に共役勾配法に従って変数と残差とを繰り返し計算する第1の計算手段と、
    前記第1の計算手段が前記繰り返し計算を1回行う毎に、前記共役勾配法に従った計算処理が発散しているか否かを判断する判断手段と、
    前記判断手段が発散していると判断した場合には、前記共役勾配法に従った計算処理の代わりに、前記連立一次方程式の解データを求める為に共役残差法に従って変数と残差とを繰り返し計算する第2の計算手段とを実現し、
    前記判断手段は、
    1回の前記繰り返し計算で得られた新たな残差がそれまでの残差の最小値より小さければ、当該新たな残差で当該最小値を更新する最小値更新手段と、
    前記新たな残差が前記残差の初期値より小さければ、当該初期値から当該新たな残差への減少量を加えて累積減少量を更新する累積減少量更新手段と、
    前記新たな残差が前記最小値より大きければ、当該最小値から当該新たな残差への増加量を加えて累積増加量を更新する累積増加量更新手段とを有し、
    前記累積増加量と前記累積減少量とに基づいて、前記共役勾配法に従った計算処理が発散しているか否かを判断する
    ことを特徴とする情報処理装置。
  2. 前記第2の計算手段は、前記最小値を初期値として前記共役残差法に従った処理を行うことを特徴とする請求項1に記載の情報処理装置。
  3. 前記累積減少量は、前記最小値が出現するまでの累積値であり、前記累積増加量は、前記最小値が出現してからの累積値であることを特徴とする請求項に記載の情報処理装置。
  4. 記憶媒体とプロセッサとを備えた情報処理装置で実行される情報処理方法であって、前記記憶媒体に記憶されたプログラムを前記プロセッサが実行することにより、
    連立一次方程式の解データを求める為に共役勾配法に従って変数と残差とを繰り返し計算する第1の計算工程と、
    前記第1の計算工程で前記繰り返し計算を1回行う毎に、前記共役勾配法に従った計算処理が発散しているか否かを判断する判断工程と、
    前記判断工程で発散していると判断した場合には、前記共役勾配法に従った計算処理の代わりに、前記連立一次方程式の解データを求める為に共役残差法に従って変数と残差とを繰り返し計算する第2の計算工程とを実行し、
    前記判断工程は、
    1回の前記繰り返し計算で得られた新たな残差がそれまでの残差の最小値より小さければ、当該新たな残差で当該最小値を更新する最小値更新工程と、
    前記新たな残差が前記残差の初期値より小さければ、当該初期値から当該新たな残差への減少量を加えて累積減少量を更新する累積減少量更新工程と、
    前記新たな残差が前記最小値より大きければ、当該最小値から当該新たな残差への増加量を加えて累積増加量を更新する累積増加量更新工程とを有し、
    前記累積増加量と前記累積減少量とに基づいて、前記共役勾配法に従った計算処理が発散しているか否かを判断する
    ことを特徴とする情報処理方法。
  5. 記憶媒体に記憶されたプログラムであって、コンピュータに、当該プログラムを実行させることにより、
    連立一次方程式の解データを求める為に共役勾配法に従って変数と残差とを繰り返し計算する第1の計算工程と、
    前記第1の計算工程で前記繰り返し計算を1回行う毎に、前記共役勾配法に従った計算処理が発散しているか否かを判断する判断工程と、
    前記判断工程で発散していると判断した場合には、前記共役勾配法に従った計算処理の代わりに、前記連立一次方程式の解データを求める為に共役残差法に従って変数と残差とを繰り返し計算する第2の計算工程とを実行させ、
    前記判断工程は、
    1回の前記繰り返し計算で得られた新たな残差がそれまでの残差の最小値より小さければ、当該新たな残差で当該最小値を更新する最小値更新工程と、
    前記新たな残差が前記残差の初期値より小さければ、当該初期値から当該新たな残差への減少量を加えて累積減少量を更新する累積減少量更新工程と、
    前記新たな残差が前記最小値より大きければ、当該最小値から当該新たな残差への増加量を加えて累積増加量を更新する累積増加量更新工程とを有し、
    前記累積増加量と前記累積減少量とに基づいて、前記共役勾配法に従った計算処理が発散しているか否かを判断させる
    ことを特徴とするプログラム。
  6. 請求項に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2004363677A 2004-12-15 2004-12-15 情報処理装置、情報処理方法 Expired - Fee Related JP4311741B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004363677A JP4311741B2 (ja) 2004-12-15 2004-12-15 情報処理装置、情報処理方法
US11/300,494 US7856466B2 (en) 2004-12-15 2005-12-14 Information processing apparatus and method for solving simultaneous linear equations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004363677A JP4311741B2 (ja) 2004-12-15 2004-12-15 情報処理装置、情報処理方法

Publications (2)

Publication Number Publication Date
JP2006172137A JP2006172137A (ja) 2006-06-29
JP4311741B2 true JP4311741B2 (ja) 2009-08-12

Family

ID=36585154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004363677A Expired - Fee Related JP4311741B2 (ja) 2004-12-15 2004-12-15 情報処理装置、情報処理方法

Country Status (2)

Country Link
US (1) US7856466B2 (ja)
JP (1) JP4311741B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2178001A1 (en) * 2007-07-12 2010-04-21 Fujitsu Limited Calculation device, calculation method and calculation program
CN102362274A (zh) * 2009-03-24 2012-02-22 国际商业机器公司 方程的线性系统的处理
US9390383B2 (en) * 2013-01-28 2016-07-12 Georges Harik Method for an optimizing predictive model using gradient descent and conjugate residuals
US9600777B2 (en) 2013-03-11 2017-03-21 Georges Harik Configuring and optimizing computational structure for a machine learning application using a tuple of vectors
JP2015108994A (ja) * 2013-12-05 2015-06-11 キヤノン株式会社 劣決定系線型方程式の求解方法及び求解装置
CN113468141B (zh) * 2021-06-30 2023-09-22 杭州云深科技有限公司 用于生成apk主键的数据处理系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573527A (ja) 1991-09-12 1993-03-26 Nippon Steel Corp 電磁場解析装置
JP2959525B2 (ja) * 1997-06-02 1999-10-06 日本電気株式会社 データ処理装置および方法、情報記憶媒体
JPH11242664A (ja) 1998-02-25 1999-09-07 Hitachi Ltd 連立一次方程式の解を計算する計算装置

Also Published As

Publication number Publication date
US7856466B2 (en) 2010-12-21
US20060129351A1 (en) 2006-06-15
JP2006172137A (ja) 2006-06-29

Similar Documents

Publication Publication Date Title
KR102516092B1 (ko) 신경망 프로세서의 벡터 컴퓨테이션 유닛
Moens et al. An interval finite element approach for the calculation of envelope frequency response functions
Soares Jr An adaptive semi-explicit/explicit time marching technique for nonlinear dynamics
JPH052404A (ja) 最適化装置、費用を最小化する装置および観測系/制御系装置
Lampe et al. Solving regularized total least squares problems based on eigenproblems
JPH11345344A (ja) 3次曲線を与える方法及び装置
US9081091B2 (en) Method and device for tracking the path of motion of a moving object as well as computer program and data storage media
US20180293486A1 (en) Conditional graph execution based on prior simplified graph execution
CN113965313B (zh) 基于同态加密的模型训练方法、装置、设备以及存储介质
JP4311741B2 (ja) 情報処理装置、情報処理方法
US10331816B2 (en) Magnetic body simulation device, micro-magnetization calculation method, and non-transitory computer-readable recording medium having stored therein a program
Stanić et al. A path-following method for elasto-plastic solids and structures based on control of plastic dissipation and plastic work
CN107341540A (zh) 一种用于执行Hessian-Free训练算法的装置和方法
CN115577783B (zh) 量子数据处理方法、装置、设备以及存储介质
US20180349321A1 (en) Parallel processing apparatus, parallel operation method, and parallel operation program
US20220405561A1 (en) Electronic device and controlling method of electronic device
JP2007065803A (ja) 有限要素解析方法、有限要素解析装置、及びコンピュータプログラム
CN112465105B (zh) 记录学习程序的计算机可读记录介质以及学习方法
Alia et al. CMRH method as iterative solver for boundary element acoustic systems
US20060129337A1 (en) Information processing apparatus for numerically analyzing incompresible fluid and method therefor
CN111723247A (zh) 基于图的假设计算
Alonso et al. A posteriori error estimates in finite element acoustic analysis
KR102698072B1 (ko) 심층 신경망의 학습 장치 및 방법
Necoara et al. Linear model predictive control based on approximate optimal control inputs and constraint tightening
JP7505640B2 (ja) 推論装置、推論方法および推論プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090507

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140522

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees