22.09.2013 Views

SSL II USER'S GUIDE - Lahey Computer Systems

SSL II USER'S GUIDE - Lahey Computer Systems

SSL II USER'S GUIDE - Lahey Computer Systems

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Table 3.4 Standard and component routines<br />

Problem Basic<br />

functions<br />

Types<br />

of matrix<br />

Standard routines Component routines<br />

<strong>Systems</strong> of<br />

linear equations<br />

Real general matrix LAX<br />

(A22-11-0101)<br />

Complex general LCX<br />

matrix<br />

(A22-15-0101)<br />

Real symmetric LSIX<br />

matrix<br />

(A22-21-0101)<br />

Real positive-<br />

LSX<br />

definite symmetric<br />

matrix<br />

(A22-51-0101)<br />

Real general band LBX1<br />

matrix<br />

(A52-11-0101)<br />

⎡Real<br />

tridiagonal⎤<br />

⎣⎢ matrix ⎦⎥<br />

⎡ LTX ⎤<br />

⎣⎢ (A52 - 11- 0501) ⎦⎥<br />

Real symmetric LSBIX<br />

band matrix (A52-21-0101)<br />

Real positive-<br />

LSBX<br />

definite symmetric<br />

band matrix<br />

(A52-31-0101)<br />

⎡Positive<br />

- definite ⎤<br />

⎢symmetric<br />

⎥<br />

⎢<br />

⎣tridiagonal<br />

matrix⎥<br />

⎦<br />

LSTX<br />

(A52-31-0501)<br />

(a) (b) (c) (d)<br />

ALU<br />

(A22-11-0202)<br />

CLU<br />

(A22-15-0202)<br />

SMDM<br />

(A22-21-0202)<br />

SLDL<br />

(A22-51-0202)<br />

BLU1<br />

(A52-11-0202)<br />

SBMDM<br />

(A52-21-0202)<br />

SBDL<br />

(A52-31-0202)<br />

A = LDL T (3.7)<br />

where: L is a lower triangular matrix and D is a<br />

diagonal matrix.<br />

Matrices are decomposed as shown in Table 3.5.<br />

Table 3.5 Decomposed matrices<br />

Kinds of matrices Contents of decomposed matrices<br />

General matrices PA = LU<br />

L: Lower triangular matrix<br />

U: Unit upper triangular matrix<br />

P is a permutation matrix.<br />

Positive-definite<br />

symmetric<br />

matrices<br />

A = LDL T<br />

L: Unit lower triangular matrix<br />

D: Diagonal matrix<br />

To minimize calculation, the<br />

diagonal matrix is given as D -1<br />

• Pivoting and scaling<br />

Let us take a look at decomposition of the nonsingular<br />

matrix given by (3.6).<br />

A = ⎡00<br />

. 10 . ⎤<br />

⎢ ⎥<br />

⎣20<br />

. 00 . ⎦<br />

(3.8)<br />

In this state, LU decomposition is impossible. And also<br />

in the case of (3.9)<br />

A = ⎡00001<br />

. 10 . ⎤<br />

⎢ ⎥<br />

⎣10<br />

. 10 . ⎦<br />

(3.9)<br />

Decomposing by floating point arithmetic with the only<br />

three working digits (in decimal) will cause unstable<br />

LUX<br />

(A22-11-0302)<br />

CLUX<br />

(A22-15-0302)<br />

MDMX<br />

(A22-21-0302)<br />

LDLX<br />

(A22-51-0302)<br />

BLUX1<br />

(A52-11-0302)<br />

BMDMX<br />

(A52-21-0302)<br />

BDLX<br />

(A52-31-0302)<br />

LAXR<br />

(A32-11-0401)<br />

LCXR<br />

(A22-15-0401)<br />

LSIXR<br />

(A22-21-0401)<br />

LSXR<br />

(A22-51-0401)<br />

LBX1R<br />

(A52-11-0401)<br />

LSBXR<br />

(A52-31-0401)<br />

LINEAR ALGEBRA<br />

LUIV<br />

(A22-11-0602)<br />

CLUIV<br />

(A22-15-0602)<br />

LDIV<br />

(A22-51-0702)<br />

solutions. These unfavorable conditions can frequently<br />

occur when the condition of a matrix is not proper. This<br />

can be avoided by pivoting, which selects the element<br />

with the maximum absolute value for the pivot.<br />

In the case of (3.9), problems can be avoided by<br />

exchanging the first row with the second row.<br />

In order to perform pivoting, the method used to select<br />

the maximum absolute value must be unique. By<br />

multiplying all of the elements of a row by a large enough<br />

constant, any absolute value of non-zero element in the<br />

row can be made larger than those of elements in the<br />

other rows.<br />

Therefore, it is just as important to equilibrate the rows<br />

and columns as it is to validly determine a pivot element<br />

of the maximum size in pivoting. <strong>SSL</strong> <strong>II</strong> uses partial<br />

pivoting with row equilibration.<br />

The row equilibration is performed by scaling so that<br />

the maximum absolute value of each row of the matrix<br />

becomes 1. However, actually the values of the elements<br />

are not changed in scaling; the scaling factor is used<br />

when selecting the pivot.<br />

Since row exchanges are performed in pivoting, the<br />

history data is stored as the transposition vector. The<br />

matrix decomposition which accompanies this partial<br />

pivoting can be expressed as;<br />

PA = LU (3.10)<br />

Where P is the permutation matrix which performs row<br />

exchanges.<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!