A divide-and-conquer algorithm for a symmetric eigenproblem
A divide-and-conquer algorithm for a symmetric eigenproblem
Binh T. Nguyen Anh-Duc Luong-Thanh Nguyen Dinh Thuc Bui Van Thach March 5, 2012
A divide-and-conquer algorithm for a symmetric eigenproblem Binh T. - - PowerPoint PPT Presentation
A divide-and-conquer algorithm for a symmetric eigenproblem A divide-and-conquer algorithm for a symmetric eigenproblem Binh T. Nguyen Anh-Duc Luong-Thanh Nguyen Dinh Thuc Bui Van Thach March 5, 2012 A divide-and-conquer algorithm for a
A divide-and-conquer algorithm for a symmetric eigenproblem
Binh T. Nguyen Anh-Duc Luong-Thanh Nguyen Dinh Thuc Bui Van Thach March 5, 2012
A divide-and-conquer algorithm for a symmetric eigenproblem
1
Introduction
2
Proposed algorithm
3
Numerical experiments
4
Conclusion
A divide-and-conquer algorithm for a symmetric eigenproblem Introduction
Compute the eigensystem of the symmetric tri-block-diagonal matrix: A =
A11 A12 ... A21 A22 A23 ... A32 A33 A34 ... ... ... ... ... ... ... ... AN,N−1 ANN
where Aij ∈ R(2M+1)×(2M+1), Ai,i+1 has only one non-zero entry, Ai+1,i = AT
i,i+1,
and P = (2M + 1)N is the size of matrix A
A divide-and-conquer algorithm for a symmetric eigenproblem Introduction
The proposed algorithm needs to satisfy: Accuracy Fast (faster than O(P3) where P is the size of matrix)
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
We represent matrix A as following A =
B12 B21 B22
decomposed as following A =
˜
B11 ˜ B22
Both ˜ B11 and ˜ B22 have the form of original matrix with half
We recursively split the matrix until the submatrices contain
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
Since computing the eigensystem of primitive block is a general eigenproblem, QR algorithm will be used The complexity for this step is O(M3) because the size of primitive block is (2M + 1) × (2M + 1)
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
Suppose that Q1D1QT
1 and Q2D2QT 2 are eigendecompositions
B11 and ˜ B22 respectively. We have: A =
1
Q2D2QT
2
where Q =
Q2
D2
modification of symmetric eigenproblem.
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
Bunch et al proposed an algorithm for rank-one update eigenproblem in 1978 However, its computational cost is very expensive So we use an extension of Fast Multipole Method (FMM) to accelerate the algorithm
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
(a) Straight forward scheme. (b) Middle man scheme.
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
Suppose that we want to evaluate the function: Φ(yi) =
n
cjϕ(yi − xj) at n points {yi}n
i=1, where {cj}n j=1 are constants and ϕ(x) is
log(x). The direct computation takes O(n2). But FMM only takes O(n + n) = O(n).
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
We extend idea of FMM to 2 other functions 1/x and 1/x2
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm
Let T(N) be complexity of our proposed algorithm for matrix A. We have the recurrence as following:
2 ) + O(N2M2)
T(1) = O(M3) The solution for this system is O(NM3) + O(P2).
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
Compare our proposed algorithm (denotes PA) with 3 other algorithms (ADC, CDC, QR) Execution Time Residual Error Orthogonality of eigenvectors
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
We use 4 sets of test matrix in our numerical experiments: Test 1: The test matrix is generated from the discretization process of Laplace operator in 2D lattices Test 2: Replace all the diagonal block Aii in test 1 by Wilkinson matrix W2M+1 Test 3: Replace the diagonal block Aii in test 1 by by Wilkinson matrix W2M+1 where i is even Test 4: Random symmetric matrix for each diagonal block Since none of our test matrices is particularly, FMM is not used in this comparison.
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
Large residual errors occur with PA, ADC and CDC in comparison with QR. We suspect that is because of different strategies in algorithms.
A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments
A divide-and-conquer algorithm for a symmetric eigenproblem Conclusion
Achievements: Come up with an algorithm with complexity O(NM3) + O(P2) for a symmetric tri-block-diagonal problem when FMM is used When FMM is not used, our algorithm still achieves faster running time than other algorithms. Existing problems: Large residual errors in numerical experiments
A divide-and-conquer algorithm for a symmetric eigenproblem Conclusion
A divide-and-conquer algorithm for a symmetric eigenproblem Conclusion