JPH0444165A - 対称連立一次方程式の求解方式 - Google Patents
対称連立一次方程式の求解方式Info
- Publication number
- JPH0444165A JPH0444165A JP2151664A JP15166490A JPH0444165A JP H0444165 A JPH0444165 A JP H0444165A JP 2151664 A JP2151664 A JP 2151664A JP 15166490 A JP15166490 A JP 15166490A JP H0444165 A JPH0444165 A JP H0444165A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- vector
- matrix part
- triangular matrix
- product
- 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.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 153
- 238000000034 method Methods 0.000 claims description 27
- 238000010586 diagram Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/13—Differential 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は対称連立一次方程式の求解方式に関するもので
あり、例えば有限要素法や差分法等により偏微分方程式
の近似解を求める方式に関する。
あり、例えば有限要素法や差分法等により偏微分方程式
の近似解を求める方式に関する。
偏微分方程式の解を数値的に求めるため、方程式を有限
要素法や差分法等で離散化すると、大規模な対称連立一
次方程式が得られる場合がある。
要素法や差分法等で離散化すると、大規模な対称連立一
次方程式が得られる場合がある。
この場合には扱う行列が対称なので、上三角行列部分あ
るいは正三角行列部分のどちらか一方かわかれば、他方
はその転置行列として求められる。
るいは正三角行列部分のどちらか一方かわかれば、他方
はその転置行列として求められる。
ここで上三角行列とは
のように、対角要素とそれより下の要素は全て0である
行列をいう。この事実より、第7図に示すように、係数
行列の入力データとして、対角行列部分と上三角行列部
分あるいは正三角行列部分のどちらか一方とを入力する
方式が、対称連立一次方程式を解くために用いられてい
る。
行列をいう。この事実より、第7図に示すように、係数
行列の入力データとして、対角行列部分と上三角行列部
分あるいは正三角行列部分のどちらか一方とを入力する
方式が、対称連立一次方程式を解くために用いられてい
る。
スカラ処理計算機上ではこのような方式が定着している
が、ベクトル処理計算機にこの方式を適用すると、計算
の中に現れる最深ループが短いために計算機本来の′性
能が出ないという問題がある。
が、ベクトル処理計算機にこの方式を適用すると、計算
の中に現れる最深ループが短いために計算機本来の′性
能が出ないという問題がある。
そこで、入力データとして係数行列の全体を用いる方式
が提案されている(例えば、利用、小国唐木、“′スー
パーコンピュータ“、九s (1985))。
が提案されている(例えば、利用、小国唐木、“′スー
パーコンピュータ“、九s (1985))。
すなわち第8図に示すように、入力データとして対角行
列部分、上三角行列部分、下三角行列部分。
列部分、上三角行列部分、下三角行列部分。
さらに右辺ハク1−ルを用いる。
係数行列の全てを入力データとする従来の方式では、本
来不必要な係数行列の部分まで入力データとして作成し
なければならないという問題がある。さらに、必要とす
る計算機の記憶領域も大きくしなければならないという
問題もある。
来不必要な係数行列の部分まで入力データとして作成し
なければならないという問題がある。さらに、必要とす
る計算機の記憶領域も大きくしなければならないという
問題もある。
本発明の目的は上記問題を解消したベクトル処理計算機
向きの対称連立一次方程式の求解方式を提供することに
ある。
向きの対称連立一次方程式の求解方式を提供することに
ある。
本発明は、対称連立一次方程式の係数行列の対角行列部
分と上三角行列部分または正三角行列部分、および右辺
ベクトルを入力データとし、係数行列から近似行列を生
成する第1の手段と、反復計算を行う第2の手段と、係
数行列と前記第2の手段から入力されたベクトルデータ
との積を計算する第3の手段と、前記第1の手段で得ら
れた近似行列の逆行列と前記第2の手段から入力された
ベクトルデータとの積を計算する第4の手段とを有し、
前記方程式の解を出力する対称連立一次方程式の求解方
式において、 係数行列の対称性により、入力された上三角行列部分ま
たは正三角行列部分のどちらか一方から、他方の正三角
行列部分または上三角行列部分を指し示すポインタ配列
を構成する第5の手段を有し、前記第1〜第4の手段は
、前記上三角行列部分または正三角行列部分のどちらか
一方のみを必要とし、 前記第3の手段において、前記第5の手段で構成された
ポインタ配列を用いることにより、全てベクトル処理し
、かつその最深ループのヘタ1−ル長が前記方程式の元
数に等しいことを特徴とする。
分と上三角行列部分または正三角行列部分、および右辺
ベクトルを入力データとし、係数行列から近似行列を生
成する第1の手段と、反復計算を行う第2の手段と、係
数行列と前記第2の手段から入力されたベクトルデータ
との積を計算する第3の手段と、前記第1の手段で得ら
れた近似行列の逆行列と前記第2の手段から入力された
ベクトルデータとの積を計算する第4の手段とを有し、
前記方程式の解を出力する対称連立一次方程式の求解方
式において、 係数行列の対称性により、入力された上三角行列部分ま
たは正三角行列部分のどちらか一方から、他方の正三角
行列部分または上三角行列部分を指し示すポインタ配列
を構成する第5の手段を有し、前記第1〜第4の手段は
、前記上三角行列部分または正三角行列部分のどちらか
一方のみを必要とし、 前記第3の手段において、前記第5の手段で構成された
ポインタ配列を用いることにより、全てベクトル処理し
、かつその最深ループのヘタ1−ル長が前記方程式の元
数に等しいことを特徴とする。
また本発明は、前記第4の手段において、超平面法と前
記第5の手段で構成されたポインタ配列とを用いること
により、全てベクトル処理し、かつその最深ループのベ
クトル長が超平面内の節点数に等しいことを特徴とする
。
記第5の手段で構成されたポインタ配列とを用いること
により、全てベクトル処理し、かつその最深ループのベ
クトル長が超平面内の節点数に等しいことを特徴とする
。
係数行列の対角行列部分と上三角行列部分または正三角
行列部分および右辺ベクトルを入力データとして与える
と、係数行列の対称性により上:角打列部分または正三
角行列部分から正三角行列部分または上三角行列部分の
ポインタ配列を構成し、次に係数行列から近似行列を生
成する。
行列部分および右辺ベクトルを入力データとして与える
と、係数行列の対称性により上:角打列部分または正三
角行列部分から正三角行列部分または上三角行列部分の
ポインタ配列を構成し、次に係数行列から近似行列を生
成する。
この後、反復計算を行うが、この中に多数回現れる係数
行列とベクトルデータとの積を求める計算、および近似
行列の逆行列とベクトルデータとの積を求める計算を、
上記ポインタ配列を用いることにより、ベクトル処理計
算機上での高速処理を可能にする。
行列とベクトルデータとの積を求める計算、および近似
行列の逆行列とベクトルデータとの積を求める計算を、
上記ポインタ配列を用いることにより、ベクトル処理計
算機上での高速処理を可能にする。
第1図は、本発明の一実施例のブロック図である。
この対称連立一次方程式の求解方式を適用したベクトル
処理計算機は、ポインタ配列構成部1゜行列分解部21
反復計算部3.積計算部4.積計算部5を有しており、
偏微分方程式の有限要素近似、差分近似等により得られ
る対称連立一次方程式の係数行列の対角行列部分と下三
角行列部分または下三角行列部分、および右辺ベクトル
とを入力データとする。
処理計算機は、ポインタ配列構成部1゜行列分解部21
反復計算部3.積計算部4.積計算部5を有しており、
偏微分方程式の有限要素近似、差分近似等により得られ
る対称連立一次方程式の係数行列の対角行列部分と下三
角行列部分または下三角行列部分、および右辺ベクトル
とを入力データとする。
ポインタ配列構成部1は、係数行列の対称性により、入
力された行列部分、すなわち下三角行列部分または下三
角行列部分のどちらか一方から、他方の下三角行列部分
または下三角行列部分を指し示すポインタ配列を構成す
る。
力された行列部分、すなわち下三角行列部分または下三
角行列部分のどちらか一方から、他方の下三角行列部分
または下三角行列部分を指し示すポインタ配列を構成す
る。
行列分解部2は、係数行列を分解し近似行列を生成する
。
。
反復計算部3ば、反復計算を行う。
積計算部4ば、係数行列と、反復計算部3から人力され
たベクトルデータとの積を計算する。このとき、ポイン
タ配列構成部1で構成されたポインタ配列を用いること
により、全てベクトル処理し、かつその最深ループのベ
クI・ル長が方程式の元数に等しくなるようにする。
たベクトルデータとの積を計算する。このとき、ポイン
タ配列構成部1で構成されたポインタ配列を用いること
により、全てベクトル処理し、かつその最深ループのベ
クI・ル長が方程式の元数に等しくなるようにする。
積計算部5は、行列分解部2で得られた近似行列の逆行
列と、反復計算部3から入力されたベクトルデータとの
積を計算する。このとき、超平面法と、ポインタ配列構
成部1で構成されたポインタ配列とを用いることにより
、全てベクトル処理し、かつその最深ループのベタ1−
ル長が超平面内の節点数に等しくなるようにする。
列と、反復計算部3から入力されたベクトルデータとの
積を計算する。このとき、超平面法と、ポインタ配列構
成部1で構成されたポインタ配列とを用いることにより
、全てベクトル処理し、かつその最深ループのベタ1−
ル長が超平面内の節点数に等しくなるようにする。
次に、本実施例の動作を説明するが、解くべき対称連立
一次方程式を Au=b とする。Aは対称な係数行列、Uは解ベクトル、bは右
辺ベクトルである。また人力データとして下三角行列部
分を与えるものとするが、下三角行列部分を入力データ
“としても全く同様である。
一次方程式を Au=b とする。Aは対称な係数行列、Uは解ベクトル、bは右
辺ベクトルである。また人力データとして下三角行列部
分を与えるものとするが、下三角行列部分を入力データ
“としても全く同様である。
第2図は、対称連立一次方程式の一例を示す。
係数行列へにおけるall〜a’8Bは0でない既知の
実数値、u1〜uI]は未知の実数値、b1〜bl+は
既知の実数値である。係数行列Aの空白部の値は0であ
る。u1〜u[lには本実施例により得られた解が代入
される。
実数値、u1〜uI]は未知の実数値、b1〜bl+は
既知の実数値である。係数行列Aの空白部の値は0であ
る。u1〜u[lには本実施例により得られた解が代入
される。
入力データ11は、方程式の係数行列Aの対角行列部分
と下三角行列部分および右辺ベクトルbからなる。
と下三角行列部分および右辺ベクトルbからなる。
第3図は、入力データ11の一例である。AAは係数行
列の下三角行列部分の非零要素値を格納するための2次
元実数型配列で、非零要素値を格納するのに十分な大き
さ(この場合8×4)でなければならない。JAはこの
2次元実数型配列AAに格納された非零要素の列番号を
格納するだめの2次元整数型配列で、へへと同じ大きさ
である。Bは方程式の右辺ベクトルを格納するための1
次元実数型配列で、大きさは方程式の元数(この場合8
)に等しい。ここで注意すべきは、係数行列Aの第1行
にある非零要素の値は実数型2次元配列面の第i行に格
納され、列番号は整数型2次元配列JΔの第i行に格納
されることである。また実数型2次元配列MAと整数型
2次元配列月の何も格納されていない空白部分にはOを
代入しておく。
列の下三角行列部分の非零要素値を格納するための2次
元実数型配列で、非零要素値を格納するのに十分な大き
さ(この場合8×4)でなければならない。JAはこの
2次元実数型配列AAに格納された非零要素の列番号を
格納するだめの2次元整数型配列で、へへと同じ大きさ
である。Bは方程式の右辺ベクトルを格納するための1
次元実数型配列で、大きさは方程式の元数(この場合8
)に等しい。ここで注意すべきは、係数行列Aの第1行
にある非零要素の値は実数型2次元配列面の第i行に格
納され、列番号は整数型2次元配列JΔの第i行に格納
されることである。また実数型2次元配列MAと整数型
2次元配列月の何も格納されていない空白部分にはOを
代入しておく。
このような入力データ11がポインタ配列構成部1に入
力されると、ポインタ配列構成部1では、係数行列Aの
下三角行列部分のデータより下三角行列部分のポインタ
配列12を構成する。
力されると、ポインタ配列構成部1では、係数行列Aの
下三角行列部分のデータより下三角行列部分のポインタ
配列12を構成する。
第4回は下三角行列部分のポインタ配列を構成する具体
的な手順を示している。まず記号を定義しておく。Nは
方程式の元数であり、また入力データ11における係数
行列を格納する2次元配列静JAの縦方向の長さ(本実
施例では8)、Mは2次元配列AA、 JΔの横方向の
長さ(本実施例でば4)である。JLは構成される下三
角行列部分のポインタ配列であり、大きさがNXMの2
次元整数型配列である(本実施例でば8×4)。この2
次元配列JLがポインタ配列構成部1の出力データ12
である。ILは2次元配列JLを構成するための作業用
の配列であり、大きさがNの1次元整数型配列である(
本実施例でば8)。ILは最終的には下三角行列部分の
各行の非零要素数が格納される。
的な手順を示している。まず記号を定義しておく。Nは
方程式の元数であり、また入力データ11における係数
行列を格納する2次元配列静JAの縦方向の長さ(本実
施例では8)、Mは2次元配列AA、 JΔの横方向の
長さ(本実施例でば4)である。JLは構成される下三
角行列部分のポインタ配列であり、大きさがNXMの2
次元整数型配列である(本実施例でば8×4)。この2
次元配列JLがポインタ配列構成部1の出力データ12
である。ILは2次元配列JLを構成するための作業用
の配列であり、大きさがNの1次元整数型配列である(
本実施例でば8)。ILは最終的には下三角行列部分の
各行の非零要素数が格納される。
最初に2次元整数型配列几と1次元整数型配列ILを確
保しOクリアする(ステップ41)。■を2次元配列録
の行方向のカウンタ、JJを列方向のカウンタとすると
、J=JA (1,JJ)より係数行列の上三角行列部
分の第■行JJ番目にある非零要素の列番号Jを得る(
ステップ42)。ここでJがOならば、元は空白部分で
非零要素は存在しなかったということであるから、次の
非零要素に進む(ステップ43でYES)。Jが正の値
ならば上三角行列部分の第■行第J列に非零要素が存在
しているということであるので、上三角行列部分の第3
行第1列にも非零要素が存在する。そこでIL(J)の
値をインクリメントしくステップ44)、JL (J、
IL (J) ) −(JJ −1) *N+ 1と
する(ステップ45)。この式は、上三角行列部分の第
J行IL(J)番目の非零要素(ずなわち第J行第■列
の非零要素)が係数行列Aの上三角行列部分を表す2次
元配列AA、 JAのどこに対応するかを1次元的にポ
イン1−シている。ずなわぢIJ−JA (J、 IL
(J) )とすると、この上三角行列部分の非零要素
の値はAA(IJ、1)であり、列番号はMOD(IJ
、 N)である(MODは剰余を求める関数)。
保しOクリアする(ステップ41)。■を2次元配列録
の行方向のカウンタ、JJを列方向のカウンタとすると
、J=JA (1,JJ)より係数行列の上三角行列部
分の第■行JJ番目にある非零要素の列番号Jを得る(
ステップ42)。ここでJがOならば、元は空白部分で
非零要素は存在しなかったということであるから、次の
非零要素に進む(ステップ43でYES)。Jが正の値
ならば上三角行列部分の第■行第J列に非零要素が存在
しているということであるので、上三角行列部分の第3
行第1列にも非零要素が存在する。そこでIL(J)の
値をインクリメントしくステップ44)、JL (J、
IL (J) ) −(JJ −1) *N+ 1と
する(ステップ45)。この式は、上三角行列部分の第
J行IL(J)番目の非零要素(ずなわち第J行第■列
の非零要素)が係数行列Aの上三角行列部分を表す2次
元配列AA、 JAのどこに対応するかを1次元的にポ
イン1−シている。ずなわぢIJ−JA (J、 IL
(J) )とすると、この上三角行列部分の非零要素
の値はAA(IJ、1)であり、列番号はMOD(IJ
、 N)である(MODは剰余を求める関数)。
これらの作業を第1行の全ての非零要素に対して行うた
め、カウンタJJを2からMまで動かす(ステップ42
〜ステツプ45の内側のループ)。その後、全ての行に
対して行うため、カウンタ■を1からNまで動かず(ス
テップ42〜ステツプ45の外側のループ)。
め、カウンタJJを2からMまで動かす(ステップ42
〜ステツプ45の内側のループ)。その後、全ての行に
対して行うため、カウンタ■を1からNまで動かず(ス
テップ42〜ステツプ45の外側のループ)。
上記作業により構成された2次元整数型配列几がポイン
タ配列構成部1の出力データ12である。
タ配列構成部1の出力データ12である。
第5図は本実施例における上記作業による2次元整数型
配列几の実際の出力である(第1図における上三角行列
部分のポインタ配列12)。
配列几の実際の出力である(第1図における上三角行列
部分のポインタ配列12)。
行列分解部2では、係数行列Aを近似行列(M)13に
分解する。
分解する。
反復計算部3では、反復計算を行い、最終的に解ベクト
ル18を出力する。
ル18を出力する。
積計算部4では、係数行列Aと反復計算部3から入力さ
れるベクトルデータ(x)14との積を計算し、その結
果得られるベクトルデータ(y=Aχ)15を反復計算
部3に出力する。
れるベクトルデータ(x)14との積を計算し、その結
果得られるベクトルデータ(y=Aχ)15を反復計算
部3に出力する。
第6図は積計算部4において係数行列とベクトルデータ
14との積を計算する具体的な手順を示している。まず
記号を定義しておく。Nは方程式の元数であり、また入
力データ11における係数行列を格納する2次元配列A
A、 JAの縦方向の長さ(本実施例では8)、Mは2
次元配列AA、 JAの横方向の長さ(本実施例では4
)である。JLはポインタ配列構成部1で構成される上
三角行列部分のポインタ配列12であり、大きさがNX
Mの2次元整数型配列である(本実施例では8×4)。
14との積を計算する具体的な手順を示している。まず
記号を定義しておく。Nは方程式の元数であり、また入
力データ11における係数行列を格納する2次元配列A
A、 JAの縦方向の長さ(本実施例では8)、Mは2
次元配列AA、 JAの横方向の長さ(本実施例では4
)である。JLはポインタ配列構成部1で構成される上
三角行列部分のポインタ配列12であり、大きさがNX
Mの2次元整数型配列である(本実施例では8×4)。
Xは反復計算部3からの入力データ14であり、大きさ
Nの1次元実数型配列である。Yは係数行列Aとベクト
ルデータXの積A*Xを格納するための大きさNの1次
元実数型配列である。この1次元配列Yが第1図におけ
る積計算部4の出力データ15である。
Nの1次元実数型配列である。Yは係数行列Aとベクト
ルデータXの積A*Xを格納するための大きさNの1次
元実数型配列である。この1次元配列Yが第1図におけ
る積計算部4の出力データ15である。
最初に1次元実数型配列Yの領域を確保しくステップ6
1)、係数行列の対角行列部分と入力データXの積を代
入する(ステップ62)。
1)、係数行列の対角行列部分と入力データXの積を代
入する(ステップ62)。
次に係数行列の上三角行列部分と入力データXの積を求
め、1次元配列Yに追加する。すなわち2次元配列AA
、 JAの行方向のカウンタ■と列方向のカウンタJJ
に対して、 Y (I) −Y (r) +へへ (1,J
J) *X (JA (L(ステップ63) とする。ここでAA(I、JJ)は係数行列の上三角行
列部分第1行JJ番目の非零要素値であり、JA(I、
JJ)はその列番号である。この計算を全ての行Iにつ
いて行うことにより2次元実数型配列員の第JJ列につ
いての計算がなされ(ステップ63の内側のループ)、
さらに全ての列の計算を行うためJJを2からMまで動
かず(ステップ63の外側のループ)。これら一連の作
業により上三角行列部分とベクトルデータの積が計算さ
れる。
め、1次元配列Yに追加する。すなわち2次元配列AA
、 JAの行方向のカウンタ■と列方向のカウンタJJ
に対して、 Y (I) −Y (r) +へへ (1,J
J) *X (JA (L(ステップ63) とする。ここでAA(I、JJ)は係数行列の上三角行
列部分第1行JJ番目の非零要素値であり、JA(I、
JJ)はその列番号である。この計算を全ての行Iにつ
いて行うことにより2次元実数型配列員の第JJ列につ
いての計算がなされ(ステップ63の内側のループ)、
さらに全ての列の計算を行うためJJを2からMまで動
かず(ステップ63の外側のループ)。これら一連の作
業により上三角行列部分とベクトルデータの積が計算さ
れる。
次に係数行列の上三角行列部分と入力データXの積を求
め1次元配列Yに追加する。すなわち2次元配列JLの
行方向のカウンタlと列方向のカウンタJJに対して、
上三角行列部分の第1行JJ番目の非零要素は入力デー
タ12であるポインタ配列JLJJ) ) (I、JJ)の値IJによって参照される(ステップ6
5)。つまりその非零要素は イ直 =へへ (IJ、I)列番号J=MO
D(IJ、 N) (ステップ66)である。ここで
MODは剰余を求める関数であり、したがってJのイ直
はIJをNで割ったあまりである。
め1次元配列Yに追加する。すなわち2次元配列JLの
行方向のカウンタlと列方向のカウンタJJに対して、
上三角行列部分の第1行JJ番目の非零要素は入力デー
タ12であるポインタ配列JLJJ) ) (I、JJ)の値IJによって参照される(ステップ6
5)。つまりその非零要素は イ直 =へへ (IJ、I)列番号J=MO
D(IJ、 N) (ステップ66)である。ここで
MODは剰余を求める関数であり、したがってJのイ直
はIJをNで割ったあまりである。
このことより、
Y (1) =Y (I) 十AA (IJ
、 1) *X (J)(ステップ67) とする。この計算を全ての行Iについて行うことにより
2次元実数型配列JLの第JJ列についての計算がなさ
れ(ステップ65〜ステツプ67の内側のループ)、さ
らに全ての列の計算を行うためJJを2からMまで動か
ず(ステップ65〜ステツプ67の外側のループ)。こ
れら一連の作業により下三角行列部分とへクトルデータ
の積が計算される。
、 1) *X (J)(ステップ67) とする。この計算を全ての行Iについて行うことにより
2次元実数型配列JLの第JJ列についての計算がなさ
れ(ステップ65〜ステツプ67の内側のループ)、さ
らに全ての列の計算を行うためJJを2からMまで動か
ず(ステップ65〜ステツプ67の外側のループ)。こ
れら一連の作業により下三角行列部分とへクトルデータ
の積が計算される。
上記作業により構成された1次元実数型閉列Yが積計算
部4の出力データ15である。
部4の出力データ15である。
積計算部5では、行列分解部2で得られた近似行列13
の逆行列(M−’)と反復計算部3がら入力されるベク
トルデータ(x’)16との積を計算し、その結果得ら
れるベクトルデータ(y’ =M−’x’ )IJを反
復計算部3に出力する。
の逆行列(M−’)と反復計算部3がら入力されるベク
トルデータ(x’)16との積を計算し、その結果得ら
れるベクトルデータ(y’ =M−’x’ )IJを反
復計算部3に出力する。
なお、積計算部5においても、超平面法(“ベクトル計
算機向きICCG法゛°、数理科学請求録、14(19
84) )を用いることにより、積計算部4で説明した
方法が適用でき、効率のよいベクトル処理が可能である
。
算機向きICCG法゛°、数理科学請求録、14(19
84) )を用いることにより、積計算部4で説明した
方法が適用でき、効率のよいベクトル処理が可能である
。
以上説明したようにこの発明は、入力データとして係数
行列の上三角行列部分または下三角行列部分と右辺ベク
トルを入力し、下三角行列部分または上三角行列部分は
入力しないので、利用者はその分手間が省け、必要とす
る記憶領域も少なくてすむ。また、係数行列とへクトル
データの積を計算する積計算部および近似行列の逆行列
とへクトルデータの積を計算する積計算部において、下
三角行列部分または上三角行列部分のポインタ配列を用
いることにより、全てベクトル処理が可能となりかつ最
深ループのベクトル長も長くとれる。
行列の上三角行列部分または下三角行列部分と右辺ベク
トルを入力し、下三角行列部分または上三角行列部分は
入力しないので、利用者はその分手間が省け、必要とす
る記憶領域も少なくてすむ。また、係数行列とへクトル
データの積を計算する積計算部および近似行列の逆行列
とへクトルデータの積を計算する積計算部において、下
三角行列部分または上三角行列部分のポインタ配列を用
いることにより、全てベクトル処理が可能となりかつ最
深ループのベクトル長も長くとれる。
これにまりへりトル処理計算機上で高速な処理が可能と
なる。
なる。
第1図は本発明の一実施例のブロック図、第2図はこの
実施例で扱う方程式を示す図、第3図はこの実施例で入
力するデータの構成図、第4図は下三角行列部分のポイ
ンタ配列を構成する手順のフローチャート、 第5図はこの実施例における下三角行列部分のポインタ
配列の出力図、 第6図は係数行列とベクトルデータの積を計算する手順
のフローチャート、 第7図は従来例を説明するためのブロック図、第8図は
他の従来例を説明するためのブロック図である。 1・・・・・ポインタ配列構成部 2・・・・・行列分解部 3・・・・・反復計算部 4.5・・・積計算部 11・・・・・入力データ(係数行列A、右辺12・ 13・ 14・ 15・ 16・ 17・ 18・ ベクトルb) 下三角行列部分のポインタ配列几 係数行列Aの近似行列M ベクトルX ベクトルy (−Ax) ベクトルX′ ベタ1−ルy’ (=M−’x’ )出力データ(解
ベクトルU)
実施例で扱う方程式を示す図、第3図はこの実施例で入
力するデータの構成図、第4図は下三角行列部分のポイ
ンタ配列を構成する手順のフローチャート、 第5図はこの実施例における下三角行列部分のポインタ
配列の出力図、 第6図は係数行列とベクトルデータの積を計算する手順
のフローチャート、 第7図は従来例を説明するためのブロック図、第8図は
他の従来例を説明するためのブロック図である。 1・・・・・ポインタ配列構成部 2・・・・・行列分解部 3・・・・・反復計算部 4.5・・・積計算部 11・・・・・入力データ(係数行列A、右辺12・ 13・ 14・ 15・ 16・ 17・ 18・ ベクトルb) 下三角行列部分のポインタ配列几 係数行列Aの近似行列M ベクトルX ベクトルy (−Ax) ベクトルX′ ベタ1−ルy’ (=M−’x’ )出力データ(解
ベクトルU)
Claims (2)
- (1)対称連立一次方程式の係数行列の対角行列部分と
上三角行列部分または下三角行列部分、および右辺ベク
トルを入力データとし、係数行列から近似行列を生成す
る第1の手段と、反復計算を行う第2の手段と、係数行
列と前記第2の手段から入力されたベクトルデータとの
積を計算する第3の手段と、前記第1の手段で得られた
近似行列の逆行列と前記第2の手段から入力されたベク
トルデータとの積を計算する第4の手段とを有し、前記
方程式の解を出力する対称連立一次方程式の求解方式に
おいて、 係数行列の対称性により、入力された上三角行列部分ま
たは下三角行列部分のどちらか一方から、他方の下三角
行列部分または上三角行列部分を指し示すポインタ配列
を構成する第5の手段を有し、前記第1〜第4の手段は
、前記上三角行列部分または下三角行列部分のどちらか
一方のみを必要とし、 前記第3の手段において、前記第5の手段で構成された
ポインタ配列を用いることにより、全てベクトル処理し
、かつその最深ループのベクトル長が前記方程式の元数
に等しいことを特徴とする対称連立一次方程式の求解方
式。 - (2)請求項1記載の対称連立一次方程式の求解方式に
おいて、 前記第4の手段において、超平面法と前記第5の手段で
構成されたポインタ配列とを用いることにより、全てベ
クトル処理し、かつその最深ループのベクトル長が超平
面内の節点数に等しいことを特徴とする対称連立一次方
程式の求解方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2151664A JPH0444165A (ja) | 1990-06-12 | 1990-06-12 | 対称連立一次方程式の求解方式 |
EP19910109544 EP0461608A3 (en) | 1990-06-12 | 1991-06-11 | Device for rapidly solving a symmetric linear system on a supercomputer |
CA002044313A CA2044313C (en) | 1990-06-12 | 1991-06-11 | Device for rapidly solving a symmetric linear system on a supercomputer |
US07/712,890 US5200915A (en) | 1990-06-12 | 1991-06-12 | Device for rapidly solving a symmetric linear system on a supercomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2151664A JPH0444165A (ja) | 1990-06-12 | 1990-06-12 | 対称連立一次方程式の求解方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0444165A true JPH0444165A (ja) | 1992-02-13 |
Family
ID=15523532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2151664A Pending JPH0444165A (ja) | 1990-06-12 | 1990-06-12 | 対称連立一次方程式の求解方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5200915A (ja) |
EP (1) | EP0461608A3 (ja) |
JP (1) | JPH0444165A (ja) |
CA (1) | CA2044313C (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100447294B1 (ko) * | 2000-02-29 | 2004-09-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 임의 벡터 어드레싱을 이용한 벡터 레지스터 파일 |
KR100603124B1 (ko) * | 2003-11-18 | 2006-07-20 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로세서 및 매트릭스 데이터 처리 방법 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5651077A (en) * | 1993-12-21 | 1997-07-22 | Hewlett-Packard Company | Automatic threshold determination for a digital scanner |
JP3639323B2 (ja) * | 1994-03-31 | 2005-04-20 | 富士通株式会社 | メモリ分散型並列計算機による連立1次方程式計算処理方法および計算機 |
US5845126A (en) * | 1995-12-06 | 1998-12-01 | International Business Machines Corporation | Method of, system for, and computer program product for providing inlined nested array constructors using normalized counters |
DE19827238B4 (de) * | 1998-06-18 | 2004-09-30 | Nec Corp. | Verfahren zum Betrieb eines Vektorrechners |
US6397236B1 (en) * | 1999-05-21 | 2002-05-28 | Sun Microsystems, Inc. | Hybrid technique for performing a column modification operation in a sparse symmetric direct matrix solver |
US6470368B1 (en) * | 1999-05-21 | 2002-10-22 | Sun Microsystems, Inc. | Using tiling to improve performance in a sparse symmetric direct matrix solver |
US7337437B2 (en) * | 1999-12-01 | 2008-02-26 | International Business Machines Corporation | Compiler optimisation of source code by determination and utilization of the equivalence of algebraic expressions in the source code |
US7308559B2 (en) * | 2000-02-29 | 2007-12-11 | International Business Machines Corporation | Digital signal processor with cascaded SIMD organization |
US8176108B2 (en) * | 2000-06-20 | 2012-05-08 | International Business Machines Corporation | Method, apparatus and computer program product for network design and analysis |
US7043510B1 (en) * | 2000-06-20 | 2006-05-09 | International Business Machines Corporation | Determining the equivalence of two sets of simultaneous linear algebraic equations |
US6694343B2 (en) * | 2001-02-08 | 2004-02-17 | International Business Machines Corporation | Method for solving a large sparse triangular system of linear equations |
US6970896B2 (en) | 2001-08-08 | 2005-11-29 | Octasic Inc. | Method and apparatus for generating a set of filter coefficients |
US6999509B2 (en) * | 2001-08-08 | 2006-02-14 | Octasic Inc. | Method and apparatus for generating a set of filter coefficients for a time updated adaptive filter |
US6965640B2 (en) * | 2001-08-08 | 2005-11-15 | Octasic Inc. | Method and apparatus for generating a set of filter coefficients providing adaptive noise reduction |
US6957240B2 (en) * | 2001-08-08 | 2005-10-18 | Octasic Inc. | Method and apparatus for providing an error characterization estimate of an impulse response derived using least squares |
US7171544B2 (en) * | 2003-12-15 | 2007-01-30 | International Business Machines Corporation | Run-time parallelization of loops in computer programs by access patterns |
US8249871B2 (en) * | 2005-11-18 | 2012-08-21 | Microsoft Corporation | Word clustering for input data |
US8204925B2 (en) * | 2008-05-22 | 2012-06-19 | National Instruments Corporation | Controlling or analyzing a process by solving a system of linear equations in real-time |
US10191744B2 (en) * | 2016-07-01 | 2019-01-29 | Intel Corporation | Apparatuses, methods, and systems for element sorting of vectors |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63127366A (ja) * | 1986-11-17 | 1988-05-31 | Nec Corp | 連立一次方程式解析装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3621209A (en) * | 1969-12-15 | 1971-11-16 | Bell Telephone Labor Inc | Machine-implemented process for insuring the numerical stability of gaussian elimination |
-
1990
- 1990-06-12 JP JP2151664A patent/JPH0444165A/ja active Pending
-
1991
- 1991-06-11 EP EP19910109544 patent/EP0461608A3/en not_active Withdrawn
- 1991-06-11 CA CA002044313A patent/CA2044313C/en not_active Expired - Fee Related
- 1991-06-12 US US07/712,890 patent/US5200915A/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63127366A (ja) * | 1986-11-17 | 1988-05-31 | Nec Corp | 連立一次方程式解析装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100447294B1 (ko) * | 2000-02-29 | 2004-09-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 임의 벡터 어드레싱을 이용한 벡터 레지스터 파일 |
KR100603124B1 (ko) * | 2003-11-18 | 2006-07-20 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로세서 및 매트릭스 데이터 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
CA2044313A1 (en) | 1991-12-13 |
CA2044313C (en) | 1994-03-22 |
EP0461608A3 (en) | 1994-05-18 |
US5200915A (en) | 1993-04-06 |
EP0461608A2 (en) | 1991-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0444165A (ja) | 対称連立一次方程式の求解方式 | |
Benamou et al. | Iterative Bregman projections for regularized transportation problems | |
Rihan et al. | Fractional-order delayed predator–prey systems with Holling type-II functional response | |
Breitkopf et al. | Explicit form and efficient computation of MLS shape functions and their derivatives | |
Forrester et al. | Raney distributions and random matrix theory | |
Bos et al. | Geometric weakly admissible meshes, discrete least squares approximations and approximate Fekete points | |
Greengard et al. | A new version of the fast Gauss transform | |
Lee et al. | Fundamental tensor operations for large-scale data analysis in tensor train formats | |
Gyllenberg et al. | A 3D competitive Lotka–Volterra system with three limit cycles: A falsification of a conjecture by Hofbauer and So | |
Cheng et al. | Nonlinear optimization, quadrature, and interpolation | |
Jia et al. | Paradeisos: a perfect hashing algorithm for many-body eigenvalue problems | |
Abd-Elhameed et al. | Linearization formulae for certain Jacobi polynomials | |
Gözükırmızı et al. | Probabilistic evolution approach for the solution of explicit autonomous ordinary differential equations. Part 1: Arbitrariness and equipartition theorem in Kronecker power series | |
Herranz et al. | Casimir invariants for the complete family of quasisimple orthogonal algebras | |
Li et al. | Mean-field reflected backward stochastic differential equations | |
Tausch | Fast Nyström methods for parabolic boundary integral equations | |
Ben-Israel | Generalized inverses of matrices: a perspective of the work of Penrose | |
US7334008B2 (en) | Quantum gate for carrying out a grover's quantum algorithm and a relative method of performing the interference operation of a grover's quantum algorithm | |
Antil et al. | State-constrained optimization problems under uncertainty: A tensor train approach | |
Martinsson | The hierarchical Poincaré-Steklov (HPS) solver for elliptic PDEs: A tutorial | |
Foo et al. | Corner edge cutting and Dixon A-resultant quotients | |
Titi | Matrix methods for the tensorial and simplicial Bernstein forms with application to global optimization | |
Suzuki et al. | ElasticSpace: A computational framework for interactive form-finding of textile hybrid structures through evolving topology networks | |
Cieśliński | Locally exact modifications of discrete gradient schemes | |
Gibbons et al. | Recursive strategy for decomposing Betti tables of complete intersections |