Computing the quasipotential for nongradient SDEs in 3D Samuel F. - - PowerPoint PPT Presentation

computing the quasipotential for nongradient sdes in 3d
SMART_READER_LITE
LIVE PREVIEW

Computing the quasipotential for nongradient SDEs in 3D Samuel F. - - PowerPoint PPT Presentation

Computing the quasipotential for nongradient SDEs in 3D Samuel F. Potter Joint work with Shuo Yang and Maria K. Cameron July 22, 2019 1/29 Setting System evolving according to SDE (It o): dx = b ( x ) dt + dw, x R 3 standard


slide-1
SLIDE 1

Computing the quasipotential for nongradient SDEs in 3D

Samuel F. Potter

Joint work with Shuo Yang and Maria K. Cameron

July 22, 2019

slide-2
SLIDE 2

Setting

System evolving according to SDE (Itˆ

  • ):

dx = b(x)dt + √ǫdw, x ∈ R3 standard Brownian motion small noise parameter C1 vector field For attractor A ⊆ R3, compute quasipotential: U(x) = min

ψ,L

L

0 (b(ψ)ψ′ − b(ψ) · ψ′) ds

geometric action

(obtained from Freidlin-Wentzell action)

Only makes sense to compute U if b is nongradient

1/29

slide-3
SLIDE 3

attractor A

Computing the Quasipotential on a Grid

goal: march U forward causally in semi-Lagrangian fashion (approximate locally minimum action paths) U|A ≡ 0 2/29

slide-4
SLIDE 4

Dijkstra-like Solvers for HJ Equations

Computing quasipotential involves solving Hamilton-Jacobi equation of the form: F

  • x,

∇u(x) ∇u(x)

  • ∇u(x) = 1

Previous approach: ordered upwind method (OUM)—requires bounded anisotropy (Sethian & Vladimirsky ‘01): Υ = Fmax/Fmin May be unbounded—OUM for quasipotential handles this (Cameron ‘12). Additional error is O(h2) OLIMs (Dahiya and Cameron ‘17) reduce error constant by 102–103 by higher-order quadrature rules

3/29

slide-5
SLIDE 5

Description of the Algorithm

For grid points x, four states: attractor A unknown considered accepted front accepted

4/29

slide-6
SLIDE 6

Description of the Algorithm

Update considered neighbors of new accepted front point attractor A unknown considered accepted front accepted

Kh 4/29

slide-7
SLIDE 7

Description of the Algorithm

Update considered neighbors of new accepted front point attractor A unknown considered accepted front accepted

4/29

slide-8
SLIDE 8

Motivation

Straightforward extension of the OUM (Sethian & Vladimirsky ‘01) to the quasipotential in 3D is possible but far too slow Hence, the OUM-based 2D quasipotential (Cameron ‘12) suffers from the same problem The 2D quasipotential OLIM (Dahiya & Cameron ‘17) can be extended to 3D thanks to its hierarchical update strategy Despite this, the extension of this method 3D on a mesh of size 6123 was taking days. . .

5/29

slide-9
SLIDE 9

Contribution

Thanks to some technical innovations, the runtime of the 3D quasipotential OLIM was reduced from days to hours: The hierarchical update strategy was enhanced The hierarchical updates were combined with update skipping using the KKT optimality conditions Improving the process of simplex selection reduced the

  • verall number of updates significantly

6/29

slide-10
SLIDE 10

Simplex updates

In 3D, three types of updates: line, triangle, tetrahedron E.g., for the tetrahedron update:

Q3(x0, x1, x2, x) = min

λ {Uλ + Q(xλ, x)}, where

Uλ = U(x0) + λ1(U(x1) − U(x0)) + λ(U(x2) − U(x0)) xλ = x0 + λ1(x1 − x0) + λ2(x2 − x0) Q(xλ, x) = bmλx − xλ − bmλ · (x − xλ) bmλ = bm0 + λ1(bm1 − bm0) + λ2(bm2 − bm0) bmi = b xi + x 2

  • ,

i = 0, 1, 2, subject to λ1 ≥ 0, λ2 ≥ 0, λ1 + λ2 ≤ 1. 7/29

slide-11
SLIDE 11

Simplex update minimization problem

Cost function for simplex update: f(λ) = Uλ + x − xλbmλ − (x − xλ) · bmλ ∇f = δU + x − xλ bmλ B⊤bmλ + bmλ x − xλX⊤(x − xλ) − B⊤(x − xλ) − X⊤bmλ H = X⊤(x − xλ)

  • B⊤bmλ

⊤ +

  • X⊤(x − xλ)
  • B⊤bmλ

⊤⊤ x − xλbmλ + x − xλ bmλ B⊤B + bmλ x − xλX⊤X − x − xλ bmλ3 B⊤bmλ

  • B⊤bmλ

bmλ x − xλX⊤(x − xλ)

  • X⊤(x − xλ)

⊤ − B⊤X −

  • B⊤X

⊤ Where: B = b(xm1) − b(xm0) b(xm2) − b(xm0) X = x0 − x1 x0 − x2

  • δU = (U(x1) − U(x0), U(x2) − U(x0))

8/29

slide-12
SLIDE 12

Simplex update minimization problem

Cost function for simplex update: f(λ) = Uλ + x − xλbmλ − (x − xλ) · bmλ ∇f = δU + x − xλ bmλ B⊤bmλ + bmλ x − xλX⊤(x − xλ) − B⊤(x − xλ) − X⊤bmλ H = X⊤(x − xλ)

  • B⊤bmλ

⊤ +

  • X⊤(x − xλ)
  • B⊤bmλ

⊤⊤ x − xλbmλ + x − xλ bmλ B⊤B + bmλ x − xλX⊤X − x − xλ bmλ3 B⊤bmλ

  • B⊤bmλ

bmλ x − xλX⊤(x − xλ)

  • X⊤(x − xλ)

⊤ − B⊤X −

  • B⊤X

⊤ Where: B = b(xm1) − b(xm0) b(xm2) − b(xm0) X = x0 − x1 x0 − x2

  • δU = (U(x1) − U(x0), U(x2) − U(x0))

away from equilibria of b(x), H is positive definite for h small enough if K ∼ h−α, where 0 < α < 1

H

8/29

slide-13
SLIDE 13

A fast search for admissible updates

Neighborhoods used to organize different types of updates: N1(x0) =

  • x ∈ Z3 : x − x01 = 1
  • N2(x0) =
  • x ∈ Z3 : x − x01 = 2 and x − x0∞ = 1
  • N3(x0) =
  • x ∈ Z3 : x − x01 = 3 and x − x0∞ = 1
  • N(x0) = N1(x0) ∪ N2(x0) ∪ N3(x0)

N K far(x0) ≈

  • x ∈ Z3 : x − x02 ≤ K
  • 9/29
slide-14
SLIDE 14

A fast search for admissible updates

Neighborhoods used to organize different types of updates: N1(x0) =

  • x ∈ Z3 : x − x01 = 1
  • N2(x0) =
  • x ∈ Z3 : x − x01 = 2 and x − x0∞ = 1
  • N3(x0) =
  • x ∈ Z3 : x − x01 = 3 and x − x0∞ = 1
  • N(x0) = N1(x0) ∪ N2(x0) ∪ N3(x0)

N K far(x0) ≈

  • x ∈ Z3 : x − x02 ≤ K
  • considered point

being updated 9/29

slide-15
SLIDE 15

A fast search for admissible updates

Motivation for using these simplexes: interpolation error

E.g., assume U(x) = U0 + g⊤x + 1

2x⊤Hx

In 1D, on interval of size h, max interpolation error = 1

8h2H

In 2D or higher, more complicated, but same trend: small h = ⇒ smaller interpolation error Main idea: use minimizing line update to guide search for area which is to be refined into triangle and tetrahedron updates 10/29

slide-16
SLIDE 16

Skipping updates using the KKT conds.

Constrained minimization problem in canonical form: minimize f(λ) = Uλ + bmλx − xλ − bmλ · (x − xλ) subject to λ1 ≥ 0 λ2 ≥ 0 1 − λ1 − λ2 ≥ 0 Lagrangian: L(λ, µ) = f(λ) − µ1λ1 − µ2λ2 − µ3(1 − λ1 − λ2) KKT conditions: ∇λL = ∇f − µ1 1

  • − µ2

1

  • − µ3

−1 −1

  • = 0,

µi ≥ 0 for i = 1, 2, 3, λ1 ≥ 0, λ2 ≥ 0 1 − λ1 − λ2 ≥ 0, λ1µ1 = 0, λ2µ2 = 0 , (1 − λ1 − λ2)µ3 = 0. 11/29

slide-17
SLIDE 17

Skipping updates using the KKT conds.

Constrained minimization problem in canonical form: minimize f(λ) = Uλ + bmλx − xλ − bmλ · (x − xλ) subject to λ1 ≥ 0 λ2 ≥ 0 1 − λ1 − λ2 ≥ 0 Lagrangian: L(λ, µ) = f(λ) − µ1λ1 − µ2λ2 − µ3(1 − λ1 − λ2) KKT conditions: ∇λL = ∇f − µ1 1

  • − µ2

1

  • − µ3

−1 −1

  • = 0,

µi ≥ 0 for i = 1, 2, 3, λ1 ≥ 0, λ2 ≥ 0 1 − λ1 − λ2 ≥ 0, λ1µ1 = 0, λ2µ2 = 0 , (1 − λ1 − λ2)µ3 = 0. to verify, ends up requiring only simple comparisons involving ∇f 11/29

slide-18
SLIDE 18

Skipping updates using the KKT conds.

Order updates from low dimension to high dimension

Start with line updates, follow with triangle updates, then tetra updates Lower dim updates are incident on the boundaries of higher dim updates When doing a triangle update, if we get an interior point solution, since f is strictly convex for h small enough (and with properly chosen K), we can determine if λ∗ is the constrained optimum of higher dim adjacent tetrahedron updates Important part of getting a speed-up in 3D and verified numerically x0 x x1 xλ∗ x2 12/29

slide-19
SLIDE 19

The hierarchical update strategy

A brute force update algorithm:

  • 1. x0 ← considered point with smallest U value
  • 2. x0 becomes accepted front
  • 3. accepted front points in N(x0) with no considered

neighbors become accepted

  • 4. for all considered x ∈ N K

far(x0), set U(x) to minimum Q3(x, x0, x1, x2) value where x1, x2 are accepted front points in N1(x0) ∪ N2(x0)

  • 5. for all unknown x ∈ N(x0)

(a) x becomes considered (b) for all accepted front y0 ∈ N K far(x), set U(x) to minimum Q3(y0, y1, y2, x) value where y1, y2 are accepted front points in N1(y0) ∪ N2(y0)

13/29

slide-20
SLIDE 20

A brute force update algorithm:

  • 1. x0 ← considered point with smallest U value
  • 2. x0 becomes accepted front
  • 3. accepted front points in N(x0) with no considered

neighbors become accepted

  • 4. for all considered x ∈ N K

far(x0), set U(x) to minimum Q3(x, x0, x1, x2) value where x1, x2 are accepted front points in N1(x0) ∪ N2(x0)

  • 5. for all unknown x ∈ N(x0)

(a) x becomes considered (b) for all accepted front y0 ∈ N K far(x), set U(x) to minimum Q3(y0, y1, y2, x) value where y1, y2 are accepted front points in N1(y0) ∪ N2(y0)

The hierarchical update strategy

this is the most expensive step—in this form, it leads to a huge number of updates (line, tri, and tetra) 13/29

slide-21
SLIDE 21

A brute force update algorithm:

  • 1. x0 ← considered point with smallest U value
  • 2. x0 becomes accepted front
  • 3. accepted front points in N(x0) with no considered

neighbors become accepted

  • 4. for all considered x ∈ N K

far(x0), set U(x) to minimum Q3(x, x0, x1, x2) value where x1, x2 are accepted front points in N1(x0) ∪ N2(x0)

  • 5. for all unknown x ∈ N(x0)

(a) x becomes considered (b) for all accepted front y0 ∈ N K far(x), set U(x) to minimum Q3(y0, y1, y2, x) value where y1, y2 are accepted front points in N1(y0) ∪ N2(y0)

The hierarchical update strategy

this is the most expensive step—in this form, it leads to a huge number of updates (line, tri, and tetra)

goal: use continuity of f in terms of origin of local characteristic to guide search & combine with update skipping

13/29

slide-22
SLIDE 22

The hierarchical update strategy

The cost function: f(xλ) = U(xλ)+

  • b

x + xλ 2

  • x−xλ−b

x + xλ 2

  • ·(x−xλ)

continuously depends on xλ, the base of the characteristic arriving at x. Find minimum line update, and then do surrounding triangle and tetrahedron updates to significantly reduce the number

  • f higher dim updates

Number of line updates still depends on K, but number of tri and tetra updates is now O(1) with respect to K, big savings

14/29

slide-23
SLIDE 23

The cost function: f(xλ) = U(xλ)+

  • b

x + xλ 2

  • x−xλ−b

x + xλ 2

  • ·(x−xλ)

continuously depends on xλ, the base of the characteristic arriving at x. Find minimum line update, and then do surrounding triangle and tetrahedron updates to significantly reduce the number

  • f higher dim updates

Number of line updates still depends on K, but number of tri and tetra updates is now O(1) with respect to K, big savings

The hierarchical update strategy

combine this idea with using the KKT conditions to skip higher dim updates—reduce the number of tri and tetra updates even more (reject 50%–70% of leftover tri and tetra updates)

14/29

slide-24
SLIDE 24

Numerical tests

Five examples to test accuracy: Three examples using linear SDEs Two nonlinear examples with an analytically available quasipotential Two examples by Tao (‘18)—two point attractors with a hyperbolic periodic orbit serving as a transition state A genetic switch model w/ two asymptotically stable equilibria

Solver affected by relative magnitudes of rotational (l(x) = 1

2∇U(x) + b(x)) and potential components of b(x) (− 1 2∇U(x))

Define: ξ(x) = l(x)/ 1

2∇U(x)

15/29

slide-25
SLIDE 25

Numerical tests (experimental setup)

Problem size:

  • mesh size: N 3
  • grid point spacing: h ∼ CN −1
  • N = 2p + 1, where p = 5, 6, 7, 8, 9
  • i.e., N = 33, 65, 129, 257, 513

The parameter K ranges from 1 to 30 Workstation:

  • 4.2 GHz quad-core Intel Core i7 (run on single thread)
  • 64 GB 2400MHz DDR4 SODIMM SDRAM

16/29

slide-26
SLIDE 26

Numerical tests (examples)

Example 1 (a basic test)

b(x, y, z) =   −3 −4 −1 3 −4 −1 3 4 −1     x y z   U(x) = x⊤Qx Q = diag(3, 4, 1) ξ(x) ∈ [0, √ 3] Note: eigenvectors of Q aligned with coordinate axes (Ω = [−1, 1]3) Domain: Vector field: Exact quasipotential: Quasipotential matrix: Ratio of rotational component to potential:

17/29

slide-27
SLIDE 27

Numerical tests (examples)

Examples 2 and 3 (parametrized ξ)

J =   −1

−1 2

−ρ ρ − 1

2

  , R = Rx1( 2π

3 )Rx2( π 8 )Rx3( π 5 )

ξ(x) ∈ [0, 2ρ] Domain: Ω = [−1, 1]3 SDE: dx = R⊤JRx + √ǫdw where: Exact quasipotential: x⊤R⊤QRx, where Q = diag(1, 1

2, 1 2)

Ratio of rotational component to potential: Note: eigenvectors of Q unaligned with coordinate axes

18/29

slide-28
SLIDE 28

Numerical tests (examples)

Examples 2 and 3 (parametrized ξ)

J =   −1

−1 2

−ρ ρ − 1

2

  , R = Rx1( 2π

3 )Rx2( π 8 )Rx3( π 5 )

ξ(x) ∈ [0, 2ρ] Domain: Ω = [−1, 1]3 SDE: dx = R⊤JRx + √ǫdw where: Exact quasipotential: x⊤R⊤QRx, where Q = diag(1, 1

2, 1 2)

Ratio of rotational component to potential: Note: eigenvectors of Q unaligned with coordinate axes

Example 2: ρ = √ 3/2 = ⇒ ξ ∈ [0, √ 3] Example 3: ρ = 5 = ⇒ ξ ∈ [0, 10] 18/29

slide-29
SLIDE 29

Numerical tests

Examples 4 and 5 (double-well potential)

Domain: Ω = [−2, 0] × [−1, 1]2 Vector field: b(x) =   −2(x3

1 − x1) − ρ(x2 + x3)

−x2 + 2ρ(x3

1 − x1)

−x3 + 2ρ(x3

1 − x1)

  Ratio ξ(x) = ρ everywhere except the equilibria Two asymptotically stable equilibria: (±1, 0, 0) One Morse index 1 saddle: (0, 0, 0) Exact quasipotential within level set passing through the

  • rigin: U(x) = x4

1 − 2x2 1 + x2 2 + x2 3 + 1

19/29

slide-30
SLIDE 30

Exact quasipotential within level set passing through the

  • rigin: U(x) = x4

1 − 2x2 1 + x2 2 + x2 3 + 1

Two asymptotically stable equilibria: (±1, 0, 0)

Numerical tests

Examples 4 and 5 (double-well potential)

Domain: Ω = [−2, 0] × [−1, 1]2 Vector field: b(x) =   −2(x3

1 − x1) − ρ(x2 + x3)

−x2 + 2ρ(x3

1 − x1)

−x3 + 2ρ(x3

1 − x1)

  Ratio ξ(x) = ρ everywhere except the equilibria One Morse index 1 saddle: (0, 0, 0) Example 4: ρ = 1 Example 5: ρ = 10

19/29

slide-31
SLIDE 31

Numerical tests

Example 1

20/29

slide-32
SLIDE 32

Numerical tests

Example 4

21/29

slide-33
SLIDE 33

Numerical tests

Example 5

22/29

slide-34
SLIDE 34

Numerical tests

A guideline for choosing K for mesh size N 3

N 33 65 129 257 513 K 4 6 8 10 14

Example #1 #2 #3 T vs K (N = 513) [s] 31.4K1.79 8.57K1.80 93.8K1.78 E∞ vs h (K opt.) 0.181h0.750 0.0808h0.658 12.3h1.49 T vs N (K opt.) [ns] 27.4N 4.05 61.0N 4.11 131.0N 3.98 Example #4 #5 T vs K (N = 513) [s] 66.3K1.80 1.94K1.80 E∞ vs h (K opt.) 0.635h0.989 19.4h1.54 T vs N (K opt.) [ns] 49.2N 4.10 92.6N 4.00

Least squares fits

23/29

slide-35
SLIDE 35

Numerical tests

24/29

slide-36
SLIDE 36

Numerical tests

Example 6 (systems with hyperbolic periodic orbits)

25/29

slide-37
SLIDE 37

Numerical tests

Example 7 (a genetic switch model)

26/29

slide-38
SLIDE 38

Conclusions

Extension of previous OLIM in 2D to 3D, preserving higher accuracy compared to OUM-based approach Presented a hierarchical update strategy which reduces runtime in 3D on large mesh from days to hours Conducted an extensive numerical study validating the proposed solver on many examples Present guidelines for choosing parameter K

27/29

slide-39
SLIDE 39

Future Work

Extend solver to efficiently handle systems where stochastic dynamics are effectively restricted to a neighborhood of a low-dimensional manifold (e.g. genetic switch model) Explore methods of computing the prefactor densely (see the Maier & Stein papers for related ideas) Computing the prefactor requires ∆U—can a quasipotential solver be made higher-order accurate? There are several approaches for solving static Hamilton-Jacobi equations in the literature, but they would likely need to be modified to compute the quasipotential

28/29

slide-40
SLIDE 40

References

Computing the quasipotential for nongradient SDEs in 3D, Shuo Yang, Samuel F. Potter, and Maria K. Cameron, Journal of Computational Physics, 379 (2019) 325-350, https://doi.org/10.1016/j.jcp. 2018.12.005, arXiv: 1808.00562 Ordered Line Integral Methods for Solving the Eikonal Equation, Samuel

  • F. Potter and Maria K. Cameron, in revision (2019), arXiv:1902.06825

Computing the quasipotential for highly dissipative and chaotic SDEs. An application to stochastic Lorenz’63, Maria Cameron and Shuo Yang, CAMCoS, accepted (2019), arXiv:1809.09987v2 An Ordered Line Integral Method for Computing the Quasi-potential in the case of Variable Anisotropic Diffusion, Daisy Dahiya and Maria Cameron, 2018, Physica D 382-383 (2018), 33–45, https://doi.org/10.1016/j.physd. 2018.07.002, arXiv:1806.05321 29/29