Download Solution of Linear Equations Upper/lower triangular form

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Linear least squares (mathematics) wikipedia , lookup

Jordan normal form wikipedia , lookup

Determinant wikipedia , lookup

Matrix (mathematics) wikipedia , lookup

Covariance and contravariance of vectors wikipedia , lookup

Eigenvalues and eigenvectors wikipedia , lookup

Non-negative matrix factorization wikipedia , lookup

Orthogonal matrix wikipedia , lookup

Perron–Frobenius theorem wikipedia , lookup

Singular-value decomposition wikipedia , lookup

Cayley–Hamilton theorem wikipedia , lookup

Matrix calculus wikipedia , lookup

Gaussian elimination wikipedia , lookup

Four-vector wikipedia , lookup

Matrix multiplication wikipedia , lookup

System of linear equations wikipedia , lookup

Transcript
Solution of Linear Equations
a00 x0
+
a01 x1
+
... +
a0(n−1) x(n−1)
= b0
a10 x0
+
a11 x1
+
... +
a1(n−1) x(n−1)
= b1
..
.
a(n−1)0 x0
..
.
+ a(n−1)1 x1
+
..
.
..
.
... + a(n−1)(n−1) x(n−1)
Upper/lower triangular form
We can write A = L + D + U where:
L = {lij | 0 ≤ i, j ≤ n − 1} is lower-triangular
..
.
= b(n−1)
Ax = b in matrix form
A is an n × n matrix
b and x are vectors of length n
lij =
aij j < i
0 j≥i
D = {dij | 0 ≤ i, j ≤ n − 1} is diagonal
dij =
Small systems can be solved by Gaussian
elimination
expensive – Θ(n3 )
hard to parallelise
aii
0 j %= i
U = {uij | 0 ≤ i, j ≤ n − 1} is upper-triangular
uij =
ParAlgs–2011 – p.1/9
Assumption
aij j > i
0 j≤i
ParAlgs–2011 – p.2/9
Jacobi’s Method
Matrix equation can be written as:
We assume dii %= 0 for all i
if not, we can permute the variables of x or
the sequence of equations
but there is no solution if this is not possible
x = D−1 (b − (L + U) x)
Jacobi iteration is simply defined by:
x(k+1) = D−1 b − D−1 (L + U)x(k)
where k ≥ 0 and x(0) is an initial “guess”
Or, in terms of elements:
!
1
(k+1)
(k)
= (bi −
aij xj ) for i, j = 0, 1, . . . , n−1
xi
aii
j%=i
ParAlgs–2011 – p.3/9
ParAlgs–2011 – p.4/9
Convergence of Jacobi
Parallel Jacobi
Sufficient condition for convergence is:
!
|aij | for 0 ≤ i, j ≤ n − 1
|aii | >
Parallel implementation is straightforward:
D−1 b is a constant vector
(D−1 (L + U)x(k) ) is evaluated by parallel
matrix-vector multiplication
j%=i
(A is strictly diagonally dominant)
A common check in practical implementations
is:
||x(k+1) − x(k) ||∞
<ε
||x(k+1) ||∞
where ||x||∞ = maxi |xi | (the infinity-norm) and
ε is a pre-defined threshold (e.g. 10−8 or less)
x(k) is distributed according to the partition
of D−1 (L + U), e.g. :
on row-processor for striping
on “diagonal” processor for
checkerboarding
or according to some other partitioning
scheme (more on this later!)
ParAlgs–2011 – p.5/9
ParAlgs–2011 – p.6/9
Convergence of Gauss-Seidel
Gauss-Seidel Method
Improve convergence of Jacobi by using
up-to-date information as it is computed
if components of x(k) are calculated in
increasing order of subscript, the
dot-product Lx can use components of x
from the current iteration
but the dot-product Ux can’t
Same sufficient condition for convergence
(strict diagonal dominance of A) as Jacobi
Also the same practical test for numerical
convergence
If A is symmetric, then A positive-definite is a
necessary and sufficient condition
Gauss-Seidel iteration is defined by:
x(k+1) = D−1 b − D−1 Lx(k+1) − D−1 Ux(k)
Or in terms of the elements of the matrix and
vectors:
ParAlgs–2011 – p.7/9
1
ParAlgs–2011 – p.8/9
Parallel Gauss-Seidel
Parallelisation is harder for Gauss-Seidel
because of the sequentiality of the update
process...
...although for some sparse matrices you may
be able to reorder the equations to allow
computation to be done in parallel
ParAlgs–2011 – p.9/9