Patent Document ID: 5490278
Application ID: 07912180
Patent Status: 1

Claim One:
1. A data processing machine for the numerical solution of linear equations represented by Ax=b, where A=(a.sub.i,j) (1.ltoreq.i.ltoreq.n, 1.ltoreq.j.ltoreq.n, and n is an integer larger than 1) is a coefficient matrix of n rows and n columns, x=(x.sub.1, x.sub.2,. .. , x.sub.n).sup.Trans is an unknown vector and b=(b.sub.1, b.sub.2,. .. , b.sub.n).sup.Trans is a known vector, comprising: a memory; a pivot choosing section connected to said memory for choosing pivots by searching said coefficient matrix in a row direction and interchanging elements of said coefficient matrix according to a column-interchange method; a preprocessing section A.sub.1 connected to said memory for calculating EQU a.sub.pk+1,j.sup.(pk+1) =a.sub.pk+1,j.sup.(pk) /a.sub.pk+1,pk+1.sup.(pk) Eq. 1 EQU b.sub.pk+1.sup.(pk+1) =b.sub.pk+1.sup.(pk) /a.sub.pk+1,pk+1.sup.(pk) Eq. 2 after said pivot choosing section chooses EQU a.sub.pk+1,pk+1.sup.(pk) Eq. 3 wherein a.sub.i,j.sup.(r) denotes (i,j) element of a coefficient matrix obtained when first to r-th columns are eliminated from A=(a.sub.i,j), b.sub.i.sup.(r) denotes i-th component of a known vector obtained when first to r-th columns are eliminated from A=(a.sub.i,j), k is an integer satisfying 1.ltoreq.k.ltoreq.n-1, wherein if n-{n/k}k=0, {n/k} denotes a maximum integer not exceeding n/k, p is an integer satisfying 0.ltoreq.p.ltoreq.{n/k}-1, and, if n-{n/k}k&gt;0, p is an integer satisfying 0.ltoreq.p.ltoreq.{n/k}, and j is an integer satisfying pk+2.ltoreq.j.ltoreq.n; 2nd to k-th preprocessing sections A.sub.t (t is an integer satisfying 2.ltoreq.t.ltoreq.k) connected to said memory, respectively, each for calculating the following equations: ##EQU7## wherein j is integer satisfying pk+t.ltoreq.j.ltoreq.n and, after said ##EQU8## pivot choosing section chooses EQU a.sub.pk+t,pk+t.sup.(pk+t-1) Eq. 9 calculating equations EQU a.sub.pk+t,j.sup.(pk+t) =a.sub.pk+t,j.sup.(pk+t-1) /a.sub.pk+t,pk+t.sup.(pk+t-1) Eq. 10 EQU b.sub.pk+t.sup.(pk+t) =b.sub.pk+t.sup.(pk+t-1) /a.sub.pk+t,pk+t.sup.(pk+t-1) Eq. 11 for each element of a (pk+t)-th row of said coefficient matrix and for a (pk+t)-th component of said known vector wherein j is integer satisfying pk+t+1.ltoreq.j.ltoreq.n; an updating section B connected to said memory and comprised of a register set consisting of k registers for registering variables Reg and an arithmetic unit; said arithmetic unit for calculating the following equations: ##EQU9## for i and j satisfying (p+1)k+1.ltoreq.(i, j).ltoreq.n while holding variables Reg in said register set; a main controller G which, if n-{n/k}k=0, instructs said pivot choosing section, said preprocessing sections A.sub.1 to A.sub.k and said updating section B to repeat their operations for every p from zero to {n/k}-2 while incrementing p by one and, further, to execute their operations after incrementing p from p={n/k}-2 to p={n/k}-1, and if n-{n/k}k&gt;0, instructs said pivot choosing section, said preprocessing sections A.sub.1 to A.sub.k and said updating section B to repeat their operations for every p from zero to {n/k}-1 while incrementing p by one, and instructs said pivot choosing section and said preprocessing sections A.sub.1 to A.sub.n-{n/k} to execute their operations after incrementing p by one from p={n/k}-1; a backward substitution section connected to said memory for calculating the following equations, repeatedly EQU x.sub.i =b.sub.i.sup.(n) Eq. 17 EQU b.sub.i.sup.(r+1) =b.sub.i.sup.(r) -a.sub.i,j.sup.(i) x.sub.j Eq. 18 while decrementing i from i=n to i=1, thereby obtaining said unknown vector.