Page 1
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
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
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
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
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
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
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
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
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
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
Announcements Setup Norms Conditioning Computing Condition Number
How are Norms Different?
CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 10 / 26
Page 12
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
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
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
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
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
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
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
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
Announcements Setup Norms Conditioning Computing Condition Number
Question
Are all matrix normsequivalent?
CS 205A: Mathematical Methods Norms, Sensitivity and Conditioning 16 / 26
Page 21
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
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
Announcements Setup Norms Conditioning Computing Condition Number
Simplification (on the board!)
d~x
dε
∣∣∣ε=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
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
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
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
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
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
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
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
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
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
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