Transcript svd2

Singular Value Decomposition
A is m  n
A = (orthogonal) (diagonal) (orthogonal)
A U V T
x
x

x

x
x

x
x

8)
x x x x 
x x x x  
x x x x 
 
x x x x  
x x x x 
 
x x x x 
x x x x  
A  U V T
U
  1




r















 


VT
A   1u1v1T   2u2v2T     r ur vrT







Applications of the SVD
G. Strang, Linear Algebra and its Applications p444
/. Image processing
Suppose a satellite takes a picture,
and wants to send it to earth. The
picture may contain 1000 by 1000
"pixels"—little squares each with a
definite color. We can code the colors,
in a range between black and white,
and send back 1,000,000 numbers
picture
x
x

x

x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x

x x x x x x x x x
matrix
Applications of the SVD
G. Strang, Linear Algebra and its Applications p444
/. Image processing
It is better to find the essential information in the 1000 by 1000
matrix, and send only that.
Suppose we know the SVD.
The key is in the singular values.
Typically, some are significant and others are extremely small.
If we keep 60 and throw away 940, then we send only the
corresponding 60 columns of U, and V.
The other 940 columns are multiplied by small singular values
that are being ignored. In fact, we can do the matrix
multiplication as columns times rows:
A   u v   u v   u v
T
1 1 1
T
2 2 2
T
r r r
If only 60 terms are kept, we send 60 times 2000 numbers instead of a million.
Applications of the SVD
the SVD of a 32-times-32 digital image A is computed
the activities are lead by Prof. Per Christian Hansen.
 1u1v1T
 2u2v2T
 3u3v3T
 4u4v4T
 5u5v5T
 6u6 v6T
 uv
 8u8 v8T
T
7 7 7
Applications of the SVD
As   1u1v1T   2u2 v2T     s u s vsT
sr
A1
A5
G. Strang
A2
A6
A3
A4
A7
A8
“ at first you see nothing, and suddenly you recognize everything.”
Applications of the SVD
As   1u1v1T   2u2 v2T     s u s vsT
sr
How to compute SVD (by hand)
Eigenvalue Decomposition
AS S
If A is real n-by-n matrix, then
S  [ S1 , S 2 ,, S m ] eigenvecto rs
If A is symmetric
AQQ
Example:
  diag (1 , 2 ,, n )
T
A
1
4 1   2
1 4   1

  2
1
QT Q  I

Q
1
2
1
2
 3 0 


0
5
 
 
QT
1
2
1
2
1
2
1
2



How to compute SVD (by hand)
A  U V T
AT  VT U T





AAT  (UV T )(VTU T )
AA  U U
T
AT A  (VTU T )(UV T )
AT A  VT V T
AT A is symmetric
T
T
AAT is symmetric
 ( A)   ( AAT )
 ( A)   ( AT A)
How to compute SVD (by hand)

A  U V T 

AT  VT U T 

AT A  (VTU T )(UV T )
Example:
u1 
 12 
 
u1   12 
0
 

AAT  UTU T 

T
T
T

A A  V  V

AAT  (UV T )(VTU T )
1 1
A  1 1
0 0
1
1
Av1 
1
2 2
 2 2
W  A A

 2 2
det(W  I ) 
T
1
A 
1
v1 
1
2
1
1, v2 

u2 , u3 orthonorma l basis for Null(AA T )
Range(A)
1 1  12
1 1   1

  2
0 0  0
1
2
1
2
0
Rank(A)
1
2
1  2
2  0
1
 1
 
 2 2 0
T
AA  2 2 0
0 0 0
0  2 0 1
 2


0 0 0  1
1 0 0  2
Null(A)
1
2
1
2



 ( A)   ( AT A)
 ( A)   ( AAT )
2
2
2
0
2
1  4
2  0
 12 
 
u 2   12 
0
 
0 
u3  0
1
How to compute SVD (Algorithm)
x
x

x

x
 x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x 
x

x
x 
x






Matrix
x
x
x
x
x
x





x
x 
Bidiagonal
x






x
x
x
Diagonal






x 
>>[U,S,V] = svd(A)
Singular Value Decomposition
x
x

x

x
x

x
x

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x 
x  
x 
 
x  
x 
 
x 
x  
U
  1




r







9) If A is a square matrix then
1   2     n  0
VT
A 2  1
1   2     n  0
10) If A is a square matrix then








 


A
2
F
  12   22     r2
Example:
A 2 3
A F  10







Singular Value Decomposition
x
x

x

x
x

x
x

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x 
x  
x 
 
x  
x 
 
x 
x  
U
  1




r















 


VT







11) If A is a square symmetric matrix then the singular values of A are
the absolute values of the eigenvalues of A.
A  Q  QT  Q  sign( ) QT
12) If A is a square matrix then
n
det( A)    i
i 1
SVD and Eigenvalue Decomposition
SVD
A U V
Eigen Decomp
T
AS S
1
Uses two different
bases U, V
Uses just one
(eigenvectors)
Uses orthonormal bases
Generally is not
orthogonal
All matrices
Not all matrices
(even rectangular)
(even square)
(only diagonalizable)
Reduced SVD
A

Û
̂
V
T
Reduced SVD
Singular Value Decomposition
Example : Luke Olson\.illinois
svd_test.m
iguana.jpg
Singular Value Decomposition
A
Theorem:

U

VT
(Singular Value Decomposition) SVD
If A is real m-by-n matrix, then there exist orthogonal matrices
U  [u1 , u2 ,, um ]  R mm
such that
where
Proof:
A  U V
1   2     p  0
V  [v1 , v2 ,, vn ]  R nn
T
  diag ( 1 ,,  p )
p  min (m,n)
Singular Value Decomposition
A1   1u1v1T
First approximation to A is
A2   1u1v1T   2u2v2T
second approximation to A is

A  1u1v1T   2u2v2T      u vT

A   1u1v1T   2u2v2T     r ur vrT
Theroem : For any  with 0    r , the matrix A also satisfies
A  A
F
 inf
mn
BR
rank( B )  
A B
F
  2 1     r2
Singular Value Decomposition
Trefethen (Textbook author):
The SVD was discovered independently by
Beltrami(1873) and Jordan(1874) and again by
Sylvester(1889).
The SVD did not become widely known in
applied mathematics until the late 1960s, when
Golub and others showed that it could be
computed effectively.
Cleve Moler (invented MATLAB, co-founded MathWorks)
Gene Golub has done more than anyone to make the singular value
decomposition one of the most powerful and widely used tools in modern
matrix computation.
In later years he drove a car
with the license plate: