GoBack Enhancing the PRIMME Eigensolver for Computing Accurately - - PowerPoint PPT Presentation

goback enhancing the primme eigensolver for computing
SMART_READER_LITE
LIVE PREVIEW

GoBack Enhancing the PRIMME Eigensolver for Computing Accurately - - PowerPoint PPT Presentation

GoBack Enhancing the PRIMME Eigensolver for Computing Accurately Singular Triplets of Large Matrices Lingfei Wu and Andreas Stathopoulos Department of Computer Science College of William and Mary April 10th, 2014 CopperMountain2014 1 / 24


slide-1
SLIDE 1

GoBack

slide-2
SLIDE 2

CopperMountain2014 1 / 24

Enhancing the PRIMME Eigensolver for Computing Accurately Singular Triplets of Large Matrices

Lingfei Wu and Andreas Stathopoulos Department of Computer Science College of William and Mary

April 10th, 2014

slide-3
SLIDE 3

Introduction: applications of SVD

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 2 / 24

  • Social network analysis: voting similarities among

politicians

slide-4
SLIDE 4

Introduction: applications of SVD

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 2 / 24

  • Social network analysis: voting similarities among

politicians

  • Image-processing: calculation of Eigenfaces in face

recognition

slide-5
SLIDE 5

Introduction: applications of SVD

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 2 / 24

  • Social network analysis: voting similarities among

politicians

  • Image-processing: calculation of Eigenfaces in face

recognition

  • Textual database searching: Google, Yahoo, and Baidu
slide-6
SLIDE 6

Introduction: applications of SVD

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 2 / 24

  • Social network analysis: voting similarities among

politicians

  • Image-processing: calculation of Eigenfaces in face

recognition

  • Textual database searching: Google, Yahoo, and Baidu
  • Numerical linear algebra: least square fitting, rank,

low-rank approximation, computation of pseudospectrum

slide-7
SLIDE 7

Introduction: applications of SVD

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 2 / 24

  • Social network analysis: voting similarities among

politicians

  • Image-processing: calculation of Eigenfaces in face

recognition

  • Textual database searching: Google, Yahoo, and Baidu
  • Numerical linear algebra: least square fitting, rank,

low-rank approximation, computation of pseudospectrum

  • Variance reduction in Monte Carlo method
slide-8
SLIDE 8

Introduction: what is SVD ?

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 3 / 24

Assume A ∈ ℜm×n is a large, sparse matrix:

A = UΣV T U TU = I, V TV = I, Σ = Diag

slide-9
SLIDE 9

Introduction: what is SVD ?

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 3 / 24

Assume A ∈ ℜm×n is a large, sparse matrix:

A = UΣV T U TU = I, V TV = I, Σ = Diag

Our Problem: find k smallest singular values and corresponding left and right singular vectors of A

Avi = σiui, σ1 ≤ . . . ≤ σk

slide-10
SLIDE 10

Introduction: how to compute SVD ?

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 4 / 24

  • A Hermitian eigenvalue problem on
slide-11
SLIDE 11

Introduction: how to compute SVD ?

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 4 / 24

  • A Hermitian eigenvalue problem on
  • Normal equations matrix C = ATA or C = AAT
  • Augmented matrix B =
  • AT

A

slide-12
SLIDE 12

Introduction: how to compute SVD ?

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 4 / 24

  • A Hermitian eigenvalue problem on
  • Normal equations matrix C = ATA or C = AAT
  • Augmented matrix B =
  • AT

A

  • Lanczos bidiagonalization method (LBD)
slide-13
SLIDE 13

Introduction: how to compute SVD ?

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 4 / 24

  • A Hermitian eigenvalue problem on
  • Normal equations matrix C = ATA or C = AAT
  • Augmented matrix B =
  • AT

A

  • Lanczos bidiagonalization method (LBD)

A = PBdQT Bd = XΣY T

Where U = PX and V = QY

slide-14
SLIDE 14

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 5 / 24

  • Convergence speed
slide-15
SLIDE 15

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 5 / 24

  • Convergence speed

Eigen methods on C

  • fast for largest SVs
  • slow for smallest SVs
slide-16
SLIDE 16

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 5 / 24

  • Convergence speed

Eigen methods on C

  • fast for largest SVs
  • slow for smallest SVs

Eigen methods on B

  • slower for largest SVs
  • extremely slow for smallest SVs

(interior eigenvalue problem)

slide-17
SLIDE 17

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 5 / 24

  • Convergence speed

Eigen methods on C

  • fast for largest SVs
  • slow for smallest SVs

Eigen methods on B

  • slower for largest SVs
  • extremely slow for smallest SVs

(interior eigenvalue problem) LBD on A

  • fast for largest SVs
  • similar to C but exhibits irregular

convergence for smallest SVs

slide-18
SLIDE 18

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 6 / 24

  • Accuracy
slide-19
SLIDE 19

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 6 / 24

  • Accuracy

Eigen methods on C

  • can only achieve accuracy of

O(κ(A)Aǫmach)

slide-20
SLIDE 20

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 6 / 24

  • Accuracy

Eigen methods on C

  • can only achieve accuracy of

O(κ(A)Aǫmach)

Eigen methods on B

  • can achieve accuracy of

O(Aǫmach)

slide-21
SLIDE 21

Introduction: difference between methods

Introduction

  • The applications
  • The problems
  • The methods
  • Convergence issue
  • Accuracy issue

Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 6 / 24

  • Accuracy

Eigen methods on C

  • can only achieve accuracy of

O(κ(A)Aǫmach)

Eigen methods on B

  • can achieve accuracy of

O(Aǫmach)

LBD on A

  • can achieve accuracy of

O(Aǫmach)

slide-22
SLIDE 22

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
slide-23
SLIDE 23

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

slide-24
SLIDE 24

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

  • Computationally inexpensive to combine with the

harmonic and refined projection methods

slide-25
SLIDE 25

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

  • Computationally inexpensive to combine with the

harmonic and refined projection methods

  • Inherits the global convergence of Lanczos when

seeking many singular triplets

slide-26
SLIDE 26

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

  • Computationally inexpensive to combine with the

harmonic and refined projection methods

  • Inherits the global convergence of Lanczos when

seeking many singular triplets

  • Drawbacks of LBD:
slide-27
SLIDE 27

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

  • Computationally inexpensive to combine with the

harmonic and refined projection methods

  • Inherits the global convergence of Lanczos when

seeking many singular triplets

  • Drawbacks of LBD:
  • Orthogonality loss, large memory demands and

irregular convergence

slide-28
SLIDE 28

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

  • Computationally inexpensive to combine with the

harmonic and refined projection methods

  • Inherits the global convergence of Lanczos when

seeking many singular triplets

  • Drawbacks of LBD:
  • Orthogonality loss, large memory demands and

irregular convergence

  • Current SVD solvers not reflect remarkable algorithmic

progress

slide-29
SLIDE 29

Related work: LBD

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 7 / 24

  • Advantages of LBD:
  • Builds same space as Lanczos on C but avoids

numerical issues by working on A

  • Computationally inexpensive to combine with the

harmonic and refined projection methods

  • Inherits the global convergence of Lanczos when

seeking many singular triplets

  • Drawbacks of LBD:
  • Orthogonality loss, large memory demands and

irregular convergence

  • Current SVD solvers not reflect remarkable algorithmic

progress

  • Cannot use preconditioning to accelerate convergence
slide-30
SLIDE 30

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
slide-31
SLIDE 31

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
  • Can take advantage of preconditioning
slide-32
SLIDE 32

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
  • Can take advantage of preconditioning
  • Two search spaces share advantages of LBD
slide-33
SLIDE 33

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
  • Can take advantage of preconditioning
  • Two search spaces share advantages of LBD
  • No numerical accuracy problem
slide-34
SLIDE 34

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
  • Can take advantage of preconditioning
  • Two search spaces share advantages of LBD
  • No numerical accuracy problem
  • Drawbacks of the JDSVD method:
slide-35
SLIDE 35

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
  • Can take advantage of preconditioning
  • Two search spaces share advantages of LBD
  • No numerical accuracy problem
  • Drawbacks of the JDSVD method:
  • Correction equation working on B may not be efficient
slide-36
SLIDE 36

Related work: the JDSVD method

Introduction Related work

  • The LB-type method
  • The JD-type method

primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 8 / 24

  • Advantages of the JDSVD method:
  • Can take advantage of preconditioning
  • Two search spaces share advantages of LBD
  • No numerical accuracy problem
  • Drawbacks of the JDSVD method:
  • Correction equation working on B may not be efficient
  • Still in development and only MATLAB implementation
slide-37
SLIDE 37

Motivation I: our goal for an SVD solver

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 9 / 24

Extremely challenging task for small SVs:

  • large sparse matrix ⇒ No shift-and-invert
slide-38
SLIDE 38

Motivation I: our goal for an SVD solver

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 9 / 24

Extremely challenging task for small SVs:

  • large sparse matrix ⇒ No shift-and-invert
  • very slow convergence ⇒ restarting and preconditioning
slide-39
SLIDE 39

Motivation I: our goal for an SVD solver

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 9 / 24

Extremely challenging task for small SVs:

  • large sparse matrix ⇒ No shift-and-invert
  • very slow convergence ⇒ restarting and preconditioning
  • very few SVD solvers:
  • SVDPACK: Lanczos and trace-minimization methods

working on B or C for only largest SVs

  • PROPACK: LBD for largest SVs, using

shift-and-inverting for smallest SVs

slide-40
SLIDE 40

Motivation I: our goal for an SVD solver

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 9 / 24

Extremely challenging task for small SVs:

  • large sparse matrix ⇒ No shift-and-invert
  • very slow convergence ⇒ restarting and preconditioning
  • very few SVD solvers:
  • SVDPACK: Lanczos and trace-minimization methods

working on B or C for only largest SVs

  • PROPACK: LBD for largest SVs, using

shift-and-inverting for smallest SVs

⇒ calls for full functionality, highly-optimized SVD solver

slide-41
SLIDE 41

Motivation I: our goal for an SVD solver

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 9 / 24

Extremely challenging task for small SVs:

  • large sparse matrix ⇒ No shift-and-invert
  • very slow convergence ⇒ restarting and preconditioning
  • very few SVD solvers:
  • SVDPACK: Lanczos and trace-minimization methods

working on B or C for only largest SVs

  • PROPACK: LBD for largest SVs, using

shift-and-inverting for smallest SVs

⇒ calls for full functionality, highly-optimized SVD solver

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

slide-42
SLIDE 42

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

slide-43
SLIDE 43

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

  • Supports seeking interior eigenvalues
slide-44
SLIDE 44

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

  • Supports seeking interior eigenvalues
  • Accepts initial guesses for all required eigenvectors
slide-45
SLIDE 45

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

  • Supports seeking interior eigenvalues
  • Accepts initial guesses for all required eigenvectors
  • Accepts many shifts and finds the closest eigenvalue to

each shift

slide-46
SLIDE 46

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

  • Supports seeking interior eigenvalues
  • Accepts initial guesses for all required eigenvectors
  • Accepts many shifts and finds the closest eigenvalue to

each shift

  • Accepts preconditioner for C or B, or if M ≈ A−1, uses

MM T ≈ C−1 and

  • M

M T

  • ≈ B−1
slide-47
SLIDE 47

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

  • Supports seeking interior eigenvalues
  • Accepts initial guesses for all required eigenvectors
  • Accepts many shifts and finds the closest eigenvalue to

each shift

  • Accepts preconditioner for C or B, or if M ≈ A−1, uses

MM T ≈ C−1 and

  • M

M T

  • ≈ B−1
  • A robust framework: subspace acceleration, locking

mechanism

slide-48
SLIDE 48

Motivation II: building an SVD solver on PRIMME

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 10 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • Over 12 eigenmethods including near optimal GD+k and

JDQMR methods

  • Supports seeking interior eigenvalues
  • Accepts initial guesses for all required eigenvectors
  • Accepts many shifts and finds the closest eigenvalue to

each shift

  • Accepts preconditioner for C or B, or if M ≈ A−1, uses

MM T ≈ C−1 and

  • M

M T

  • ≈ B−1
  • A robust framework: subspace acceleration, locking

mechanism

  • Parallel, high performance implementation for large,

sparse, hermitian matrices

slide-49
SLIDE 49

Motivation III: compare search spaces

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 11 / 24

If u1, v1 are left and right initial guesses, each method builds Krylov space:

  • Eigen methods on C:

Kk(ATA, v1)

slide-50
SLIDE 50

Motivation III: compare search spaces

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 11 / 24

If u1, v1 are left and right initial guesses, each method builds Krylov space:

  • Eigen methods on C:

Kk(ATA, v1)

  • LBD on A and AT :

Kk(AAT, Av1), Kk(ATA, v1)

slide-51
SLIDE 51

Motivation III: compare search spaces

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 11 / 24

If u1, v1 are left and right initial guesses, each method builds Krylov space:

  • Eigen methods on C:

Kk(ATA, v1)

  • LBD on A and AT :

Kk(AAT, Av1), Kk(ATA, v1)

  • Eigen methods on B:

K k

2 (AAT, u1)

K k

2 (ATA, v1)

K k

2 (AAT, Av1)

K k

2 (ATA, ATu1)

slide-52
SLIDE 52

Motivation III: compare search spaces

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 11 / 24

If u1, v1 are left and right initial guesses, each method builds Krylov space:

  • Eigen methods on C:

Kk(ATA, v1)

  • LBD on A and AT :

Kk(AAT, Av1), Kk(ATA, v1)

  • Eigen methods on B:

K k

2 (AAT, u1)

K k

2 (ATA, v1)

K k

2 (AAT, Av1)

K k

2 (ATA, ATu1)

  • JDSVD method (outer iteration) on A and AT :

K k

2 (AAT, u1) ⊕ K k 2 (AAT, Av1),

K k

2 (ATA, v1) ⊕ K k 2 (ATA, ATu1)

slide-53
SLIDE 53

Motivation III: compare search spaces

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 11 / 24

500 1000 1500 2000 2500 3000 3500 10

  • 10

10

  • 8

10

  • 6

10

  • 4

10

  • 2

10 10

2

Matvecs ||AT u - σ v||

pde2961: smallest singular values without restarting

GD on C GD on B JDSVD LANSVD ||A||*1e-10

slide-54
SLIDE 54

Motivation III: the impact of restarting

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 12 / 24

1000 2000 3000 4000 5000 6000 7000 10

  • 10

10

  • 8

10

  • 6

10

  • 4

10

  • 2

10 10

2

Matvecs ||AT u - σ v||

pde2961: smallest singular values with restarting

GD+1 on C GD+1 on B JDSVD+1-Refined IRRHLB ||A||*1e-10

slide-55
SLIDE 55

primme svds: the two stage strategy

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 13 / 24

  • GD+1 on C is best for a few smallest SVs, but limited by

accuracy

  • need another phase to refine the accuracy
slide-56
SLIDE 56

primme svds: the two stage strategy

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 13 / 24

  • GD+1 on C is best for a few smallest SVs, but limited by

accuracy

  • need another phase to refine the accuracy

Our solution: a hybrid, two-stage singular value method

slide-57
SLIDE 57

primme svds: the two stage strategy

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 13 / 24

  • GD+1 on C is best for a few smallest SVs, but limited by

accuracy

  • need another phase to refine the accuracy

Our solution: a hybrid, two-stage singular value method

* Stage I: works on C to max residual tolerance

max (σiδuserA, A2ǫmach)

  • Must dynamically adjust tolerance in PRIMME to meet

user tolerance

slide-58
SLIDE 58

primme svds: the two stage strategy

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 13 / 24

  • GD+1 on C is best for a few smallest SVs, but limited by

accuracy

  • need another phase to refine the accuracy

Our solution: a hybrid, two-stage singular value method

* Stage I: works on C to max residual tolerance

max (σiδuserA, A2ǫmach)

  • Must dynamically adjust tolerance in PRIMME to meet

user tolerance * Stage II: works on B to improve the approximations from C to user required tolerance δuserA

slide-59
SLIDE 59

primme svds: an example

Introduction Related work primme svds: why choose the two stage strategy

  • Motivation I
  • Motivation II
  • Motivation III
  • Our method

primme svds: how to develop the two stage strategy Evaluations Conclusions

CopperMountain2014 14 / 24

500 1000 1500 2000 2500 3000 10

  • 10

10

  • 5

10 10

5

Matvecs ||AT u - σ v||

A=diag([1:10 1000:100:1e6]), Prec=A+rand(1,10000)*1e4

GD+1 on B GD+1 on C to limit GD+1 on C to eps||A||2 switch to GD+1 on B

slide-60
SLIDE 60

Stage I of primme svds: working on C

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 15 / 24

  • What’s the tolerance threshold to converge to?
slide-61
SLIDE 61

Stage I of primme svds: working on C

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 15 / 24

  • What’s the tolerance threshold to converge to?
  • How to dynamically adjust the tolerance in PRIMME?
slide-62
SLIDE 62

Stage I of primme svds: working on C

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 15 / 24

Let (˜

σ, ˜ u, ˜ v) be a targeted singular triplet of A rv = A˜ v − ˜ σ˜ u, ru = AT ˜ u − ˜ σ˜ v, rC = C˜ v − ˜ σ2˜ v, rB = B

  • ˜

v ˜ u

  • − ˜

σ

  • ˜

v ˜ u

  • .

If vi = 1, ui = Avi/σi = 1, then rv = 0 and

ru = rC

˜ σ

= rB √ 2

Thus, the stopping criterion for the methods on C becomes,

δC = max (δuser ˜ σ/A, ǫmach)

slide-63
SLIDE 63

Stage II of primme svds: working on B

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 16 / 24

  • Inputs from C:
  • Accurate shifts for interior eigenvalue problem
  • Good initial guesses formed by eigenvectors from C
slide-64
SLIDE 64

Stage II of primme svds: working on B

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 16 / 24

  • Inputs from C:
  • Accurate shifts for interior eigenvalue problem
  • Good initial guesses formed by eigenvectors from C

⇒ Calls for JDQMR - one of near-optimal methods in

PRIMME

slide-65
SLIDE 65

Stage II of primme svds: working on B

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 16 / 24

  • Inputs from C:
  • Accurate shifts for interior eigenvalue problem
  • Good initial guesses formed by eigenvectors from C

⇒ Calls for JDQMR - one of near-optimal methods in

PRIMME

  • Irregular convergence of Rayleigh Ritz (RR) on B
slide-66
SLIDE 66

Stage II of primme svds: working on B

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 16 / 24

  • Inputs from C:
  • Accurate shifts for interior eigenvalue problem
  • Good initial guesses formed by eigenvectors from C

⇒ Calls for JDQMR - one of near-optimal methods in

PRIMME

  • Irregular convergence of Rayleigh Ritz (RR) on B

⇒ Enhance PRIMME with refined projection method

slide-67
SLIDE 67

Stage II of primme svds: working on B

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 16 / 24

Refined projection minimizes the residual BV y − ˜

σV y

where V search space for a given user shift ˜

σ

  • QR factorization on BV − ˜

σV only after restart

  • ne column updating for Q and R during iteration
  • computational cost similar with the RR method
slide-68
SLIDE 68

Stage II of primme svds: working on B

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 16 / 24

Eigenvalue method VS Iterative Refinement (IR)?

  • correction equation on B equivalent to IR but JD leverages

subspace acceleration with near-by eigenvectors

  • stops the linear solver optimally
  • IR may fail without deflation strategies
slide-69
SLIDE 69

Outline of the implementation of primme svds

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 17 / 24

  • Developed PRIMME MEX, a MATLAB interface for

PRIMME

slide-70
SLIDE 70

Outline of the implementation of primme svds

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 17 / 24

  • Developed PRIMME MEX, a MATLAB interface for

PRIMME

  • User interfaces are similar to MATLAB eigs() and svds(),

but allow access to full-functionality of PRIMME

slide-71
SLIDE 71

Outline of the implementation of primme svds

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy

  • Stage I
  • Stage II
  • Implementation

Evaluations Conclusions

CopperMountain2014 17 / 24

  • Developed PRIMME MEX, a MATLAB interface for

PRIMME

  • User interfaces are similar to MATLAB eigs() and svds(),

but allow access to full-functionality of PRIMME

  • Refined projection implemented in PRIMME, and C

implementation of primme svds in PRIMME soon

slide-72
SLIDE 72

Evaluation: Test matrices

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 18 / 24

Table 1: Properties of the test matrices

Matrix well1850 pde2961 dw2048 fidap4 jagmesh8 lshp3025 wang3

  • rder

1850 2961 2048 1601 1141 3025 26064

κ(A)

1.1e2 9.5e2 5.3e3 5.2e3 5.9e4 2.2e5 1.1e4

A2

1.8e0 1.0e1 1.0e0 1.6e0 6.8e0 7.0e0 2.7e-1

gapmin(1)

3.0e-3 8.2e-3 2.6e-3 1.5e-3 1.7e-3 1.8e-3 7.4e-5

gapmin(3)

3.0e-3 2.4e-3 2.9e-4 2.5e-4 1.6e-3 9.1e-4 1.9e-5

gapmin(5)

3.0e-3 2.4e-3 2.9e-4 2.5e-4 4.8e-5 1.8e-4 1.9e-5

gapmin(10)

2.6e-3 7.0e-4 1.6e-4 2.5e-4 4.8e-5 2.2e-5 6.6e-6

Other state-of-the-art methods to compare:

  • JDSVD: (Hochstenbach, 2001)
  • IRRHLB: (Jia, 2010)
slide-73
SLIDE 73

Evaluation: Without preconditioning

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 19 / 24

1 2 3 4 5 6 x 10

4

wang3 lshp3025 jagmesh8 fidap4 dw2048 pde2961 well1850 Number of Matrix-Vectors 3 smallest w/o preconditioning, tol = 1e-8 primme_svds JDSVD IRRHLB

primme svds (only first stage) is the fastest method

slide-74
SLIDE 74

Evaluation: Without preconditioning

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 19 / 24

2 4 6 8 10 12 x 10

4

wang3 lshp3025 jagmesh8 fidap4 dw2048 pde2961 well1850 Number of Matrix-Vectors 10 smallest w/o preconditioning, tol = 1e-8 primme_svds JDSVD IRRHLB

primme svds (only first stage) is much faster in hard cases

slide-75
SLIDE 75

Evaluation: Without preconditioning

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 19 / 24

2 4 6 8 x 10

4

wang3 lshp3025 jagmesh8 fidap4 dw2048 pde2961 well1850 Number of Matrix-Vectors 3 smallest w/o preconditioning, tol = 1e-14 primme_svds(gd+k) primme_svds(jdqmr) JDSVD IRRHLB

primme svds (two stage) is superior for a few singular triplets

slide-76
SLIDE 76

Evaluation: Without preconditioning

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 19 / 24

2 4 6 8 10 12 x 10

4

wang3 lshp3025 jagmesh8 fidap4 dw2048 pde2961 well1850 Number of Matrix-Vectors 10 smallest w/o preconditioning, tol = 1e-14 primme_svds(gd+k) primme_svds(jdqmr) JDSVD IRRHLB

primme svds (two stage) is much faster in hard cases

slide-77
SLIDE 77

Evaluation: With preconditioning

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 20 / 24

50 100 150 200 250 300 350 wang3 lshp3025 jagmesh8 Number of Matrix-Vectors 10 smallest with P = ilutp(droptol = 1e-3), tol = 1e-8 primme_svds JDSVD

primme svds (only first stage) is at least two times faster than JDSVD

slide-78
SLIDE 78

Evaluation: With preconditioning

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 20 / 24

100 200 300 400 500 600 700 wang3 lshp3025 jagmesh8 Number of Matrix-Vectors 10 smallest with P = ilutp(droptol = 1e-3), tol = 1e-14 primme_svds(gd+k) primme_svds(jdqmr) JDSVD

primme svds (two stage) is faster than JDSVD

slide-79
SLIDE 79

Evaluation: Shift and invert technique

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations

  • Test matrices
  • Experiment I
  • Experiment II
  • Experiment III

Conclusions

CopperMountain2014 21 / 24

20 40 60 80 wang3 lshp3025 jagmesh8 fidap4 dw2048 pde2961 Number of Matrix-Vectors Shift and Invert technique for 10 smallest MATLAB svds(B

  • 1 )

primme_svds(C-1 )

primme svds on C is faster than MATLAB svds

slide-80
SLIDE 80

Conclusions

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

22 / 24

  • primme svds: a meta-method to compute a few singular

triplets based on state-of-the-art eigensolver PRIMME

slide-81
SLIDE 81

Conclusions

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

22 / 24

  • primme svds: a meta-method to compute a few singular

triplets based on state-of-the-art eigensolver PRIMME

  • Key idea: a two-stage strategy
  • take advantage of faster convergence on normal

equations matrix

slide-82
SLIDE 82

Conclusions

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

22 / 24

  • primme svds: a meta-method to compute a few singular

triplets based on state-of-the-art eigensolver PRIMME

  • Key idea: a two-stage strategy
  • take advantage of faster convergence on normal

equations matrix

  • resolve remaining accuracy by exploiting power of

PRIMME and refined projection on augmented matrix

slide-83
SLIDE 83

Conclusions

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

22 / 24

  • primme svds: a meta-method to compute a few singular

triplets based on state-of-the-art eigensolver PRIMME

  • Key idea: a two-stage strategy
  • take advantage of faster convergence on normal

equations matrix

  • resolve remaining accuracy by exploiting power of

PRIMME and refined projection on augmented matrix

  • Any stage has flexibility to be replaced by other better

methods

slide-84
SLIDE 84

Conclusions

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

22 / 24

  • primme svds: a meta-method to compute a few singular

triplets based on state-of-the-art eigensolver PRIMME

  • Key idea: a two-stage strategy
  • take advantage of faster convergence on normal

equations matrix

  • resolve remaining accuracy by exploiting power of

PRIMME and refined projection on augmented matrix

  • Any stage has flexibility to be replaced by other better

methods

  • Shown efficiency and effectiveness both with and without

preconditioning

slide-85
SLIDE 85

Conclusions

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

22 / 24

  • primme svds: a meta-method to compute a few singular

triplets based on state-of-the-art eigensolver PRIMME

  • Key idea: a two-stage strategy
  • take advantage of faster convergence on normal

equations matrix

  • resolve remaining accuracy by exploiting power of

PRIMME and refined projection on augmented matrix

  • Any stage has flexibility to be replaced by other better

methods

  • Shown efficiency and effectiveness both with and without

preconditioning

  • A highly optimized production software enables the solution
  • f large, real world problems
slide-86
SLIDE 86

PRIMME

Introduction Related work primme svds: why choose the two stage strategy primme svds: how to develop the two stage strategy Evaluations Conclusions

  • Conclusions
  • CopperMountain2014

23 / 24

PRIMME: PReconditioned Iterative MultiMethod Eigensolver

  • PRIMME including its MATLAB interface and

primme svds will be available this summer

  • C implementation of primme svds will be released with

next version of PRIMME Download: www.cs.wm.edu/∼andreas/software

slide-87
SLIDE 87

Thank you for your attention!