divide and conquer methods for functions of matrices with

19
Divide and conquer methods for functions of matrices with banded or hierarchical low-rank structure Alice Cortinovis Daniel Kressner Stefano Massei 23 October 2021 Conference on Fast Direct Solvers

Upload: others

Post on 29-Apr-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Divide and conquer methods for functions of matrices with

Divide and conquer methodsfor functions of matrices with banded or

hierarchical low-rank structure

Alice Cortinovis Daniel Kressner Stefano Massei

23 October 2021Conference on Fast Direct Solvers

Page 2: Divide and conquer methods for functions of matrices with

Matrix functions

Matrix functions arise in many applications, e.g.:Solution of PDEs (exponential, square root, fractional powers, ...){

dydt = Ay, A ∈ Rn×n

y(0) = c, c ∈ Rnhas solution y(t) = exp(At) · c.

Electronic structure calculations (sign function)Network analysis (exponential for Estrada index)Statistical learning (logarithm, ...)Nonlinear matrix equations...

Definition

Given function f and A = V · diag(λ1, . . . , λn) · V −1,

f(A) := V · diag(f(λ1), . . . , f(λn)) · V −1.

(Generalization to non-diagonalizable matrices possible [Higham’2008])

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 2 / 19

Page 3: Divide and conquer methods for functions of matrices with

(Approximate) preservation of structure

Example: Tridiagonal matrix A = tridiag(−1, 2,−1).

20 40 60 80 100 120

20

40

60

80

100

120 -15

-10

-5

0

Figure: f(z) = exp(z). Logof entries of f(A): matrixfunction f(A) isapproximately banded.

20 40 60 80 100 120

20

40

60

80

100

120 -15

-10

-5

0

Figure: f(z) = z−1. Log ofentries of f(A): matrixfunction f(A) is not(approximately) banded...

0 50 100

0

20

40

60

80

100

120

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Figure: ... but f(A) = A−1

has all off-diagonal blocksof rank 1!

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 3 / 19

Page 4: Divide and conquer methods for functions of matrices with

Connection to polynomial/rational approximation

For now, assume A banded.

If f is well approximated by a small-degree polynomial p on spectrumof A then

f(A) ≈ p(A) = banded.

0 100 200 300 400 500

nz = 1534

0

50

100

150

200

250

300

350

400

450

500

0 100 200 300 400 500

nz = 15632

0

50

100

150

200

250

300

350

400

450

500

If f is well approximated by a small-degree rational function r on spec-trum of A then

f(A) ≈ r(A) = HSS matrix.

0 100 200 300 400 500

nz = 1534

0

50

100

150

200

250

300

350

400

450

500

0 100 200 300 400 500

nz = 15632

0

50

100

150

200

250

300

350

400

450

500

55

55

5

5

55

55

5

5

5

5

55

55

5

5

55

55

5

5

5

5

5

5

55

55

5

5

55

55

5

5

5

5

55

55

5

5

55

55

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

Generalizations to other formats such as hierarchically semiseparable (HSS)matrices are possible.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 4 / 19

Page 5: Divide and conquer methods for functions of matrices with

Existing methods for computing f(A)

- A priori polynomial approximation[Benzi/Boito/Razouk’2013], [Goedecker’1999], [Benzi/Razouk’2008], ...

- Iterations + thresholding[Nemeth/Scuseria’2000] (sign), [Bini et al.’2016] (Toeplitz matrices), ...

- A priori rational approximation[Gavrilyuk et al.’2002] (exponential), [Kressner/Susnjara’2017] (spectral projectors),[Beckermann/Bisch/Luce’2021] (Markov functions of Toeplitz matrices), ...

- Iterations in HSS arithmetics + truncation strategies[Grasedyck et al.’2003] (sign),

√·, ...

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 5 / 19

Page 6: Divide and conquer methods for functions of matrices with

Goal:Compute f (A)

for matrix A ∈ Rn×n

with some low-rank structure.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 6 / 19

Page 7: Divide and conquer methods for functions of matrices with

Divide-and-conquer

We consider matrices which can be decomposed (recursively) as

A = =D1

D2

+ low-rank = D +R

e.g. banded matrices, HODLR/HSS matrices, adjacency matrices of graphswith community structure.

Divide-and-conquer idea for computing f(A):

f(A) =[f(D1)

f(D2)

]+ correction.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 7 / 19

Page 8: Divide and conquer methods for functions of matrices with

Low-rank updatesNice fact: In many cases f(D +R)− f(D) is approximately low-rank!

Example: Singular value decay of f(A)− f(D) for- A = tridiag(−1, 2,−1) of size 256× 256,- D1 = D2 = tridiag(−1, 2,−1) of size 128× 128,- R = A−D has rank 2.

0 100 200 30010

-20

10-10

100

Figure: f(z) = exp(z).

0 100 200 30010

-20

10-10

100

Figure: f(z) =√

z.

[Beckermann/Kressner/Schweitzer’2018], [Beckermann et al.’2021]Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 8 / 19

Page 9: Divide and conquer methods for functions of matrices with

Low-rank updates: Algorithm

Let R = BJCT , with B,C ∈ Rn×r and J ∈ Rr×r.

Choose rank m and approximate f(D +R)− f(D) ≈ UmXm(f)V Tm , where:

Um ∈ Rn×mr orthonormal basis of Km(D,B) or qm(D)−1Km(D,B);Vm ∈ Rn×mr orthonormal basis of Km(DT , C) or qm(DT )−1Km(DT , C);

Definition

- Polynomial Krylov subspace: Km(D,B) := span[B,DB,D2B, . . . ,Dm−1B

].

- Rational Krylov subspace associated with q(z) = (z − ξ1) · · · (z − ξm) for prescribed polesξ = (ξ1, . . . , ξm)T ∈ Cm:

RKm(D,B, ξ) := span[qm(D)−1B, qm(D)−1DB, qm(D)−1D2B, . . . , qm(D)−1Dm−1B

].

Xm(f) ∈ Rmr×mr chosen in suitable way according to[Beckermann/Kressner/Schweitzer’2018], [Beckermann et al.’2021]

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 9 / 19

Page 10: Divide and conquer methods for functions of matrices with

Divide-and-conquer algorithm

Input: Matrix A with hierarchical low-rank structure, function fOutput: Approximation of f(A), in HSS format

1: if A is small then2: Compute f(A) in “dense” arithmetics, e.g. by Schur-Parlett’s algorithm3: else4: Decompose A = D +R = block-diagonal + low-rank5: Compute f(diagonal blocks) recursively6: Add correction f(D +R)− f(D) computed by low-rank updates

algorithm7: end if

[C./Kressner/Massei’2021]

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 10 / 19

Page 11: Divide and conquer methods for functions of matrices with

Convergence of D&C algorithm

Theorem ([C./Kressner/Massei’2021])

Let A be symmetric and let f be a function analytic on an interval E containingthe eigenvalues of A. Suppose that we use rational Krylov subspaces withpoles ξ1, . . . , ξm, closed under complex conjugation, for computing updates.Then the output FA of the D&C algorithm satisfies

‖f(A)− FA‖2 ≤ 4 · recursion depth · minr∈Πm/qm

‖f − r‖E,

where qm(z) =∏m

i=1(z − ξi).

Main ingredient of the proof:Each low-rank update is exact for rational functions r ∈ Πm/qm.

Nice fact: Convergence is related to best rational approximation, but does notneed to explicitly find such rational function.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 11 / 19

Page 12: Divide and conquer methods for functions of matrices with

Numerical experiments (1)Example from [Ilic/Turner/Simpson’2010]: Sampling from a Gaussian random fieldrequires A−1/2 for A = covariance matrix; here A is banded.

- D&C algorithm (extended Krylov subspaces for low-rank updates)

- Denman and Beavers iteration with HSS arithmetic(hm-toolbox [Massei/Robol/Kressner’2020])

- Matlab’s sqrtm

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 12 / 19

Page 13: Divide and conquer methods for functions of matrices with

Numerical experiments (2)

For A = adjacency matrix of undirected graph, diagonal entries of exp(A) are subgraphcentralities and 1

ntrace(exp(A)) is the Estrada index.

- D&C algorithm (splitting vertices into 2 components using METIS algorithm,polynomial Krylov subspaces for the low-rank updates)

- mmq (Gauss quadrature to approximate each diagonal entry of exp(A),see [Golub/Meurant’2010])

- Matlab’s expm and eig

Test matrices from the SuiteSparse Matrix Collection.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 13 / 19

Page 14: Divide and conquer methods for functions of matrices with

Special case: Banded matrices (1)

A = D +R = +

Bases of polynomial Krylov subspaces inherit sparsity and have the form

Um = Vm =

0I00...0

.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 14 / 19

Page 15: Divide and conquer methods for functions of matrices with

Special case: Banded matrices (2)D&C algorithm simplifies a lot! “block-diagonal splitting algorithm”

A = = + − .

Then,

f(A) ≈ f

+ f

− f

.

Theorem ([C./Kressner/Massei’2021])

For a matrix A with bandwidth b, block size s, let m := bs/2bc, then

‖f(A)− approx‖2 ≤ 10 minp∈Πm

‖f − p‖numerical range of A.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 15 / 19

Page 16: Divide and conquer methods for functions of matrices with

Numerical example for banded matrices

The size of the blocks can be chosen adaptively.

Example: A is tridiagonal, linspace(2, 3, n) on the diagonal, −1 on super-and sub-diagonals; f(A) =

√A.

500 1000 1500 2000

200

400

600

800

1000

1200

1400

1600

1800

2000-16

-14

-12

-10

-8

-6

-4

-2

0

Figure: log |f(A)|

500 1000 1500 2000

200

400

600

800

1000

1200

1400

1600

1800

2000

Figure: Sparsity pattern of the output

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 16 / 19

Page 17: Divide and conquer methods for functions of matrices with

Computational complexitySimplified assumption: low-rank updates converge in a fixed number of steps.

General D&C algorithm: O(k2n logn) for matrix of size n and HSS rank kBlock diagonal splitting algorithm: O(nb2) for a matrix of bandwidth b

10 2 10 3 10 4 10 5 10 6

n

10 -3

10 -2

10 -1

10 0

10 1

10 2

10 3tim

e

Matlab expm

Block diagonal splitting alg.

D&C

O(n) bound

O(n log(n)) bound

Figure: A = tridiag(−1, 2,−1), f = exp.

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 17 / 19

Page 18: Divide and conquer methods for functions of matrices with

Trace & diagonal of matrix functions

Assume polynomial Krylov subspaces are used for the low-rank updates.

0 5 10 15

m

10 -15

10 -10

10 -5

10 0

err

or

Full update

Diagonal

Trace

Figure: Convergence of low-rank updatesalgorithm f(A)− f(A−R), A and Rsymmetric, f = exp.

2 4 6 8 10 12

m

10 -15

10 -10

10 -5

10 0

err

or

Full f(A)

Diagonal

Trace

Figure: Convergence of block-diagonalsplitting algorithm for the exponential ofnormalized non-symmetric pentadiagonalmatrix A.

Trace and/or diagonal converge faster! (And we proved it)

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 18 / 19

Page 19: Divide and conquer methods for functions of matrices with

Summary & conclusions

1 Two new algorithms for approximating matrix functions:A general D&C algorithm for matrices with hierarchical low-rank structure;An algorithm that is specialized to banded matrices.

2 Convergence analysis: Links to best polynomial/rational approximation off on a suitable region containing eigenvalues of A.

3 Numerical tests: Generally faster than existing methods (for large n), withcomparable accuracy.

A. Cortinovis, D. Kressner, S. Massei. Divide and conquer methods forfunctions of matrices with banded or hierarchical low-rank structure.https://arxiv.org/abs/2107.04337

Alice Cortinovis (EPFL) D&C methods for functions of matrices with banded or hierarchical low-rank structure 19 / 19