JPS60247782A - スパ−ス行列演算処理方式 - Google Patents
スパ−ス行列演算処理方式Info
- Publication number
- JPS60247782A JPS60247782A JP10398384A JP10398384A JPS60247782A JP S60247782 A JPS60247782 A JP S60247782A JP 10398384 A JP10398384 A JP 10398384A JP 10398384 A JP10398384 A JP 10398384A JP S60247782 A JPS60247782 A JP S60247782A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- block
- zero
- fill
- zero element
- 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
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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機システムにおける疎行列すなわちスパー
ス行列の効率的な演算処理方式に関する。
ス行列の効率的な演算処理方式に関する。
一般に科学技術などの分野では、計算機システムを用い
た行列演算がしばしば行われる。しかし、行列の元数が
多くなるにつれ行列が演算速度や記憶容量の点でかなり
の困難を生しているのが現状である。
た行列演算がしばしば行われる。しかし、行列の元数が
多くなるにつれ行列が演算速度や記憶容量の点でかなり
の困難を生しているのが現状である。
このため行列演算では、処理の高速化および効率化を図
るために種々の工夫がなされている。特に建造物の構造
計算や回路網計算などのように次元数が多(とも大部分
の行列要素が零であるという特性をもつスパース行列に
ついては、多数の零要素に対する無駄なメモリ記41と
、零に対する乗算および加算の無駄な行列演算を避ける
ため、特別なスパース行列処理技法がとられている。
るために種々の工夫がなされている。特に建造物の構造
計算や回路網計算などのように次元数が多(とも大部分
の行列要素が零であるという特性をもつスパース行列に
ついては、多数の零要素に対する無駄なメモリ記41と
、零に対する乗算および加算の無駄な行列演算を避ける
ため、特別なスパース行列処理技法がとられている。
このスパース行列処理技法ば、たとえばニュートン近似
法に基づいたスパース行列の反復求解処理の場合に、与
えられたスパース行列に対して前準備として行列を解く
手順を非数値的にシミコ、レートし、必要な行列演算の
みを行う特別なプログラムを作り出し、行列求解の繰り
返しごとに行動要素値のみを更新するようにして、高速
での行列反復求解を可能にするものである。
法に基づいたスパース行列の反復求解処理の場合に、与
えられたスパース行列に対して前準備として行列を解く
手順を非数値的にシミコ、レートし、必要な行列演算の
みを行う特別なプログラムを作り出し、行列求解の繰り
返しごとに行動要素値のみを更新するようにして、高速
での行列反復求解を可能にするものである。
上記した従来のスパース行列処理技法は、比較的大規模
な行列たとえば数100次元以上の行列については前準
備に要するオーバーヘッドが全体の処理時間に対して占
める比率がそれほど大きくならず有効であるが、中小規
模の行列についてはオーバーヘッドの方が大きくなり、
存効性が低下するという問題点があった。
な行列たとえば数100次元以上の行列については前準
備に要するオーバーヘッドが全体の処理時間に対して占
める比率がそれほど大きくならず有効であるが、中小規
模の行列についてはオーバーヘッドの方が大きくなり、
存効性が低下するという問題点があった。
本発明は、中小規模のスパース行列に対してオーバーヘ
ッドの少ない効率的な演算処理手段を提供するものであ
って、従来方式のように行列ごとにそれを演算するため
の特別なプログラムを作り出すことをせず、その代わり
前処理でスパース行列の演算過程で現れる全ての非零要
素位置を検出してビットマツプを作成し、このビットマ
ツプが示す行列要素位置のみを計算して無駄のない反復
行列求解を行うものである。そして、その構成は、構造
不変のスパース行列の行列要素値を変えて反復求解する
処理システムにおいて、与えられた行列の行列構造に基
づいて予め解手続きを実行して、行列内の零要素値が非
零要素値に変化するところのフィルイン位置を検出する
前処理手段と、上記与えられた行列の非零要素位置と上
記フィルイン位置とを併せて、残りの零要素位置から識
別可能にする非零要素位置記憶手段と、行列反復求解手
段とをそなえ、該行列反復求解手段は非零要素位置記憶
手段の内容によって指示される行列の非零要素およびフ
ィルイン要素位置のみを計算対象として行列の反復求解
処理を実行することを特徴としている。
ッドの少ない効率的な演算処理手段を提供するものであ
って、従来方式のように行列ごとにそれを演算するため
の特別なプログラムを作り出すことをせず、その代わり
前処理でスパース行列の演算過程で現れる全ての非零要
素位置を検出してビットマツプを作成し、このビットマ
ツプが示す行列要素位置のみを計算して無駄のない反復
行列求解を行うものである。そして、その構成は、構造
不変のスパース行列の行列要素値を変えて反復求解する
処理システムにおいて、与えられた行列の行列構造に基
づいて予め解手続きを実行して、行列内の零要素値が非
零要素値に変化するところのフィルイン位置を検出する
前処理手段と、上記与えられた行列の非零要素位置と上
記フィルイン位置とを併せて、残りの零要素位置から識
別可能にする非零要素位置記憶手段と、行列反復求解手
段とをそなえ、該行列反復求解手段は非零要素位置記憶
手段の内容によって指示される行列の非零要素およびフ
ィルイン要素位置のみを計算対象として行列の反復求解
処理を実行することを特徴としている。
以下に、本発明の詳細を実施例にしたがって説明する。
第1図は、本発明の1実施例の構成図であり、1は主処
理部、2は行列演算部、3は前処理ブロック、4は非零
要素位置記憶ブロック、5は行列反復求解ブロックを表
す。
理部、2は行列演算部、3は前処理ブロック、4は非零
要素位置記憶ブロック、5は行列反復求解ブロックを表
す。
動作において、主処理部1は処理を依頼されたスパース
行列について、その次元数および非零の−行列要素ai
jなどの行列データを、行列演算部2の前処理ブロック
3へ供給する。
行列について、その次元数および非零の−行列要素ai
jなどの行列データを、行列演算部2の前処理ブロック
3へ供給する。
前処理ブロック3ば、行列反復求解ブロック5で実行さ
れる行列演算法(本実施例ではLU分解法)を適用して
、行列演算過程をたどり、与えられた行列内の零要素で
あって演算過程中に非零要素に変化する位置、すなわち
いわゆるフィルイン(充填)位置を検出する。
れる行列演算法(本実施例ではLU分解法)を適用して
、行列演算過程をたどり、与えられた行列内の零要素で
あって演算過程中に非零要素に変化する位置、すなわち
いわゆるフィルイン(充填)位置を検出する。
本実施例の行列演算で用いるLU分解法は、任意の行列
Aを右上がすべて零要素の左下3角行列I、と左下がす
べて零要素の右上3角行列Uに分解して解くもので、行
列A=L−U、すなわちと表す。したがって、次の行列
方程式 %式%(2) とおいて、前進代入によりL−y=bをyについて解く
ことができる。次に後退代入により、U・x=yをXに
ついて解けばよい。
Aを右上がすべて零要素の左下3角行列I、と左下がす
べて零要素の右上3角行列Uに分解して解くもので、行
列A=L−U、すなわちと表す。したがって、次の行列
方程式 %式%(2) とおいて、前進代入によりL−y=bをyについて解く
ことができる。次に後退代入により、U・x=yをXに
ついて解けばよい。
ところで、上記の演算において、行列Aを分解して左下
3角行列りと右上3角行列Uを作ったとき、八〇ある零
要素位置が、LあるいはUにおいてはフィルインされて
非零要素位置と変化している場合がある。したがって行
列演算は、行列Aの非零要素位置に、行列り、Uにおけ
るフィルイン位置を加えたものを対象に行えば十分であ
り、残りの零要素位置は行列演算時に無視することがで
きる。
3角行列りと右上3角行列Uを作ったとき、八〇ある零
要素位置が、LあるいはUにおいてはフィルインされて
非零要素位置と変化している場合がある。したがって行
列演算は、行列Aの非零要素位置に、行列り、Uにおけ
るフィルイン位置を加えたものを対象に行えば十分であ
り、残りの零要素位置は行列演算時に無視することがで
きる。
フィルインが生じる条件は次の通りである。行列りの要
素をuij、行列Uの要素を1.4とすると、既知の式 %式%(5) (6) で与えられる。これらの(51,(61式において、!
、1u0≠Oとなる組合わせが1つでもあれば、そのと
きのuoあるいは1.Jがフィルイン要素となる。
素をuij、行列Uの要素を1.4とすると、既知の式 %式%(5) (6) で与えられる。これらの(51,(61式において、!
、1u0≠Oとなる組合わせが1つでもあれば、そのと
きのuoあるいは1.Jがフィルイン要素となる。
たとえば、次のLU分解例において、行列りの要素β4
□はフィルイン要素である。
□はフィルイン要素である。
第1図の非零要素位置記憶ブロック4は、解くべき行列
と同じ構造のビットマツプ形式で、与えられた行列の非
零要素およびフィルイン要素の位置をフラグ表示する。
と同じ構造のビットマツプ形式で、与えられた行列の非
零要素およびフィルイン要素の位置をフラグ表示する。
次に(7)式に対応するヒントフラグの例を示す。
左側が前処理前の状態、右側が前処理後の状態、すなわ
ちフィルインを含むものを表している。 (フィルイン
は○で囲んで示されている)。
ちフィルインを含むものを表している。 (フィルイン
は○で囲んで示されている)。
行列反復求解ブロック5は、入力要素値aijと非零要
求位置記憶ブロック4のビットマツプにしたがって、ヒ
ントフラグが“1”の位置についてだけ次の演算を行い
、ビットフラグが” o ”の位置は無視する。
求位置記憶ブロック4のビットマツプにしたがって、ヒ
ントフラグが“1”の位置についてだけ次の演算を行い
、ビットフラグが” o ”の位置は無視する。
E 1j=aij−Σ*1kukj (i≧jのとき)
・・・α0)演算結果は、行列反復求解ブロック5から
主処理部1へ送られ、主処理部1は、収束条件にしたが
って演算結果を判定し、不十分であれば要素値aijを
更新して行列反復求解ブロック5へ供給しくaij’
) 、同じビットマツプを用いて行列演算を反復させる
。他方、演算結果が収束条件を満足すれば処理を終了し
、結果を出力する。
・・・α0)演算結果は、行列反復求解ブロック5から
主処理部1へ送られ、主処理部1は、収束条件にしたが
って演算結果を判定し、不十分であれば要素値aijを
更新して行列反復求解ブロック5へ供給しくaij’
) 、同じビットマツプを用いて行列演算を反復させる
。他方、演算結果が収束条件を満足すれば処理を終了し
、結果を出力する。
第2図は、上述した主処理部1と行列演算部2の処理動
作をフロー図で示したものである。
作をフロー図で示したものである。
以上のように、行列の反復求解において、各回の行列演
算で計算する行列要素位置は、前処理で作成した要素お
よびビットマツプで共通指示されるために、無駄な計算
をする必要がなく、高速かつ効率的に処理を行うことが
できる。
算で計算する行列要素位置は、前処理で作成した要素お
よびビットマツプで共通指示されるために、無駄な計算
をする必要がなく、高速かつ効率的に処理を行うことが
できる。
第1図は本発明の1実施例システムの構成図、第2図は
その処理フロー図である。 図中、1は主処理部、2は行列演算部、3は前処理ブロ
ック、4は非零要素位置記憶ブロック、5は行列反復求
解ブロックを表す。 特許出願人 富士通株式会社
その処理フロー図である。 図中、1は主処理部、2は行列演算部、3は前処理ブロ
ック、4は非零要素位置記憶ブロック、5は行列反復求
解ブロックを表す。 特許出願人 富士通株式会社
Claims (1)
- 構造不変のスパース行列の行列要素値を変えて反復求解
する処理システムにおいて、与えられた行列の行列構造
に基づいて予め解手続きを実行して、行列内の零要素値
が非零要素値に変化するところのフィルイン位置を検出
する前処理手段と、上記与えられた行列の非零要素位置
と上記フィルイン位置とを併せて、残りの零要素位置か
ら識別可能にする非零要素位置記憶手段と、行列反復求
解手段とをそなえ、該行列反復求解手段は非零要素位置
記憶手段の内容によって指示される行列の非零要素およ
びフィルイン要素位置のみを計算対象として行列の反復
求解処理を実行することを特徴とするスパース行列演算
処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10398384A JPS60247782A (ja) | 1984-05-23 | 1984-05-23 | スパ−ス行列演算処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10398384A JPS60247782A (ja) | 1984-05-23 | 1984-05-23 | スパ−ス行列演算処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60247782A true JPS60247782A (ja) | 1985-12-07 |
Family
ID=14368544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10398384A Pending JPS60247782A (ja) | 1984-05-23 | 1984-05-23 | スパ−ス行列演算処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60247782A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62248065A (ja) * | 1986-04-22 | 1987-10-29 | Fujitsu Ltd | スパ−ス行列の連立方程式の解法方式 |
JPH0495468A (ja) * | 1990-08-10 | 1992-03-27 | Fujitsu Ltd | 画像データ復元方法及び装置 |
WO1999017551A1 (de) * | 1997-09-29 | 1999-04-08 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zur speicherung von mindestens einem digitalen bild |
GB2476800A (en) * | 2010-01-07 | 2011-07-13 | Linear Algebra Technologies Ltd | Sparse matrix vector multiplier using a bit map of non-zero elements to control scheduling of arithmetic operations |
-
1984
- 1984-05-23 JP JP10398384A patent/JPS60247782A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62248065A (ja) * | 1986-04-22 | 1987-10-29 | Fujitsu Ltd | スパ−ス行列の連立方程式の解法方式 |
JPH0495468A (ja) * | 1990-08-10 | 1992-03-27 | Fujitsu Ltd | 画像データ復元方法及び装置 |
WO1999017551A1 (de) * | 1997-09-29 | 1999-04-08 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zur speicherung von mindestens einem digitalen bild |
GB2476800A (en) * | 2010-01-07 | 2011-07-13 | Linear Algebra Technologies Ltd | Sparse matrix vector multiplier using a bit map of non-zero elements to control scheduling of arithmetic operations |
WO2011083152A1 (en) | 2010-01-07 | 2011-07-14 | Linear Algebra Technologies Limited | Hardware for performing arithmetic operations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mangasarian | Linear and nonlinear separation of patterns by linear programming | |
EP2755127B1 (en) | Composite finite field multiplier | |
Gear | Differential-algebraic equations | |
CN111652330A (zh) | 图像处理方法、装置、系统、电子设备及可读存储介质 | |
JPS60247782A (ja) | スパ−ス行列演算処理方式 | |
Kumar et al. | A NEW FORM OF L1-PREDICTOR–CORRECTOR SCHEME TO SOLVE MULTIPLE DELAY-TYPE FRACTIONAL ORDER SYSTEMS WITH THE EXAMPLE OF A NEURAL NETWORK MODEL | |
Hesselager | A recursive procedure for calculation of some compound distributions | |
Steger | Coefficient matrices for implicit finite difference solution of the inviscid fluid conservation law equations | |
McKay et al. | Asymptotic enumeration of linear hypergraphs with given number of vertices and edges | |
CN113032722B (zh) | 一种电路仿真中减少矩阵分解的方法 | |
Taylor | Solution of linear equations by a profile solver | |
JP2919336B2 (ja) | 電力系統計算装置 | |
Dubois et al. | Morphogenesis by diffusive chaos in epidemiological systems | |
CN111314231A (zh) | 一种基于事件驱动的复杂网络平衡点控制的方法 | |
JPH1196207A (ja) | データ圧縮・復元方法、データ管理方法、データ転送方法、シミュレーション方法、データ圧縮・復元システム、及びデータ圧縮・復元プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
Hsu et al. | Reduction of large-scale systems via generalized gramians | |
Malice et al. | On the general epidemic model in discrete time | |
JP3057797B2 (ja) | ファジィ演算装置 | |
JP2889244B2 (ja) | 画像処理装置 | |
Comfort | Evaluation of multipole integrals and the exponent range problem | |
JP2670088B2 (ja) | 設計支援装置及び設計支援方法 | |
JP3300388B2 (ja) | 並列プロセス生成方法 | |
JP2924518B2 (ja) | レイアウトのコンパクション処理方法 | |
US5948048A (en) | Systems, methods and program products for representing a binary word as two binary words having fewer binary ones | |
EP0229694B1 (en) | Vector graphics generator set-up |