SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
QR Factorizations and SVDs for Tall-and-skinny 
Matrices in MapReduce Architectures 
Austin Benson 
ICME, Stanford University 
Work completed in part at UC-Berkeley 
SIAM CSE 2013 
February 27, 2013
Collaborators 
James Demmel, UC-Berkeley David Gleich, Purdue 
Paul Constantine, Stanford 
Thanks!
Quick QR and SVD review 
A Q 
R 
VT 
n 
n 
n 
n 
n 
n 
n 
n A U 
n 
n 
n 
n 
Σ 
n 
n 
Figure: Q, U, and V are orthogonal matrices. R is upper triangular and 
 is diagonal with positive entries.
Tall-and-skinny QR 
A Q 
R 
m 
n 
m 
n 
n 
n 
Tall-and-skinny (TS): m  n
TS-QR ! TS-SVD 
R is small, so computing its SVD is cheap.
Why Tall-and-skinny QR and SVD? 
1. Regression with many samples 
2. Principle Component Analysis (PCA) 
3. Model Reduction 
Pressure, Dilation, Jet Engine 
Figure: Dynamic mode decomposition of a rectangular supersonic 
screeching jet. Joe Nichols, Stanford University.
MapReduce overview 
Two functions that operate on key value pairs: 
(key; value) 
map 
! (key; value) 
(key; hvalue1; : : : ; valueni) reduce 
! (key; value) 
A shue stage runs between map and reduce to sort the values by 
key.
MapReduce overview 
Scalability: many map tasks and many reduce tasks are used 
https://developers.google.com/appengine/docs/python/images/mapreduce_mapshuffle.png
MapReduce overview 
The idea is data-local computations. The programmer implements: 
I map(key, value) 
I reduce(key, h value1, : : :, valuen i) 
The shue and data I/O is implemented by the MapReduce 
framework, e.g., Hadoop. 
This is a very restrictive programming environment! We sacri
ce 
program control for structure, scalability, fault tolerance, etc.
Matrix representation 
We have matrices, so what are the key-value pairs? We can just 
have unique row identi
ers: 
A = 
2 
1:0 0:0 
2:4 3:7 
0:8 4:2 
9:0 9:0 
664 
3 
775 
! 
2 
(a3320354; [1:0; 0:0]) 
(5da011e2; [2:4; 3:7]) 
(94d80025; [0:8; 4:2]) 
(90764917; [9:0; 9:0]) 
664 
3 
775 
Each value in a key-value pair is a row of the matrix.
Matrix representation: an example 
We can encode more information in the keys, e.g., (x, y, z) 
coordinates and model number: 
((47570,103.429767811242,0,-16.525510963787,iDV7), [0.00019924 
-4.706066e-05 2.875293979e-05 2.456653e-05 -8.436627e-06 -1.508808e-05 
3.731976e-06 -1.048795e-05 5.229153e-06 6.323812e-06]) 
Figure: Aircraft simulation data. Paul Constantine, Stanford University
Why MapReduce? 
1. Fault tolerance 
2. Structured data I/O 
3. Cheaper clusters with more data storage 
4. Easy to program 
Generate lots of 
data on 
supercomputer 
Post-process and 
analyze on 
MapReduce cluster 
http://www.nersc.gov/assets/About-Us/hopper1.jpg
Fault tolerance 
1550 
1500 
1450 
1400 
1350 
1300 
1250 
1200 
0 50 100 150 200 
1/(probability of task fault) 
job time (secs.) 
Performance with Injected Faults 
Running time with no faults 
Running times with injected faults 
 25% performance penalty with 1 out 5 tasks failing
Why MapReduce? 
Not convinced MapReduce is good for computational science? 
MS218: Is MapReduce Good for Science and Simulation Data?, 
Thursday, 4:30-6:30pm.
Communication-avoiding TSQR 
A = 
2 
A1 
A2 
A3 
A4 
664 
3 
775 
| {z } 
8n4n 
= 
2 
Q1 
664 
Q2 
Q3 
Q4 
3 
775 
| {z } 
8n4n 
2 
R1 
R2 
R3 
R4 
664 
3 
775 
| {z } 
4nn 
= 
=Q z2 }| { 
Q1 
664 
Q2 
Q3 
Q4 
3 
775 
| {z } 
8n4n 
~Q 
|{z} 
4nn 
|{Rz} 
nn 
(Demmel et al. 2008)
Communication-avoiding TSQR 
A = 
2 
A1 
A2 
A3 
A4 
664 
3 
775 | {z } 
8n4n 
= 
2 
Q1 
664 
Q2 
Q3 
Q4 
3 
775 
| {z } 
8n4n 
2 
R1 
R2 
R3 
R4 
664 
3 
775 
| {z } 
4nn 
Ai = QiRi can be computed in parallel. If we only need R, then 
we can throw out the Q factors.
MapReduce TSQR 
S(1) 
A 
A1 
A3 
A3 
R1 map 
A2 
R emit 2 map 
R emit 3 map 
A4 
R emit 4 map 
shuffle 
S1 
A2 
reduce 
S2 
R2,1 emit 
reduce R2,2 
emit 
emit 
shuffle 
AS23 
reduce R2,3 emit 
Local TSQR 
identity map 
SA(22 ) 
reduce R emit 
Local TSQR Local TSQR 
Figure: S(1) is the matrix consisting of the rows of all of the Ri factors. 
Similarly, S(2) consists of all of the rows of the R2;j factors.
MapReduce TSQR: the implementation 
1 import random, numpy, hadoopy 
2 class SerialTSQR: 
3 def i n i t ( sel f , blocksize , isreducer ) : 
4 sel f . bsize , sel f . data =blocksize , [ ] 
5 sel f . c a l l = sel f . reducer i f isreducer else sel f .mapper 
6 
7 def compress( sel f ) : 
8 R = numpy. l inalg . qr (numpy. array ( sel f . data) , ' r ' ) 
9 sel f . data = [ ] 
10 for row in R: sel f . data .append( [ f loat (v) for v in row] ) 
11 
12 def col lect ( sel f , key , value ) : 
13 sel f . data .append(value ) 
14 i f len ( sel f . data)  sel f . bsize  len ( sel f . data [ 0 ] ) : 
15 sel f . compress() 
16 
17 def close ( sel f ) : 
18 sel f . compress() 
19 for row in sel f . data : yield random. randint (0,2000000000), row 
20 
21 def mapper( sel f , key , value ) : 
22 sel f . col lect (key , value ) 
23 
24 def reducer ( sel f , key , values ) : 
25 for value in values : sel f .mapper(key , value ) 
26 
27 i f name ==' main ' : 
28 mapper = SerialTSQR( blocksize=3, isreducer=False ) 
29 reducer = SerialTSQR( blocksize=3, isreducer=True) 
30 hadoopy. run(mapper , reducer )
MapReduce TSQR: Getting Q 
We have an ecient way of getting R in QR (and  in the SVD). 
What if I want Q (or my left singular vectors)? 
A = QR ! Q = AR1 
This is a numerically unstable computation, and Q can be far from 
orthogonal. (This may be OK in some cases).
Indirect TSQR 
We call this method Indirect TSQR.
Indirect TSQR: Iterative Re
nement 
We can repeat the TSQR computation on Q to get a more 
orthogonal matrix. This is called iterative re
nement. 
A 
A1 
R-1 map 
R 
Q1 
A2 
R-1 map 
Q2 
A3 
R-1 map 
Q3 
A4 
R-1 map 
Q4 
emit 
emit 
emit 
emit 
distribute 
TSQR 
Q 
Q1 
R1 
-1 map 
R1 
Q1 
Q2 
R1 
-1 map 
Q2 
Q3 
R1 
-1 map 
Q3 
Q4 
R1 
-1 map 
Q4 
emit 
emit 
emit 
emit 
distribute 
Local MatMul Local MatMul 
Iterative Refinement step
Direct TSQR 
Why is it hard to reconstruct Q? 
I Only maintained state is the data written to disk at the end 
of each map/reduce iteration 
I No controlled communication between processors ! can only 
control data movement via the shue 
I File names and keys are the only methods of labeling data 
components
Direct TSQR: Steps 1 and 2 
A 
A1 
map R1 
Q11 emit 
emit 
A2 
map R2 
Q21 emit 
emit 
A3 
map R3 
Q31 emit 
emit 
A4 
map R4 
Q41 emit 
emit 
First step 
R1 
R2 
R3 
R4 
Q12 
Q22 
Q32 
Q42 
R 
reduce 
emit 
emit 
emit 
emit 
emit 
Second step 
shuffle
Direct TSQR: Step 3
Cholesky QR 
We also have a Cholesky QR: 
ATA = (QR)T (QR) = RTQTQR = RTR 
Computing ATA translates nicely to MapReduce. This method has 
worse stability issues but requires fewer 
ops.
Performance Data 
matrix size Time to completion (seconds) 
4Bx4 (135 GB) 2.5Bx10 (193 GB) 600Mx25 (112 GB) 500Mx50 (184 GB) 150Mx100 (110 GB) 
8000 
7000 
6000 
5000 
4000 
3000 
2000 
1000 
0 
Performance of various MapReduce algorithms for computing QR 
Cholesky 
Indirect TSQR 
Cholesky + IR 
Indirect TSQR + IR 
Direct TSQR

Contenu connexe

Tendances

Single source stortest path bellman ford and dijkstra
Single source stortest path bellman ford and dijkstraSingle source stortest path bellman ford and dijkstra
Single source stortest path bellman ford and dijkstraRoshan Tailor
 
Linear transformation and application
Linear transformation and applicationLinear transformation and application
Linear transformation and applicationshreyansp
 
It elective-4-buendia lagua
It elective-4-buendia laguaIt elective-4-buendia lagua
It elective-4-buendia laguaJohn Mark Lagua
 
Prim Algorithm and kruskal algorithm
Prim Algorithm and kruskal algorithmPrim Algorithm and kruskal algorithm
Prim Algorithm and kruskal algorithmAcad
 
Signal Flow Graph ( control system)
Signal Flow Graph ( control system)Signal Flow Graph ( control system)
Signal Flow Graph ( control system)Gourab Ghosh
 
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Mohanlal Sukhadia University (MLSU)
 
All pairs shortest path algorithm
All pairs shortest path algorithmAll pairs shortest path algorithm
All pairs shortest path algorithmSrikrishnan Suresh
 
Algorithms of graph
Algorithms of graphAlgorithms of graph
Algorithms of graphgetacew
 
Shortest path problem
Shortest path problemShortest path problem
Shortest path problemIfra Ilyas
 
Block diagram Examples
Block diagram ExamplesBlock diagram Examples
Block diagram ExamplesSagar Kuntumal
 
Skiena algorithm 2007 lecture12 topological sort connectivity
Skiena algorithm 2007 lecture12 topological sort connectivitySkiena algorithm 2007 lecture12 topological sort connectivity
Skiena algorithm 2007 lecture12 topological sort connectivityzukun
 
Linear Transformations, Matrix Algebra
Linear Transformations, Matrix AlgebraLinear Transformations, Matrix Algebra
Linear Transformations, Matrix AlgebraPrasanth George
 
Bellman Ford's Algorithm
Bellman Ford's AlgorithmBellman Ford's Algorithm
Bellman Ford's AlgorithmTanmay Baranwal
 
Chapter 8 Root Locus Techniques
Chapter 8 Root Locus TechniquesChapter 8 Root Locus Techniques
Chapter 8 Root Locus Techniquesguesta0c38c3
 
Bellman ford Algorithm
Bellman ford AlgorithmBellman ford Algorithm
Bellman ford Algorithmtaimurkhan803
 

Tendances (20)

Single source stortest path bellman ford and dijkstra
Single source stortest path bellman ford and dijkstraSingle source stortest path bellman ford and dijkstra
Single source stortest path bellman ford and dijkstra
 
Linear transformation and application
Linear transformation and applicationLinear transformation and application
Linear transformation and application
 
It elective-4-buendia lagua
It elective-4-buendia laguaIt elective-4-buendia lagua
It elective-4-buendia lagua
 
Topological Sort
Topological SortTopological Sort
Topological Sort
 
Isomorphism
IsomorphismIsomorphism
Isomorphism
 
CSE633
CSE633CSE633
CSE633
 
Prim Algorithm and kruskal algorithm
Prim Algorithm and kruskal algorithmPrim Algorithm and kruskal algorithm
Prim Algorithm and kruskal algorithm
 
Signal Flow Graph ( control system)
Signal Flow Graph ( control system)Signal Flow Graph ( control system)
Signal Flow Graph ( control system)
 
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
 
Direct current machine
Direct current machineDirect current machine
Direct current machine
 
All pairs shortest path algorithm
All pairs shortest path algorithmAll pairs shortest path algorithm
All pairs shortest path algorithm
 
Algorithms of graph
Algorithms of graphAlgorithms of graph
Algorithms of graph
 
Shortest path problem
Shortest path problemShortest path problem
Shortest path problem
 
Block diagram Examples
Block diagram ExamplesBlock diagram Examples
Block diagram Examples
 
Skiena algorithm 2007 lecture12 topological sort connectivity
Skiena algorithm 2007 lecture12 topological sort connectivitySkiena algorithm 2007 lecture12 topological sort connectivity
Skiena algorithm 2007 lecture12 topological sort connectivity
 
Ameer 14208
Ameer 14208Ameer 14208
Ameer 14208
 
Linear Transformations, Matrix Algebra
Linear Transformations, Matrix AlgebraLinear Transformations, Matrix Algebra
Linear Transformations, Matrix Algebra
 
Bellman Ford's Algorithm
Bellman Ford's AlgorithmBellman Ford's Algorithm
Bellman Ford's Algorithm
 
Chapter 8 Root Locus Techniques
Chapter 8 Root Locus TechniquesChapter 8 Root Locus Techniques
Chapter 8 Root Locus Techniques
 
Bellman ford Algorithm
Bellman ford AlgorithmBellman ford Algorithm
Bellman ford Algorithm
 

Similaire à QR Factorizations and SVDs for Tall-and-skinny Matrices in MapReduce Architectures (SIAM CSE)

Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)Austin Benson
 
Big data matrix factorizations and Overlapping community detection in graphs
Big data matrix factorizations and Overlapping community detection in graphsBig data matrix factorizations and Overlapping community detection in graphs
Big data matrix factorizations and Overlapping community detection in graphsDavid Gleich
 
Wiener Filter Hardware Realization
Wiener Filter Hardware RealizationWiener Filter Hardware Realization
Wiener Filter Hardware RealizationSayan Chaudhuri
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Usatyuk Vasiliy
 
Estimating structured vector autoregressive models
Estimating structured vector autoregressive modelsEstimating structured vector autoregressive models
Estimating structured vector autoregressive modelsAkira Tanimoto
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphspione30
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Usatyuk Vasiliy
 
Parallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-JoinsParallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-JoinsJonny Daenen
 
GRAPH - DISCRETE STRUCTURE AND ALGORITHM
GRAPH - DISCRETE STRUCTURE AND ALGORITHMGRAPH - DISCRETE STRUCTURE AND ALGORITHM
GRAPH - DISCRETE STRUCTURE AND ALGORITHMhimanshumishra19dec
 
Random Number Generators 2018
Random Number Generators 2018Random Number Generators 2018
Random Number Generators 2018rinnocente
 
MapReduce Tall-and-skinny QR and applications
MapReduce Tall-and-skinny QR and applicationsMapReduce Tall-and-skinny QR and applications
MapReduce Tall-and-skinny QR and applicationsDavid Gleich
 
New data structures and algorithms for \\post-processing large data sets and ...
New data structures and algorithms for \\post-processing large data sets and ...New data structures and algorithms for \\post-processing large data sets and ...
New data structures and algorithms for \\post-processing large data sets and ...Alexander Litvinenko
 
11. Linear Models
11. Linear Models11. Linear Models
11. Linear ModelsFAO
 
Passive network-redesign-ntua
Passive network-redesign-ntuaPassive network-redesign-ntua
Passive network-redesign-ntuaIEEE NTUA SB
 
Design of a Pseudo-Random Binary Code Generator via a Developed Simulation Model
Design of a Pseudo-Random Binary Code Generator via a Developed Simulation ModelDesign of a Pseudo-Random Binary Code Generator via a Developed Simulation Model
Design of a Pseudo-Random Binary Code Generator via a Developed Simulation ModelIDES Editor
 
Linear models
Linear modelsLinear models
Linear modelsFAO
 

Similaire à QR Factorizations and SVDs for Tall-and-skinny Matrices in MapReduce Architectures (SIAM CSE) (20)

Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
 
Big data matrix factorizations and Overlapping community detection in graphs
Big data matrix factorizations and Overlapping community detection in graphsBig data matrix factorizations and Overlapping community detection in graphs
Big data matrix factorizations and Overlapping community detection in graphs
 
12. Linear models
12. Linear models12. Linear models
12. Linear models
 
Wiener Filter Hardware Realization
Wiener Filter Hardware RealizationWiener Filter Hardware Realization
Wiener Filter Hardware Realization
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...
 
Estimating structured vector autoregressive models
Estimating structured vector autoregressive modelsEstimating structured vector autoregressive models
Estimating structured vector autoregressive models
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...
 
Parallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-JoinsParallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-Joins
 
GRAPH - DISCRETE STRUCTURE AND ALGORITHM
GRAPH - DISCRETE STRUCTURE AND ALGORITHMGRAPH - DISCRETE STRUCTURE AND ALGORITHM
GRAPH - DISCRETE STRUCTURE AND ALGORITHM
 
Random Number Generators 2018
Random Number Generators 2018Random Number Generators 2018
Random Number Generators 2018
 
MapReduce Tall-and-skinny QR and applications
MapReduce Tall-and-skinny QR and applicationsMapReduce Tall-and-skinny QR and applications
MapReduce Tall-and-skinny QR and applications
 
New data structures and algorithms for \\post-processing large data sets and ...
New data structures and algorithms for \\post-processing large data sets and ...New data structures and algorithms for \\post-processing large data sets and ...
New data structures and algorithms for \\post-processing large data sets and ...
 
R Language Introduction
R Language IntroductionR Language Introduction
R Language Introduction
 
11. Linear Models
11. Linear Models11. Linear Models
11. Linear Models
 
RBootcam Day 2
RBootcam Day 2RBootcam Day 2
RBootcam Day 2
 
Passive network-redesign-ntua
Passive network-redesign-ntuaPassive network-redesign-ntua
Passive network-redesign-ntua
 
Dsp manual
Dsp manualDsp manual
Dsp manual
 
Design of a Pseudo-Random Binary Code Generator via a Developed Simulation Model
Design of a Pseudo-Random Binary Code Generator via a Developed Simulation ModelDesign of a Pseudo-Random Binary Code Generator via a Developed Simulation Model
Design of a Pseudo-Random Binary Code Generator via a Developed Simulation Model
 
Linear models
Linear modelsLinear models
Linear models
 

Plus de Austin Benson

Hypergraph Cuts with General Splitting Functions (JMM)
Hypergraph Cuts with General Splitting Functions (JMM)Hypergraph Cuts with General Splitting Functions (JMM)
Hypergraph Cuts with General Splitting Functions (JMM)Austin Benson
 
Spectral embeddings and evolving networks
Spectral embeddings and evolving networksSpectral embeddings and evolving networks
Spectral embeddings and evolving networksAustin Benson
 
Computational Frameworks for Higher-order Network Data Analysis
Computational Frameworks for Higher-order Network Data AnalysisComputational Frameworks for Higher-order Network Data Analysis
Computational Frameworks for Higher-order Network Data AnalysisAustin Benson
 
Higher-order link prediction and other hypergraph modeling
Higher-order link prediction and other hypergraph modelingHigher-order link prediction and other hypergraph modeling
Higher-order link prediction and other hypergraph modelingAustin Benson
 
Hypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting FunctionsHypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting FunctionsAustin Benson
 
Hypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting FunctionsHypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting FunctionsAustin Benson
 
Higher-order link prediction
Higher-order link predictionHigher-order link prediction
Higher-order link predictionAustin Benson
 
Simplicial closure & higher-order link prediction
Simplicial closure & higher-order link predictionSimplicial closure & higher-order link prediction
Simplicial closure & higher-order link predictionAustin Benson
 
Three hypergraph eigenvector centralities
Three hypergraph eigenvector centralitiesThree hypergraph eigenvector centralities
Three hypergraph eigenvector centralitiesAustin Benson
 
Semi-supervised learning of edge flows
Semi-supervised learning of edge flowsSemi-supervised learning of edge flows
Semi-supervised learning of edge flowsAustin Benson
 
Choosing to grow a graph
Choosing to grow a graphChoosing to grow a graph
Choosing to grow a graphAustin Benson
 
Link prediction in networks with core-fringe structure
Link prediction in networks with core-fringe structureLink prediction in networks with core-fringe structure
Link prediction in networks with core-fringe structureAustin Benson
 
Higher-order Link Prediction GraphEx
Higher-order Link Prediction GraphExHigher-order Link Prediction GraphEx
Higher-order Link Prediction GraphExAustin Benson
 
Higher-order Link Prediction Syracuse
Higher-order Link Prediction SyracuseHigher-order Link Prediction Syracuse
Higher-order Link Prediction SyracuseAustin Benson
 
Random spatial network models for core-periphery structure
Random spatial network models for core-periphery structureRandom spatial network models for core-periphery structure
Random spatial network models for core-periphery structureAustin Benson
 
Random spatial network models for core-periphery structure.
Random spatial network models for core-periphery structure.Random spatial network models for core-periphery structure.
Random spatial network models for core-periphery structure.Austin Benson
 
Simplicial closure & higher-order link prediction
Simplicial closure & higher-order link predictionSimplicial closure & higher-order link prediction
Simplicial closure & higher-order link predictionAustin Benson
 
Simplicial closure and simplicial diffusions
Simplicial closure and simplicial diffusionsSimplicial closure and simplicial diffusions
Simplicial closure and simplicial diffusionsAustin Benson
 
Sampling methods for counting temporal motifs
Sampling methods for counting temporal motifsSampling methods for counting temporal motifs
Sampling methods for counting temporal motifsAustin Benson
 
Set prediction three ways
Set prediction three waysSet prediction three ways
Set prediction three waysAustin Benson
 

Plus de Austin Benson (20)

Hypergraph Cuts with General Splitting Functions (JMM)
Hypergraph Cuts with General Splitting Functions (JMM)Hypergraph Cuts with General Splitting Functions (JMM)
Hypergraph Cuts with General Splitting Functions (JMM)
 
Spectral embeddings and evolving networks
Spectral embeddings and evolving networksSpectral embeddings and evolving networks
Spectral embeddings and evolving networks
 
Computational Frameworks for Higher-order Network Data Analysis
Computational Frameworks for Higher-order Network Data AnalysisComputational Frameworks for Higher-order Network Data Analysis
Computational Frameworks for Higher-order Network Data Analysis
 
Higher-order link prediction and other hypergraph modeling
Higher-order link prediction and other hypergraph modelingHigher-order link prediction and other hypergraph modeling
Higher-order link prediction and other hypergraph modeling
 
Hypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting FunctionsHypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting Functions
 
Hypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting FunctionsHypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting Functions
 
Higher-order link prediction
Higher-order link predictionHigher-order link prediction
Higher-order link prediction
 
Simplicial closure & higher-order link prediction
Simplicial closure & higher-order link predictionSimplicial closure & higher-order link prediction
Simplicial closure & higher-order link prediction
 
Three hypergraph eigenvector centralities
Three hypergraph eigenvector centralitiesThree hypergraph eigenvector centralities
Three hypergraph eigenvector centralities
 
Semi-supervised learning of edge flows
Semi-supervised learning of edge flowsSemi-supervised learning of edge flows
Semi-supervised learning of edge flows
 
Choosing to grow a graph
Choosing to grow a graphChoosing to grow a graph
Choosing to grow a graph
 
Link prediction in networks with core-fringe structure
Link prediction in networks with core-fringe structureLink prediction in networks with core-fringe structure
Link prediction in networks with core-fringe structure
 
Higher-order Link Prediction GraphEx
Higher-order Link Prediction GraphExHigher-order Link Prediction GraphEx
Higher-order Link Prediction GraphEx
 
Higher-order Link Prediction Syracuse
Higher-order Link Prediction SyracuseHigher-order Link Prediction Syracuse
Higher-order Link Prediction Syracuse
 
Random spatial network models for core-periphery structure
Random spatial network models for core-periphery structureRandom spatial network models for core-periphery structure
Random spatial network models for core-periphery structure
 
Random spatial network models for core-periphery structure.
Random spatial network models for core-periphery structure.Random spatial network models for core-periphery structure.
Random spatial network models for core-periphery structure.
 
Simplicial closure & higher-order link prediction
Simplicial closure & higher-order link predictionSimplicial closure & higher-order link prediction
Simplicial closure & higher-order link prediction
 
Simplicial closure and simplicial diffusions
Simplicial closure and simplicial diffusionsSimplicial closure and simplicial diffusions
Simplicial closure and simplicial diffusions
 
Sampling methods for counting temporal motifs
Sampling methods for counting temporal motifsSampling methods for counting temporal motifs
Sampling methods for counting temporal motifs
 
Set prediction three ways
Set prediction three waysSet prediction three ways
Set prediction three ways
 

Dernier

Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...amitlee9823
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...amitlee9823
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 

Dernier (20)

Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 

QR Factorizations and SVDs for Tall-and-skinny Matrices in MapReduce Architectures (SIAM CSE)

  • 1. QR Factorizations and SVDs for Tall-and-skinny Matrices in MapReduce Architectures Austin Benson ICME, Stanford University Work completed in part at UC-Berkeley SIAM CSE 2013 February 27, 2013
  • 2. Collaborators James Demmel, UC-Berkeley David Gleich, Purdue Paul Constantine, Stanford Thanks!
  • 3. Quick QR and SVD review A Q R VT n n n n n n n n A U n n n n Σ n n Figure: Q, U, and V are orthogonal matrices. R is upper triangular and is diagonal with positive entries.
  • 4. Tall-and-skinny QR A Q R m n m n n n Tall-and-skinny (TS): m n
  • 5. TS-QR ! TS-SVD R is small, so computing its SVD is cheap.
  • 6. Why Tall-and-skinny QR and SVD? 1. Regression with many samples 2. Principle Component Analysis (PCA) 3. Model Reduction Pressure, Dilation, Jet Engine Figure: Dynamic mode decomposition of a rectangular supersonic screeching jet. Joe Nichols, Stanford University.
  • 7. MapReduce overview Two functions that operate on key value pairs: (key; value) map ! (key; value) (key; hvalue1; : : : ; valueni) reduce ! (key; value) A shue stage runs between map and reduce to sort the values by key.
  • 8. MapReduce overview Scalability: many map tasks and many reduce tasks are used https://developers.google.com/appengine/docs/python/images/mapreduce_mapshuffle.png
  • 9. MapReduce overview The idea is data-local computations. The programmer implements: I map(key, value) I reduce(key, h value1, : : :, valuen i) The shue and data I/O is implemented by the MapReduce framework, e.g., Hadoop. This is a very restrictive programming environment! We sacri
  • 10. ce program control for structure, scalability, fault tolerance, etc.
  • 11. Matrix representation We have matrices, so what are the key-value pairs? We can just have unique row identi
  • 12. ers: A = 2 1:0 0:0 2:4 3:7 0:8 4:2 9:0 9:0 664 3 775 ! 2 (a3320354; [1:0; 0:0]) (5da011e2; [2:4; 3:7]) (94d80025; [0:8; 4:2]) (90764917; [9:0; 9:0]) 664 3 775 Each value in a key-value pair is a row of the matrix.
  • 13. Matrix representation: an example We can encode more information in the keys, e.g., (x, y, z) coordinates and model number: ((47570,103.429767811242,0,-16.525510963787,iDV7), [0.00019924 -4.706066e-05 2.875293979e-05 2.456653e-05 -8.436627e-06 -1.508808e-05 3.731976e-06 -1.048795e-05 5.229153e-06 6.323812e-06]) Figure: Aircraft simulation data. Paul Constantine, Stanford University
  • 14. Why MapReduce? 1. Fault tolerance 2. Structured data I/O 3. Cheaper clusters with more data storage 4. Easy to program Generate lots of data on supercomputer Post-process and analyze on MapReduce cluster http://www.nersc.gov/assets/About-Us/hopper1.jpg
  • 15. Fault tolerance 1550 1500 1450 1400 1350 1300 1250 1200 0 50 100 150 200 1/(probability of task fault) job time (secs.) Performance with Injected Faults Running time with no faults Running times with injected faults 25% performance penalty with 1 out 5 tasks failing
  • 16. Why MapReduce? Not convinced MapReduce is good for computational science? MS218: Is MapReduce Good for Science and Simulation Data?, Thursday, 4:30-6:30pm.
  • 17. Communication-avoiding TSQR A = 2 A1 A2 A3 A4 664 3 775 | {z } 8n4n = 2 Q1 664 Q2 Q3 Q4 3 775 | {z } 8n4n 2 R1 R2 R3 R4 664 3 775 | {z } 4nn = =Q z2 }| { Q1 664 Q2 Q3 Q4 3 775 | {z } 8n4n ~Q |{z} 4nn |{Rz} nn (Demmel et al. 2008)
  • 18. Communication-avoiding TSQR A = 2 A1 A2 A3 A4 664 3 775 | {z } 8n4n = 2 Q1 664 Q2 Q3 Q4 3 775 | {z } 8n4n 2 R1 R2 R3 R4 664 3 775 | {z } 4nn Ai = QiRi can be computed in parallel. If we only need R, then we can throw out the Q factors.
  • 19. MapReduce TSQR S(1) A A1 A3 A3 R1 map A2 R emit 2 map R emit 3 map A4 R emit 4 map shuffle S1 A2 reduce S2 R2,1 emit reduce R2,2 emit emit shuffle AS23 reduce R2,3 emit Local TSQR identity map SA(22 ) reduce R emit Local TSQR Local TSQR Figure: S(1) is the matrix consisting of the rows of all of the Ri factors. Similarly, S(2) consists of all of the rows of the R2;j factors.
  • 20. MapReduce TSQR: the implementation 1 import random, numpy, hadoopy 2 class SerialTSQR: 3 def i n i t ( sel f , blocksize , isreducer ) : 4 sel f . bsize , sel f . data =blocksize , [ ] 5 sel f . c a l l = sel f . reducer i f isreducer else sel f .mapper 6 7 def compress( sel f ) : 8 R = numpy. l inalg . qr (numpy. array ( sel f . data) , ' r ' ) 9 sel f . data = [ ] 10 for row in R: sel f . data .append( [ f loat (v) for v in row] ) 11 12 def col lect ( sel f , key , value ) : 13 sel f . data .append(value ) 14 i f len ( sel f . data) sel f . bsize len ( sel f . data [ 0 ] ) : 15 sel f . compress() 16 17 def close ( sel f ) : 18 sel f . compress() 19 for row in sel f . data : yield random. randint (0,2000000000), row 20 21 def mapper( sel f , key , value ) : 22 sel f . col lect (key , value ) 23 24 def reducer ( sel f , key , values ) : 25 for value in values : sel f .mapper(key , value ) 26 27 i f name ==' main ' : 28 mapper = SerialTSQR( blocksize=3, isreducer=False ) 29 reducer = SerialTSQR( blocksize=3, isreducer=True) 30 hadoopy. run(mapper , reducer )
  • 21. MapReduce TSQR: Getting Q We have an ecient way of getting R in QR (and in the SVD). What if I want Q (or my left singular vectors)? A = QR ! Q = AR1 This is a numerically unstable computation, and Q can be far from orthogonal. (This may be OK in some cases).
  • 22. Indirect TSQR We call this method Indirect TSQR.
  • 24. nement We can repeat the TSQR computation on Q to get a more orthogonal matrix. This is called iterative re
  • 25. nement. A A1 R-1 map R Q1 A2 R-1 map Q2 A3 R-1 map Q3 A4 R-1 map Q4 emit emit emit emit distribute TSQR Q Q1 R1 -1 map R1 Q1 Q2 R1 -1 map Q2 Q3 R1 -1 map Q3 Q4 R1 -1 map Q4 emit emit emit emit distribute Local MatMul Local MatMul Iterative Refinement step
  • 26. Direct TSQR Why is it hard to reconstruct Q? I Only maintained state is the data written to disk at the end of each map/reduce iteration I No controlled communication between processors ! can only control data movement via the shue I File names and keys are the only methods of labeling data components
  • 27. Direct TSQR: Steps 1 and 2 A A1 map R1 Q11 emit emit A2 map R2 Q21 emit emit A3 map R3 Q31 emit emit A4 map R4 Q41 emit emit First step R1 R2 R3 R4 Q12 Q22 Q32 Q42 R reduce emit emit emit emit emit Second step shuffle
  • 29. Cholesky QR We also have a Cholesky QR: ATA = (QR)T (QR) = RTQTQR = RTR Computing ATA translates nicely to MapReduce. This method has worse stability issues but requires fewer ops.
  • 30. Performance Data matrix size Time to completion (seconds) 4Bx4 (135 GB) 2.5Bx10 (193 GB) 600Mx25 (112 GB) 500Mx50 (184 GB) 150Mx100 (110 GB) 8000 7000 6000 5000 4000 3000 2000 1000 0 Performance of various MapReduce algorithms for computing QR Cholesky Indirect TSQR Cholesky + IR Indirect TSQR + IR Direct TSQR
  • 31. End Questions?? I code: https://github.com/arbenson/mrtsqr I arXiv paper: http://arxiv.org/abs/1301.1071 I my email: arbenson@stanford.edu
  • 33. Cholesky QR A A1 A1 TA1 map emit A2 map A2 TA2 emit A3 map A3 TA3 emit A4 map A4 TA4 emit shuffle (A1 TA1)1 (A2 TA2)1 (A3 TA3)1 (A4 TA4)1 (ATA)1 (A1 TA1)2 (A2 TA2)2 (A3 TA3)2 (A4 TA4)2 (ATA)2 (A1 TA1)3 (A2 TA2)3 (A3 TA3)3 (A4 TA4)3 (ATA)3 (A1 TA1)4 (A2 TA2)4 (A3 TA3)4 (A4 TA4)4 (ATA)4 emit emit emit emit ATA RTR emit reduce reduce reduce reduce Local ATA Row Sum Cholesky
  • 34. Stability 5 10 0 10 −5 10 −10 10 10 0 20 10 5 10 10 10 15 10 10 −15 cond(A) 2 ||QTQ − I|| Numerical stability: 10000x10 matrices Dir. TSQR Indir. TSQR Indir. TSQR + I.R. Chol. Chol. + I.R.