q r decomposition and applicationsenright/teaching/d37/week2.pdf · condition number of a to...

Post on 01-Aug-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Q R decomposition and ApplicationsRecall:The linear system of equations,

Ax = b, where A is n × n and b ∈ Rn,

can be solved using Gaussian elimination with partial pivoting. We have

seen that this is equivalent to determining the permutation matrix P and

lower and upper triangular matrices, L and U so that P A = L U . One

then solves the system, A x = b, by solving the equivalent system

PAx = LUx = Pb. That is, we solve LUx = Pb, using standard for-

ward substitution and back substitution (by first solving Lz = Pb and then

solving Ux = z.

CSCD37H – Analysis of Numerical Algorithms – p.34/183

Error Analysis of GEIn exact arithmetic we have no truncation error in implementing GE andwe would have LU = PA, Lz = Pb and Ux = z.When implemented in FP arithmetic we compute L, U , and x, z.

It can be shown that if GE is implemented in a FP system withnµ < .01, then the computed x of Ux = z is the exact solution of,

(A + E)x = b,

with E = (ei j) satisfying

|ei j | < 1.02(2n2 + n)ρ|A| maxi,j

|Li j |µ,

where |A| = maxi,j |ai j | and ρ, (the ‘growth factor’) is defined by

ρ =1

|A| maxi,j,r

|a(r)i j |.

CSCD37H – Analysis of Numerical Algorithms – p.35/183

Error Analysis of GE (Cont)If ‘partial pivoting’ is used when implementing the L U decomposition,then one can show maxi,j |Li j | = 1 and ρ < 2n−1.

For a detailed, long but elementary proof of this result see Forsytheand Moler, Computer Solution of Linear Equations, Prentice Hall, pp.87-108.

The bound ρ < 2n−1 is pessimistic for most problems.

With this strategy the corresponding error bound reduces to,

|ei j | ≤ 1.02ρ|A|(2n2 + n)µ,

where ρ|A| can be monitored during the computation.

The computed x will “almost” satisfy the equation Ax = b, but whatabout |x − x| ?

CSCD37H – Analysis of Numerical Algorithms – p.36/183

A Simple ExampleIn a 4-digit, base 10, FP system consider,

.780x1 + .563x2 = .217

.913x1 + .659x2 = .254

The true solution is x = (1,−1)T . Consider two approximate solutionsobtained in FP arithmetic: x = (.999,−1.001)T and x̂ = (.341,−.087)T .First determine the corresponding residuals,

r ≡ Ax − b = (−.00136, −.00157)T ,

andr̂ ≡ Ax̂ − b = (−.000001, .000000)T .

That is, x̂ is the exact solution of Ax = b + r̂, where ‖r̂‖ < 10−5. Thisshows that a small residual does not imply a small error!

CSCD37H – Analysis of Numerical Algorithms – p.37/183

Condition Number of ATo investigate ‖x − x̄‖ we introduce matrix norms:

For x ∈ <n consider two common vector norms,

‖x‖∞ ≡ nmaxi=1

|xi| and ‖x‖2 ≡ (xT x)1/2.

For A ∈ <n×n, A = (ai j), we define the induced or subordinate matrixnorm (corresponding to any vector norm) to be,

‖A‖ ≡ max‖v‖=1

‖Av‖.

For the above two examples:

‖A‖∞ =n

maxi=1

[n∑

j=1

|ai j |],

‖A‖22 = max

‖x‖2=1(Ax)T (Ax)

= max‖x‖2=1

[xT (AT A)x].

CSCD37H – Analysis of Numerical Algorithms – p.38/183

Condition Number of A (Cont)

Properties of matrix norms:

‖AB‖ ≤ ‖A‖‖B‖ .

If y = Ax we have ‖y‖ ≤ ‖A‖‖x‖.

CSCD37H – Analysis of Numerical Algorithms – p.39/183

Recall – Property of GEThe computed x̄ determined by GE with partial pivoting has residual,r̄ ≡ Ax̄ − b and satisfies, and

(A + E)x̄ = b ⇒ r̄ = Ax̄ − b = −Ex̄.

From the properties of matrix norms, ‖r̄‖∞ ≤ ‖E‖∞‖x̄‖∞.But E = (ei j) satisfies,

|ei j | < 1.02ρ(2n2 + n)|A|µ,

and‖r̄‖∞ ≤ ‖E‖∞‖x̄‖∞ ≤ 1.02ρ(2n3 + n2)|A|‖x̄‖∞µ.

Therefore, GE with partial pivoting for any system Ax = b will generate

an approximate solution, x̄ with a guaranteed small residual. In fact since

|A|, ‖x̄‖∞, and ρ are all known we have a precise bound on the size of the

residual.

CSCD37H – Analysis of Numerical Algorithms – p.40/183

What about (x̄ − x)?The true solution x need not be close to x̄ since,

(x̄ − x) = x̄ − A−1b = A−1(Ax̄ − b) = A−1r̄,

and this implies

‖(x̄ − x)‖∞ ≤ ‖A−1‖∞‖r̄‖∞≤ ‖A−1‖∞‖A‖∞1.02ρ(2n3 + n2)µ‖x̄‖∞.

Note:

In general we do not know how large ‖A−1‖∞ might be.

If A is singular then A−1 is not defined so it is clear that if A is ‘nearlysingular’ then ‖A−1‖∞ must be very large.

CSCD37H – Analysis of Numerical Algorithms – p.41/183

Condition NumberWe define the Condition Number of A, wrt linear equations, to be.

cond(A) ≡ ‖A‖∞‖A−1‖∞.

Clearly cond(A) is an indication of how far away the computed x̄ might befrom the true x.

When cond(A) is large the problem is said to be Ill-Conditioned since asmall change in the RHS vector, b, can cause a large change in thesolution vector, x. Consider the previous Example where we have,

A =

.780 .563

.913 .659

, A−1 = 106 ×

.659 −.563

−.913 .780

.

In this case we have cond(A) = ‖A‖∞‖A−1‖∞ = 2.6 × 106 which indicatesan ill-conditioned problem.

CSCD37H – Analysis of Numerical Algorithms – p.42/183

A Measure of SensitivityWe have introduced the condition number to investigate the errors arisingin GE with partial pivoting. It is actually a more general concept and canbe defined for any matrix norm. In particular it describes the inherentsensitivity of the exact solution to small changes in the data defining theproblem. To see this consider x to be the exact solution of Ax = b and x′

the exact solution of Ax′ = b + ε. We then have,

x′ = A−1(b + ε) = x + A−1ε = x + δ,

where ‖δ‖∞ = ‖A−1 ε‖∞. It is possible to choose the perturbation, ε sothat the resulting δ satisfies

‖δ‖∞ = ‖A−1‖∞‖ε‖∞,

and we see how a small perturbation in b can result in a large change in

the corresponding exact solution.

CSCD37H – Analysis of Numerical Algorithms – p.43/183

QR Decomposition of A

An alternative to an LU decomposition.A Householder Reflection is an elementary matrix of the form,

Q = I − 2wwT ,

where w ∈ <n satisfies ‖w‖2 = 1. (Recall that ‖w‖2 = 1 ⇔ wT w = 1.) Wewill now investigate the use of HRs for solution of Linear Equations.Properties of Householder reflections:

QT = Q (symmetric) since

[I − 2wwT ]T = [IT − 2(wwT )T ]

= [I − 2(wT )T wT ]

= [I − 2wwT ]

= Q

CSCD37H – Analysis of Numerical Algorithms – p.44/183

Properties of HRs (cont.)QT Q = Q2 = I since ,

[I−2wwT ][I−2wwT ] = I−4wwT +4wwT wwT

= I−4wwT +4w(wT w)wT

= I−4wwT +4wwT

= I.

Therefore we have Q−1 = Q = QT .

‖Q‖2 = 1, since for a general matrix A we have,

‖A‖22 = max

‖x‖2=1{xT (AT A)x},

and therefore, for a Householder reflection,

‖Q‖22 = max

‖x‖2=1{xT (QT Q)x} = max

‖x‖2=1{xT x} = 1.

CSCD37H – Analysis of Numerical Algorithms – p.45/183

Properies of HRs (cont.)if y = Qx then ‖y‖2 = ‖x‖2 since,

‖y‖22 =yT y=(Qx)T Qx=xT (QT Q)x=xTx=‖x‖2

2.

We usually define Q in terms of an arbitrary vector u ∈ <n

by,

Q = [I − 2uuT

‖u‖22

],

Note that this corresponds to w = u/‖u‖2 but it avoids com-puting a square root and the normalization of u.

CSCD37H – Analysis of Numerical Algorithms – p.46/183

The Choice of u to define Q

Consider the affect of a Householder reflection applied to avector x, y = Qx,

y = [I − 2uuT

‖u‖22

]x = x − 2uT x

‖u‖22

u = x + γu.

That is, u = (y − x)/γ or u is a multiple of (y − x). Thisimplies that for any y such that ‖y‖2 = ‖x‖2 we can map xonto y using

Q = [I − 2(y − x)(y − x)T

‖y − x‖22

].

CSCD37H – Analysis of Numerical Algorithms – p.47/183

An Example of a HRDetermine the value(s) of t ∈ < such that there exists a Householderreflection, Q that maps x = (7, 0, 1)T onto y = (0, 5, t)T and find thecorresponding transformation(s). To do this we first observe that since the2-norm must be preserved, we must have 72 + 12 = 52 + t2 or t = ±5.Consider the solution corresponding to t = −5,

u = y − x =

0

5

−5

7

0

1

=

−7

5

−6

.

We then have ‖u‖22 = 110 and −2/‖u‖2

2 = (−1/55).

CSCD37H – Analysis of Numerical Algorithms – p.48/183

An Example of a HR (cont.)

The corresponding Q = I − 2 uuT

‖u‖22, is then,

Q = I − 1

55

49 −35 42

−35 25 −30

42 −30 36

=

6/55 35/55 −42/55

35/55 30/55 30/55

−42/55 30/55 19/55

.

Exercise. Determine the corresponding Q for t = 5.

CSCD37H – Analysis of Numerical Algorithms – p.49/183

Factoring A using HRsA Householder reflection can be used to transform a given vectorx = [x1, x2 · · ·xr · · ·xn]T onto [x1, x2 · · ·xr−1, s, 0, 0 · · · 0]T = yT where,

s2 = x2r + x2

r+1 · · ·x2n.

The corresponding u satisfies,

u = y − x =

0...0

−xr ± s

−xr+1...

−xn

,

where the sign of s is usually chosen to agree with the sign of −xr (no loss

of significance).

CSCD37H – Analysis of Numerical Algorithms – p.50/183

Efficient Computation of Qv

With this choice of u,

Qv = [I − 2uuT

‖u‖22

]v = v −(

2uT v

‖u‖22

)u.

That is, we form the scalar uT v and then add a multiple of u

to v. This transformation will leave the first (r−1) entries of v

unchanged. It also has no affect on v if uT v = 0 (in particular,if vr+1 = vr+2 = · · · = vn = 0).

CSCD37H – Analysis of Numerical Algorithms – p.51/183

Factoring A = QR

Now consider factoring A = QR (rather than A = LU ), where R is uppertriangular and Q = Q1Q2 · · ·Qn−1, a product of Householder reflections.Note that,

Q−1 =QT =QTn−1Q

Tn−2 · · ·QT

1 =Qn−1Qn−2 · · ·Q1 6= Q.

This factoring (or decomposition of A) is accomplished (analogous to LU )by first setting A0 = A and choosing Q1 to introduce zeros below thediagonal of the first column of A1 = Q1A0,

A1 =

s1

0

0 (Q1a(0)2 ) · · · (Q1a

(0)n )

...

0

.

CSCD37H – Analysis of Numerical Algorithms – p.52/183

First Step of QR Decomp of A

From above we see that this can be done with Q1 defined by u1,

u1 =

−a(0)1 1 ± s1

−a(0)2 1...

−a(0)n 1

,

where s21 = (a

(0)1 1)

2 + (a(0)2 1)

2 · · · (a(0)n 1)

2. In general at the rth stage,

Ar−1 =

������������������������������

a(r−1)1 1 a

(r−1)1 2 · · · a

(r−1)1 r

· · · a(r−1)1 n

0 a(r−1)2 2 · · · a

(r−1)2 r

· · · a(r−1)2 n

0 0 · · · a(r−1)3 r

· · · a(r−1)3 n

......

......

......

0 0 · · · a(r−1)r r · · · a

(r−1)r n

0 0 · · · a(r−1)r+1 r

· · · a(r−1)r+1 n

......

......

......

0 0 · · · a(r−1)n r · · · a

(r−1)n n

������������������������������

.

CSCD37H – Analysis of Numerical Algorithms – p.53/183

rth Step of QR Decomp of AWe choose Qr to map

a(r−1)r → (a

(r−1)1 r , a

(r−1)2 r · · · a(r−1)

r−1 r, sr, 0 · · · 0)T ,

s2r = (a(r−1)

r r )2 + (a(r−1)r+1 r)

2 · · · + (a(r−1)n r )2.

That is,

ur =

0...

0

−a(r−1)r r ± sr

−a(r−1)r+1 r

...

−a(r−1)n r

.

CSCD37H – Analysis of Numerical Algorithms – p.54/183

QTA = RAs with the LU factorization of A we have, after (n − 1) steps,

QT A = QT A0

= [Q1Q2 · · ·Qn−1]T A0

= [Qn−1Qn−2 · · ·Q1]A0

= (Qn−1(· · · (Q2(Q1A0︸ ︷︷ ︸A1

))) · · ·)

= An−1

≡ R

Since QT A = R and QT = Q−1 we have, after multiplying this expressionby Q,

QR = Q(QT A) = (QQT )A = A.

Exercise: Show that the operation count for this decomposition is twice

that for the LU decomposition.

CSCD37H – Analysis of Numerical Algorithms – p.55/183

top related