1 of 47

How the SVD�Saves the Universe

2 of 47

SVD Algorithm

Gene Golub

Stanford

1965

with V. Kahan

1970

with Christian Reinsch

3 of 47

“Matrices and Their Singular Values”

1976

Los Alamos National Laboratory

16 mm celluloid film

Promote SVD

Only 6 years old

LANL computer graphics library

3D hidden lines

Text with Greek letters

4 of 47

LANL SVD

5 of 47

Y-285.mp4�“youtube cleve svd movie”�https://www.youtube.com/watch?v=R9UoFyqJca8�Presage surf

6 of 47

7 of 47

8 of 47

9 of 47

10 of 47

11 of 47

“Star Trek, the Motion Picture”

1979

Paramount Movies

“V’GER” threatens

12 of 47

13 of 47

14 of 47

15 of 47

16 of 47

SVD

[U,S,V] = svd(A,'econ')

A = U*S*V'

=

any = orthogonal × diagonal × orthogonal

17 of 47

18 of 47

19 of 47

SVD

x x = cos θ sin θ σ1 0 cos ψ sin ψ

x x -sin θ cos θ 0 σ2 -sin ψ cos ψ

20 of 47

Principal Component Analysis

Weight

Height

PCA

[coeff, score, latent] = pca(X)

1st principal component

2nd principal component

21 of 47

PCA without SVD

X = A - mean(A)

C = (X'*X)/(n-1)

[Q,E] = eig(C)

latent = flipud(diag(E))

coeff = fliplr(Q)

score = X*coeff

22 of 47

PCA with SVD

X = A - mean(A)

[n,p] = size(A)

[U,S,V] = svd(X,'econ')

coeff = V

score = U*S

latent = diag(S).^2/(n-1)

23 of 47

SVD meets PCA

SVD

Origins in numerical analysis

Works with original data

More reliable numerically

PCA

Origins in statistics

Center data

Eigenvalues of covariance matrix

Lose small eigenvalues

24 of 47

Low Rank Approximation

R ≈ A

A is m× n

R = UΣVT

U is m× k, Σ is k× k, V is n× k

k = rank

k << m,n

25 of 47

26 of 47

Human Gait

Nikolaus Trode

Ruhr-Universität, Bochüm, Germany

http://www.bml.ruhr-uni-bochum.de/Demos

Queen’s University, Kingston, Ontario

http://www.biomotionlab.ca

27 of 47

28 of 47

One Subject

20 steps

12 seconds @ 120 frames/second

= 1440 frames

15 markers in 3 dimensions

= 45 time series

Raw data is 45-by-1440 matrix

for each subject

29 of 47

30 of 47

31 of 47

Model

p(t) = v1 + v2 cos(ωt) + v3 sin(ωt)

+ v4 cos(2ωt) + v5 sin(2ωt)

= V [1 cos(ωt) sin(ωt) cos(2ωt) sin(2ωt)]'

ω = scalar frequency (Fourier analysis)

V = [v1 v2 v3 v4 v5] principal vectors (SVD)

= fixed 45-by-5 coefficient matrix

45-by-1440 45-by-5

32 of 47

Eigenwalkers

Combine all of the data

Two more SVD’s

40 Female V ’s → F

40 Male V ’s → M

Eigenwalker = (F+M)/2

gender = F-M

33 of 47

34 of 47

35 of 47

https://blogs.mathworks.com/cleve/2026/01/12/svd-measures-partisanship-in-the-u-s-senate/

36 of 47

37 of 47

38 of 47

39 of 47

A(k,j) = +1 "Yea“

-1 "Nay"

0 "Not Voting"

100 by number of votes that year

40 of 47

sigma = svd(A)

partisanship = 1 – sigma(3)/sigma(1)

41 of 47

42 of 47

43 of 47

44 of 47

45 of 47

46 of 47

47 of 47

How the SVD�Saved the Universe