Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Probabilistic methods
for approximating large dimension sparse
matrix multiplication
Mihnea Simian
333CA
simian_mihnea@fotolitera.com
http://twitter.com/mihneasim
http://facebook.com/mihneasim
A * B = O(n^3)
complexity
How?
P=S*R (m x p)
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
A B
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
A B
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
s p2
X
s p4
s p5
R
s p2 s p4 s p5
S ≈AxB
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
The benefits
• We only iterate matrices twice
– To compute p probabilities
– To copy selected columns/rows
• Time: O ( s*m*p)
• Space: O (s*(q+r)) where q,r – max no. of not null values in any
A column or B row (presuming we use sparse representation)
Error?
• We’ve just thrown away O(n) A-columns and B-rows
2
1 (k ) 1 2n
E ( S R A B F ) A( k ) B A F B
2 2
F
s k 1 s
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
• B (k ) norm of row k
A F i , j Aij2
2
• Frobenius norm of a matrix
A better approach
p1 p2 p3 p4 p5 p6
A B
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Biography
• http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.7716 - Fast
Monte-Carlo Algorithms for Approximate Matrix Multiplication
• Images
– http://xkcd.net
– http://icanhascheezburger.com
– http://dreamstime.com/free-photos
Further reading