A divide-and-conquer algorithm for a symmetric eigenproblem Binh T. - - PowerPoint PPT Presentation

a divide and conquer algorithm for a symmetric
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

A divide-and-conquer algorithm for a symmetric eigenproblem

Outline

1

Introduction

2

Proposed algorithm

3

Numerical experiments

4

Conclusion

slide-3
SLIDE 3

A divide-and-conquer algorithm for a symmetric eigenproblem Introduction

Problem Statement

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

slide-4
SLIDE 4

A divide-and-conquer algorithm for a symmetric eigenproblem Introduction

Objectives

The proposed algorithm needs to satisfy: Accuracy Fast (faster than O(P3) where P is the size of matrix)

slide-5
SLIDE 5

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm

slide-6
SLIDE 6

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Dividing step

We represent matrix A as following A =

  • B11

B12 B21 B22

  • Using rank-one decomposition, the matrix A can be

decomposed as following A =

˜

B11 ˜ B22

  • + ρzzT

Both ˜ B11 and ˜ B22 have the form of original matrix with half

  • f the size.

We recursively split the matrix until the submatrices contain

  • nly one primitive block.
slide-7
SLIDE 7

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Primitive block

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)

slide-8
SLIDE 8

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Conquering step

Suppose that Q1D1QT

1 and Q2D2QT 2 are eigendecompositions

  • f ˜

B11 and ˜ B22 respectively. We have: A =

  • Q1D1QT

1

Q2D2QT

2

  • + ρzzT = QDQT + ρzzT

where Q =

  • Q1

Q2

  • and D =
  • D1

D2

  • Computing this eigendecomposition is just an rank-one

modification of symmetric eigenproblem.

slide-9
SLIDE 9

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Rank-one modification of symmetric eigenproblem

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

slide-10
SLIDE 10

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - FMM

(a) Straight forward scheme. (b) Middle man scheme.

slide-11
SLIDE 11

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - FMM

Suppose that we want to evaluate the function: Φ(yi) =

n

  • j=1

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).

slide-12
SLIDE 12

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Extension of FMM

We extend idea of FMM to 2 other functions 1/x and 1/x2

slide-13
SLIDE 13

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Complexity analysis

slide-14
SLIDE 14

A divide-and-conquer algorithm for a symmetric eigenproblem Proposed algorithm

Proposed algorithm - Complexity analysis

Let T(N) be complexity of our proposed algorithm for matrix A. We have the recurrence as following:

  • T(N) = 2T( N

2 ) + O(N2M2)

T(1) = O(M3) The solution for this system is O(NM3) + O(P2).

slide-15
SLIDE 15

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

Numerical experiments

Compare our proposed algorithm (denotes PA) with 3 other algorithms (ADC, CDC, QR) Execution Time Residual Error Orthogonality of eigenvectors

slide-16
SLIDE 16

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

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.

slide-17
SLIDE 17

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

Numerical experiments - Execution Time

slide-18
SLIDE 18

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

Numerical experiments - Execution Time

slide-19
SLIDE 19

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

Numerical experiments - Residual Error

slide-20
SLIDE 20

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

Numerical experiments - Orthogonality Error

slide-21
SLIDE 21

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

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.

slide-22
SLIDE 22

A divide-and-conquer algorithm for a symmetric eigenproblem Numerical experiments

Numerical experiments

slide-23
SLIDE 23

A divide-and-conquer algorithm for a symmetric eigenproblem Conclusion

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

slide-24
SLIDE 24

A divide-and-conquer algorithm for a symmetric eigenproblem Conclusion

Q & A

slide-25
SLIDE 25

A divide-and-conquer algorithm for a symmetric eigenproblem Conclusion

Thank you for your attention!