Top Banner
Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity and Conditioning CS 205A: Mathematical Methods for Robotics, Vision, and Graphics Doug James (and Justin Solomon) CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 1 / 26
33

Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Oct 22, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Norms, Sensitivity andConditioning

CS 205A:Mathematical Methods for Robotics, Vision, and Graphics

Doug James (and Justin Solomon)

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 1 / 26

Page 2: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Announcements

I Reminder: HW0 due Thursday 11:59pm.

I http://cs205a.stanford.edu now works

I JuliaBox fine for online. Try Jupyter, or

JuliPro+Atom, or JUNO, etc. for offline.

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 2 / 26

Page 3: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Questions

Gaussian elimination works in theory, but what

about floating point precision?

How much can we trust ~x0 if

0 < ‖A~x0 −~b‖ � 1?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 3 / 26

Page 4: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Recall: Backward Error

Backward ErrorThe amount a problem statement would have to changeto realize a given approximation of its solution

Example 1:√x

Example 2: A~x = ~b

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 4 / 26

Page 5: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Perturbation Analysis

How does ~x change if we solve

(A + δA)~x = ~b + δ~b?

Two viewpoints:

I Thanks to floating point precision, A and ~b

are approximate

I If ~x0 isn’t the exact solution, what is the

backward error?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 5 / 26

Page 6: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

What is “Small?”

What does it mean for a statement to hold for

small δ~x?

Vector norm

A function ‖ · ‖ : Rn → [0,∞) satisfying:

1. ‖~x‖ = 0 iff ~x = 0

2. ‖c~x‖ = |c|‖~x‖ ∀c ∈ R, ~x ∈ Rn

3. ‖~x+ ~y‖ ≤ ‖~x‖+ ‖~y‖ ∀~x, ~y ∈ Rn

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 6 / 26

Page 7: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

What is “Small?”

What does it mean for a statement to hold for

small δ~x?

Vector norm

A function ‖ · ‖ : Rn → [0,∞) satisfying:

1. ‖~x‖ = 0 iff ~x = 0

2. ‖c~x‖ = |c|‖~x‖ ∀c ∈ R, ~x ∈ Rn

3. ‖~x+ ~y‖ ≤ ‖~x‖+ ‖~y‖ ∀~x, ~y ∈ Rn

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 6 / 26

Page 8: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Our Favorite Norm

‖~x‖2 ≡√x21+ x22+ · · ·+ x2n

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 7 / 26

Page 9: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

p-Norms

For p ≥ 1,

‖~x‖p ≡ (|x1|p + |x2|p + · · · + |xn|p)1/p

Taxicab norm: ‖~x‖1

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 8 / 26

Page 10: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

∞ Norm

‖~x‖∞ ≡ max (|x1|, |x2|, . . . , |xn|)

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 9 / 26

Page 11: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

How are Norms Different?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 10 / 26

Page 12: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

How are Norms the Same?

Equivalent norms

Two norms ‖ · ‖ and ‖ · ‖′ are equivalent if there existconstants clow and chigh such thatclow‖~x‖ ≤ ‖~x‖′ ≤ chigh‖~x‖ for all ~x ∈ Rn.

TheoremAll norms on Rn are equivalent.

(10000, 1000, 1000) vs. (10000, 0, 0)?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 11 / 26

Page 13: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

How are Norms the Same?

Equivalent norms

Two norms ‖ · ‖ and ‖ · ‖′ are equivalent if there existconstants clow and chigh such thatclow‖~x‖ ≤ ‖~x‖′ ≤ chigh‖~x‖ for all ~x ∈ Rn.

TheoremAll norms on Rn are equivalent.

(10000, 1000, 1000) vs. (10000, 0, 0)?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 11 / 26

Page 14: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

How are Norms the Same?

Equivalent norms

Two norms ‖ · ‖ and ‖ · ‖′ are equivalent if there existconstants clow and chigh such thatclow‖~x‖ ≤ ‖~x‖′ ≤ chigh‖~x‖ for all ~x ∈ Rn.

TheoremAll norms on Rn are equivalent.

(10000, 1000, 1000) vs. (10000, 0, 0)?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 11 / 26

Page 15: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Matrix Norms:“Unrolled” Construction

Convert to vector, and use vector p-norm:

A ∈ Rm×n ↔ a[:] ∈ Rmn

• Achieved by vecnorm(A, p) in Julia.

Special Case: Frobenius norm (p=2):

‖A‖Fro ≡√∑

ij

a2ij

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 12 / 26

Page 16: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Matrix Norms:“Induced” Construction

Maximum stretching of a unit vector by A:

‖A‖ ≡ max{‖A~x‖ : ‖~x‖ = 1}

Different matrix norms induced by different

vector p-norms.

Case p=2: What is the norm induced by ‖ · ‖2?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 13 / 26

Page 17: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Matrix Norms:“Induced” Construction

Maximum stretching of a unit vector by A:

‖A‖ ≡ max{‖A~x‖ : ‖~x‖ = 1}Different matrix norms induced by different

vector p-norms.

Case p=2: What is the norm induced by ‖ · ‖2?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 13 / 26

Page 18: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Matrix Norms: ‖A‖2 Visualization

Induced two-norm, or spectral norm, of A ∈ Rn×n is thesquare root of the largest eigenvalue of ATA:

‖A‖22 = max{λ : there exists ~x ∈ Rn with ATA~x = λ~x}

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 14 / 26

Page 19: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Other Induced Norms

‖A‖1 ≡maxj

∑i

|aij|

‖A‖∞ ≡maxi

∑j

|aij|

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 15 / 26

Page 20: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Question

Are all matrix normsequivalent?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 16 / 26

Page 21: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Recall: Condition Number

Condition numberRatio of forward to backward error

Root-finding example:

1

f ′(x∗)

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 17 / 26

Page 22: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Model Problem

(A+ ε δA) ~x(ε) = ~b+ ε δ~b

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 18 / 26

Page 23: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Simplification (on the board!)

d~x

∣∣∣ε=0

= A−1(δ~b− δA ~x(0))

‖~x(ε)− ~x(0)‖‖~x(0)‖

≤ |ε|‖A−1‖‖A‖

(‖δ~b‖‖~b‖

+‖δA‖‖A‖

)+O(ε2)

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 19 / 26

Page 24: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Condition Number

Condition numberThe condition number of A ∈ Rn×n for a given

matrix norm ‖ · ‖ is condA ≡ κ ≡ ‖A−1‖‖A‖.

Relative change: D ≡ δ~b

‖~b‖+ ‖δA‖‖A‖

‖~x(ε)− ~x(0)‖‖~x(0)‖

≤ ε ·D · κ +O(ε2)

Invariant to scaling (unlike determinant!);

equals one for the identity.

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 20 / 26

Page 25: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Condition Number

Condition numberThe condition number of A ∈ Rn×n for a given

matrix norm ‖ · ‖ is condA ≡ κ ≡ ‖A−1‖‖A‖.

Relative change: D ≡ δ~b

‖~b‖+ ‖δA‖‖A‖

‖~x(ε)− ~x(0)‖‖~x(0)‖

≤ ε ·D · κ +O(ε2)

Invariant to scaling (unlike determinant!);

equals one for the identity.

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 20 / 26

Page 26: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Condition Number

Condition numberThe condition number of A ∈ Rn×n for a given

matrix norm ‖ · ‖ is condA ≡ κ ≡ ‖A−1‖‖A‖.

Relative change: D ≡ δ~b

‖~b‖+ ‖δA‖‖A‖

‖~x(ε)− ~x(0)‖‖~x(0)‖

≤ ε ·D · κ +O(ε2)

Invariant to scaling (unlike determinant!);

equals one for the identity.CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 20 / 26

Page 27: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Condition Number of Induced Norm

condA =

max~x6=~0

‖A~x‖‖~x‖

min~y 6=~0

‖A~y‖‖~y‖

=

max‖~x‖=1

‖A~x‖

min‖~y‖=1

‖A~y‖

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 21 / 26

Page 28: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Condition Number: Visualization

Experiments with an ill-conditioned Vandermonde matrix

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 22 / 26

Page 29: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Chicken ⇐⇒ Egg

condA ≡ ‖A‖‖A−1‖

Computing ‖A−1‖ typically requires solving

A~x = ~b, but how do we know the reliability of ~x?

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 23 / 26

Page 30: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

To Avoid...

What is the condition number of computing the

condition number of A?

What is the condition number of computing what

the condition number is of computing the

condition number of A?

...

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 24 / 26

Page 31: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

To Avoid...

What is the condition number of computing the

condition number of A?

What is the condition number of computing what

the condition number is of computing the

condition number of A?

...

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 24 / 26

Page 32: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Instead

Bound the conditionnumber.

I Below: Problem is at least this hard

I Above: Problem is at most this hard

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 25 / 26

Page 33: Norms, Sensitivity and Conditioninggraphics.stanford.edu/.../norms_sensitivity_and_conditioning.pdf · Announcements Setup Norms Conditioning Computing Condition Number Norms, Sensitivity

Announcements Setup Norms Conditioning Computing Condition Number

Potential for Approximation

‖A−1~x‖ ≤ ‖A−1‖‖~x‖⇓

condA = ‖A‖‖A−1‖ ≥ ‖A‖‖A−1~x‖

‖~x‖Next

CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 26 / 26