[go: up one dir, main page]

JP2006048637A - Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method - Google Patents

Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method Download PDF

Info

Publication number
JP2006048637A
JP2006048637A JP2005105221A JP2005105221A JP2006048637A JP 2006048637 A JP2006048637 A JP 2006048637A JP 2005105221 A JP2005105221 A JP 2005105221A JP 2005105221 A JP2005105221 A JP 2005105221A JP 2006048637 A JP2006048637 A JP 2006048637A
Authority
JP
Japan
Prior art keywords
block
matrix
vector
divided
tridiagonal
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.)
Withdrawn
Application number
JP2005105221A
Other languages
Japanese (ja)
Inventor
Tsuneyuki Hiramoto
経幸 平本
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005105221A priority Critical patent/JP2006048637A/en
Publication of JP2006048637A publication Critical patent/JP2006048637A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】解析者が一定の手順を踏むだけで、一般の多重対角行列を係数行列とする巨大なサイズの連立一次方程式を高速で解くことができるようにする。
【解決手段】ブロック3重対角行列を係数行列として有する連立一次方程式を入力し(S100)、このブロック3重対角行列に基づいて生成されたブロック3重対角行列表記式を、4行4列のブロック正方行列を単位として、このブロック正方行列のサイズから決定される分割の回数の上限値まで分割・圧縮のプロセスを再帰的に繰り返す(S150〜S200)。そして、これらのプロセスを逆に辿ることによって連立一次方程式の解を求める(S210〜S240)。その際、このブロック正方行列の逆行列を所定の代数関係式を用いて計算させる(S140)。
【選択図】図2
The present invention makes it possible to solve a large-size simultaneous linear equation having a general multi-diagonal matrix as a coefficient matrix at a high speed only by an analyst following a certain procedure.
A simultaneous linear equation having a block tridiagonal matrix as a coefficient matrix is input (S100), and a block tridiagonal matrix expression generated based on the block tridiagonal matrix is input into four rows. Using the block square matrix of 4 columns as a unit, the division / compression process is recursively repeated up to the upper limit of the number of divisions determined from the size of this block square matrix (S150 to S200). And the solution of simultaneous linear equations is calculated | required by tracing these processes reversely (S210-S240). At this time, an inverse matrix of the block square matrix is calculated using a predetermined algebraic relational expression (S140).
[Selection] Figure 2

Description

本発明は、連立一次方程式の計算プログラム、連立一次方程式の計算装置、及び連立一
次方程式の求解方法に関し、特にコンピュータを用いて一般的な多重対角行列を係数行列
とする連立一次方程式を直接法によって高速で解くための連立一次方程式の計算プログラ
ム、連立一次方程式の計算装置、及び連立一次方程式の求解方法に関する。
The present invention relates to a calculation program for simultaneous linear equations, a calculation apparatus for simultaneous linear equations, and a method for solving simultaneous linear equations, and more particularly to a method for directly calculating simultaneous linear equations having a general multi-diagonal matrix as a coefficient matrix using a computer. The present invention relates to a simultaneous linear equation calculation program, a simultaneous linear equation calculator, and a simultaneous linear equation solving method.

数理モデルの解析を通して自然現象のダイナミクスを調べることは、制御性の高い工学
システムを構築する上で重要である。通常、自然現象のダイナミクスは微分方程式や差分
方程式等の数理モデルによって記述されるが、これらの数理モデルは、ごく典型的な場合
を除いて、一般には解析的に解くことができない。
Examining the dynamics of natural phenomena through analysis of mathematical models is important for building highly controllable engineering systems. Normally, the dynamics of natural phenomena are described by mathematical models such as differential equations and difference equations, but these mathematical models cannot generally be solved analytically except in very typical cases.

したがって、数理モデルの解析にあたっては、計算装置(コンピュータ)を用いて数値
解を求めることが必須となる。このとき、計算装置では、微分方程式を差分法、有限要素
法、境界要素法、有限体積法などを用いて離散化した離散化方程式が数値処理されること
になる。数理モデルが最初から差分方程式で与えられる場合には、その差分方程式が計算
機の直接の計算対象となる。
Therefore, in the analysis of the mathematical model, it is essential to obtain a numerical solution using a calculation device (computer). At this time, in the calculation apparatus, a discretized equation obtained by discretizing the differential equation using a difference method, a finite element method, a boundary element method, a finite volume method, or the like is numerically processed. When the mathematical model is given as a difference equation from the beginning, the difference equation becomes a direct calculation target of the computer.

離散化方程式は、通常、求めるべき未知数(すなわち離散化された変数)をベクトル表
記した未知数ベクトルと、それに対応する既知の数値から成る既知数ベクトルとを用いて
、「係数行列×未知数ベクトル=既知数ベクトル」という形式で連立一次方程式として行
列表記される。なお、簡単のため、以降において、連立一次方程式を行列表記した際の係
数行列のことを、単に、連立一次方程式の係数行列と称することにする。
The discretization equation usually uses an unknown vector in which the unknown to be obtained (that is, a discretized variable) is expressed in vector and a known vector corresponding to the known numerical value, and “coefficient matrix × unknown vector = known. It is expressed in matrix form as simultaneous linear equations in the form of “number vector”. For the sake of simplicity, hereinafter, the coefficient matrix when the simultaneous linear equations are expressed in matrix will be simply referred to as the coefficient matrix of the simultaneous linear equations.

計算装置を用いて離散化方程式の数値解を求める方法の一つに直接法がある。直接法と
は、上述したように離散化方程式を連立一次方程式と見なすことによって、この連立一次
方程式をLU分解法やガウスの消去法などの代数的なアルゴリズムを用いて計算すること
によって未知数ベクトルを直接求める方法である。この方法を用いれば、丸め誤差以外の
計算誤差は理論上排除されるため、高い精度の数値解を得ることが可能となるが、その反
面、係数行列のサイズが巨大なとき(すなわち係数行列の要素数が非常に多いとき)には
、上記の代数的なアルゴリズムを用いて計算させるにあたり大容量のメモリを必要とする
上、非常に長い計算時間を要することになる。
There is a direct method as one of methods for obtaining a numerical solution of a discretized equation using a computer. The direct method, as described above, considers the discretized equation as a simultaneous linear equation, and calculates the unknown vector by calculating this simultaneous linear equation using an algebraic algorithm such as the LU decomposition method or the Gaussian elimination method. This is a direct method. If this method is used, calculation errors other than rounding errors are theoretically eliminated, so it is possible to obtain a highly accurate numerical solution. However, when the size of the coefficient matrix is large (that is, the elements of the coefficient matrix). When the number is very large), a large amount of memory is required for calculation using the algebraic algorithm described above, and a very long calculation time is required.

このような問題を解決するために、特許文献1には、直接法を用いて巨大なサイズの3
重対角行列を係数行列とする連立一次方程式を高速で数値計算するための解法プロセスに
基づく計算プログラムが開示されている。また、非特許文献1,2には、この解法プロセ
スの数理的側面の詳細が開示されている。
In order to solve such a problem, Patent Document 1 discloses a large size 3
A calculation program based on a solution process for numerically calculating simultaneous linear equations having a multi-diagonal matrix as a coefficient matrix at high speed is disclosed. Non-Patent Documents 1 and 2 disclose details of mathematical aspects of this solution process.

特許文献1に記載された解法プロセスを要約すると次のようになる(図3および図7を
参照)。
The solution process described in Patent Document 1 is summarized as follows (see FIGS. 3 and 7).

・ステップ1:解析者によって入力された微分方程式、初期条件、境界条件を離散化し
て得られる連立一次方程式を「係数行列×未知数ベクトル=既知数ベクトル」という形式
に行列表記する。特許文献1には、この係数行列としてスカラー3重対角行列の場合が例
示されている。スカラー3重対角行列とは、すべての成分がスカラーである3重対角行列
のことを言う。
Step 1: A simultaneous linear equation obtained by discretizing a differential equation, an initial condition, and a boundary condition input by an analyst is expressed in a matrix format of “coefficient matrix × unknown number vector = known number vector”. Patent Document 1 exemplifies a case of a scalar tridiagonal matrix as the coefficient matrix. A scalar tridiagonal matrix is a tridiagonal matrix in which all components are scalars.

・ステップ2:解析者によって入力された分割数s(sは2以上の整数)に従って、上
記の係数行列であるスカラー3重対角行列をs個の小行列に分割する。それに伴い、上記
の未知数ベクトルもs個のグループに分割する。これにより、上記の連立一次方程式は、
これらの小行列ごとにs個の連立一次方程式のグループに分割されることになる(これを
s個の連立一次方程式群と呼ぶことにする)。ここで、上記の係数行列がスカラー3重対
角行列であることから、s−1本の分割線のすぐ両端に位置する未知数は、分割線の両側
に位置する隣接した2つの連立一次方程式群の間で共有されることになる(この未知数を
共有未知数と呼ぶことにする)。
Step 2: The scalar tridiagonal matrix that is the coefficient matrix is divided into s sub-matrices according to the division number s (s is an integer equal to or greater than 2) input by the analyst. Accordingly, the unknown vector is also divided into s groups. As a result, the above simultaneous linear equations are
Each of these sub-matrices is divided into a group of s simultaneous linear equations (this will be referred to as a group of s simultaneous linear equations). Here, since the coefficient matrix is a scalar tridiagonal matrix, the unknowns located at both ends of the s−1 dividing line are two adjacent simultaneous linear equation groups located on both sides of the dividing line. (This unknown is called shared unknown).

・ステップ3:上記の未知数ベクトルの最両端に位置する未知数(これを境界未知数と
呼ぶことにする)と上記の共有未知数だけを取り出して、それらの未知数(これを圧縮未
知数と呼ぶことにする)に関する連立一次方程式を形成する(このようにして形成された
連立一次方程式を圧縮連立一次方程式と呼ぶことにする)。
Step 3: Extract the unknowns located at the extreme ends of the unknown vector (referred to as boundary unknowns) and the shared unknown and extract those unknowns (referred to as compression unknowns). (The simultaneous linear equation thus formed will be referred to as a compression simultaneous linear equation).

・ステップ4:上記の圧縮連立一次方程式の係数行列の逆行列を通常の計算方法を用いて求める。この操作によって、上記の圧縮未知数の値がすべて求められる。   Step 4: The inverse matrix of the coefficient matrix of the above-mentioned compressed simultaneous linear equations is obtained using a normal calculation method. By this operation, all the values of the compression unknown are obtained.

・ステップ5:このようにして求められた圧縮未知数の値を上記のs個の連立一次方程
式群に代入する。すると、上記のs個の連立一次方程式群は完全に線形分離する(すなわ
ち共有未知数を持たない完全に独立したs個の連立方程式群に帰着する)ことになるので
、これらの線形分離されたs個の連立一次方程式群の各係数行列の逆行列を通常の計算方法を用いて求めることによって、残りの未知数をすべて決定することができる。
この解法の利点は、解析対象である3重対角行列を係数行列として有する連立一次方程式を複数の小さな連立一次方程式に体系的に分割できる点にある。これによって、解析対象である連立一次方程式の係数行列が巨大なサイズの場合であっても、小行列を係数行列とする複数の連立一次方程式に体系的に分割することによって、個々の連立一次方程式の計算を並列して行わせることが可能となる。その結果、複数の中央演算処理装置(CPU)を用いることによって個々の連立一次方程式の計算を並列的に行わせることが可能となるので、巨大なサイズの連立一次方程式をLU分解法やガウスの消去法などの直接法における既存の代数的なアルゴリズムを用いて求める場合と比較して、全体の計算時間を大幅に短縮できるという利点がある。
Step 5: The compression unknown value thus obtained is substituted into the s simultaneous linear equations. Then, the above s simultaneous linear equations are completely linearly separated (ie, reduced to completely independent s simultaneous equations having no shared unknowns), so that these linearly separated s All the remaining unknowns can be determined by obtaining an inverse matrix of each coefficient matrix of a group of simultaneous linear equations using a normal calculation method.
The advantage of this solution is that a simultaneous linear equation having a tridiagonal matrix to be analyzed as a coefficient matrix can be systematically divided into a plurality of small simultaneous linear equations. As a result, even if the coefficient matrix of the simultaneous linear equations to be analyzed is a huge size, each simultaneous linear equation is systematically divided into multiple simultaneous linear equations with a small matrix as the coefficient matrix. Can be performed in parallel. As a result, by using a plurality of central processing units (CPUs), it is possible to perform calculation of individual simultaneous linear equations in parallel. There is an advantage that the entire calculation time can be greatly shortened as compared with the case of using an existing algebraic algorithm in the direct method such as the elimination method.

さらに、数値計算の対象となる連立一次方程式の係数行列のサイズが非常に大きな場合
には、解析者によって入力された分割の回数に従って上記のステップ2からステップ4ま
でのプロセスを再帰的に繰り返すことも開示されている。これによって、小行列のサイズ
を次第に小さくすることができるので、これらの小行列の逆行列を短時間で計算させるこ
とが可能となる。
Furthermore, when the size of the coefficient matrix of the simultaneous linear equations to be numerically calculated is very large, the above steps 2 to 4 are repeated recursively according to the number of divisions input by the analyst. Is also disclosed. As a result, the sizes of the sub-matrices can be gradually reduced, and the inverse matrix of these sub-matrices can be calculated in a short time.

このように、特許文献1に記載された連立一次方程式の解法プロセスは、直接法を用い
ているので計算精度が高く、その解法自体も巧みなものであり、既存の直接法の計算アル
ゴリズムを用いた場合と比較して計算時間を大幅に短縮できる点において非常に優れたも
のであるが、更なる発展の可能性として以下に示す2つの課題を抱える。
As described above, the solving process of simultaneous linear equations described in Patent Document 1 uses a direct method, so that the calculation accuracy is high and the solving method itself is skillful, and an existing direct calculation algorithm is used. Although it is very excellent in that the calculation time can be greatly shortened as compared with the case where it has been, there are two problems shown below as the possibility of further development.

<課題1>特許文献1においては、計算装置内で連立一次方程式の係数行列を小行列に
分割する際に、係数行列の分割数(分割のサイズ)及び分割の回数の最適値を明確に規定していない。
<Problem 1> In Patent Document 1, when dividing a coefficient matrix of simultaneous linear equations into sub-matrices in a computing device, the optimum number of coefficient matrix divisions (size of division) and the number of divisions are clearly specified. Not done.

これに関して、特許文献1の図8(A)には、分割数が多くなるに従って計算時間が短
くなる傾向があることが示されている。この場合、分割数を250(つまり、分割された
小行列のサイズが400×400)としたときの計算時間が最も短いことがわかる。更に
、図8(B)には、分割数が50までは急激に計算時間が減少し、それ以上の分割数では
緩やかに計算時間が減少していく傾向があることも示されている。また、図12(A),
12(B)には、分割の回数が多くなるに従って計算時間が短くなる傾向があることが示
されている。
In this regard, FIG. 8A of Patent Document 1 shows that the calculation time tends to decrease as the number of divisions increases. In this case, it can be seen that the calculation time is the shortest when the number of divisions is 250 (that is, the size of the divided small matrix is 400 × 400). Further, FIG. 8B shows that the calculation time decreases rapidly until the number of divisions is 50, and the calculation time tends to decrease gradually when the number of divisions is more than that. In addition, FIG.
12 (B) shows that the calculation time tends to be shortened as the number of divisions increases.

しかしながら、解析者が計算装置を利用する際に重要なことの一つは、入力する条件の数が少ないことと、各条件に代入する値の選択の自由度が小さいことである。解析者が特許文献1に記載された計算装置を使用した場合、解析者は連立一次方程式の係数行列の分割のサイズ及び分割の回数を入力しなければならない。また、このとき、解析者が上記のような傾向に関する情報を有していたとしても、実際には、それだけでは分割のサイズ及び分割の回数に対する選択の余地が大きすぎる。このことは、係数行列のサイズが大きくなるに従ってより顕著となる。さらに、解析者が入力する入力対象は解析者のレベル又は解析対象となる数理モデルの種類によって異なるのが通常であるが、特許文献1ではそのことが考慮されていない。   However, when an analyst uses a computing device, one of the important things is that the number of conditions to be input is small and the degree of freedom of selection of values to be substituted for each condition is small. When the analyst uses the calculation apparatus described in Patent Document 1, the analyst must input the size of the coefficient matrix of the simultaneous linear equations and the number of divisions. At this time, even if the analyst has information on the above-described tendency, in practice, there is too much room for selection with respect to the size of division and the number of divisions. This becomes more noticeable as the coefficient matrix size increases. Furthermore, the input target input by the analyst usually differs depending on the level of the analyst or the type of mathematical model to be analyzed, but Patent Document 1 does not consider that.

このようなことから、特許文献1に記載された計算装置は、数値解析に長けた専門的な
解析者も含めた一般の解析者にとって扱いにくいといった課題が残る。
For this reason, the calculation device described in Patent Document 1 has a problem that it is difficult for general analysts including professional analysts skilled in numerical analysis.

<課題2>特許文献1においては、解析対象となる連立一次方程式の係数行列がスカラ
ー3重対角行列になる場合が例示されているが、一般には、係数行列がスカラー3重対角
行列になるとは限らない。
<Problem 2> Patent Document 1 exemplifies a case where the coefficient matrix of the simultaneous linear equations to be analyzed is a scalar tridiagonal matrix, but in general, the coefficient matrix is a scalar tridiagonal matrix. Not necessarily.

連立一次方程式の係数行列がスカラー3重対角行列となる典型的な例は、解析対象とな
るシステムが要素間の局所相互作用のみを有する場合である。
A typical example in which the coefficient matrix of the simultaneous linear equations is a scalar tridiagonal matrix is when the system to be analyzed has only local interaction between elements.

しかしながら、解析対象となるシステムの規模が大きくなるにつれて、隣接する要素間
の局所相互作用はもちろんのこと、離れた要素間の非局所(長距離)相互作用の影響も無
視できなってくる。それに伴い、要素間の情報伝達に必然的にタイムラグも生じることに
なる。このような大規模システムは、一般には、汎関数偏微分方程式によってモデル化さ
れる。汎関数偏微分方程式には、2回までの微分項以外に非局所相互作用の効果を表す積
分項(又は、3次以上の高階の微分項)が含まれている。このような汎関数偏微分方程式
を離散化して得られる離散化方程式には、上記の積分項を離散化した総和項(又は上記の
高階微分の離散化項)が出現する。このような離散化方程式を行列表記した連立一次方程
式の係数行列はスカラー3重対角行列にはならず、簡単な場合であってもスカラー4重対
角行列以上の帯行列(すなわちスカラー多重対角行列)になる。
However, as the scale of the system to be analyzed increases, not only the local interaction between adjacent elements but also the influence of non-local (long-distance) interaction between distant elements can be ignored. Along with this, a time lag will inevitably occur in information transmission between elements. Such a large-scale system is generally modeled by a functional partial differential equation. The functional partial differential equation includes an integral term representing the effect of nonlocal interaction (or a higher-order differential term of the third or higher order) in addition to the differential term up to twice. In a discretized equation obtained by discretizing such a functional partial differential equation, a summation term obtained by discretizing the integral term (or the discretized term of the higher order differential) appears. The coefficient matrix of the simultaneous linear equations expressing such discretized equations in a matrix is not a scalar tridiagonal matrix, and even in a simple case, a band matrix (that is, a scalar multiple pair or more). Square matrix).

したがって、特許文献1に記載された計算装置は、要素間に非局所相互作用が存在する
ような大規模システムのダイナミクスを数値解析する際には扱いにくいといった課題が残
る。
特開2002−312341公報 “微分方程式の離散化による連立一次方程式の直接高速解法(分割階層化法を用いたN層構造物の振動解析)”,郡安憲三,平本経幸,谷本充司,小佐野峰忠;日本機会学会論文集(C編)68巻672号pp.2217-2224 (2002) ”A New Efficient Solver for Huge Linear Algebraic Equations Derived from Fluid Dynamics”, T. Hiramoto, M. Osano, and K. Oshima, Computer Fluid Dynamics JOURNAL, vol. 11, No. 3, pp. 346-357 (2002)
Therefore, the computing device described in Patent Document 1 still has a problem that it is difficult to handle when numerically analyzing the dynamics of a large-scale system in which non-local interaction exists between elements.
JP 2002-312341 A “Direct high-speed solution of simultaneous linear equations by discretization of differential equations (vibration analysis of N-layer structure using split layering method)”, Kenzo Koriyasu, Noriyuki Hiramoto, Mitsuji Tanimoto, Minetada Kosano; Collection (C) Vol.68, No.672, pp.2217-2224 (2002) “A New Efficient Solver for Huge Linear Algebraic Equations Derived from Fluid Dynamics”, T. Hiramoto, M. Osano, and K. Oshima, Computer Fluid Dynamics JOURNAL, vol. 11, No. 3, pp. 346-357 (2002)

本発明は、上記の2つの課題を同時に解決するために為されたものであり、その目的と
するところは、解析者が一定の手順を踏むだけで、一般的な多重対角行列を係数行列とす
る巨大なサイズの連立一次方程式を高速に解くことを可能とする連立一次方程式の計算プ
ログラム、連立一次方程式の計算装置、及び連立一次方程式の求解方法を提供することに
ある。
The present invention has been made in order to solve the above two problems at the same time. The object of the present invention is to convert a general multi-diagonal matrix into a coefficient matrix just by following a certain procedure. It is intended to provide a simultaneous linear equation calculation program, a simultaneous linear equation calculation apparatus, and a simultaneous linear equation solving method capable of solving a large-size simultaneous linear equation at high speed.

上記目的を達成するために、請求項1記載の本発明は、連立一次方程式を解くためにコ
ンピュータを、前記連立一次方程式の係数行列として正方行列を成分とするブロック3重
対角行列の入力を促す係数行列入力手段と、前記ブロック3重対角行列の入力に基づき、
前記連立一次方程式からブロック3重対角行列表記式(ブロック3重対角行列×ブロック
未知数ベクトル=ブロック既知数ベクトル)を生成するブロック3重対角行列表記式生成
手段と、前記ブロック3重対角行列のサイズから分割の回数を決定する分割回数決定手段
と、前記ブロック3重対角行列表記式を、4行4列のブロック正方行列を単位として複数
の分割ブロック行列表記式(分割ブロック行列×分割ブロック未知数ベクトル=分割ブロ
ック既知数ベクトル)として分割するブロック行列表記式分割手段と、前記複数の分割ブ
ロック行列の逆行列である分割ブロック逆行列を所定の代数関係式を用いて演算する分割
ブロック逆行列演算手段と、前記複数の分割ブロック未知数ベクトルと、前記複数の分割
ブロック既知数ベクトルと、前記複数の分割ブロック逆行列とから、複数の繰り込みブロ
ック行列表記式(分割ブロック未知数ベクトル=分割ブロック逆行列×分割ブロック繰り
込みベクトル)を生成する繰り込みブロック行列表記式生成手段と、前記複数の繰り込み
ブロック行列表記式の境界部分に位置するベクトル成分のみを取り出し圧縮することによ
って、圧縮ブロック行列表記式(圧縮ブロック行列×圧縮ブロック未知数ベクトル=圧縮
ブロック繰り込みベクトル)を生成する圧縮ブロック行列表記式生成手段と、前記決定さ
れた分割の回数を上限として、前記圧縮ブロック行列表記式に対して前記分割から圧縮ま
での操作を再帰的に繰り返す再帰操作制御手段と、前記再帰操作制御手段によって前記分
割の回数の上限まで繰り返されて得られたすべての圧縮ブロック行列表記式における圧縮
ブロック未知数ベクトルの値を、前記分割ブロック逆行列生成手段で生成された複数の分
割ブロック逆行列を前記分割から圧縮までの操作とは逆の順番に施すことによって求める
逆算求解手段として機能させることを特徴とする。
In order to achieve the above object, the present invention according to claim 1 is directed to a computer for solving simultaneous linear equations, and to input a block tridiagonal matrix having a square matrix as a coefficient matrix of the simultaneous linear equations. Based on the prompting coefficient matrix input means and the input of the block tridiagonal matrix,
A block tridiagonal matrix notation generating means for generating a block tridiagonal matrix notation (block tridiagonal matrix × block unknown vector = block known number vector) from the simultaneous linear equations, and the block triple pair A division number determination means for determining the number of divisions based on the size of the angle matrix, and the block tridiagonal matrix notation formula are divided into a plurality of divided block matrix notation formulas (divided block matrixes) in units of a 4 × 4 block square matrix. A block matrix notation dividing unit that divides as x divided block unknown vector = divided block known number vector) and a divided block inverse matrix that is an inverse matrix of the plurality of divided block matrices using a predetermined algebraic relational expression A block inverse matrix computing means, the plurality of divided block unknown vectors, the plurality of divided block known vectors, A plurality of renormalization block matrix notation generating means for generating a plurality of renormalization block matrix notations (divided block unknown vector = divided block inverse matrix × division block renormalization vector) from the plurality of division block inverse matrices; Compressed block matrix notation generating means for generating a compressed block matrix notation (compressed block matrix × compressed block unknown vector = compressed block renormalization vector) by extracting and compressing only vector components located at the boundary portion of the matrix notation; The recursive operation control means for recursively repeating the operations from the division to the compression with respect to the compressed block matrix expression with the determined number of divisions as an upper limit, and the number of divisions by the recursive operation control means. All compressed blocks obtained by repeating to the upper limit The inverse calculation solution for obtaining the value of the compressed block unknown vector in the matrix notation formula by applying the plurality of divided block inverse matrices generated by the divided block inverse matrix generation means in the reverse order from the operation from the division to the compression. It is made to function as a means.

請求項2記載の本発明は、請求項1記載の連立一次方程式の計算プログラムであって、
前記分割回数決定手段は、前記ブロック3重対角行列のサイズを2のべき乗級数展開した
際の各項の次数に基づき、前記分割の回数を決定することを特徴とする。
The present invention described in claim 2 is a computer program for simultaneous linear equations according to claim 1,
The division number determining means determines the number of divisions based on the order of each term when the size of the block tridiagonal matrix is expanded to a power-of-two series.

請求項3記載の本発明は、請求項1又は2記載の連立一次方程式の計算プログラムであ
って、前記分割回数決定手段は、前記ブロック3重対角行列のサイズをpとしたとき、関
係式p=2f+2を満たすような自然数fとして前記分割の回数を決定することを特徴とす
る。
A third aspect of the present invention is the simultaneous linear equation calculation program according to the first or second aspect, wherein the division number determining means has a relational expression when the size of the block tridiagonal matrix is p. The number of divisions is determined as a natural number f that satisfies p = 2 f + 2 .

請求項4記載の本発明は、連立一次方程式を解くための計算装置であって、前記連立一
次方程式の係数行列として正方行列を成分とするブロック3重対角行列の入力を促す係数
行列入力手段と、前記ブロック3重対角行列の入力に基づき、前記連立一次方程式からブ
ロック3重対角行列表記式(ブロック3重対角行列×ブロック未知数ベクトル=ブロック
既知数ベクトル)を生成するブロック3重対角行列表記式生成手段と、前記ブロック3重
対角行列のサイズから分割の回数を決定する分割回数決定手段と、前記ブロック3重対角
行列表記式を、4行4列のブロック正方行列を単位として複数の分割ブロック行列表記式
(分割ブロック行列×分割ブロック未知数ベクトル=分割ブロック既知数ベクトル)とし
て分割するブロック行列表記式分割手段と、前記複数の分割ブロック行列の逆行列である
分割ブロック逆行列を所定の代数関係式を用いて演算する分割ブロック逆行列演算手段と
、前記複数の分割ブロック未知数ベクトルと、前記複数の分割ブロック既知数ベクトルと
、前記複数の分割ブロック逆行列とから、複数の繰り込みブロック行列表記式(分割ブロ
ック未知数ベクトル=分割ブロック逆行列×分割ブロック繰り込みベクトル)を生成する
繰り込みブロック行列表記式生成手段と、前記複数の繰り込みブロック行列表記式の境界
部分に位置するベクトル成分のみを取り出し圧縮することによって、圧縮ブロック行列表
記式(圧縮ブロック行列×圧縮ブロック未知数ベクトル=圧縮ブロック繰り込みベクトル
)を生成する圧縮ブロック行列表記式生成手段と、前記決定された分割の回数を上限とし
て、前記圧縮ブロック行列表記式に対して前記分割から圧縮までの操作を再帰的に繰り返
す再帰操作制御手段と、前記再帰操作制御手段によって前記分割の回数の上限まで繰り返
されて得られたすべての圧縮ブロック行列表記式における圧縮ブロック未知数ベクトルの
値を、前記分割ブロック逆行列生成手段で生成された複数の分割ブロック逆行列を前記分
割から圧縮までの操作とは逆の順番に施すことによって求める逆算求解手段とからなるこ
とを特徴とする。
The present invention according to claim 4 is a computing device for solving simultaneous linear equations, wherein coefficient matrix input means for prompting input of a block tridiagonal matrix having a square matrix as a coefficient matrix of the simultaneous linear equations Based on the input of the block tridiagonal matrix, a block triple that generates a block tridiagonal matrix expression (block tridiagonal matrix × block unknown vector = block known vector) from the simultaneous linear equations Diagonal matrix notation generation means, division number determination means for determining the number of divisions based on the size of the block tridiagonal matrix, and the block tridiagonal matrix notation are expressed as a 4 × 4 block square matrix. Is a block matrix notation that divides as a plurality of divided block matrix notation formulas (divided block matrix x divided block unknown vector = divided block known number vector) Dividing means, divided block inverse matrix calculating means for calculating a divided block inverse matrix that is an inverse matrix of the plurality of divided block matrices using a predetermined algebraic relational expression, the plurality of divided block unknown vectors, the plurality of divided block unknown vectors, Renormalization block matrix notation generating means for generating a plurality of renormalization block matrix expressions (division block unknown vector = division block inverse matrix × division block renormalization vector) from the division block known number vector and the plurality of division block inverse matrices. And compression to generate a compressed block matrix notation (compressed block matrix × compressed block unknown vector = compressed block renormalization vector) by extracting and compressing only the vector components located at the boundaries of the plurality of renormalization block matrix notations A block matrix notation generation means, and the determined Repetitive operation control means for recursively repeating the operations from the division to compression on the compressed block matrix notation, with the upper limit of the number of divisions, and the recursive operation control means being repeated up to the upper limit of the number of divisions. The compressed block unknown vector values in all the compressed block matrix notation expressions obtained in the above are used in the order reverse to the operation from the division to compression of the plurality of divided block inverse matrices generated by the divided block inverse matrix generation means. It is characterized by comprising reverse calculation solution means obtained by applying to the above.

請求項5記載の本発明は、コンピュータを用いて連立一次方程式を解くための計算方法
であって、前記連立一次方程式の係数行列として正方行列を成分とするブロック3重対角
行列の入力を促す第1ステップと、前記ブロック3重対角行列の入力に基づき、前記連立
一次方程式からブロック3重対角行列表記式(ブロック3重対角行列×ブロック未知数ベ
クトル=ブロック既知数ベクトル)を生成する第2ステップと、前記ブロック3重対角行
列のサイズから分割の回数を決定する第3ステップと、前記ブロック3重対角行列表記式
を、4行4列のブロック正方行列を単位として複数の分割ブロック行列表記式(分割ブロ
ック行列×分割ブロック未知数ベクトル=分割ブロック既知数ベクトル)として分割する
第4ステップと、前記複数の分割ブロック行列の逆行列である分割ブロック逆行列を所定
の代数関係式を用いて演算する第5ステップと、前記複数の分割ブロック未知数ベクトル
と、前記複数の分割ブロック既知数ベクトルと、前記複数の分割ブロック逆行列とから、
複数の繰り込みブロック行列表記式(分割ブロック未知数ベクトル=分割ブロック逆行列
×分割ブロック繰り込みベクトル)を生成する第6ステップと、前記複数の繰り込みブロ
ック行列表記式の境界部分に位置するベクトル成分のみを取り出し圧縮することによって
、圧縮ブロック行列表記式(圧縮ブロック行列×圧縮ブロック未知数ベクトル=圧縮ブロ
ック繰り込みベクトル)を生成する第7ステップと、前記決定された分割の回数を上限と
して、前記圧縮ブロック行列表記式に対して前記第4ステップから第7ステップまでを再
帰的に繰り返す第8ステップと、前記第8ステップによって前記分割の回数の上限まで繰
り返されて得られたすべての圧縮ブロック行列表記式における圧縮ブロック未知数ベクト
ルの値を、前記第5ステップで生成された複数の分割ブロック逆行列を前記分割から圧縮
までの操作とは逆の順番に施すことによって求める第9ステップとからなることを特徴と
する。
The present invention according to claim 5 is a calculation method for solving simultaneous linear equations using a computer, and prompts input of a block tridiagonal matrix having a square matrix as a coefficient matrix of the simultaneous linear equations. Based on the first step and the input of the block tridiagonal matrix, a block tridiagonal matrix expression (block tridiagonal matrix × block unknown vector = block known vector) is generated from the simultaneous linear equations. A second step, a third step of determining the number of divisions from the size of the block tridiagonal matrix, and a block tridiagonal matrix notation formula, wherein a block square matrix of 4 rows and 4 columns has a plurality of units. A fourth step of dividing as a divided block matrix notation (divided block matrix × divided block unknown vector = divided block known vector), and the plurality of divided A fifth step of calculating a divided block inverse matrix which is an inverse matrix of the block matrix using a predetermined algebraic relational expression, the plurality of divided block unknown vectors, the plurality of divided block known number vectors, and the plurality of divided blocks From the block inverse matrix,
Sixth step of generating a plurality of renormalization block matrix notation formulas (divided block unknown vector = divided block inverse matrix × division block renormalization vector), and extracting only vector components located at the boundary of the plurality of renormalization block matrix notations A compressed block matrix notation (7th step of generating a compressed block matrix x compressed block unknown vector = compressed block renormalization vector) by compressing the compressed block matrix notation with the determined number of divisions as an upper limit; Compressed blocks in all the compressed block matrix notations obtained by repetitively repeating the fourth to seventh steps with respect to the eighth step and the eighth step up to the upper limit of the number of divisions The value of the unknown vector is calculated in the fifth step. The ninth step is characterized in that the ninth step is obtained by applying the generated plurality of divided block inverse matrices in the reverse order to the operation from the division to the compression.

請求項6記載の本発明は、請求項5記載の連立一次方程式の求解方法であって、前記第
3のステップにおいて、前記ブロック3重対角行列のサイズを2のべき乗級数展開した際
の各項の次数に基づき、前記分割の回数を決定することを特徴とすることを特徴とする。
The present invention according to claim 6 is a method for solving simultaneous linear equations according to claim 5, wherein in the third step, each size when the size of the block tridiagonal matrix is expanded to a power series of 2 is used. The number of divisions is determined based on the order of terms.

請求項7記載の本発明は、請求項5又は6記載の連立一次方程式の求解方法であって、
前記第3のステップにおいて、前記ブロック3重対角行列のサイズをpとしたとき、関係
式p=2f+2を満たすような自然数fとして前記分割の回数を決定することを特徴とする
The present invention according to claim 7 is a method for solving simultaneous linear equations according to claim 5 or 6,
In the third step, when the size of the block tridiagonal matrix is p, the number of divisions is determined as a natural number f that satisfies the relational expression p = 2f + 2 .

本発明によれば、連立一次方程式の係数行列としてブロック3重対角行列の入力を促し
、入力されたブロック3重対角行列の逆行列を求める際に、4行4列のブロック正方行列
を分割の単位として、このブロック正方行列の逆行列を予めメインメモリに記憶された所
定の代数関係式を用いて求めることにより、一般的な多重対角行列を係数行列として有す
る巨大なサイズの連立一次方程式の解を短時間で求めることが可能となる。
According to the present invention, when the input of a block tridiagonal matrix is prompted as a coefficient matrix of simultaneous linear equations and an inverse matrix of the input block tridiagonal matrix is obtained, a 4 × 4 block square matrix is obtained. By obtaining an inverse matrix of this block square matrix as a unit of division using a predetermined algebraic relational expression stored in the main memory in advance, a huge size simultaneous linear having a general multi-diagonal matrix as a coefficient matrix It is possible to find the solution of the equation in a short time.

また、本発明によれば、上記のように、4行4列のブロック正方行列を分割の単位とし
たことによって、分割数及び分割の回数を一意に決定することが可能となる。
Further, according to the present invention, as described above, the number of divisions and the number of divisions can be uniquely determined by using a 4 × 4 block square matrix as a unit of division.

さらに、本発明によれば、上記の係数行列として、ブロックN(Nは4以上の整数)重
対角行列やスカラーq重対角行列(qは3以上の整数)の入力を促してもよく、この場合
には、この係数行列をブロック3重対角行列に変換することによって、上記と同様の効果
を得ることが可能となるだけでなく、解析者のレベル又は解析対象となる数理モデルの種
類に応じた入力対象を多段階的に設定できるので、解析者にとってより扱いやすい計算装
置を提供することが可能となる。
Furthermore, according to the present invention, it is possible to prompt the input of a block N (N is an integer of 4 or more) multi-diagonal matrix or a scalar q multi-diagonal matrix (q is an integer of 3 or more) as the coefficient matrix. In this case, by converting this coefficient matrix into a block tridiagonal matrix, it is possible not only to obtain the same effect as described above, but also the level of the analyst or the mathematical model to be analyzed. Since the input target according to the type can be set in multiple stages, it is possible to provide a computing device that is easier to handle for the analyst.

さらに、本発明によれば、係数行列として行列を単位成分とするブロック多重対角行列
を扱うことによって、通常の局所相互作用のみを有する数理モデルから複雑な非局所相互
作用を有するような数理モデルまで、幅広い工学分野における数理モデルを数値計算の対
象とすることが可能となる。
Furthermore, according to the present invention, a mathematical model having a complex nonlocal interaction from a mathematical model having only a normal local interaction by treating a block multi-diagonal matrix having a matrix as a unit component as a coefficient matrix. Until now, mathematical models in a wide range of engineering fields can be targeted for numerical calculations.

まず、本発明の理解を容易にするために、本明細書において使用される主要な用語につ
いて説明する。
First, in order to facilitate understanding of the present invention, main terms used in this specification will be described.

「スカラー行列」とは、スカラーを単位成分とする行列のことを表すものとする。例え
ば、スカラー正方行列とは、スカラーを単位成分とする正方行列のことを意味する。
A “scalar matrix” represents a matrix having a scalar as a unit component. For example, a scalar square matrix means a square matrix having a scalar as a unit component.

次に、「ブロック行列」とは、行列を単位成分とする行列のことを表すものとする。例
えば、ブロックN(Nは3以上の整数)重対角行列とは、正方行列を単位成分とするN重
対角行列のことを意味する。また、ブロックN重対角行列のN重対角成分のことをブロッ
クN重対角成分と称することにする。なお、N重対角行列において、対角線から最も遠く
離れている非零成分までの距離zを半帯幅と呼び、N重対角行列が対称行列(すなわち、
Nが3以上の奇数)の場合、半帯幅zはz=(N−1)/2と定義される。また、本発明
においては、N重対角行列が非対称行列(すなわち、Nが4以上の偶数)の場合には、半
帯幅zをz=N/2と定義することにする。
Next, the “block matrix” represents a matrix having a matrix as a unit component. For example, the block N (N is an integer of 3 or more) multi-diagonal matrix means an N-multi diagonal matrix having a square matrix as a unit component. Further, the N double diagonal component of the block N double diagonal matrix is referred to as a block N double diagonal component. In the N-fold diagonal matrix, the distance z from the diagonal line to the non-zero component farthest away from the diagonal is called the half band width, and the N-fold diagonal matrix is a symmetric matrix (ie,
If N is an odd number greater than or equal to 3, the half band width z is defined as z = (N−1) / 2. In the present invention, when the N-fold diagonal matrix is an asymmetric matrix (that is, N is an even number of 4 or more), the half-band width z is defined as z = N / 2.

また、単位成分がスカラー又は行列のどちらでもよい場合には、「一般的な行列」と称
することにする。例えば、一般的な多重対角行列とは、スカラーを単位成分とする多重対
角行列であってもよいし、行列を単位成分とするブロック多重対角行列であってもよいも
のとする。
また、単に「行列」と言った場合には、その単位成分の種類は文脈に従うものとする。
When the unit component may be either a scalar or a matrix, it will be referred to as a “general matrix”. For example, a general multi-diagonal matrix may be a multi-diagonal matrix having a scalar as a unit component or a block multi-diagonal matrix having a matrix as a unit component.
In addition, when the term “matrix” is simply used, the type of unit component depends on the context.

また、本明細書中で用いられる行列は、特に断らない限り、単位成分の如何を問わず正方
行列のことを意味するものとする。
The matrix used in this specification means a square matrix regardless of the unit component unless otherwise specified.

次に、「ブロックベクトル」とは、ベクトルを単位成分とするベクトルのことを表すも
のとする。例えば、ブロック未知数ベクトルとは、ベクトルを単位成分とする未知数ベク
トルのことを意味する。なお、単位成分がスカラーの場合には、単に「ベクトル」と称す
ることにする。
Next, the “block vector” represents a vector having a vector as a unit component. For example, the block unknown vector means an unknown vector having a vector as a unit component. When the unit component is a scalar, it is simply referred to as “vector”.

また、「零行列」とは、すべての成分が0である行列を表すものとする。したがって、
「非零行列」とは、すべての成分のうち0でない要素を少なくとも一つ有する行列のこと
を表すものとする。
The “zero matrix” represents a matrix in which all components are zero. Therefore,
The “non-zero matrix” represents a matrix having at least one non-zero element among all the components.

なお、本実施形態においては、ブロックN重対角行列のブロックN重対角成分がすべて
非零行列であることを想定しているが、もちろん、その中に零行列が含まれていてもかま
わない。
In this embodiment, it is assumed that the block N double diagonal components of the block N double diagonal matrix are all non-zero matrices, but of course, a zero matrix may be included therein. Absent.

また、行列のサイズについてであるが、「ブロック行列のサイズ」と言った場合には、
その単位成分である正方行列を単位とした行または列の個数のことを意味するものとする
。例えば、ブロック行列のサイズの値がpであるとは、正方行列を単位とするp行p列の
ブロック行列、つまり単位成分である正方行列をp2個有するブロック行列、のことを意
味する。
Also, regarding the size of the matrix, if you say "block matrix size",
It means the number of rows or columns in the unit of the square matrix that is the unit component. For example, a block matrix size value p means a block matrix of p rows and p columns with a square matrix as a unit, that is, a block matrix having p 2 square matrices as unit components.

次に、図面を参照して本発明に係る実施形態について詳細に説明する。   Next, embodiments according to the present invention will be described in detail with reference to the drawings.

解析対象となる連立一次方程式の係数行列の種類又は解析者のレベルに応じて、特に3
つの実施形態について図面を用いて詳細に説明する。
Depending on the type of coefficient matrix of the simultaneous linear equations to be analyzed or the level of the analyst, in particular, 3
One embodiment will be described in detail with reference to the drawings.

(第1の実施形態)
図1は、本発明の第1の実施形態に係る連立一次方程式の計算装置の概略構成を示した
概念図である。
(First embodiment)
FIG. 1 is a conceptual diagram showing a schematic configuration of a simultaneous linear equation calculation apparatus according to the first embodiment of the present invention.

第1の実施形態は、解析対象となる連立一次方程式の係数行列がブロック3重対角行列
の場合を想定したものである。
The first embodiment assumes that the coefficient matrix of the simultaneous linear equations to be analyzed is a block tridiagonal matrix.

図1に示すように、第1の実施形態に係る計算装置は、入力装置100と、出力装置2
00と、中央演算処理装置(CPU)300と、メインメモリ400と、サブメモリ50
0とを外部バス600を介して連結して構成されている。
As shown in FIG. 1, the computing device according to the first embodiment includes an input device 100 and an output device 2.
00, a central processing unit (CPU) 300, a main memory 400, and a sub memory 50
0 is connected via an external bus 600.

入力装置100は、解析対象となる連立一次方程式と、それを解くために必要となる初
期条件、境界条件などの各種解析条件を入力するための装置であって、例えば、キーボー
ド、タッチパネル、タブレットなどが使用可能である。
The input device 100 is a device for inputting simultaneous linear equations to be analyzed and various analysis conditions such as initial conditions and boundary conditions necessary for solving them. For example, a keyboard, a touch panel, a tablet, etc. Can be used.

出力装置200は、入力装置100から入力された連立一次方程式や各種解析条件を表
示したり、解析結果を表示したりするための装置であって、例えば、CRTディスプレイ
、TFTディスプレイ、プラズマディスプレイなどの各種ディスプレイや、インクジェッ
トプリンタ、レーザープリンタなどの各種プリンタなどが使用可能である。
The output device 200 is a device for displaying simultaneous linear equations and various analysis conditions input from the input device 100, and displaying analysis results. For example, the output device 200 is a CRT display, TFT display, plasma display, or the like. Various displays, various printers such as inkjet printers and laser printers can be used.

メインメモリ400は、本実施形態に係る連立一次方程式の計算プログラムを記憶する
RAM(Random Access Memory)やROM(Read Only
Memory)などの記憶装置から構成されている。
The main memory 400 is a RAM (Random Access Memory) or ROM (Read Only) that stores a calculation program of simultaneous linear equations according to the present embodiment.
Memory) or the like.

中央演算処理装置300は、メインメモリ400に記憶されている上記の計算プログラ
ムに従って、入力装置100から入力された各種解析条件を用いて連立一次方程式の解を
求め、その解析結果を表、グラフ、図などにして出力装置200に出力する装置である。
The central processing unit 300 obtains a solution of simultaneous linear equations using various analysis conditions input from the input device 100 in accordance with the above-described calculation program stored in the main memory 400, and the analysis results are displayed in a table, graph, It is a device that outputs to the output device 200 as shown in the figure.

中央演算処理装置300は、メインメモリ400に記憶されている上記の計算プログラム
を実効することによって、本実施形態に係る連立一次方程式の計算装置の各機能(請求項
に記載された各手段)を実現する。
The central processing unit 300 executes the above-described calculation program stored in the main memory 400, thereby enabling each function (each unit described in claims) of the simultaneous linear equation calculation device according to the present embodiment. Realize.

サブメモリ500は、中央演算処理装置300が計算の途中で求めたブロック行列やブ
ロック逆行列などの値を一次的に記憶させておくための装置であり、RAMやハードディ
スクなどの記憶装置が使用可能である。サブメモリ500は、解析条件記憶領域510と
、ブロック3重対角行列表記式記憶領域520と、第1基本ブロック逆行列記憶領域54
1と、第1圧縮ブロック行列表記式記憶領域5501と、第r基本ブロック逆行列記憶領
域540rと、第r圧縮ブロック行列表記式記憶領域550rと、第f(最終)基本ブロッ
ク逆行列記憶領域540f、及び第f(最終)圧縮ブロック行列表記式記憶領域550
などの領域に区分されている。ここで、rは2≦r≦f−1を満たす整数である。
The sub memory 500 is a device for temporarily storing values such as a block matrix and a block inverse matrix obtained by the central processing unit 300 during the calculation, and a storage device such as a RAM or a hard disk can be used. It is. The sub memory 500 includes an analysis condition storage area 510, a block tridiagonal matrix notation storage area 520, and a first basic block inverse matrix storage area 54.
0 1 , first compressed block matrix notation storage area 550 1 , r th basic block inverse matrix storage area 540 r , r th compressed block matrix notation storage area 550 r, and f (final) basic block inverse Matrix storage area 540 f and f-th (final) compressed block matrix notation storage area 550 f
It is divided into areas such as Here, r is an integer that satisfies 2 ≦ r ≦ f−1.

以上のように構成された本実施形態の計算装置は、解析対象となる連立一次方程式を以
下の処理手順で数値計算する。
The calculation apparatus of the present embodiment configured as described above performs numerical calculation on the simultaneous linear equations to be analyzed by the following processing procedure.

図2は、図1に示した第1の実施形態の計算装置によって行われる数値計算の処理手順
を示したフローチャートである。
FIG. 2 is a flowchart showing a processing procedure of numerical calculation performed by the calculation apparatus of the first embodiment shown in FIG.

まず、中央演算処理装置300は、入力装置100を介して、解析対象となる連立一次
方程式を「係数行列×未知数ベクトル=既知数ベクトル」として行列表記した際の係数行
列として、z行z列の正方行列を単位成分とするp行p列のブロック3重対角行列の入力
を解析者に促す(ステップ100)。詳細には、中央演算処理装置300は、上記のブロ
ック3重対角行列中のブロック3重対角成分のみの入力を解析者に促す。
First, the central processing unit 300 uses the input device 100 as a coefficient matrix when a simultaneous linear equation to be analyzed is expressed as a matrix “coefficient matrix × unknown number vector = known number vector”. The analyst is prompted to input a block tridiagonal matrix of p rows and p columns having a square matrix as a unit component (step 100). Specifically, the central processing unit 300 prompts the analyst to input only the block tridiagonal component in the block tridiagonal matrix.

また、ステップ100において、中央演算処理装置300は、ブロック3重対角行列の
サイズの値pとして2のべき乗の値の入力を解析者に促すが、ブロック3重対角行列の単
位成分である正方行列のサイズの値zに関しては自然数であるということ以外に特に制限
は設けない。
In step 100, the central processing unit 300 prompts the analyst to input a power-of-two value as the size p of the block tridiagonal matrix, which is a unit component of the block tridiagonal matrix. The square matrix size value z is not particularly limited except that it is a natural number.

なお、本実施形態においては、上述したように、ブロック3重対角行列のサイズの値p
として2のべき乗の値を入力させるようにしているが、それ以外の一般の自然数を入力さ
せてもよい。これについては後述する。
In the present embodiment, as described above, the value p of the size of the block tridiagonal matrix.
However, it is also possible to input a general natural number other than that. This will be described later.

また、ステップ100において、中央演算処理装置300は、上述した係数行列として
のブロック3重対角行列の入力に対応して、ブロック未知数ベクトルとしてz行1列の未
知数ベクトルを単位成分とするp行1列のブロック未知数ベクトルの入力、及び、ブロッ
ク既知数ベクトルとしてz行1列の未知数ベクトルを単位成分とするp行1列のブロック
既知数ベクトルの入力を解析者に促す。
Further, in step 100, the central processing unit 300 corresponds to the input of the block tridiagonal matrix as the coefficient matrix described above, and p rows having an unknown vector of z rows and 1 column as a unit component as a block unknown vector. The analyst is prompted to input a block unknown vector of one column and a block known vector of p rows and one column having a unit vector of an unknown vector of z rows and one column as a block known vector.

さらに、ステップ100において、中央演算処理装置300は、解析対象である連立一
次方程式を解くために必要となる初期条件及び境界条件などの各種解析条件の入力を解析
者に促す。
Further, in step 100, the central processing unit 300 prompts the analyst to input various analysis conditions such as initial conditions and boundary conditions necessary for solving the simultaneous linear equations to be analyzed.

そして、中央演算処理装置300は、このようにして入力されたブロック3重対角行列
のサイズの値p、ブロック3重対角行列の単位成分である正方行列のサイズの値z、初期
条件、及び境界条件などの解析条件を、サブメモリ500の解析条件記憶領域510に記
憶させる。
The central processing unit 300 then inputs the block tridiagonal matrix size value p, the square matrix size value z that is a unit component of the block tridiagonal matrix, the initial condition, Analysis conditions such as boundary conditions are stored in the analysis condition storage area 510 of the sub memory 500.

次に、中央演算処理装置300は、上記のようにして入力された連立一次方程式から、
初期行列表記式としてブロック3重対角行列表記式

Figure 2006048637
Next, the central processing unit 300, from the simultaneous linear equations input as described above,
Block tridiagonal matrix notation as initial matrix notation
Figure 2006048637

を生成する(ステップ110)。 Is generated (step 110).

ここで、

Figure 2006048637
here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるp行p列のブロック3重対角行列である。ここで、ブロック3重対角行列
(2)のブロック3重対角成分は、入力装置100から入力されたz行z列の非零行列で
ある。その他の成分“O”はすべて零行列である。
Is a block tridiagonal matrix with p rows and p columns. Here, the block tridiagonal component of the block tridiagonal matrix (2) is a nonzero matrix of z rows and z columns input from the input device 100. The other components “O” are all zero matrices.

そして、

Figure 2006048637
And
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるp行1列のブロック未知数ベクトルである。ここで、式(3)の単位成分

Figure 2006048637
Is a block unknown vector of p rows and 1 column expressed as Here, the unit component of the formula (3)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるz行1列の未知数ベクトルである。 Is an unknown vector of z rows and 1 column expressed as

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるp行1列のブロック既知数ベクトルである。ここで、式(5)の単位成分

Figure 2006048637
P × 1 block known vector represented as Here, the unit component of the formula (5)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるz行1列の既知数ベクトルである。なお、既知数ベクトル(6)には入力
装置100から入力された初期条件や境界条件などの解析条件が導入されている。
Is a known number vector of z rows and 1 column expressed as Note that analysis conditions such as initial conditions and boundary conditions input from the input device 100 are introduced into the known number vector (6).

そして、中央演算処理装置300は、ブロック3重対角行列(2)のブロック3重対角
成分と、ブロック既知数ベクトル(5)を、サブメモリ500のブロック3重対角行列表
記式記憶領域520に記憶させる。
Then, the central processing unit 300 stores the block tridiagonal component of the block tridiagonal matrix (2) and the block known number vector (5) in the block tridiagonal matrix notation storage area of the sub memory 500. 520 stores it.

次に、解析対象となる連立一次方程式の解であるブロック未知数ベクトル(3)を求め
るために、特許文献1に記載の計算アルゴリズムを利用する。
Next, in order to obtain a block unknown vector (3) which is a solution of the simultaneous linear equations to be analyzed, a calculation algorithm described in Patent Document 1 is used.

まず、中央演算処理装置300は、サブメモリ500の解析条件記憶領域510から、
ブロック3重対角行列(2)のサイズの値pを読み出し、読み出した値pから、分割回数
決定(単項)式

Figure 2006048637
First, the central processing unit 300 reads from the analysis condition storage area 510 of the sub memory 500,
Read the value p of the size of the block tridiagonal matrix (2), and determine the number of divisions (unary) from the read value p
Figure 2006048637

を満たす自然数fを求め(ステップ120)、この自然数fを分割の回数rの上限として
設定する(ステップ130)。
A natural number f satisfying the above is obtained (step 120), and this natural number f is set as the upper limit of the number r of divisions (step 130).

そして、中央演算処理装置300は、分割の回数rの初期値をr=1に設定し、第1回
目の分割プロセスを開始する(ステップ140)。
The central processing unit 300 then sets the initial value of the number of divisions r to r = 1 and starts the first division process (step 140).

中央演算処理装置300は、ブロック3重対角行列表記式(1)を、4行4列のブロッ
ク正方行列である第1分割ブロック行列

Figure 2006048637
The central processing unit 300 converts the block tridiagonal matrix notation (1) into a first divided block matrix that is a 4 × 4 block square matrix.
Figure 2006048637

を単位としてk1(=p/4=2f)等分にブロック化する(ステップ150)。このプロセスのこ
とを第1分割プロセスと称することにする。
Is divided into k 1 (= p / 4 = 2 f ) equal parts (step 150). This process will be referred to as a first division process.

これによって、中央演算処理装置300は、ブロック3重対角行列表記式(1)から第
1分割ブロック行列表記式

Figure 2006048637
As a result, the central processing unit 300 converts the block tridiagonal matrix notation (1) into the first divided block matrix notation.
Figure 2006048637

を生成する。ここで、第1分割ブロック行列表記式(9)の左辺のブロックベクトルのこ
とを第1分割ブロック未知数ベクトル、右辺のブロックベクトルのことを第1分割ブロッ
ク既知数ベクトルと称することにする。
Is generated. Here, the block vector on the left side of the first divided block matrix notation (9) is referred to as a first divided block unknown vector, and the block vector on the right side is referred to as a first divided block known vector.

次に、中央演算処理装置300は、第1分割ブロック行列(8)のブロック3重対角成
分を式(11)に示す第1代数関係式に直接代入することによって、第1分割ブロック行
列(8)の逆行列である第1分割ブロック逆行列

Figure 2006048637
Next, the central processing unit 300 directly substitutes the block tridiagonal component of the first divided block matrix (8) into the first algebraic relational expression shown in Expression (11), thereby obtaining the first divided block matrix ( 8) The first divided block inverse matrix that is the inverse matrix
Figure 2006048637

を算出する(ステップ160)。 Is calculated (step 160).

ここで、第1代数関係式(11)は、

Figure 2006048637
Here, the first algebraic relational expression (11) is
Figure 2006048637

によって定義されるものであり、予めメインメモリ400の計算プログラムに記載されて
いる。ここで、

Figure 2006048637
And is described in advance in the calculation program of the main memory 400. here,
Figure 2006048637

とした。なお、式(11)においては、式(10)の下付き添字がi=1の要素のみを明示
したが、i=2,...,k1の要素についても下付き添字が変更されるだけで同じ形をしているの
で省略した。
It was. In the formula (11), but the subscript of the formula (10) is clearly only the elements of the i = 1, i = 2, ..., subscript is changed also the elements of k 1 I just omitted it because it has the same shape.

そして、中央演算処理装置300は、第1分割ブロック逆行列(10)のすべての行列
成分(一般には、すべて非零行列である)を、サブメモリ500の第1分割ブロック逆行
列記憶領域5401に記憶させる。
The central processing unit 300 then converts all matrix components of the first divided block inverse matrix (10) (generally all non-zero matrices) into the first divided block inverse matrix storage area 540 1 of the sub memory 500. Remember me.

次に、中央演算処理装置300は、サブメモリ500の第1分割ブロック逆行列記憶領
域5401から第1分割ブロック逆行列(10)のすべての行列成分を読み出して、第1
分割ブロック行列表記式(9)を用いて、

Figure 2006048637
Next, the central processing unit 300 reads out all the matrix elements of the first divided block inverse matrix storage area 540 1 of the first divided block inverse matrix of the sub-memory 500 (10), first
Using the divided block matrix notation (9),
Figure 2006048637

を生成する。ここで、

Figure 2006048637
Is generated. here,
Figure 2006048637

である。 It is.

式(13)の右辺の第1分割ブロック既知数ベクトルには、隣接する第1分割ブロック
未知数ベクトルの境界部分に属するベクトル成分

Figure 2006048637
In the first divided block known number vector on the right side of Expression (13), the vector component belonging to the boundary portion of the adjacent first divided block unknown vector
Figure 2006048637

が繰り込まれているので、これを第1分割ブロック繰り込みベクトルと称することにする
。また、式(13)のことを第1繰り込みブロック行列表記式と称することにする。
This is referred to as a first divided block renormalization vector. Further, Equation (13) will be referred to as a first renormalization block matrix notation.

次に、中央演算処理装置300は、第1繰り込みブロック行列表記式(13)から式(
15)に示す境界部分のベクトル成分のみを取り出して圧縮する(ステップ170)。こ
のプロセスを第1圧縮プロセスと称することにする。

Figure 2006048637
Next, the central processing unit 300 uses the first renormalization block matrix notation (13) to the formula (
Only the vector component at the boundary shown in 15) is extracted and compressed (step 170). This process will be referred to as a first compression process.
Figure 2006048637

ここで、

Figure 2006048637
here,
Figure 2006048637

及び、

Figure 2006048637
as well as,
Figure 2006048637

とした。 It was.

次に、中央演算処理装置300は、式(15)に

Figure 2006048637
Next, the central processing unit 300 calculates the equation (15)
Figure 2006048637

を代入することにより、式(15)から

Figure 2006048637
From (15) by substituting
Figure 2006048637

を算出する。ここで、

Figure 2006048637
Is calculated. here,
Figure 2006048637

である。 It is.

式(19)は2k1個のベクトルから成る連立一次方程式である。これを第1圧縮ブロック
ベクトル方程式と称することにする。
このようにして、中央演算処理装置300は、第1圧縮ブロックベクトル方程式(19
)から第1圧縮ブロック行列表記式

Figure 2006048637
Equation (19) is a simultaneous linear equation consisting of 2k 1 vectors. This will be referred to as a first compressed block vector equation.
In this way, the central processing unit 300 performs the first compressed block vector equation (19
) To first compressed block matrix notation
Figure 2006048637

を生成する(ステップ180)。ここで、

Figure 2006048637
Is generated (step 180). here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される2k1行2k1列のブロック正方行列である。これを第1圧縮ブロック行列と称
することにする。
Is a 2k 1 row 2k 1 column block square matrix. This will be referred to as a first compressed block matrix.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される2k1行1列のブロックベクトルである。これを第1圧縮ブロック未知数ベ
クトルと称することにする。
2k 1 × 1 block vector expressed as This will be referred to as a first compressed block unknown vector.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される2k1行1列のブロックベクトルである。これを第1圧縮ブロック繰り込み
ベクトルと称することにする。さらに、式(24)の右辺第1項のブロック既知数ベクト
ルのことを第1圧縮ブロック既知数ベクトルと称することにする。
2k 1 × 1 block vector expressed as This will be referred to as a first compressed block renormalization vector. Furthermore, the block known number vector of the first term on the right side of Expression (24) will be referred to as a first compressed block known number vector.

そして、中央演算処理装置300は、第1圧縮ブロック行列(22)の非零行列成分(
ただし、単位行列Iは除く)と第1圧縮ブロック繰り込みベクトル(24)の第1圧縮ブ
ロック既知数ベクトルを、サブメモリ500の第1圧縮ブロック行列表記式記憶領域55
1に記憶させる。
Then, the central processing unit 300 transmits the non-zero matrix component of the first compressed block matrix (22) (
However, the unit matrix I is excluded) and the first compressed block known number vector of the first compressed block renormalization vector (24) are stored in the first compressed block matrix notation storage area 55 of the sub memory 500.
0 1 to be stored.

上記の第1分割プロセス及び第1圧縮プロセスをまとめて第1接続プロセスと称するこ
とにする。
The first division process and the first compression process are collectively referred to as a first connection process.

以降、中央演算処理装置300は、分割の回数rの値をr=2からfまでインクリメン
トすることによって、上記の第1接続プロセスと実質的に同じプロセスを再帰的にf−1
回繰り返す(ステップ190,200)。2回目以降の接続プロセスにおける特徴を示す
ために、第r接続プロセスについて説明する。ここで、rは2≦r≦fを満たす整数であ
る。
Thereafter, the central processing unit 300 recursively executes substantially the same process as the above first connection process by incrementing the value of the number of divisions r from r = 2 to f.
Repeatedly (steps 190 and 200). In order to show the characteristics in the second and subsequent connection processes, the r-th connection process will be described. Here, r is an integer that satisfies 2 ≦ r ≦ f.

中央演算処理装置300は、サブメモリ500の第r−1圧縮ブロック行列表記式記憶
領域から第r−1圧縮ブロック行列

Figure 2006048637
The central processing unit 300 receives the (r-1) th compressed block matrix from the r-1th compressed block matrix notation storage area of the sub memory 500.
Figure 2006048637

の非零行列成分を読み出し、読み出した非零行列成分から生成した第r−1圧縮ブロック
行列

Figure 2006048637
The non-zero matrix component of the r-1th compressed block matrix generated from the read non-zero matrix component
Figure 2006048637

を4行4列のブロック正方行列である第r分割ブロック行列

Figure 2006048637
Is an r-th divided block matrix that is a 4 × 4 block square matrix
Figure 2006048637

を単位としてkr(=kr-1/2=2f+1-r)等分にブロック化する(ステップ150)。このプロセ
スのことを第r分割プロセスと称することにする。
Is divided into k r (= k r−1 / 2 = 2 f + 1−r ) equal parts (step 150). This process will be referred to as the r-th division process.

これによって、中央演算処理装置300は、第r−1圧縮ブロック行列表記式から第r
分割ブロック行列表記式

Figure 2006048637
As a result, the central processing unit 300 determines the r-th compressed block matrix notation from the r-1th compressed block matrix notation.
Partitioned block matrix notation
Figure 2006048637

を生成する。ここで、第r分割ブロック行列表記式(26)の左辺のブロックベクトルの
ことを第r分割ブロック未知数ベクトル、右辺のブロックベクトルのことを第r分割ブロ
ック既知数ベクトルと称することにする。
Is generated. Here, the block vector on the left side of the r-th divided block matrix notation (26) is referred to as the r-th divided block unknown vector, and the right-side block vector is referred to as the r-th divided block known number vector.

次に、中央演算処理装置300は、第r分割ブロック行列(25)の非零行列成分を式
(28)に示す第r代数関係式に直接代入することによって、第r分割ブロック行列(2
5)の逆行列である第r分割ブロック逆行列

Figure 2006048637
Next, the central processing unit 300 directly substitutes the non-zero matrix component of the r-th divided block matrix (25) into the r-th algebraic relational expression shown in Expression (28), so that the r-th divided block matrix (2
5) the r-th divided block inverse matrix that is the inverse matrix
Figure 2006048637

を計算させる(ステップ160)。 Is calculated (step 160).

ここで、第r代数関係式(28)は、

Figure 2006048637
Here, the r-th algebraic relation (28) is
Figure 2006048637

によって定義されるものであり、予めメインメモリ400の計算プログラムに記載されて
いる。なお、式(28)においては、式(27)の下付き添字がi=1の要素のみを明示し
たが、i=2,...,krの要素についても下付き添字が変更されるだけで同じ形をしているので
省略した。
And is described in advance in the calculation program of the main memory 400. In the formula (28), but the subscript of the formula (27) is clearly only the elements of the i = 1, i = 2, ..., subscript is changed also the elements of k r I just omitted it because it has the same shape.

そして、中央演算処理装置300は、第r分割ブロック逆行列(27)の非零行列成分
(ただし、単位行列Iは除く)を、サブメモリ500の第r分割ブロック逆行列記憶領域
540rに記憶させる。
The central processing unit 300 then stores the non-zero matrix component (except for the unit matrix I) of the r-th divided block inverse matrix (27) in the r-th divided block inverse matrix storage area 540 r of the sub memory 500. Let

次に、中央演算処理装置300は、サブメモリ500の第r分割ブロック逆行列記憶領
域540rから第r分割ブロック逆行列(27)の非零行列成分を読み出して、第r分割
ブロック行列表記式(26)を用いて、

Figure 2006048637
Next, the central processing unit 300 reads the non-zero matrix component of the r-th divided block inverse matrix (27) from the r-th divided block inverse matrix storage area 540 r of the sub memory 500, and the r-th divided block matrix notation formula. Using (26)
Figure 2006048637

を生成する。 Is generated.

式(29)の右辺の第r分割ブロック既知数ベクトルには、隣接する第r分割ブロック
未知数ベクトルの境界部分に属するベクトル成分

Figure 2006048637
The r-th divided block known vector on the right side of Expression (29) includes a vector component belonging to the boundary portion of the adjacent r-th divided block unknown vector.
Figure 2006048637

が繰り込まれているので、これを第r分割ブロック繰り込みベクトルと称することにする
。また、式(29)のことを第r繰り込みブロック行列表記式と称することにする。
Is transferred to the r-th divided block transfer vector. Equation (29) is referred to as an r-th renormalization block matrix notation.

次に、中央演算処理装置300は、第r繰り込みブロック行列表記式(29)から式(
30)に示す境界部分のベクトル成分のみを取り出して圧縮する(ステップ170)。こ
のプロセスを第r圧縮プロセスと称することにする。

Figure 2006048637
Next, the central processing unit 300 calculates the equation (29) from the r-th renormalization block matrix notation (29).
Only the vector component at the boundary shown in 30) is extracted and compressed (step 170). This process will be referred to as the r-th compression process.
Figure 2006048637

ここで、

Figure 2006048637
here,
Figure 2006048637

及び、

Figure 2006048637
as well as,
Figure 2006048637

とした。 It was.

次に、中央演算処理装置300は、式(30)に、

Figure 2006048637
Next, the central processing unit 300 has the following expression (30).
Figure 2006048637

を代入することにより、式(30)から

Figure 2006048637
From (30) by substituting
Figure 2006048637

を算出する。 Is calculated.

式(34)は2kr個のベクトルから成る連立一次方程式である。これを第r圧縮ブロック
ベクトル方程式と称することにする。
このようにして、中央演算処理装置300は、第r圧縮ブロックベクトル方程式(34
)から第r圧縮ブロック行列表記式

Figure 2006048637
Equation (34) is a simultaneous linear equation composed of 2k r vectors. This will be referred to as the r-th compressed block vector equation.
In this way, the central processing unit 300 determines that the r-th compressed block vector equation (34
) To r-th compressed block matrix notation
Figure 2006048637

を生成する(ステップ180)。 Is generated (step 180).

ここで、

Figure 2006048637
here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される2kr行2kr列のブロック正方行列である。これを第r圧縮ブロック行列と称
することにする。
Is a block square matrix of 2k r rows and 2k r columns expressed as This will be referred to as the r-th compressed block matrix.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される2kr行1列のブロックベクトルである。これを第r圧縮ブロック未知数ベ
クトルと称することにする。
Is a 2k r row 1 column block vector. This is referred to as an r-th compressed block unknown vector.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される2kr行1列のブロックベクトルである。これを第r圧縮ブロック繰り込み
ベクトルと称することにする。さらに、式(38)の右辺第1項のブロック既知数ベクト
ルのことを第r圧縮ブロック既知数ベクトルと称することにする。
Is a 2k r row 1 column block vector. This will be referred to as the r-th compressed block renormalization vector. Furthermore, the block known number vector of the first term on the right side of Equation (38) will be referred to as the r-th compressed block known number vector.

そして、中央演算処理装置300は、第r圧縮ブロック行列(36)の非零行列成分(
ただし、単位行列Iは除く)と第r圧縮ブロック繰り込みベクトル(38)の第r圧縮ブ
ロック既知数ベクトルを、サブメモリ500の第r圧縮ブロック行列表記式記憶領域55
rに記憶させる。
The central processing unit 300 then transmits a non-zero matrix component (r) of the r-th compressed block matrix (36).
However, the unit matrix I is excluded) and the r-th compressed block known vector of the r-th compressed block renormalization vector (38) are stored in the r-th compressed block matrix expression storage area 55 of the sub memory 500.
0 is stored in the r.

上記の第r分割プロセス及び第r圧縮プロセスをまとめて第r接続プロセスと称するこ
とにする。
The r-th division process and the r-th compression process are collectively referred to as an r-th connection process.

このようにして、中央演算処理装置300は、分割の回数の値rがfになるまで上記の
第r接続プロセスを再帰的に繰り返す(ステップ190,200)。
In this way, the central processing unit 300 recursively repeats the r-th connection process until the value r of the number of divisions becomes f (steps 190 and 200).

最終プロセス(r=f)は以下の通りである。   The final process (r = f) is as follows.

中央演算処理装置300は、サブメモリ500の第f−1圧縮ブロック行列表記式記憶
領域550rから第f−1圧縮ブロック行列の非零行列成分を読み出し、読み出した非零
行列成分から生成した第f−1圧縮ブロック行列を4行4列のブロック正方行列である第
f(最終)分割ブロック行列

Figure 2006048637
The central processing unit 300 reads the non-zero matrix component of the f-1 compressed block matrix from the f-1 compressed block matrix notation storage area 550 r of the sub memory 500, and generates the first generated from the read non-zero matrix component. The f-1 (final) divided block matrix which is a 4-by-4 block square matrix of the f-1 compressed block matrix
Figure 2006048637

を単位としてkf=kf-1/2=2等分にブロック化する(ステップ150)。このプロセスのこ
とを第f(最終)分割プロセスと称することにする。
And k f = k f−1 / 2 = 2 are divided into equal parts (step 150). This process will be referred to as the f-th (final) division process.

これによって、中央演算処理装置300は、第f−1圧縮ブロック行列表記式から第f
(最終)分割ブロック行列表記式

Figure 2006048637
As a result, the central processing unit 300 determines that the f-th compressed block matrix notation formula
(Final) Partitioned block matrix notation
Figure 2006048637

を生成する。ここで、第f分割ブロック行列表記式(39)の左辺のブロックベクトルの
ことを第f(最終)分割ブロック未知数ベクトル、右辺のブロックベクトルのことを第f
(最終)分割ブロック既知数ベクトルと称することにする。
Is generated. Here, the block vector on the left side of the f-th divided block matrix notation (39) represents the f-th (final) divided block unknown vector, and the block vector on the right side represents the f-th block vector.
This will be referred to as a (final) divided block known number vector.

次に、中央演算処理装置300は、第f分割ブロック行列(39)の非零行列成分を式
(42)に示す第f代数関係式に直接代入することによって、第f分割ブロック行列(3
9)の逆行列である第f(最終)分割ブロック逆行列

Figure 2006048637
Next, the central processing unit 300 directly substitutes the non-zero matrix component of the f-th divided block matrix (39) into the f-th algebraic relational expression shown in Expression (42), thereby obtaining the f-th divided block matrix (3
9) The f-th (final) divided block inverse matrix that is the inverse matrix of
Figure 2006048637

を計算させる(ステップ160)。 Is calculated (step 160).

ここで、第f代数関係式(42)は、

Figure 2006048637
Here, the f-th algebraic relation (42) is
Figure 2006048637

によって定義されるものであり、予めメインメモリ400の計算プログラムに記載されて
いる。
And is described in advance in the calculation program of the main memory 400.

そして、中央演算処理装置300は、第f分割ブロック逆行列(41)の非零行列成分
(ただし、単位行列Iは除く)を、サブメモリ500の第f(最終)分割ブロック逆行列
記憶領域540fに記憶させる。
The central processing unit 300 then converts the non-zero matrix component (except the unit matrix I) of the f-th divided block inverse matrix (41) into the f-th (final) divided block inverse matrix storage area 540 of the sub memory 500. Remember to f .

次に、中央演算処理装置300は、サブメモリ500の第f分割ブロック逆行列記憶領
域540fから第f分割ブロック逆行列(41)の非零行列成分を読み出して、第f分割
ブロック行列表記式(40)を用いて、

Figure 2006048637
Next, the central processing unit 300 reads the non-zero matrix component of the f-th divided block inverse matrix (41) from the f-th divided block inverse matrix storage area 540 f of the sub memory 500, and the f-th divided block matrix notation formula. (40)
Figure 2006048637

を生成する。 Is generated.

式(43)の右辺の第f分割ブロック既知数ベクトルは、隣接する第f分割ブロック未
知数ベクトルの境界部分に属するベクトル成分

Figure 2006048637
The f-th divided block known number vector on the right side of Expression (43) is a vector component belonging to the boundary portion of the adjacent f-th divided block unknown vector.
Figure 2006048637

が繰り込まれているので、これを第f(最終)分割ブロック繰り込みベクトルと称するこ
とにする。また、式(43)のことを第f(最終)繰り込みブロック行列表記式と称する
ことにする。
Is transferred to the f-th (final) divided block transfer vector. Equation (43) is referred to as an f-th (final) renormalization block matrix notation.

次に、中央演算処理装置300は、第f繰り込みブロック行列表記式(43)から式(
44)に示す境界部分だけを取り出し圧縮する(ステップ170)。このプロセスを第f
(最終)圧縮プロセスと称することにする。

Figure 2006048637
Next, the central processing unit 300 obtains an equation (43) from the f-th renormalization block matrix notation (43).
Only the boundary portion shown in 44) is taken out and compressed (step 170). F.
This will be referred to as the (final) compression process.
Figure 2006048637

ここで、

Figure 2006048637
here,
Figure 2006048637

及び、

Figure 2006048637
as well as,
Figure 2006048637

とした。 It was.

次に、中央演算処理装置300は、式(44)に、

Figure 2006048637
Next, the central processing unit 300 has the following expression (44).
Figure 2006048637

を代入することにより、式(44)から

Figure 2006048637
From equation (44) by substituting
Figure 2006048637

を算出する。 Is calculated.

式(48)は2kf-1(=4)個のベクトルから成る連立一次方程式である。これを第f(最終)
圧縮ブロックベクトル方程式と称することにする。
このようにして、中央演算処理装置300は、第f圧縮ブロックベクトル方程式(48
)から第f(最終)圧縮ブロック行列表記式

Figure 2006048637
Expression (48) is a simultaneous linear equation composed of 2k f-1 (= 4) vectors. This is the f (final)
This will be referred to as a compressed block vector equation.
In this way, the central processing unit 300 performs the f-th compressed block vector equation (48
) To f (final) compressed block matrix notation
Figure 2006048637

を生成する(ステップ180)。ここで、

Figure 2006048637
Is generated (step 180). here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される4行4列のブロック正方行列である。これを第f(最終)圧縮ブロック行
列と称することにする。
Is a 4 × 4 block square matrix. This will be referred to as the f (final) compressed block matrix.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される4行1列のブロックベクトルである。これを第f(最終)圧縮ブロック未
知数ベクトルと称することにする。
Is a 4 × 1 block vector. This will be referred to as the f (final) compressed block unknown vector.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される4行1列のブロックベクトルである。これを第f(最終)圧縮ブロック繰
り込みベクトルと称することにする。さらに、式(52)の右辺第1項のブロック既知数
ベクトルのことを第f(最終)圧縮ブロック既知数ベクトルと称することにする。
Is a 4 × 1 block vector. This will be referred to as the f-th (final) compressed block renormalization vector. Furthermore, the block known number vector of the first term on the right side of Equation (52) will be referred to as the f (final) compressed block known number vector.

そして、中央演算処理装置300は、第f圧縮ブロック行列(50)の非零行列成分(
ただし、単位行列Iは除く)と第f圧縮ブロック繰り込みベクトル(52)の第f圧縮ブ
ロック既知数ベクトルを、サブメモリ500の第f(最終)接続ブロック行列表記式記憶
領域550fに記憶させる。
The central processing unit 300 then calculates a non-zero matrix component of the f-th compressed block matrix (50) (
However, the first f compressed block known number vector of the unit matrix I are excluded) a renormalization first f compressed block vector (52), the f (final sub-memory 500) is stored in the connection block matrix notation equation storing region 550 f.

上記の第f分割プロセス及び第f圧縮プロセスをまとめて第f(最終)接続プロセスと
称することにする。
The f-th division process and the f-th compression process are collectively referred to as an f (final) connection process.

次に、中央演算処理装置300は、このようにして生成された上記の複数の第r接続ブ
ロック行列表記式を用いて、ブロック未知数ベクトル(3)を求める(ステップ210〜
240)。ここで、rは、1≦r≦fを満たす整数である。これらのステップのことを逆
算求解ステップと称することにする。
Next, the central processing unit 300 obtains the block unknown vector (3) using the plurality of r-th connected block matrix notations generated in this way (steps 210 to 210).
240). Here, r is an integer that satisfies 1 ≦ r ≦ f. These steps will be referred to as back calculation solution steps.

まず、中央演算装置300は、サブメモリ500の第f圧縮ブロック行列表記式記憶領
域550から第f圧縮ブロック行列(50)の非零行列成分を読み出し、読み出した非
零行列成分を式(54)に示す第f+1代数関係式に直接代入することによって、第f+
1圧縮ブロック行列(50)の逆行列である第f+1圧縮ブロック逆行列

Figure 2006048637
First, the central processing unit 300 reads the non-zero matrix component of the f compressed block matrix from the f compressed block matrix notation equation storing region 550 f of the sub-memory 500 (50), the read nonzero matrix elements formula (54 ) Is directly substituted into the f + 1 algebraic relational expression shown in FIG.
F + 1-th compressed block inverse matrix which is an inverse matrix of one compressed block matrix (50)
Figure 2006048637

を計算させる(ステップ210)。 Is calculated (step 210).

ここで、第f+1代数関係式は、

Figure 2006048637
Here, the f + 1-th algebraic relational expression is
Figure 2006048637

によって定義されるものであり、予めメインメモリ400の計算プログラムに記載されて
いる。
And is described in advance in the calculation program of the main memory 400.

次に、中央演算処理装置300は、第f圧縮ブロック行列表記式(49)を用いて、

Figure 2006048637
Next, the central processing unit 300 uses the f-th compressed block matrix notation (49),
Figure 2006048637

を生成する。 Is generated.

次に、中央演算処理装置300は、

Figure 2006048637
Next, the central processing unit 300
Figure 2006048637

を用いて、式(55)から

Figure 2006048637
From equation (55)
Figure 2006048637

を生成する。 Is generated.

次に、中央演算処理装置300は、サブメモリ500の第f圧縮ブロック行列表記式記
憶領域550fから第f圧縮ブロック繰り込みベクトル(52)の第f圧縮ブロック既知
数ベクトルを読み出し、読み出した第f圧縮ブロック既知数ベクトルを式(57)に代入
して、ブロック未知数ベクトル(3)のうちの分割された未知数ベクトル

Figure 2006048637
Next, the central processing unit 300 reads out the first f compressed block known number vector renormalization first f compressed block from the f compressed block matrix notation equation storing region 550 f of the sub-memory 500 vector (52), read the f Substituting the compressed block known number vector into the equation (57), the divided unknown number vector of the block unknown number vector (3)
Figure 2006048637

の値を算出する(ステップ220)。 Is calculated (step 220).

次に、中央演算処理装置300は、

Figure 2006048637
Next, the central processing unit 300
Figure 2006048637

を用いて、式(43)より

Figure 2006048637
From equation (43)
Figure 2006048637

を生成する。そして、式(60)に、既に求めた未知数ベクトルの値である

Figure 2006048637
Is generated. And the value of the unknown vector that has already been obtained is shown in equation (60).
Figure 2006048637

と、同じく既に求めた未知数ベクトル(59)を代入して、ブロック未知数ベクトル(3)
のうちの分割された未知数ベクトル

Figure 2006048637
Similarly, the unknown vector (59) already obtained is substituted, and the block unknown vector (3)
The unknown vector divided into
Figure 2006048637

の値を算出する。これによって、未知数ベクトル

Figure 2006048637
Is calculated. This makes the unknown vector
Figure 2006048637

の値が求められる。 The value of is obtained.

このようにして、中央演算処理装置300は、式(29)においてr=1となるまで上記
のプロセスを繰り返すことにより(ステップ230,240)、すべての未知数ベクトル
、すなわちブロック未知数ベクトル(3)、を求める。
In this way, the central processing unit 300 repeats the above process until r = 1 in the equation (29) (steps 230 and 240), whereby all unknown vectors, that is, the block unknown vector (3), Ask for.

(第2の実施形態)
図3は、本発明の第2の実施形態に係る連立一次方程式の計算装置の概略構成を示した
概念図である。なお、第1の実施形態と同一の構成には同一の符号を付し、繰り返しの説
明を省略する。
(Second Embodiment)
FIG. 3 is a conceptual diagram showing a schematic configuration of a simultaneous linear equation calculation apparatus according to the second embodiment of the present invention. In addition, the same code | symbol is attached | subjected to the structure same as 1st Embodiment, and repeated description is abbreviate | omitted.

第2の実施形態は、解析対象となる連立一次方程式の係数行列がブロックN(Nは4以
上の整数)重対角行列の場合を想定したものである。
The second embodiment assumes that the coefficient matrix of the simultaneous linear equations to be analyzed is a block N (N is an integer of 4 or more) multidiagonal matrix.

なお、以降においても、Nは4以上の整数を表すものとする。   In the following, N represents an integer of 4 or more.

図3に示すように、第2の実施形態に係る計算装置は、第1の実施形態と同じく、入力
装置100と、出力装置200と、中央演算処理装置(CPU)300と、メインメモリ
400と、サブメモリ500とを外部バス600を介して連結して構成されている。
As shown in FIG. 3, the computing device according to the second embodiment is similar to the first embodiment in the input device 100, the output device 200, the central processing unit (CPU) 300, the main memory 400, and the like. The sub memory 500 is connected via an external bus 600.

本実施形態に係るサブメモリ500には、第1の実施形態の記憶領域の他にブロックN
重対角行列表記式記憶領域560が設けられている。それに対応して、メインメモリ40
0には、本実施形態に係る連立一次方程式の計算プログラムが記憶されている。そして、
中央演算処理装置300は、メインメモリ400に記憶されている上記の計算プログラム
に従って、入力装置100から入力された各種解析条件を用いて解析対象となる連立一次
方程式の解を求める。中央演算処理装置300は、メインメモリ400に記憶されている
上記の計算プログラムを実効することによって、本実施形態に係る連立一次方程式の計算
装置の各機能を実現する。
The sub memory 500 according to the present embodiment includes a block N in addition to the storage area of the first embodiment.
A multi-diagonal matrix notation storage area 560 is provided. Correspondingly, the main memory 40
In 0, a calculation program for simultaneous linear equations according to the present embodiment is stored. And
The central processing unit 300 obtains a solution of the simultaneous linear equations to be analyzed using the various analysis conditions input from the input device 100 in accordance with the calculation program stored in the main memory 400. The central processing unit 300 implements each function of the simultaneous linear equation calculation apparatus according to the present embodiment by executing the above-described calculation program stored in the main memory 400.

以上のように構成された本実施形態の計算装置は、解析対象となる連立一次方程式を以
下の処理手順で数値計算する。
The calculation apparatus of the present embodiment configured as described above performs numerical calculation on the simultaneous linear equations to be analyzed by the following processing procedure.

図4は、図3に示した第2の実施形態の計算装置によって行われる数値計算の処理手順
を示したフローチャートである。図5は、図4に示した数値計算の処理手順の続きを示す
フローチャートである。
FIG. 4 is a flowchart showing a processing procedure of numerical calculation performed by the calculation apparatus of the second embodiment shown in FIG. FIG. 5 is a flowchart showing a continuation of the numerical calculation processing procedure shown in FIG.

まず、中央演算処理装置300は、入力装置100を介して、解析対象となる連立一次
方程式を「係数行列×未知数ベクトル=既知数ベクトル」として行列表記した際の係数行
列として、m行m列の正方行列を単位成分とするn行n列のブロックN重対角行列の入力
を解析者に促す(ステップ300)。詳細には、中央演算処理装置300は、上記のブロ
ックN重対角行列中のブロックN重対角成分のみの入力を解析者に促す。
First, the central processing unit 300, via the input device 100, has m rows and m columns as a coefficient matrix when the simultaneous linear equations to be analyzed are expressed as a matrix as “coefficient matrix × unknown number vector = known number vector”. The analyst is prompted to input an n-by-n block N diagonal matrix having a square matrix as a unit component (step 300). Specifically, the central processing unit 300 prompts the analyst to input only the block N double diagonal component in the block N double diagonal matrix.

また、ステップ300において、中央演算処理装置300は、ブロックN重対角行列の
サイズの値nとして正の偶数の値の入力を解析者に促すが、ブロックN重対角行列の単位
成分である正方行列のサイズの値mに関しては自然数であるということ以外に特に制限は
設けない。
In step 300, the central processing unit 300 prompts the analyst to input a positive even value as the value n of the block N double diagonal matrix size, which is a unit component of the block N double diagonal matrix. The square matrix size value m is not particularly limited except that it is a natural number.

なお、本実施形態においては、上述したように、ブロックN重対角行列のサイズの値n
として正の偶数の値を入力させるようにしているが、それ以外の一般の自然数を入力させ
てもよい。これについては後述する。
In the present embodiment, as described above, the value n of the size of the block N double diagonal matrix
As an input, a positive even number value is input, but other general natural numbers may be input. This will be described later.

また、ステップ300において、中央演算処理装置300は、上述した係数行列として
のブロックN重対角行列の入力に対応して、ブロック未知数ベクトルとしてm行1列の未
知数ベクトルを単位成分とするn行1列のブロック未知数ベクトルの入力、及び、ブロッ
ク既知数ベクトルとしてm行1列の未知数ベクトルを単位成分とするn行1列のブロック
既知数ベクトルの入力を解析者に促す。
Further, in step 300, the central processing unit 300, in response to the input of the block N diagonal matrix as the coefficient matrix described above, has n rows with an unknown vector of m rows and 1 column as a unit component as a block unknown vector. The analyst is prompted to input a block unknown vector of 1 column and an n row 1 column known vector having m rows and 1 column as a unit component as a block known vector.

さらに、ステップ300において、入力装置100は、解析対象である連立一次方程式
を解くために必要となる初期条件及び境界条件などの各種解析条件の入力を解析者に促す
Furthermore, in step 300, the input device 100 prompts the analyst to input various analysis conditions such as initial conditions and boundary conditions necessary for solving the simultaneous linear equations to be analyzed.

そして、中央演算処理装置300は、このようにして入力されたブロックN重対角行列
のサイズの値n、ブロックN重対角行列の単位成分である正方行列のサイズの値m、初期
条件、及び境界条件などの各種解析条件を、サブメモリ500の解析条件記憶領域510
に記憶させる。
The central processing unit 300 then inputs the block size n diagonal matrix size value n, the square matrix size value m that is a unit component of the block N double diagonal matrix, the initial condition, And various analysis conditions such as boundary conditions are stored in an analysis condition storage area 510 of the sub memory 500.
Remember me.

次に、中央演算処理装置300は、上記のようにして入力された連立一次方程式から、
初期行列表記式としてブロックN重対角行列表記式

Figure 2006048637
Next, the central processing unit 300, from the simultaneous linear equations input as described above,
Block N double diagonal matrix notation as initial matrix notation
Figure 2006048637

を生成する(ステップ310)。 Is generated (step 310).

ここで、

Figure 2006048637
here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるn行n列のブロックN重対角行列である。ここで、ブロックN重対角行列
(65)のN重対角成分は入力装置100から入力されたm行m列の非零行列である。そ
の他の成分はすべて零行列である。また、Nとzとの関係は、最初に記載した定義に従う
。すなわち、Nが3以上の奇数の場合は、z=(N−1)/2であり、Nが4以上の偶数
の場合は、z=N/2である。
Is an n-by-n block N-diagonal matrix expressed as Here, the N double diagonal component of the block N double diagonal matrix (65) is a non-zero matrix of m rows and m columns input from the input device 100. All other components are zero matrices. The relationship between N and z follows the definition described first. That is, when N is an odd number of 3 or more, z = (N−1) / 2, and when N is an even number of 4 or more, z = N / 2.

そして、

Figure 2006048637
And
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるn行1列のブロック未知数ベクトルである。ここで、式(66)の単位成

Figure 2006048637
Is an n-by-1 block unknown vector represented as Here, the unit component of the formula (66)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるm行1列の未知数ベクトルである。 Is an unknown vector of m rows and 1 column.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

で表されるn行1列のブロック未知数ベクトルである。ここで、式(68)の単位成分

Figure 2006048637
An n-by-1 block unknown vector represented by: Here, the unit component of the formula (68)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるm行1列の既知数ベクトルである。既知数ベクトル(69)には入力装置
100から入力された初期条件や境界条件などの各種解析条件が導入されている。
Is a known vector of m rows and 1 column expressed as Various analysis conditions such as initial conditions and boundary conditions input from the input device 100 are introduced into the known number vector (69).

そして、中央演算処理装置300は、ブロックN重対角行列(65)のブロックN重対
角成分と、ブロック既知数ベクトル(66)を、サブメモリ500のブロックN重対角行
列表記式記憶領域560に記憶させる。
Then, the central processing unit 300 stores the block N double diagonal component of the block N double diagonal matrix (65) and the block known number vector (66) in the block N double diagonal matrix notation storage area of the sub memory 500. 560 stores it.

次に、中央演算処理装置300は、サブメモリ500のブロックN重対角行列表記式記
憶領域560から、ブロックN重対角行列(65)のN重対角成分を読み出し、読み出し
たN重対角成分から生成したブロックN重対角行列(65)を4行4列のブロック正方行
列である3重化ブロック行列

Figure 2006048637
Next, the central processing unit 300 reads the N double diagonal component of the block N double diagonal matrix (65) from the block N double diagonal matrix notation storage area 560 of the sub memory 500, and reads the read N double pairs. A block N-fold diagonal matrix (65) generated from the corner components is a triple block matrix which is a 4 × 4 block square matrix.
Figure 2006048637

を単位としてブロック化する(ステップ320)。ここで、pは、p=n/zを満たす正
の偶数である。
(Block 320). Here, p is a positive even number that satisfies p = n / z.

これによって、中央演算処理装置300は、初期行列表記式としてのブロックN重対角
行列表記式からp行p列のブロック3重対角行列

Figure 2006048637
As a result, the central processing unit 300 can generate a block tridiagonal matrix of p rows and p columns from a block N double diagonal matrix notation as an initial matrix notation.
Figure 2006048637

を係数行列とするブロック3重対角行列表記式

Figure 2006048637
Block tridiagonal matrix notation with as coefficient matrix
Figure 2006048637

を生成する(ステップ330)。これは、第1の実施形態におけるブロック3重対角行列
(2)と実質的に同じものである。
Is generated (step 330). This is substantially the same as the block tridiagonal matrix (2) in the first embodiment.

ここで、

Figure 2006048637
here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるp行1列のブロック未知数ベクトルである。これは、第1の実施形態にお
けるブロック未知数ベクトル(3)と実質的に同じものである。ここで、式(73)の単
位成分

Figure 2006048637
Is a block unknown vector of p rows and 1 column expressed as This is substantially the same as the block unknown vector (3) in the first embodiment. Here, the unit component of the formula (73)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるz行1列の未知数ベクトルである。これは、第1の実施形態における未知
数ベクトル(4)と実質的に同じである。
Is an unknown vector of z rows and 1 column expressed as This is substantially the same as the unknown vector (4) in the first embodiment.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるp行1列のブロック既知数ベクトルである。これは、第1の実施形態にお
けるブロック既知数ベクトル(5)と実質的に同じものである。ここで、式(75)の単
位成分

Figure 2006048637
P × 1 block known vector represented as This is substantially the same as the block known number vector (5) in the first embodiment. Here, the unit component of the formula (75)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるz行1列のブロック既知数ベクトルである。これは、第1の実施形態にお
けるブロック既知数ベクトル(6)と実質的に同じである。
Is a z-by-1 block known vector represented as This is substantially the same as the block known number vector (6) in the first embodiment.

そして、中央演算処理装置300は、ブロック3重対角行列(71)の3重対角成分と
、ブロック既知数ベクトル(75)を、サブメモリ500のブロック3重対角行列表記式
記憶領域520に記憶させる。
Then, the central processing unit 300 stores the tridiagonal component of the block tridiagonal matrix (71) and the block known number vector (75) in the block tridiagonal matrix notation storage area 520 of the sub memory 500. Remember me.

このようにして、第2の実施形態における初期行列表記式であるブロックN重対角行列
表記式は第1の実施形態におけるブロック3重対角行列表記式に変換されるので、以降に
おいて、第1の実施形態におけるステップ110〜240の解法プロセスを適用すること
が可能となる。
In this way, the block N tridiagonal matrix notation which is the initial matrix notation in the second embodiment is converted to the block tridiagonal matrix notation in the first embodiment. It is possible to apply the solution process of steps 110 to 240 in one embodiment.

しかし、第1の実施形態においては、ブロック3重対角行列のサイズの値pが2のべき
乗の値であったのに対し、第2の実施形態においては、このサイズの値p(=n/z)は
、正の偶数ではあるが、必ずしも2のべき乗の値になるとは限らない。
However, in the first embodiment, the value p of the block tridiagonal matrix size is a power of 2, whereas in the second embodiment, this size value p (= n / Z) is a positive even number, but is not necessarily a power of 2.

そこで、以降において、この点について説明する。   Therefore, this point will be described below.

中央演算処理装置300は、サブメモリ500のブロック3重対角行列表記式記憶領域
520から、ブロック3重対角行列(72)のサイズの値pを読み出し、読み出した値p
から、2のべき乗級数展開に基づく分割回数決定(多項)式

Figure 2006048637
The central processing unit 300 reads the value p of the size of the block tridiagonal matrix (72) from the block tridiagonal matrix notation storage area 520 of the sub memory 500, and reads the read value p
To determine the number of divisions based on the power series expansion of 2 (multinomial)
Figure 2006048637

を用いて自然数fiを算出する(ステップ340)。なお、式(77)において、fi≦0
を満たすfiの値はすべて0に設定する。
Is used to calculate the natural number f i (step 340). In formula (77), f i ≦ 0
All values of f i satisfying the above are set to 0.

なお、2のべき乗級数展開とは、

Figure 2006048637
The power series expansion of 2 is
Figure 2006048637

で表される級数展開のことであり、任意の自然数pは必ず式(78)ように級数展開する
ことが可能である。ここで、ai(i=0,1,2,・・・,F)=1又は0である。また
、Fは自然数であり、iは各項の指標となる添え字であるが、ブロック3重対角行列(7
2)のサイズの値pが偶数のため、ここではi=0は除いて考える。
The arbitrary natural number p can always be expanded as shown in Equation (78). Here, a i (i = 0, 1, 2,..., F) = 1 or 0. Further, F is a natural number and i is a subscript as an index of each term, but a block tridiagonal matrix (7
Since the size value p in 2) is an even number, i = 0 is considered here.

次に、中央演算処理装置300は、式(77)の各項piと自然数fiとを関連付けて項
別パラメータセット(pi,fi)(i=1,・・・,F)としてサブメモリ500の項別
分離パラメータセット記憶領域570に記憶させる。
Next, the central processing unit 300, each term p i and term-specific parameter set in association with the natural numbers f i of formula (77) (p i, f i) (i = 1, ···, F) as The data is stored in the item-specific separation parameter set storage area 570 of the sub memory 500.

次に、中央演算処理装置300は、サブメモリ500のブロック3重対角行列表示式記
憶領域520から、ブロック3重対角行列のブロック3重対角成分を読み出し、読み出し
たブロック3重対角成分からブロック3重対角行列表記式(72)を生成する。
Next, the central processing unit 300 reads the block tridiagonal component of the block tridiagonal matrix from the block tridiagonal matrix display storage area 520 of the sub memory 500, and reads the read block tridiagonal component. A block tridiagonal matrix expression (72) is generated from the components.

次に、中央演算処理装置300は、サブメモリ500の項別分離パラメータセット記憶
領域570から項別分離パラメータセット(pi,fi)(i=1,2,・・・,F)を読
み出し、読み出したパラメータpi(i=1,2,・・・,F)を分離のサイズとして、
ブロック3重対角行列表記式(72)を

Figure 2006048637
Next, the central processing unit 300, Section-specific separation parameter set storage region 570 from section by separation parameter set of the sub-memory 500 (p i, f i) (i = 1,2, ···, F) reads , The read parameter p i (i = 1, 2,..., F) as the separation size,
Block tridiagonal matrix notation (72)
Figure 2006048637

のようにF個に分離する(ステップ350)。  (Step 350).

このようにして分離されたブロック3重対角行列表示式のことを分離ブロック3重対角
行列表記式と称することにする。また、分離ブロック3重対角行列表記式の係数行列のこ
とを分離ブロック3重対角行列、分離ブロック3重対角行列表記式のブロック未知数ベク
トルのことを分離ブロック未知数ベクトル、分離ブロック3重対角行列表記式のブロック
既知数ベクトルのことを分離ブロック既知数ベクトルと称することにする。
The block tridiagonal matrix expression thus separated will be referred to as a separated block tridiagonal matrix expression. Further, the coefficient matrix of the separation block tridiagonal matrix notation represents the separation block tridiagonal matrix, the block unknown vector of the separation block tridiagonal matrix notation represents the separation block unknown vector, and the separation block triple. The block known number vector of the diagonal matrix notation is referred to as a separated block known number vector.

例えば、読み出したブロック3重対角行列(72)のサイズの値pが分割回数決定多項
式(77)を用いて、

Figure 2006048637
For example, the value p of the size of the read block tridiagonal matrix (72) is calculated using the division number determination polynomial (77).
Figure 2006048637

のように展開されたとする。この場合、ブロック3重対角行列表記式(72)は、

Figure 2006048637
It is assumed that In this case, the block tridiagonal matrix notation (72) is
Figure 2006048637

すなわち、

Figure 2006048637
That is,
Figure 2006048637

と、

Figure 2006048637
When,
Figure 2006048637

すなわち、

Figure 2006048637
That is,
Figure 2006048637

と、

Figure 2006048637
When,
Figure 2006048637

すなわち、

Figure 2006048637
That is,
Figure 2006048637

の3つの分離ブロック3重対角行列表記式に分離されることになる。また、この場合、
項別分離パラメータセットは、(p1,f1)、(p2,f2),(p3,f3)となる。
Are separated into three diagonal blocks. In this case,
The term-specific separation parameter set is (p 1 , f 1 ), (p 2 , f 2 ), (p 3 , f 3 ).

そして、中央演算処理装置300は、F個の分離ブロック3重対角行列のブロック3重
対角成分と、F個の分離ブロック3重既知数ベクトルをサブメモリ500の分離ブロック
3重対角行列表記式記憶領域580に記憶させる。
Then, the central processing unit 300 uses the block tridiagonal components of the F separated block tridiagonal matrices and the F separated block triple known number vectors as the separated block tridiagonal matrix of the sub memory 500. It is stored in the notation storage area 580.

次に、中央演算処理装置300は、分割の対象となる項である分割対象項の添字iの初
期値をi=1に設定する(ステップ360)。
Next, the central processing unit 300 sets the initial value of the suffix i of the division target term, which is the term to be divided, to i = 1 (step 360).

次に、中央演算処理装置300は、サブメモリ500の項別分離パラメータセット記憶
領域570からi=1で添字付けられたパラメータfを読み出し、これを分割の回数と
して設定する(ステップ370)。
Next, the central processing unit 300 reads the parameter f 1 indexed by i = 1 from the item-specific separation parameter set storage area 570 of the sub memory 500, and sets this as the number of divisions (step 370).

次に、中央演算処理装置300は、サブメモリ500の分離ブロック3重対角行列表記
式記憶領域580からi=1で添字付けされた分離ブロック3重対角行列のブロック3重
対角成分と、同じくi=1で添え字付けされた分離ブロック既知数ベクトルを読み出し、
第1の実施形態におけるステップ140〜180までのプロセスを行う。
Next, the central processing unit 300 adds the block tridiagonal component of the separated block tridiagonal matrix indexed with i = 1 from the separated block tridiagonal matrix notation storage area 580 of the sub memory 500. , Read the known vector of separated blocks, also subscripted with i = 1,
The processes of steps 140 to 180 in the first embodiment are performed.

そして、中央演算処理装置300は、分割対象項の添字の値iをi=2からFまでイン
クリメントすることによって、項別に分離されたF個の分離圧縮ブロック行列表記式を生
成する(ステップ380,390)。
Then, the central processing unit 300 increments the subscript value i of the item to be divided from i = 2 to F, thereby generating F separated compressed block matrix notations separated by terms (step 380, 390).

次に、中央演算処理装置300は、生成されたF個の分離圧縮ブロック行列表記式から
境界部分のベクトル成分のみを取り出すことによって結合ブロックベクトル方程式を生成
し、これを結合ブロック行列表記式(結合ブロック行列×結合ブロック未知数ベクトル=
結合ブロック既知数ベクトル)として行列表記する(ステップ400)。
Next, the central processing unit 300 generates a combined block vector equation by taking out only the vector components of the boundary portion from the generated F separated compressed block matrix notations, and generates the combined block matrix notation (connected Block matrix x connected block unknown vector =
It is expressed as a matrix as a connected block known number vector) (step 400).

そして、中央演算処理装置300は、結合ブロック行列の非零行列成分と、結合ブロッ
ク既知数ベクトルをサブメモリ500の結合ブロック行列表記式記憶領域590に記憶さ
せる。
The central processing unit 300 stores the non-zero matrix component of the combined block matrix and the combined block known number vector in the combined block matrix notation storage area 590 of the sub memory 500.

次に、中央演算処理装置300は、サブメモリ500の結合ブロック行列表記式記憶領
域590から結合ブロック行列の非零行列成分を読み出し、読み出した非零行列成分から
生成した結合ブロック行列の逆行列を求めることによって、上記の境界部分のベクトル成
分の値を算出する(ステップ410)。上記の例の場合であれば、

Figure 2006048637
Next, the central processing unit 300 reads a non-zero matrix component of the combined block matrix from the combined block matrix notation storage area 590 of the sub memory 500, and calculates an inverse matrix of the combined block matrix generated from the read non-zero matrix component. By calculating, the value of the vector component of the boundary portion is calculated (step 410). In the case of the above example,
Figure 2006048637

が算出されることになる。なお、このステップ410で行われることは、第1の実施形
態におけるステップ210〜240と同じであるので詳細は省略する。
Will be calculated. Note that what is performed in step 410 is the same as steps 210 to 240 in the first embodiment, and thus details thereof are omitted.

次に、中央演算処理装置300は、算出された境界部分のベクトル(上記の例であれば

Figure 2006048637
Next, the central processing unit 300 calculates the calculated boundary portion vector (in the above example,
Figure 2006048637

)の値を元のF個の分離圧縮ブロック行列表記式(上記の例であれば、式(82)、式
(84)、式(86))に代入することによって、F個の分離ブロック行列表記式を線形
分離する(ステップ420)。このようにして線形分離された分離ブロック行列表記式の
ことを完全分離ブロック行列表記式と称することにする。
) Are substituted into the original F separated compressed block matrix notation formulas (in the above example, formula (82), formula (84), formula (86)) to obtain F separated block matrixes. The expression is linearly separated (step 420). The separation block matrix notation that is linearly separated in this way is referred to as a complete separation block matrix notation.

次に、中央演算処理装置300は、F個の完全分離ブロック行列表記式中のi=1で添
字付けされた圧縮ブロック行列表記式に対して、第1の形態におけるステップ210から
240の逆算求解プロセスを施す。
Next, the central processing unit 300 calculates the inverse calculation solution of steps 210 to 240 in the first form for the compressed block matrix notation indexed with i = 1 in the F completely separated block matrix notations. Apply the process.

そして、中央演算処理装置300は、分割対象項の添字の値iをi=2からFまでイン
クリメントして、上記のプロセスを再帰的にF−1回繰り返す(ステップ390,395
)ことによって、最終的にブロック未知数ベクトル(73)を求める。
Then, the central processing unit 300 increments the subscript value i of the item to be divided from i = 2 to F, and recursively repeats the above process F-1 times (steps 390 and 395).
) To finally obtain the block unknown vector (73).

なお、ブロック3重対角行列のサイズの値pが分割回数決定(単項)式(7)によって
表される場合も第2の実施形態に包含されることは言うまでもない。
Needless to say, the second embodiment also includes the case where the value p of the block tridiagonal matrix size is expressed by the division number determination (unary) equation (7).

また、ステップ340において、ブロック3重対角行列(72)のサイズの値pが分割
回数決定(多項)式(77)によって、

Figure 2006048637
In step 340, the size value p of the block tridiagonal matrix (72) is determined by the division number determination (multinomial) equation (77).
Figure 2006048637

のように級数展開される場合には、式(87)の右辺第1項に関してはステップ360〜
400までの操作は行わずに、直接逆行列を計算させ、境界部分のベクトル成分を取り出
す。そして、ステップ410において残りの項から取り出した境界部分のベクトル成分と
合わせて、その値を算出すればよい。
When series expansion is performed as in step 360 to step 360 for the first term on the right side of equation (87).
Without performing the operations up to 400, the inverse matrix is directly calculated to extract the vector component of the boundary portion. Then, in step 410, the value may be calculated together with the vector component of the boundary portion extracted from the remaining terms.

例えば、p=386の場合、サブメモリ500のブロック3重対角行列表記式記憶領域
520に記憶されているブロック3重対角行列表記式は

Figure 2006048637
For example, when p = 386, the block tridiagonal matrix notation stored in the block tridiagonal matrix notation storage area 520 of the sub memory 500 is
Figure 2006048637

である。 It is.

まず、中央演算処理装置300は、サブメモリ500の解析条件記憶領域510からブ
ロック3重対角行列のサイズの値p=386を読み出し、読み出した値pを、分割回数決
定(多項式)式(77)を用いて、

Figure 2006048637
First, the central processing unit 300 reads the value p = 386 of the block tridiagonal matrix size from the analysis condition storage area 510 of the sub memory 500, and uses the read value p as a division number determination (polynomial) equation (77). )Using,
Figure 2006048637

と級数展開することによって、自然数fi(i=1,2,3)をそれぞれf1=6、f2
5、f3=0と決定する(ステップ340)。
To expand the natural numbers f i (i = 1, 2, 3) to f 1 = 6 and f 2 =, respectively.
5. Determine that f 3 = 0 (step 340).

次に、中央演算処理装置300は、式(89)の右辺の各項のサイズpi(i=1,2
,3)と自然数fi(i=1,2,3)とを関連付けて項別分離パラメータセット(pi
i)=(256,6),(128,5),(2,0)としてサブメモリ500の項別分
離パラメータセット記憶領域570に記憶させる。
Next, the central processing unit 300 determines the size p i (i = 1, 2) of each term on the right side of the equation (89).
, 3) and the natural numbers f i (i = 1, 2, 3) in association with the term-specific separation parameter set (p i ,
f i ) = (256, 6), (128, 5), (2, 0) are stored in the item-specific separation parameter set storage area 570 of the sub memory 500.

次に、中央演算処理装置300は、サブメモリ500のブロック3重対角行列表記式記
憶領域520から、ブロック3重対角行列の3重対角成分を読み出し、読み出した3重対
角成分からブロック3重対角行列表記式(88)を生成する。
Next, the central processing unit 300 reads the tridiagonal component of the block tridiagonal matrix from the block tridiagonal matrix notation storage area 520 of the sub memory 500, and from the read tridiagonal component. A block tridiagonal matrix notation (88) is generated.

次に、中央演算処理装置300は、サブメモリ500の項別分離パラメータセット記憶
領域570から項別分離パラメータセット(pi,fi)=(256,6),(128,5
),(2,0)を読み出し、読み出したp1=256,p2=128,p3=2を分離のサ
イズとして、ブロック3重対角行列表記式(88)を3つの分離ブロック3重対角行列表
記式

Figure 2006048637
Figure 2006048637
Figure 2006048637
Next, the central processing unit 300, Section-specific separation parameter set storage region 570 from section by separation parameter set of the sub-memory 500 (p i, f i) = (256,6), (128,5
), (2, 0) are read, and the read p 1 = 256, p 2 = 128, and p 3 = 2 are set as separation sizes, and the block tridiagonal matrix expression (88) is divided into three separation block triples. Diagonal matrix notation
Figure 2006048637
Figure 2006048637
Figure 2006048637

に分離する(ステップ350)。 (Step 350).

そして、中央演算処理装置300は、分離ブロック3重対角行列表記式(90),(9
1)に対しては、ステップ360以降の処理を施し、分離ブロック3重対角行列表記式(
92)に対しては、上述したようにその係数行列の逆行列を直接

Figure 2006048637
The central processing unit 300 then separates the separated block tridiagonal matrix notations (90), (9
1) is subjected to the processing from step 360 onward, and the separation block tridiagonal matrix notation formula (
92), the inverse matrix of the coefficient matrix is directly applied as described above.
Figure 2006048637

と計算させることによって、境界部分のベクトル成分

Figure 2006048637
The vector component of the boundary is calculated by
Figure 2006048637

を取り出した後に、ステップ410以降の処理を施せばよい。この処理には既存の数値算
プログラムを用いればよい。ここで、

Figure 2006048637
After the process is taken out, the processing after step 410 may be performed. An existing numerical calculation program may be used for this processing. here,
Figure 2006048637

である。 It is.

なお、式(95)の

Figure 2006048637
It should be noted that the equation (95)
Figure 2006048637

については式(11)と同様の代数関係式から算出すればよい。 May be calculated from an algebraic relational expression similar to expression (11).

(第3の実施形態)
図6は、本発明の第3の実施形態に係る連立一次方程式の計算装置の概略構成を示した
概念図である。なお、第2の実施形態と同一の構成には同一の符号を付し、繰り返しの説
明を省略する。
(Third embodiment)
FIG. 6 is a conceptual diagram showing a schematic configuration of a simultaneous linear equation calculation apparatus according to the third embodiment of the present invention. In addition, the same code | symbol is attached | subjected to the structure same as 2nd Embodiment, and repeated description is abbreviate | omitted.

第3の実施形態は、解析対象となる連立一次方程式の係数行列がスカラーq(qは3以
上の整数)重対角行列の場合を想定したものである。
The third embodiment assumes that the coefficient matrix of the simultaneous linear equations to be analyzed is a scalar q (q is an integer of 3 or more) multidiagonal matrix.

なお、以降においても、qは3以上の整数を表すものとする。   In the following, q represents an integer of 3 or more.

図6に示すように、第3の実施形態に係る計算装置は、第2の実施形態と同じく、入力
装置100と、出力装置200と、中央演算処理装置(CPU)300と、メインメモリ
400と、サブメモリ500とを外部バス600を介して連結して構成されている。
As shown in FIG. 6, the computing device according to the third embodiment is similar to the second embodiment in that the input device 100, the output device 200, the central processing unit (CPU) 300, the main memory 400, The sub memory 500 is connected via an external bus 600.

本実施形態に係るサブメモリ500には、第2の実施形態の記憶領域の他にスカラーq
重対角行列表記式595が設けられている。それに対応して、メインメモリ400には、
本実施形態に係る連立一次方程式の計算プログラムが記憶されている。そして、中央演算
処理装置300は、メインメモリ400に記憶されている上記の計算プログラムに従って
、入力装置100から入力された各種解析条件を用いて解析対象となる連立一次方程式の
解を求める。中央演算処理装置300は、メインメモリ400に記憶されている上記の計
算プログラムを実効することによって、本実施形態に係る連立一次方程式の計算装置の各
機能を実現する。
The sub memory 500 according to the present embodiment includes a scalar q in addition to the storage area of the second embodiment.
A multi-diagonal matrix notation 595 is provided. Correspondingly, the main memory 400 contains
A calculation program for simultaneous linear equations according to the present embodiment is stored. Then, the central processing unit 300 obtains a solution of simultaneous linear equations to be analyzed using various analysis conditions input from the input device 100 in accordance with the calculation program stored in the main memory 400. The central processing unit 300 implements each function of the simultaneous linear equation calculation apparatus according to the present embodiment by executing the above-described calculation program stored in the main memory 400.

以上のように構成された本実施形態の計算装置は、解析対象となる連立一次方程式を以
下の処理手順で数値計算する。
The calculation apparatus of the present embodiment configured as described above performs numerical calculation on the simultaneous linear equations to be analyzed by the following processing procedure.

図7は、図6に示した第3の実施形態の計算装置によって行われる数値計算の処理手順
を示したフローチャートである。図8は、図7に示した数値計算の処理手順の続きを示す
フローチャートである。
FIG. 7 is a flowchart showing a processing procedure of numerical calculation performed by the calculation apparatus of the third embodiment shown in FIG. FIG. 8 is a flowchart showing a continuation of the numerical calculation processing procedure shown in FIG.

まず、中央演算処理装置300は、入力装置100を介して、解析対象となる連立一次
方程式を「係数行列×未知数ベクトル=既知数ベクトル」として行列表記した際の係数行
列として、l行l列のスカラーq重対角行列の入力を解析者に促す(ステップ500)。
First, the central processing unit 300 uses the input device 100 as a coefficient matrix when a simultaneous linear equation to be analyzed is expressed as a matrix of “coefficient matrix × unknown number vector = known number vector”. The analyst is prompted to enter a scalar q multi-diagonal matrix (step 500).

詳細には、入力装置100は、上記のスカラー多重対角行列のl行l列のスカラー成分の
うちスカラーq重対角成分のみの入力を解析者に促す。
Specifically, the input device 100 prompts the analyst to input only the scalar q multi-diagonal component of the scalar components of l rows and 1 columns of the above scalar multi-diagonal matrix.

また、ステップ500において、中央演算処理装置300は、スカラーq重対角行列の
サイズlとして正の偶数の入力を解析者に促す。
In step 500, the central processing unit 300 prompts the analyst to input a positive even number as the size l of the scalar q multi-diagonal matrix.

なお、本実施形態においては、上述したように、スカラーq重対角行列のサイズの値と
して正の偶数の値を入力させるようにしているが、それ以外の一般の自然数を入力させて
もよい。これについては後述する。
In the present embodiment, as described above, a positive even value is input as the size value of the scalar q multi-diagonal matrix, but other general natural numbers may be input. . This will be described later.

また、ステップ500において、中央演算処理装置300は、上述した係数行列として
のスカラー多重対角行列の入力に対応して、l行1列の未知数ベクトルの入力、及び、l
行1列の既知数ベクトルの入力を解析者に促す。
Further, in step 500, the central processing unit 300 inputs the unknown vector of l rows and 1 column in response to the input of the scalar multidiagonal matrix as the coefficient matrix described above, and l
Prompt the analyst to enter a known vector of rows and columns.

さらに、ステップ500において、中央演算処理装置300は、解析対象である連立一
次方程式を解くために必要となる初期条件及び境界条件などの各種解析条件の入力を解析
者に促す。その際、中央演算処理装置300は、ブロックN重対角化のサイズの値mとし
てlより小さい正の偶数の入力を解析者に促す。
Furthermore, in step 500, the central processing unit 300 prompts the analyst to input various analysis conditions such as initial conditions and boundary conditions necessary for solving the simultaneous linear equations to be analyzed. At that time, the central processing unit 300 prompts the analyst to input a positive even number smaller than l as the block m double diagonalization size value m.

なお、本実施形態においては、上述したように、ブロックN重対角化のサイズの値mと
してlより小さい正の偶数の値を入力させるようにしているが、それ以外の一般の自然数
を入力させてもよい。これについても後述する。
In the present embodiment, as described above, a positive even number smaller than l is input as the block m double diagonalization size value m, but other general natural numbers are input. You may let them. This will also be described later.

そして、中央演算処理装置300は、このようにして入力されたスカラーq重対角行列
のサイズl、ブロックN重対角化のサイズm、初期条件、及び境界条件などの各種解析条
件を、サブメモリ500の解析条件記憶領域510に記憶させる。
Then, the central processing unit 300 subtracts various analysis conditions such as the size l of the scalar q-multidiagonal matrix, the size m of the block N-diagonalization, the initial condition, and the boundary condition input in this way. The data is stored in the analysis condition storage area 510 of the memory 500.

次に、中央演算処理装置300は、上記のようにして入力された連立一次方程式から、
初期行列表記式としてスカラーq重対角行列表記式

Figure 2006048637
Next, the central processing unit 300, from the simultaneous linear equations input as described above,
Scalar q double diagonal matrix notation as initial matrix notation
Figure 2006048637

を生成する(ステップ510)。 Is generated (step 510).

ここで、

Figure 2006048637
here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるl行l列のスカラーq重対角行列である。スカラーq重対角行列(97)
のq重対角成分は、入力装置100から入力された非零のスカラー値である。その他の成
分は、すべて零である。また、qとzとの関係は、最初に記載した定義に従う。すなわち
、qが3以上の奇数の場合は、z=(q−1)/2であり、qが4以上の偶数の場合は、
z=q/2である。
Is a l-by-l scalar q-diagonal matrix expressed as Scalar q double diagonal matrix (97)
Is a non-zero scalar value input from the input device 100. All other components are zero. The relationship between q and z follows the definition described first. That is, when q is an odd number of 3 or more, z = (q−1) / 2, and when q is an even number of 4 or more,
z = q / 2.

そして、

Figure 2006048637
And
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるl行1列の未知数ベクトルである。 Is an unknown vector of 1 rows and 1 column expressed as

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるl行1列の既知数ベクトルである。なお、既知数ベクトル(99)には入
力装置100から入力された初期条件や境界条件などの各種解析条件が導入されている。
Is a known vector of l rows and 1 column expressed as Note that various analysis conditions such as initial conditions and boundary conditions input from the input device 100 are introduced into the known number vector (99).

そして、中央演算処理装置300は、スカラーq重対角行列(97)のスカラーq重対
角成分と、既知数ベクトル(99)を、サブメモリ500のスカラーq重対角行列表記式
記憶領域595に記憶させる。
The central processing unit 300 then stores the scalar q multi-diagonal component of the scalar q multi-diagonal matrix (97) and the known number vector (99) in the scalar q multi-diagonal matrix notation storage area 595 of the sub memory 500. Remember me.

次に、中央演算処理装置300は、サブメモリ500の解析条件記憶領域510からブ
ロックN重対角化のサイズの値mを読み出し、スカラーq重対角行列(97)をm行m列
の正方行列を単位としたn行n列のブロックN重対角行列にブロック化する(ステップ5
20)。ここで、nは、n=l/mを満たす正の偶数である。
Next, the central processing unit 300 reads the block m double diagonalization size value m from the analysis condition storage area 510 of the sub memory 500, and converts the scalar q double diagonal matrix (97) to a square of m rows and m columns. Block is formed into an n-by-n block N-diagonal matrix in matrix units (step 5).
20). Here, n is a positive even number that satisfies n = 1 / m.

このようにして、中央演算処理装置300は、スカラーq重対角行列表記式(96)か
らブロックN重対角行列表示式

Figure 2006048637
In this way, the central processing unit 300 calculates the block N double diagonal matrix display equation from the scalar q double diagonal matrix notation equation (96).
Figure 2006048637

を生成する。 Is generated.

ここで、

Figure 2006048637
here,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるn行n列のブロックN重対角行列である。これは、第2の実施形態におけ
るブロックN重対角行列(65)と実質的に同じものである。ここで、ブロックN重対角
行列(101)のN重対角成分はm行m列の非零行列である。その他の成分はすべて零行
列である。
Is an n-by-n block N-diagonal matrix expressed as This is substantially the same as the block N double diagonal matrix (65) in the second embodiment. Here, the N double diagonal component of the block N double diagonal matrix (101) is a non-zero matrix of m rows and m columns. All other components are zero matrices.

そして、

Figure 2006048637
And
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるn行1列のブロック未知数ベクトルである。これは、第2の実施形態のブ
ロックN重未知数ベクトル(66)と実質的に同じものである。ここで、式(102)の
成分

Figure 2006048637
Is an n-by-1 block unknown vector represented as This is substantially the same as the block N double unknown vector (66) of the second embodiment. Here, the component of the formula (102)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるm行1列の未知数ベクトルである。 Is an unknown vector of m rows and 1 column.

また、

Figure 2006048637
Also,
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

で表されるn行1列のブロック未知数ベクトルである。これは、第2の実施形態における
ブロックN重既知数ベクトル(68)と実質的に同じものである。ここで、式(104)
の成分

Figure 2006048637
An n-by-1 block unknown vector represented by: This is substantially the same as the block N double known number vector (68) in the second embodiment. Where equation (104)
Ingredients
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表されるm行1列の既知数ベクトルである。 Is a known vector of m rows and 1 column expressed as

このようにして、第3の実施形態における初期行列表示式であるスカラーq重対角行列
表記式は第2の実施形態におけるブロックN重対角行列表記式に変換されるので、基本的
には以降において、第2の実施形態におけるステップ320〜395の解法プロセスを適
用することが可能となる。
In this way, the scalar q multi-diagonal matrix notation which is the initial matrix display formula in the third embodiment is converted into the block N double-diagonal matrix notation in the second embodiment. Thereafter, the solution process of steps 320 to 395 in the second embodiment can be applied.

ただし、第3の実施形態においては、N=3の場合もあり得る。   However, in the third embodiment, N = 3 may be possible.

そこで、中央演算処理装置300は、ブロックN重対角行列(101)のNが4以上の
整数であるか否かを判断する(ステップ530)。ここで、Nが4以上であると判断され
た場合には、ステップ320に移って、ブロックN重対角行列(101)をブロック3重
対角行列に変換し、次のステップへと移行する。また、ステップ530において、Nが3
であると判断された場合には、ステップ530へと移行する。
Therefore, the central processing unit 300 determines whether or not N of the block N double diagonal matrix (101) is an integer equal to or greater than 4 (step 530). Here, if it is determined that N is 4 or more, the process proceeds to step 320 to convert the block N diagonal matrix (101) into a block tridiagonal matrix, and the process proceeds to the next step. . In step 530, N is 3
If it is determined that, the process proceeds to step 530.

これ以降、中央演算処理装置300は、図7及び8に示したステップ340〜450の
ステップの処理を行うことによって、最終的に未知数ベクトル(98)を求めることがで
きる。
Thereafter, the central processing unit 300 can finally obtain the unknown vector (98) by performing the processing of steps 340 to 450 shown in FIGS.

なお、ステップ530における判断処理には、既存の数値計算プログラムを用いればよ
い。
In addition, what is necessary is just to use the existing numerical calculation program for the judgment process in step 530. FIG.

なお、本実施形態(第1〜第3の実施形態)においては、各種サイズの値として、ブロ
ック3重対角行列のサイズの値pとして2のべき乗の値(第1の実施形態)、ブロックN
重対角行列のサイズの値nとして正の偶数の値(第2の実施形態)、スカラーq重対角行
列のサイズlとして正の偶数と、ブロックN重対角化のサイズの値mとしてlより小さい
正の偶数(第3の実施形態)、の入力を促すことを想定したが、これらの値に一般の自然
数を入力させるように設定してもよい。
In this embodiment (first to third embodiments), as values of various sizes, a value of power of 2 as a value p of the size of a block tridiagonal matrix (first embodiment), a block N
As a value n of a positive diagonal matrix, a positive even number (second embodiment), as a positive value as a size q of a scalar q double diagonal matrix, and as a value m of a block N double diagonalization size Although it is assumed that the input of a positive even number (third embodiment) smaller than 1 is prompted, a general natural number may be input to these values.

例えば、第1の実施形態において、ブロック3重対角行列のサイズの値pとして単に自
然数を入力させるように設定した場合には、分割回数決定のプロセスにおける分割回数決
定式(7)の代わりに第2の実施形態における分割回数決定式(77)(厳密には式(7
8))を用いればよい。pの値が偶数の場合に関しては、第2の実施形態の箇所ですでに
説明したので、ここではpの値が奇数の場合に関して簡単に述べておく。
For example, in the first embodiment, when a natural number is simply input as the value p of the block tridiagonal matrix size, instead of the division number determination formula (7) in the division number determination process, The division number determination formula (77) in the second embodiment (strictly, the formula (7
8)) may be used. Since the case where the value of p is an even number has already been described in the second embodiment, the case where the value of p is an odd number will be briefly described here.

例えば、p=387の場合、サブメモリ500のブロック3重対角行列表記式記憶領域
520に記憶されているブロック3重対角行列表記式は

Figure 2006048637
For example, when p = 387, the block tridiagonal matrix notation stored in the block tridiagonal matrix notation storage area 520 of the sub-memory 500 is
Figure 2006048637

である。 It is.

まず、中央演算処理装置300は、サブメモリ500の解析条件記憶領域510からブ
ロック3重対角行列のサイズの値p=387を読み出し、読み出した値pを、分割回数決
定(多項式)式(77)を用いて、

Figure 2006048637
First, the central processing unit 300 reads the value p = 387 of the block tridiagonal matrix size from the analysis condition storage area 510 of the sub memory 500, and uses the read value p as a division number determination (polynomial) equation (77). )Using,
Figure 2006048637

と級数展開することによって、自然数fi(i=1,2,3)をそれぞれf1=6,f2
5,f3=0と決定する(ステップ340)。
And the natural number f i (i = 1, 2, 3) is converted into f 1 = 6 and f 2 = respectively.
5, f 3 = 0 is determined (step 340).

次に、中央演算処理装置300は、式(107)の右辺の各項のサイズpi(i=1,
2,3)と自然数fi(i=1,2,3)とを関連付けて項別分離パラメータセット(pi
,fi)=(256,6),(128,5),(3,0)としてサブメモリ500の項別
分離パラメータセット記憶領域570に記憶させる。
Next, the central processing unit 300 determines the size p i (i = 1, 1) of each term on the right side of the equation (107).
2, 3) and the natural number f i (i = 1, 2, 3) are related to each other and the separation parameter set for each term (p i
, F i ) = (256, 6), (128, 5), (3, 0), it is stored in the item-specific separation parameter set storage area 570 of the sub memory 500.

次に、中央演算処理装置300は、サブメモリ500のブロック3重対角行列表記式記
憶領域520から、ブロック3重対角行列の3重対角成分を読み出し、読み出した3重対
角成分からブロック3重対角行列表記式(106)を生成する。
Next, the central processing unit 300 reads the tridiagonal component of the block tridiagonal matrix from the block tridiagonal matrix notation storage area 520 of the sub memory 500, and from the read tridiagonal component. A block tridiagonal matrix notation (106) is generated.

次に、中央演算処理装置300は、サブメモリ500の項別分離パラメータセット記憶
領域570から項別分離パラメータセット(pi,fi)=(256,6),(128,5
),(3,0)を読み出し、読み出したp1=256,p2=128,p3=3を分離のサ
イズとして、ブロック3重対角行列表記式(106)を3つの分離ブロック3重対角行列
表記式

Figure 2006048637
Figure 2006048637
Figure 2006048637
Next, the central processing unit 300, Section-specific separation parameter set storage region 570 from section by separation parameter set of the sub-memory 500 (p i, f i) = (256,6), (128,5
), (3, 0), and the read p 1 = 256, p 2 = 128, and p 3 = 3 are set as separation sizes, and the block tridiagonal matrix notation (106) is converted into three separation block triples. Diagonal matrix notation
Figure 2006048637
Figure 2006048637
Figure 2006048637

に分離する(ステップ350)。 (Step 350).

そして、中央演算処理装置300は、分離ブロック3重対角行列表記式(108),(
109)に対しては、ステップ360以降の処理を施し、分離ブロック3重対角行列表記
式(109)に対しては、上述したようにその係数行列の逆行列を直接

Figure 2006048637
The central processing unit 300 then uses the separation block tridiagonal matrix notation (108), (
109) is processed after step 360, and for the separated block tridiagonal matrix notation (109), the inverse matrix of the coefficient matrix is directly applied as described above.
Figure 2006048637

と計算させることによって、境界部分のベクトル成分

Figure 2006048637
The vector component of the boundary is calculated by
Figure 2006048637

を取り出した後に、ステップ410以降の処理を施せばよい。この処理には既存の数値計
算プログラムを用いればよい。ここで、

Figure 2006048637
After the process is taken out, the processing after step 410 may be performed. An existing numerical calculation program may be used for this processing. here,
Figure 2006048637

である。 It is.

なお、式(113)の

Figure 2006048637
Note that the equation (113)
Figure 2006048637

については式(11)と同様の代数関係式から算出すればよい。 May be calculated from an algebraic relational expression similar to expression (11).

また、例えば、p=385の場合には、サブメモリ500のブロック3重対角行列表記
式記憶領域520に記憶されているブロック3重対角行列表記式は

Figure 2006048637
For example, when p = 385, the block tridiagonal matrix notation stored in the block tridiagonal matrix notation storage area 520 of the sub memory 500 is
Figure 2006048637

である。 It is.

まず、中央演算処理装置300は、サブメモリ500の解析条件記憶領域510からブ
ロック3重対角行列のサイズの値p=385を読み出し、読み出した値pを、分割回数決
定(多項式)式(77)を用いて、

Figure 2006048637
First, the central processing unit 300 reads the value p = 385 of the block tridiagonal matrix size from the analysis condition storage area 510 of the sub memory 500, and uses the read value p as a division number determination (polynomial) equation (77). )Using,
Figure 2006048637

と級数展開することによって、自然数fi(i=1,2,3)をそれぞれf1=6,f2
5,f3=0と決定する(ステップ340)。
And the natural number f i (i = 1, 2, 3) is converted into f 1 = 6 and f 2 = respectively.
5, f 3 = 0 is determined (step 340).

次に、中央演算処理装置300は、式(115)の右辺の各項のサイズpi(i=1,
2,3)と自然数fi(i=1,2,3)とを関連付けて項別分離パラメータセット(pi
,fi)=(256,6),(128,5),(1,0)としてサブメモリ500の項別
分離パラメータセット記憶領域570に記憶させる。
Next, the central processing unit 300 determines the size p i (i = 1, 1) of each term on the right side of the equation (115).
2, 3) and the natural number f i (i = 1, 2, 3) are related to each other and the separation parameter set for each term (p i
, F i ) = (256, 6), (128, 5), (1,0) are stored in the item-specific separation parameter set storage area 570 of the sub memory 500.

次に、中央演算処理装置300は、サブメモリ500のブロック3重対角行列表記式記
憶領域520から、ブロック3重対角行列の3重対角成分を読み出し、読み出した3重対
角成分からブロック3重対角行列表記式(114)を生成する。
Next, the central processing unit 300 reads the tridiagonal component of the block tridiagonal matrix from the block tridiagonal matrix notation storage area 520 of the sub memory 500, and from the read tridiagonal component. A block tridiagonal matrix notation (114) is generated.

次に、中央演算処理装置300は、サブメモリ500の項別分離パラメータセット記憶
領域570から項別分離パラメータセット(pi,fi)=(256,6),(128,5
),(1,0)を読み出し、読み出したp1=256,p2=128,p3=1を分離のサ
イズとして、ブロック3重対角行列表記式(114)を3つの分離ブロック3重対角行列
表記式

Figure 2006048637
Figure 2006048637
Figure 2006048637
Next, the central processing unit 300, Section-specific separation parameter set storage region 570 from section by separation parameter set of the sub-memory 500 (p i, f i) = (256,6), (128,5
), (1,0), and the read p 1 = 256, p 2 = 128, and p 3 = 1 are set as separation sizes, and the block tridiagonal matrix notation (114) is converted into three separation block triples. Diagonal matrix notation
Figure 2006048637
Figure 2006048637
Figure 2006048637

に分離する(ステップ350)。 (Step 350).

そして、中央演算処理装置300は、分離ブロック3重対角行列表記式(116),(
117)に対しては、ステップ360以降の処理を施し、分離ブロック3重対角行列表記
式(118)に対しては、その係数行列が4行4列のスカラー正方行列なので、既存の方
法で直接逆行列を計算させることによって、境界部分のベクトル成分

Figure 2006048637
The central processing unit 300 then uses the separation block tridiagonal matrix notation (116), (
117) is processed after step 360, and for the separated block tridiagonal matrix notation (118), the coefficient matrix is a 4 × 4 scalar square matrix. Vector component of boundary part by directly calculating inverse matrix
Figure 2006048637

を取り出した後に、ステップ410以降の処理を施せばよい。この処理には既存の数値計
算プログラムを用いればよい。
After the process is taken out, the processing after step 410 may be performed. An existing numerical calculation program may be used for this processing.

以上の説明から明らかなように、本発明において最も重要なことは、ブロック3重対角
行列を4行4列のブロック正方行列を分割の単位として分割し、その逆行列を求める際に
、ブロック零行列の存在に注目することによって得られた特定の代数関係式を用いた点に
ある。これによって、従来の計算装置における逆行列の通常の計算方法よりも大幅な処理
時間の短縮を実現可能となった。
As is clear from the above description, the most important thing in the present invention is that when the block tridiagonal matrix is divided using a 4-by-4 block square matrix as a unit of division and the inverse matrix is obtained, The point lies in using a specific algebraic relation obtained by paying attention to the existence of the zero matrix. As a result, the processing time can be significantly shortened compared with the normal calculation method of the inverse matrix in the conventional calculation apparatus.

つまり、特許文献1記載の計算装置においては、分割プロセスに伴う逆行列の計算を従
来の計算方法を用いて計算させているのに対して、本発明の計算装置においては、分割の
単位を4行4列のブロック正方行列に限定したことによって、逆行列を計算させる際に上
記のような代数関係式を用いることが可能となる。これによって、特許文献1記載の計算
方法と比較した場合に、逆行列の計算に際し、その計算量がより少なくなることは明らか
である。
That is, in the calculation device described in Patent Document 1, the inverse matrix calculation associated with the division process is calculated using a conventional calculation method, whereas in the calculation device of the present invention, the division unit is 4. By limiting to a block square matrix with 4 rows and columns, the algebraic relational expression as described above can be used when calculating the inverse matrix. As a result, when compared with the calculation method described in Patent Document 1, it is clear that the calculation amount is smaller when calculating the inverse matrix.

更に、本実施形態(第1〜第3の実施形態)においては、ブロック3重対角行列のすべ
てのブロック3重対角成分異なる場合を想定したわけだが、実際の計算においては、対角
線上のブロック行列成分はすべて同じ行列、対角線上より上(右)側のブロック行列成分
はすべて同じ行列、対角線上より下(左)側のブロック行列成分はすべて同じ行列である
ことが多い。その場合には、ブロック3重対角行列は,実質的に3種類のブロック行列成
分から構成されることになり、本発明の効果は一層顕著となる。なぜならば、分割ブロッ
ク3重行列がすべて分割ブロック3重行列表記式において同じとなるため、実質的には一
つの分割ブロック3重行列表記式を計算させればよいからである。また、その場合、特定
の代数関係式が大幅に簡単になるので、計算時間を一層短縮することができることになる
Furthermore, in the present embodiment (first to third embodiments), it is assumed that all block tridiagonal components of the block tridiagonal matrix are different, but in the actual calculation, on the diagonal line. The block matrix components are all the same matrix, the block matrix components above (right) on the diagonal are all the same matrix, and the block matrix components below (left) on the diagonal are often all the same matrix. In that case, the block tridiagonal matrix is substantially composed of three types of block matrix components, and the effect of the present invention becomes more remarkable. This is because all the divided block triple matrices are the same in the divided block triple matrix notation, and therefore, it is only necessary to calculate one divided block triple matrix notation. In this case, the specific algebraic relational expression is greatly simplified, so that the calculation time can be further reduced.

以上の効果を明らかにするために、本発明の第1の実施形態に係る計算方法を用いた具体的な計算結果を示すことにする。   In order to clarify the above effects, specific calculation results using the calculation method according to the first embodiment of the present invention will be shown.

例題として、2次元平面上の平行四辺形領域において、スカラー変数の物理量

Figure 2006048637
As an example, in a parallelogram area on a two-dimensional plane, physical quantities of scalar variables
Figure 2006048637

に対するラプラス方程式

Figure 2006048637
Laplace equation for
Figure 2006048637

を有限要素法を用いて解くことを考える。ラプラス方程式とは、熱伝導現象の熱平衡状態のような静的な平衡状態や定常的現象を記述する楕円型偏微分方程式である。本例題では、長辺及び短辺の長さがそれぞれa,b,∠ABC=120°,∠BCD=60°の平行四辺形ABCDを、図9に示すように、2(p+1)(z+1)個の単体(正三角形)に分割し、各節点を(i,j)(ここで、i=0,1,・・・,p+1,j=0,1,・・・,z+1,p≧z)と番号付けした領域上で考える。このとき、上記物理量

Figure 2006048637
Is solved using the finite element method. The Laplace equation is an elliptic partial differential equation describing a static equilibrium state such as a thermal equilibrium state of a heat conduction phenomenon or a stationary phenomenon. In this example, a parallelogram ABCD having long sides and short sides of a, b, bABC = 120 ° and ∠BCD = 60 ° is represented by 2 (p + 1) (z + 1) as shown in FIG. It is divided into a single unit (regular triangle), and each node is set to (i, j) (where i = 0, 1,..., P + 1, j = 0, 1,..., Z + 1, p ≧ z ) On the numbered area. At this time, the physical quantity
Figure 2006048637

は各節点上で

Figure 2006048637
On each node
Figure 2006048637

(ここで、i=0,1,・・・,p+1,j=0,1,・・・,z+1,p≧z)と離散化される。本例題では、解析条件として、p=256,z=100を設定する。この前提の下で、2次元ラプラス方程式(120)を有限要素法により離散化すると、式(1)に対応するブロック3重対角行列表記式として

Figure 2006048637
(Where i = 0, 1,..., P + 1, j = 0, 1,..., Z + 1, p ≧ z). In this example, p = 256 and z = 100 are set as analysis conditions. Under this assumption, when the two-dimensional Laplace equation (120) is discretized by the finite element method, a block tridiagonal matrix notation corresponding to equation (1) is obtained.
Figure 2006048637

を得る。 Get.

ここで,式(2)に対応する

Figure 2006048637
Here, it corresponds to equation (2)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

で表される256行256列のブロック3重対角行列であり、各ブロック3重対角成分

Figure 2006048637
Is a block tridiagonal matrix of 256 rows and 256 columns and each block tridiagonal component
Figure 2006048637

はそれぞれ、

Figure 2006048637
Respectively
Figure 2006048637

として表される100行100列の正方行列となる。 As a 100 × 100 square matrix.

また、式(3)に対応する

Figure 2006048637
Also, it corresponds to equation (3)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される256行1列のブロック未知数ベクトルであり、式(4)に対応する式(124)の単位成分

Figure 2006048637
Is a block unknown vector of 256 rows and 1 column expressed as: a unit component of the equation (124) corresponding to the equation (4)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される100行1列の未知数ベクトルである。 Is an unknown vector of 100 rows and 1 column expressed as

また、式(5)に対応する

Figure 2006048637
Moreover, it respond | corresponds to Formula (5).
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される256行1列のブロック既知数ベクトルである。ここで、式(126)の右辺の単位成分

Figure 2006048637
Is a block known vector of 256 rows and 1 column expressed as Here, the unit component on the right side of Expression (126)
Figure 2006048637

は、

Figure 2006048637
Is
Figure 2006048637

として表される100行1列の既知数ベクトルである。本例題では、境界条件を表す式(126)のブロック既知数ベクトルとして、

Figure 2006048637
Is a known vector of 100 rows and 1 column expressed as In this example, as the block known number vector of the equation (126) representing the boundary condition,
Figure 2006048637

を設定する(ディレクレ型境界条件)。 Is set (directive boundary condition).

そして、中央演算処理装置300は、ブロック3重対角行列(122)のブロック3重対角行列成分(123)と、ブロック既知数ベクトル(126)をサブメモリ500のブロック3重対角行列表記式記憶領域520に記憶させる。   The central processing unit 300 then represents the block tridiagonal matrix component (123) of the block tridiagonal matrix (122) and the block known number vector (126) in the block tridiagonal matrix notation of the sub memory 500. Store in the formula storage area 520.

次に、中央演算処理装置300は、サブメモリ500の解析条件記憶領域510からブロック3重対角行列(122)のサイズの値p=256を読み出し、この値と分割回数決定式(7)から

Figure 2006048637
Next, the central processing unit 300 reads the value p = 256 of the size of the block tridiagonal matrix (122) from the analysis condition storage area 510 of the sub memory 500, and from this value and the division number determination formula (7).
Figure 2006048637

を満たす自然数f=6を求め(ステップ120)、この値を分割の回数rの上限として設定する(ステップ130)。 A natural number f = 6 that satisfies the above is obtained (step 120), and this value is set as the upper limit of the number r of divisions (step 130).

次に、中央演算処理装置300は、分割の回数rの初期値をr=1に設定し、第1回目の分割プロセスを開始する(ステップ140)。本例題の場合、中央演算処理装置300は、ブロック3重対角行列表記式(121)を4行4列のブロック正方行列である第1分割ブロック行列

Figure 2006048637
Next, the central processing unit 300 sets the initial value of the division number r to r = 1 and starts the first division process (step 140). In the case of this example, the central processing unit 300 converts the block tridiagonal matrix notation (121) into a first divided block matrix which is a 4 × 4 block square matrix.
Figure 2006048637

を単位として

Figure 2006048637
As a unit
Figure 2006048637

等分にブロック化する(ステップ150)。そして、中央演算処理装置300は、ステップ160において、第1分割ブロック行列(130)のブロック3重対角成分を第1代数関係式(11)に直接代入することによって、式(10)に対応する第1分割ブロック逆行列を算出する。以降、図2のステップ170〜200の処理をr=6まで繰り返し、次いで、ステップ210以降の処理を施すことによって、ブロック未知数ベクトル(124)を算出する。 Blocks are equally divided (step 150). In step 160, the central processing unit 300 directly corresponds to the equation (10) by directly substituting the block tridiagonal component of the first divided block matrix (130) into the first algebra relation (11). A first divided block inverse matrix is calculated. Thereafter, the processing of steps 170 to 200 in FIG. 2 is repeated until r = 6, and then the processing after step 210 is performed to calculate the block unknown vector (124).

この処理を、数式計算処理ソフトMathematicaを用いて汎用パーソナルコンピュータで計算させた結果を図10に示す。この計算結果を得るのに要する実時間

Figure 2006048637
FIG. 10 shows the result of calculating this processing with a general-purpose personal computer using mathematical expression calculation software Mathematica. Real time required to obtain this calculation result
Figure 2006048637

を特許文献1に記載の計算方法で本例題を最適に計算させた場合の実時間

Figure 2006048637
Is the real time when this example is optimally calculated by the calculation method described in Patent Document 1.
Figure 2006048637

と比較すると、共に、pの一次関数として

Figure 2006048637
Both as a linear function of p
Figure 2006048637

と評価できる。更に、z=100の場合、

Figure 2006048637
Can be evaluated. Furthermore, when z = 100,
Figure 2006048637

と評価できるので、式(131)と(132)から、

Figure 2006048637
From the equations (131) and (132),
Figure 2006048637

となることがわかる。本例題ではp=256であるが、pがより大きい場合、式(133)から特許文献1の計算方法と比較しておよそ7倍の計算時間の短縮が見込めることがわかる。 It turns out that it becomes. In this example, p = 256. However, when p is larger, it can be seen from Formula (133) that the calculation time can be shortened by about 7 times compared with the calculation method of Patent Document 1.

特許文献1と比較した場合、本発明においてこのような計算時間の短縮が見込める理由は、ステップ160,210で逆行列を求める際に、所定の代数関係式を用いて逆行列を直接計算させたことに起因する。また、本例題の場合のように、ブロック3重対角行列の主対角成分がすべて行列

Figure 2006048637
The reason why such a reduction in calculation time can be expected in the present invention when compared with Patent Document 1 is that when the inverse matrix is obtained in steps 160 and 210, the inverse matrix is directly calculated using a predetermined algebraic relational expression. Due to that. Also, as in this example, the main diagonal components of the block tridiagonal matrix are all matrix
Figure 2006048637

であり、その上下の対角成分のすべてがそれぞれ、行列

Figure 2006048637
And all of the diagonal components above and below are matrix
Figure 2006048637

、行列

Figure 2006048637
,line; queue; procession; parade
Figure 2006048637

であるような質の良い行列(122)の場合には、各分割段階における分割ブロック行列がすべて同じ行列になるので、1回だけ分割ブロック逆行列を求めればよいことになる。ステップ210においても同様にして、圧縮ブロック逆行列を1回だけ求めればよいことになる。一方、特許文献1の計算方法では、逆行列の計算はすべて従来の方法を採用しているため、本例題のような場合であってもかなり計算時間を費やすことになる。この差はpの値が大きい場合には一層顕著になることは明らかである。 In the case of a good quality matrix (122), the divided block matrixes at the respective division stages are all the same matrix, so that the divided block inverse matrix need only be obtained once. Similarly, in step 210, the compressed block inverse matrix need only be obtained once. On the other hand, in the calculation method of Patent Document 1, since the conventional method is used for all the inverse matrix calculations, a considerable amount of calculation time is consumed even in the case of this example. It is clear that this difference becomes even more pronounced when the value of p is large.

また、本実施形態の各種分割及び圧縮化のプロセスは複数の中央演算処理装置を用いて並列計算処理させることが望ましい。これに関して、図1に示す本実施形態の計算装置において、バス600として外部バスを想定しているが、バス600に拡張バスを使用することによって複数のコンピュータの中央演算処理装置を使用して本発明に係る連立一次方程式の計算プログラムを実施させることも可能である。もちろん、単一の中央演算処理装置を用いて各種分割及び圧縮プロセスをタイムシェアリング法を用いて処理することも可能であるし、複数の中央演算処理装置にタイムシェアリング法を適用するといった並列処理+タイムシェアリング法を使用してもよいことは明らかである。   In addition, it is desirable that the various division and compression processes of this embodiment be performed in parallel calculation processing using a plurality of central processing units. In this regard, in the computing device of the present embodiment shown in FIG. 1, an external bus is assumed as the bus 600. However, by using an expansion bus for the bus 600, a central processing unit of a plurality of computers can be used. It is also possible to execute a calculation program for simultaneous linear equations according to the invention. Of course, it is possible to process various divisions and compression processes using a single central processing unit using a time sharing method, or to apply a time sharing method to a plurality of central processing units. Obviously, a processing + time sharing method may be used.

また、本発明に係る連立一次方程式の計算プログラムは、MO、MD、DATA、IDフォーマットなどの光磁気ディスク、CD−R、CR−RW、DVD−RAM、DVD−RWなどの光ディスク、フレキシブルディスク、zip、Super Diskなどの磁気ディスク、磁気テープ、メモリースティック、スマートメディア、PCカードなどのフラッシュメモリなどのコンピュータによって読み取り可能な記録媒体に記録することができる。コンピュータは、これらの記憶媒体に記録されている計算プログラムを読み取ることによって、一般の多重対角行列を係数行列として有する連立一次方程式を短時間で解くことができる。   The simultaneous linear equation calculation program according to the present invention includes a magneto-optical disk such as MO, MD, DATA, and ID format, an optical disk such as CD-R, CR-RW, DVD-RAM, and DVD-RW, a flexible disk, The recording can be performed on a computer-readable recording medium such as a magnetic disk such as zip or super disk, a magnetic tape, a memory stick, smart media, or a flash memory such as a PC card. The computer can solve the simultaneous linear equations having a general multi-diagonal matrix as a coefficient matrix in a short time by reading the calculation program recorded in these storage media.

本実施形態で示した解析手順は、上記の各種の記録媒体や、インターネット、イントラネットなどの回線を介してコンピュータに提供される。これによって、コンピュータは、上記の連立一次方程式の計算プログラムを実行することによって、一般の多重対角行列を係数行列として有する連立一次方程式を短時間で解くことができる。   The analysis procedure shown in the present embodiment is provided to the computer via the various recording media described above, and lines such as the Internet and an intranet. Thus, the computer can solve the simultaneous linear equations having a general multi-diagonal matrix as a coefficient matrix in a short time by executing the above-described simultaneous linear equation calculation program.

本発明の第1の実施形態に係る連立一次方程式の計算装置の概略構成を示した概念図である。It is the conceptual diagram which showed schematic structure of the calculation apparatus of simultaneous linear equations which concerns on the 1st Embodiment of this invention. 図1に示した計算装置で行われる数値計算の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the numerical calculation performed with the computer apparatus shown in FIG. 本発明の第2の実施形態に係る連立一次方程式の計算装置の概略構成を示した概念図である。It is the conceptual diagram which showed schematic structure of the calculation apparatus of simultaneous linear equations which concerns on the 2nd Embodiment of this invention. 図3に示した計算装置で行われる数値計算の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the numerical calculation performed with the calculation apparatus shown in FIG. 図4に示した数値計算の処理手順の続きを示すフローチャートである。5 is a flowchart showing a continuation of the numerical calculation processing procedure shown in FIG. 4. 本発明の第3の実施形態に係る連立一次方程式の計算装置の概略構成を示した概念図である。It is the conceptual diagram which showed schematic structure of the calculation apparatus of simultaneous linear equations which concerns on the 3rd Embodiment of this invention. 図6に示す計算装置で行われる数値計算の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the numerical calculation performed with the calculation apparatus shown in FIG. 図7に示す数値計算の処理手順の続きを示すフローチャートである。It is a flowchart which shows the continuation of the process sequence of the numerical calculation shown in FIG. 平行四辺形領域を単体(正三角形)分割した様子を示す図である。It is a figure which shows a mode that the parallelogram area | region was divided | segmented into single (regular triangle). 本発明の第1の実施形態に係る連立一次方程式の求解方法を用いて、図9に示す領域上でラプラス方程式を数値計算させた結果を示すグラフである。It is a graph which shows the result of having carried out the numerical calculation of the Laplace equation on the area | region shown in FIG. 9, using the solution method of the simultaneous linear equations which concerns on the 1st Embodiment of this invention.

符号の説明Explanation of symbols

入力装置 100
出力装置 200
中央演算処理装置 300
メインメモリ 400
サブメモリ 500
解析条件記憶領域 510
ブロック3重対角行列表記式記憶領域 520
第1分割ブロック逆行列記憶領域 540
第1圧縮ブロック行列表記式記憶領域550
第r分割ブロック逆行列記憶領域 540
第r圧縮ブロック行列表記式記憶領域 550
第f(最終)分割ブロック逆行列記憶領域 540
第f(最終)圧縮ブロック行列表記式記憶領域 550
ブロックN重対角行列表記式記憶領域 560
項別分離パラメータ記憶領域 570
分離ブロック3重対角行列表記式記憶領域 580
結合ブロック行列表記式記憶領域 590
スカラーq重対角行列表記式記憶領域 595
外部バス 600
Input device 100
Output device 200
Central processing unit 300
Main memory 400
Sub memory 500
Analysis condition storage area 510
Block tridiagonal matrix notation storage area 520
First divided block inverse matrix storage area 540 1
First compressed block matrix notation storage area 550 1
R-th divided block inverse matrix storage area 540 r
R-th compressed block matrix notation storage area 550 r
F (final) divided block inverse matrix storage area 540 f
F (final) compressed block matrix notation storage area 550 f
Block N double diagonal matrix notation storage area 560
Item-specific separation parameter storage area 570
Separate block tridiagonal matrix notation storage area 580
Combined block matrix notation storage area 590
Scalar q multi-diagonal matrix notation storage area 595
External bus 600

Claims (7)

連立一次方程式を解くためにコンピュータを、
前記連立一次方程式の係数行列として正方行列を成分とするブロック3重対角行列の入
力を促す係数行列入力手段と、
前記ブロック3重対角行列の入力に基づき、前記連立一次方程式からブロック3重対角
行列表記式(ブロック3重対角行列×ブロック未知数ベクトル=ブロック既知数ベクトル
)を生成するブロック3重対角行列表記式生成手段と、
前記ブロック3重対角行列のサイズから分割の回数を決定する分割回数決定手段と、
前記ブロック3重対角行列表記式を、4行4列のブロック正方行列を単位として複数の
分割ブロック行列表記式(分割ブロック行列×分割ブロック未知数ベクトル=分割ブロッ
ク既知数ベクトル)として分割するブロック行列表記式分割手段と、
前記複数の分割ブロック行列の逆行列である分割ブロック逆行列を所定の代数関係式を
用いて演算する分割ブロック逆行列演算手段と、
前記複数の分割ブロック未知数ベクトルと、前記複数の分割ブロック既知数ベクトルと
、前記複数の分割ブロック逆行列とから、複数の繰り込みブロック行列表記式(分割ブロ
ック未知数ベクトル=分割ブロック逆行列×分割ブロック繰り込みベクトル)を生成する
繰り込みブロック行列表記式生成手段と、
前記複数の繰り込みブロック行列表記式の境界部分に位置するベクトル成分のみを取り
出し圧縮することによって、圧縮ブロック行列表記式(圧縮ブロック行列×圧縮ブロック
未知数ベクトル=圧縮ブロック繰り込みベクトル)を生成する圧縮ブロック行列表記式生
成手段と、
前記決定された分割の回数を上限として、前記圧縮ブロック行列表記式に対して前記分
割から圧縮までの操作を再帰的に繰り返す再帰操作制御手段と、
前記再帰操作制御手段によって前記分割の回数の上限まで繰り返されて得られたすべて
の圧縮ブロック行列表記式における圧縮ブロック未知数ベクトルの値を、前記分割ブロッ
ク逆行列生成手段で生成された複数の分割ブロック逆行列を前記分割から圧縮までの操作
とは逆の順番に施すことによって求める逆算求解手段と、
して機能させる連立一次方程式の計算プログラム。
Computer to solve simultaneous linear equations,
Coefficient matrix input means for prompting input of a block tridiagonal matrix having a square matrix as a coefficient matrix of the simultaneous linear equations;
A block tridiagonal that generates a block tridiagonal matrix notation (block tridiagonal matrix × block unknown vector = block known vector) from the simultaneous linear equations based on the input of the block tridiagonal matrix Matrix expression generation means;
Division number determination means for determining the number of divisions from the size of the block tridiagonal matrix;
A block matrix for dividing the block tridiagonal matrix notation into a plurality of divided block matrix notations (divided block matrix × divided block unknown vector = divided block known number vector) in units of a 4 × 4 block square matrix A notation dividing means;
A divided block inverse matrix computing means for computing a divided block inverse matrix that is an inverse matrix of the plurality of divided block matrices using a predetermined algebraic relational expression;
From the plurality of divided block unknown vectors, the plurality of divided block known vectors, and the plurality of divided block inverse matrices, a plurality of renormalization block matrix expressions (divided block unknown vector = divided block inverse matrix × divided block renormalization) Renormalization block matrix expression generating means for generating (vector),
A compressed block matrix that generates a compressed block matrix notation (compressed block matrix × compressed block unknown vector = compressed block renormalization vector) by extracting and compressing only vector components located at the boundaries of the plurality of renormalization block matrix notations A notation generation means;
Recursive operation control means for recursively repeating the operations from the division to the compression on the compressed block matrix notation, with the determined number of divisions as an upper limit,
A plurality of divided blocks generated by the divided block inverse matrix generation unit are used as the values of the compressed block unknown vector in all the compressed block matrix notations obtained by the recursive operation control unit repeated up to the upper limit of the number of divisions. A reverse calculation solution means for obtaining an inverse matrix by applying the inverse matrix in the reverse order to the operation from the division to the compression;
A simultaneous linear equation calculation program that allows them to function.
前記分割回数決定手段は、前記ブロック3重対角行列のサイズを2のべき乗展開した際
の各項の次数に基づき、前記分割の回数を決定することを特徴とする請求項1記載の連立
一次方程式の計算プログラム。
2. The simultaneous primary according to claim 1, wherein the division number determining means determines the number of divisions based on the order of each term when the size of the block tridiagonal matrix is expanded to the power of 2. Equation calculation program.
前記分割回数決定手段は、前記ブロック3重対角行列のサイズをpとしたとき、関係式
p=2f+2を満たすような自然数fとして前記分割の回数を決定することを特徴とする請
求項1又は2記載の連立一次方程式の計算プログラム。
The division number determining means determines the number of divisions as a natural number f satisfying the relational expression p = 2 f + 2 when the size of the block tridiagonal matrix is p. 3. A program for calculating simultaneous linear equations according to item 1 or 2.
連立一次方程式を解くための計算装置であって、
前記連立一次方程式の係数行列として正方行列を成分とするブロック3重対角行列の入
力を促す係数行列入力手段と、
前記ブロック3重対角行列の入力に基づき、前記連立一次方程式からブロック3重対角
行列表記式(ブロック3重対角行列×ブロック未知数ベクトル=ブロック既知数ベクトル
)を生成するブロック3重対角行列表記式生成手段と、
前記ブロック3重対角行列のサイズから分割の回数を決定する分割回数決定手段と、
前記ブロック3重対角行列表記式を、4行4列のブロック正方行列を単位として複数の
分割ブロック行列表記式(分割ブロック行列×分割ブロック未知数ベクトル=分割ブロッ
ク既知数ベクトル)として分割するブロック行列表記式分割手段と、
前記複数の分割ブロック行列の逆行列である分割ブロック逆行列を所定の代数関係式を
用いて演算する分割ブロック逆行列演算手段と、
前記複数の分割ブロック未知数ベクトルと、前記複数の分割ブロック既知数ベクトルと
、前記複数の分割ブロック逆行列とから、複数の繰り込みブロック行列表記式(分割ブロ
ック未知数ベクトル=分割ブロック逆行列×分割ブロック繰り込みベクトル)を生成する
繰り込みブロック行列表記式生成手段と、
前記複数の繰り込みブロック行列表記式の境界部分に位置するベクトル成分のみを取り
出し圧縮することによって、圧縮ブロック行列表記式(圧縮ブロック行列×圧縮ブロック
未知数ベクトル=圧縮ブロック繰り込みベクトル)を生成する圧縮ブロック行列表記式生
成手段と、
前記決定された分割の回数を上限として、前記圧縮ブロック行列表記式に対して前記分
割から圧縮までの操作を再帰的に繰り返す再帰操作制御手段と、
前記再帰操作制御手段によって前記分割の回数の上限まで繰り返されて得られたすべて
の圧縮ブロック行列表記式における圧縮ブロック未知数ベクトルの値を、前記分割ブロッ
ク逆行列生成手段で生成された複数の分割ブロック逆行列を前記分割から圧縮までの操作
とは逆の順番に施すことによって求める逆算求解手段と、
からなる連立一次方程式の計算装置。
A computing device for solving simultaneous linear equations,
Coefficient matrix input means for prompting input of a block tridiagonal matrix having a square matrix as a coefficient matrix of the simultaneous linear equations;
A block tridiagonal that generates a block tridiagonal matrix notation (block tridiagonal matrix × block unknown vector = block known vector) from the simultaneous linear equations based on the input of the block tridiagonal matrix Matrix expression generation means;
Division number determination means for determining the number of divisions from the size of the block tridiagonal matrix;
A block matrix for dividing the block tridiagonal matrix notation into a plurality of divided block matrix notations (divided block matrix × divided block unknown vector = divided block known number vector) in units of a 4 × 4 block square matrix A notation dividing means;
A divided block inverse matrix computing means for computing a divided block inverse matrix that is an inverse matrix of the plurality of divided block matrices using a predetermined algebraic relational expression;
From the plurality of divided block unknown vectors, the plurality of divided block known vectors, and the plurality of divided block inverse matrices, a plurality of renormalization block matrix expressions (divided block unknown vector = divided block inverse matrix × divided block renormalization) Renormalization block matrix expression generating means for generating (vector),
A compressed block matrix that generates a compressed block matrix expression (compressed block matrix × compressed block unknown vector = compressed block renormalization vector) by extracting and compressing only the vector components located at the boundary portions of the plurality of renormalization block matrix expressions A notation generation means;
Recursive operation control means for recursively repeating the operations from the division to the compression on the compressed block matrix notation, with the determined number of divisions as an upper limit,
A plurality of divided blocks generated by the divided block inverse matrix generation unit are used as the values of the compressed block unknown vector in all the compressed block matrix notations obtained by the recursive operation control unit repeated up to the upper limit of the number of divisions. A reverse calculation solution means for obtaining an inverse matrix by applying the inverse matrix in the reverse order to the operation from the division to the compression;
A system for calculating simultaneous linear equations.
コンピュータを用いて連立一次方程式を解くための計算方法であって、
前記連立一次方程式の係数行列として正方行列を成分とするブロック3重対角行列の入
力を促す第1ステップと、
前記ブロック3重対角行列の入力に基づき、前記連立一次方程式からブロック3重対角
行列表記式(ブロック3重対角行列×ブロック未知数ベクトル=ブロック既知数ベクトル
)を生成する第2ステップと、
前記ブロック3重対角行列のサイズから分割の回数を決定する第3ステップと、
前記ブロック3重対角行列表記式を、4行4列のブロック正方行列を単位として複数の
分割ブロック行列表記式(分割ブロック行列×分割ブロック未知数ベクトル=分割ブロッ
ク既知数ベクトル)として分割する第4ステップと、
前記複数の分割ブロック行列の逆行列である分割ブロック逆行列を所定の代数関係式を
用いて演算する第5ステップと、
前記複数の分割ブロック未知数ベクトルと、前記複数の分割ブロック既知数ベクトルと
、前記複数の分割ブロック逆行列とから、複数の繰り込みブロック行列表記式(分割ブロ
ック未知数ベクトル=分割ブロック逆行列×分割ブロック繰り込みベクトル)を生成する
第6ステップと、
前記複数の繰り込みブロック行列表記式の境界部分に位置するベクトル成分のみを取り
出し圧縮することによって、圧縮ブロック行列表記式(圧縮ブロック行列×圧縮ブロック
未知数ベクトル=圧縮ブロック繰り込みベクトル)を生成する第7ステップと、
前記決定された分割の回数を上限として、前記圧縮ブロック行列表記式に対して前記第
4ステップから第7ステップまでを再帰的に繰り返す第8ステップと、
前記第8ステップによって前記分割の回数の上限まで繰り返されて得られたすべての圧
縮ブロック行列表記式における圧縮ブロック未知数ベクトルの値を、前記第5ステップで
生成された複数の分割ブロック逆行列を前記分割から圧縮までの操作とは逆の順番に施す
ことによって求める第9ステップと、
からなる連立一次方程式の求解方法。
A calculation method for solving simultaneous linear equations using a computer,
A first step for prompting input of a block tridiagonal matrix having a square matrix as a coefficient matrix of the simultaneous linear equations;
A second step of generating a block tridiagonal matrix notation (block tridiagonal matrix × block unknown vector = block known vector) from the simultaneous linear equations based on the input of the block tridiagonal matrix;
A third step of determining the number of divisions from the size of the block tridiagonal matrix;
The block tridiagonal matrix notation is divided into a plurality of divided block matrix notations (divided block matrix × divided block unknown vector = divided block known number vector) in units of a 4 × 4 block square matrix. Steps,
A fifth step of calculating a divided block inverse matrix that is an inverse matrix of the plurality of divided block matrices using a predetermined algebraic relational expression;
From the plurality of divided block unknown vectors, the plurality of divided block known vectors, and the plurality of divided block inverse matrices, a plurality of renormalization block matrix expressions (divided block unknown vector = divided block inverse matrix × divided block renormalization) A sixth step of generating (vector),
A seventh step of generating a compressed block matrix notation (compressed block matrix × compressed block unknown vector = compressed block renormalization vector) by extracting and compressing only vector components located at the boundary portions of the plurality of renormalization block matrix notations When,
An eighth step of recursively repeating the fourth step to the seventh step with respect to the compressed block matrix notation, with the determined number of divisions as an upper limit;
The value of the compressed block unknown vector in all the compressed block matrix notations obtained by repeating up to the upper limit of the number of divisions in the eighth step, and the plurality of divided block inverse matrices generated in the fifth step A ninth step determined by performing in the reverse order to the operation from division to compression;
Method for solving simultaneous linear equations consisting of
前記第3のステップにおいて、前記ブロック3重対角行列のサイズを2のべき乗展開し
た際の各項の次数に基づき、前記分割の回数を決定することを特徴とする請求項5記載の
連立一次方程式の求解方法。
6. The simultaneous primary according to claim 5, wherein in the third step, the number of divisions is determined based on the order of each term when the size of the block tridiagonal matrix is expanded to the power of 2. Equation solving method.
前記第3のステップにおいて、前記ブロック3重対角行列のサイズをpとしたとき、関
係式p=2f+2を満たすような自然数fとして前記分割の回数を決定することを特徴とす
る請求項5又は6記載の連立一次方程式の求解方法。
The number of divisions is determined as a natural number f satisfying the relational expression p = 2 f + 2 when the size of the block tridiagonal matrix is p in the third step. 7. A method for solving simultaneous linear equations according to item 5 or 6.
JP2005105221A 2004-06-28 2005-03-31 Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method Withdrawn JP2006048637A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005105221A JP2006048637A (en) 2004-06-28 2005-03-31 Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004190439 2004-06-28
JP2005105221A JP2006048637A (en) 2004-06-28 2005-03-31 Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method

Publications (1)

Publication Number Publication Date
JP2006048637A true JP2006048637A (en) 2006-02-16

Family

ID=36027077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005105221A Withdrawn JP2006048637A (en) 2004-06-28 2005-03-31 Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method

Country Status (1)

Country Link
JP (1) JP2006048637A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120144318A (en) * 2025-05-13 2025-06-13 深圳市昊源诺信科技有限公司 High-performance computing memory power consumption optimization method and system based on deep learning

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120144318A (en) * 2025-05-13 2025-06-13 深圳市昊源诺信科技有限公司 High-performance computing memory power consumption optimization method and system based on deep learning
CN120144318B (en) * 2025-05-13 2025-07-22 深圳市昊源诺信科技有限公司 High-performance computing memory power consumption optimization method and system based on deep learning

Similar Documents

Publication Publication Date Title
US5754181A (en) Computer aided design system
Canny et al. A subdivision-based algorithm for the sparse resultant
Lipton et al. Robustness of isogeometric structural discretizations under severe mesh distortion
Ionita et al. Data-driven parametrized model reduction in the Loewner framework
Stinstra et al. Constrained maximin designs for computer experiments
JP6950675B2 (en) Information processing equipment, information processing methods, data structures and programs
JP5724814B2 (en) Thermal fluid simulation program, thermal fluid simulation apparatus, and thermal fluid simulation method
Haider et al. Parallel implementation of k-exact finite volume reconstruction on unstructured grids
Carson et al. Accuracy of the s-step Lanczos method for the symmetric eigenproblem in finite precision
CN104469374A (en) image compression method
Barkouki et al. An adaptive rational block Lanczos-type algorithm for model reduction of large scale dynamical systems
EP4231276A1 (en) Hidden decision tree test device, hidden decision tree test system, hidden decision tree test method, and program
KR102266279B1 (en) Method for Building Reduced Order Model for Implementing Transient State
Aryani et al. A numerical technique for solving nonlinear fractional stochastic integro-differential equations with n-dimensional Wiener process
JP2018163396A (en) Piecewise linear approximation function generation apparatus and method
JP6065543B2 (en) Neural network design method, fitting method, and program
JPH0921720A (en) Method for analyzing vibration of structure
Jamali et al. A novel two point optimal derivative free method for numerical solution of nonlinear algebraic, transcendental Equations and application problems using weight function
Li et al. Fast prediction of phase equilibrium at varying temperatures for use in multi-component phase field models
JP2006048637A (en) Simultaneous linear equation calculation program, simultaneous linear equation calculator, and simultaneous linear equation solving method
Omar An integrated genetic algorithm and homotopy analysis method to solve nonlinear equation systems
JP6651254B2 (en) Simulation method, simulation program, and simulation device
JP3864059B2 (en) Calculation program for simultaneous linear equations generated by discretization of differential equation, computer-readable recording medium recording the calculation program, and calculation device for simultaneous linear equations
JP7452247B2 (en) Conversion program, conversion method, and information processing device
EP4231274A1 (en) Secret decision tree testing device, secret decision tree testing system, secret decision tree testing method, and program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080603