Methods for estimating the diagonal of matrix functions Methods for estimating the diagonal of matrix functions Jesse Laeuchli Andreas Stathopoulos CSC 2016 1 / 24
The Problem Methods for estimating the diagonal of matrix functions Given a large matrix A , and a function f , find diag ( f ( A )) ,or trace ( f ( A )) = � n i = 1 f ( A ) ii = � n i = 1 f ( λ i ) Some important examples of f – f ( A ) = A − 1 – f ( A ) = A k – f ( A ) = exp ( A ) – f ( A ) = log ( A ) 2 / 24
Applications Compute Diagonals of A k /exp( A ) Methods for estimating the diagonal of matrix functions Count Triangles/Polygons–Higher distance paths, higher powers of A Network Centrality 3 / 24
Applications Methods for Compute Diagonals of A − 1 estimating the diagonal of matrix functions 16 Observation LSQ 14 y = − 0.0003*x 2 + 0.16*x + 5 12 10 8 6 4 2 0 −20 −10 0 10 20 30 40 50 60 Statistics 4 / 24
Applications Compute Diagonals of A − 1 Methods for estimating the diagonal of matrix functions Uncertainty Quantification 5 / 24
Exact Methods Methods for estimating the diagonal of matrix functions What if we compute it exactly? LU Decomposition Eigendecomposition Recursive Factorizations Takahashi’s Equations All too slow for large matrices 6 / 24
Statistical Trace Estimator Methods for estimating the diagonal of matrix functions Exact methods infeasible, so we resort to statistical approaches � i = m i = 0 z T i f ( A ) z i trace ( f ( A )) = E [ z T f ( A ) z ] ≈ m m m � � diag ( f ( A )) = E [ z ⊙ f ( A ) z ] ≈ ( z i ⊙ f ( A ) z i ) ⊘ ( z i ⊙ z i ) i = 1 i = 1 � a � � c � � a ∗ c � � a � � c � � a / c � ⊙ = , ⊘ = b d b ∗ d b d b / d 7 / 24
How to pick z? Random Methods for estimating the Random Methods diagonal of matrix – Gaussian { z = from Gaussian Distribution } functions – Hutchinson { z = 1 , − 1 probability 1 / 2 } – Canoncial basis e i with random i – Mixing of diagonals DFT n e i ,Hadamard n e i with random i Estimator Variance of the Sample 2 � A � 2 Gaussian F 2( � A � 2 F − � n i =1 A 2 Hutchinson’s ii ) n � n i =1 A 2 ii − trace 2 ( A ) Unit Vector 8 / 24
How to pick z? Deterministic Methods for estimating the diagonal of Deterministic matrix functions – Hadamard n e i with i = 1 : n 0 0 20 20 40 40 60 60 80 80 100 100 120 120 0 20 40 60 80 100 120 0 20 40 60 80 100 120 nz = 1024 nz = 512 � 1 � � H 2 k − 1 � 1 H 2 k − 1 � � H 1 = 1 H 2 = H 2 k = = H 2 ⊗ H 2 k − 1 1 − 1 H 2 k − 1 − H 2 k − 1 9 / 24
Probing Methods for Color the associated graph of A , reorder nodes with the estimating the diagonal of same color to be adjacent matrix functions Can then recover the diagonal of an m-colorable matrix � 1 , if i ∈ C m with exactly m vectors x m = i 0 , otherwise . If we color graph of f ( A ), then we can recover diag ( f ( A )) 1 0 0 0 ������������������� ������������������� ������������������� ������������������� 1 0 0 0 ������������������� ������������������� ������������������� ������������������� 1 0 0 0 ������������������� ������������������� 1 0 0 0 ������������������� ������������������� ������������������� ������������������� 0 1 0 0 �������������������� �������������������� ������������������� ������������������� �������������������� �������������������� ������������������� ������������������� 0 1 0 0 �������������������� �������������������� ������������������� ������������������� 0 0 1 0 �������������������� �������������������� ������������������� ������������������� �������������������� �������������������� ������������������� ������������������� 0 0 1 0 �������������������� �������������������� ������������������� ������������������� �������������������� �������������������� 0 0 1 0 ������������������� ������������������� �������������������� �������������������� ������������������� ������������������� 0 0 1 0 �������������������� �������������������� ������������������� ������������������� �������������������� �������������������� ������������������� ������������������� 0 0 1 0 �������������������� �������������������� ������������������� ������������������� �������������������� �������������������� 0 0 1 0 ������������������� ������������������� �������������������� �������������������� ������������������� ������������������� 0 0 0 1 �������������������� �������������������� �������������������� �������������������� 0 0 0 1 �������������������� �������������������� 0 0 0 1 �������������������� �������������������� �������������������� �������������������� �������������������� �������������������� 10 / 24
Probing f ( A ) Methods for estimating the diagonal of matrix functions Computing f ( A ) is hard. If we had it, we would be done f ( A ) is dense. It takes too many colors to probe Look at structure of polynomial p k ( A ) approximating f ( A ) 11 / 24
Problems With Probing-What We Address Methods for Even lower order A k expensive to compute and store estimating the diagonal of matrix functions 6 10x 10 Powers of L 8 6 NNZ 4 2 0 1 2 3 4 5 6 7 8 Powers of L 12 / 24
Problems With Probing-What We Address Methods for estimating the diagonal of matrix functions Probing vectors for A k not guaranteed to be a subset of vectors for A k +1 13 / 24
Hierarchical Coloring Methods for What is Hierarchical Coloring? estimating the diagonal of – Colors must be nested matrix functions – Colors split into the same number of new colors – Ensures reusability of probing vectors 14 / 24
Hierarchical Coloring via Multilevel How to color a arbitrary graph? Use multi-level strategy. Methods for estimating the diagonal of Problems if merging is done naively. matrix functions 0 1 2 3 4 5 6 7 0 1 2 3 0 4 1 5 2 6 3 7 0 4 1 5 2 6 3 7 Same color neighbor at distance−8 Two green nodes still at distance−2 after 3 levels 15 / 24
Hierarchical Coloring via Multilevel Methods for estimating the Our strategy, merge distance 1 nodes, and distance 2 diagonal of matrix neighbourhoods functions N−1 N−1 N−2 N−2 16 / 24
Hierarchical Coloring via Multilevel Methods for estimating the diagonal of Example Graph. One level of merging matrix functions 17 / 24
Recommend
More recommend