Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
The Hierarchical Poincare-Steklov scheme
Adrianna Gillman
Dartmouth College
Collaborators:
Alex Barnett Per-Gunnar MartinssonDartmouth College University of Colorado, Boulder
Additional people working on these methods: T. Babb, S. Hao and T. Haut.
CBMS-NSF Conference: Fast Direct Solvers for Elliptic PDEsJune 25, 2014
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Recall: Model problem from Lecture 6
Let Ω = [0, 1]2. We introduce a square n × n grid on with nodes xjNj=1 where
N = n2. Let u = [u(j)]Nj=1 denote a potential vector, and let f = [f(j)]Nj=1
denote a given load vector. The equilibrium equation we seek to solve is
Au = f
where A is a finite difference operator discretizing an elliptic boundary valueproblem on Ω. (Laplace, Helmholtz, convection-diffusion, etc).
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
5-point stencil
The archetypical example of an elliptic finite difference equation is the 5-pointstencil
[Au](k) =1
h2(4u(k)− u(ks)− u(ke)− u(kn)− u(kw))
where h is the grid spacing (h = 1/(n − 1)), where k is a node in the mesh,and where ks , ke , kn, kw are the nodes that are immediate neighbors of k tothe south, east, north, and west of k , respectively.
kkw ke
ks
kn
ThenAu = f
is a discrete analog of the Poisson equation (with ∆ = ∂2
∂x21+ ∂2
∂x22) and
−∆u = f .
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Nested dissection
Ω2Ω1
Ω3
The non-zero blocks of the coefficient matrix are:
A =
A11 A13
A22 A23
A31 A32 A33
=
I
I
A31A−111 A32A
−122 I
A11 A13
A22 A23
S
where the Schur complement S33 is given by
S33 = A33 − A31A−111 A13 − A32A
−122 A23.
Note: A31, A13, A23, and A32 are diagonal.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Scaling of the nested dissection method
We know the scaling of the method is O(N1.5).
What impact does the order of the discretization have on the computationalcost?
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Scaling of the nested dissection method
We know the scaling of the method is O(N1.5).
What impact does the order of the discretization have on the computationalcost?
104
105
106
107
10−2
10−1
100
101
102
103
104
N
Tim
ein
seconds
5-pt stencil 9-pt stencil 13-pt stencil
Performance of UMFPACK
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Nested dissection and the 9-pt stencil
The naive fourth-order finite difference scheme of an elliptic finite differenceequation is the following 9-point stencil
[Au](k) =1
h2
(
5u(k)− 1
12u(kss)−
4
3u(ks)−
1
12u(kee)−
4
3u(ke)−
1
12u(knn)− 4
3u(kn)− 1
12u(kww)− 4
3u(kw)
)
where h is the grid spacing (h = 1/(n − 1)), where k is a node in the mesh,and where ks , kss , ke , kee , knn, kn, kw , kww are the nodes that are immediatelysouth, east, north and west of k , as pictured below.
kkww kw keeke
kss
ks
knn
kn
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Nested dissection and the 9-pt stencil
Ω2Ω1
Ω3
The coefficient matrix is given by:
A =
A11 A12 A13
A21 A22 A23
A31 A32 A33
Changes in A:
• A12 and A21 have gone from zero matrices to diagonal.
• A31, A13, A23, and A32 are banded diagonal.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Nested dissection and the 9-pt stencil
Ω2Ω1
Ω3
The coefficient matrix is given by:
A =
A11 A13
A22 A23
A31 A32 A33
Changes in A:
• A31, A13, A23, and A32 are banded diagonal.
• A33 is also banded diagonal.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Accuracy for Helmholtz problems
Let Ω = [0, 1]2. Consider ∆u + κ2u = 0 with 3 choices of κ.
Matrix N Epot Epot Epot
Helmholtz I Helmholtz II Helmholtz IIIΩ ∼ 12× 12λs Ω ∼ 102 × 102λs 12 pts/λ
5-point stencil 40000 2.7e0 1.2e0 3.1e0O(h2) 160000 2.0e1 2.5e1 1.9e1
640000 3.1e-1 6.7e1 1.4e12560000 6.1e-2 8.8e1 3.7e1
10240000 1.5e-2 1.6e1 3.5e19-point stencil 40000 ≥5.5e-2 ≥3.8e0 ≥1.3e0O(h4) 160000 ≥8.0e-3 ≥1.8e1 ≥3.2e-1
640000 ≥1.4e-4 ≥1.4e1 ≥9.6e-12560000 ≥1.0e-5 ≥6.1e-1 ≥2.4e0
13-point stencil 40000 ≥4.7e-4 ≥8.7e1 ≥8.6e-3O(h6) 160000 ≥1.7e-5 ≥1.1e1 ≥1.3e-1
640000 ≥5.9e-7 ≥4.9e-1 ≥2.9e-12560000 ≥4.1e-9 ≥8.3e-2 ≥1.4e-1
Epot =max
∣
∣uapp(xk)− uexact(xk)∣
∣
N
k=1
max∣
∣uexact(xk)∣
∣
N
k=1
,
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
General idea
Goal: Design a high order accurate discretization technique which has a solverthat has
• O(N1.5) dense linear algebra computational cost,
• O(N) fast linear algebra computational cost, and
• small constant.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
General idea
Goal: Design a high order accurate discretization technique which has a solverthat has
• O(N1.5) dense linear algebra computational cost,
• O(N) fast linear algebra computational cost, and
• small constant.
Idea:
1. Partition the geometry into a collection of small regions.
2. Discretize each small region with a spectral method.
3. “Glue” regions together with approximate Dirichlet-to-Neumann (DtN)operators.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Definition of the DtN
Consider the following model problem on Ω = [0, 1]2
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ,
where Γ = ∂Ω, f (x) and b(x) are given. b(x) is smooth.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Definition of the DtN
Consider the following model problem on Ω = [0, 1]2
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ,
where Γ = ∂Ω, f (x) and b(x) are given. b(x) is smooth.
For x ∈ Γ, let g(x) =∂u
∂ν(x) denote the normal derivative in the outwards
direction of u at x.
The Dirichlet-to-Neumann (DtN) operator Λ maps f (x) to g(x). In otherwords,
g = Λf for x ∈ Γ.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Partition the domain into a collection of 4L equisized small boxes. The size ofthe boxes is chosen so that the local problem can be solved to high accuracyvia a spectral method.These small boxes are called leaf boxes.
∂Ω Ω
Here L = 2.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Discretize each small box via a spectral method.
∂Ω Ω
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Eliminate interior nodes to construct construct an operator that maps thesolution on the boundary to the solution the interior.
⇒
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Retabulate from Chebyshev nodes to Legendre nodes on the boundary of eachleaf.
⇒
Results in a collection of DtN maps Λ and solution operators Ψ for each box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Merge boxes by eliminating a series of horizontal interior connections creatingrectangular boxes.
⇒
Results in a collection of DtN maps Λ and solution operators Ψ for eachrectangular box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Merge boxes by eliminating a series of horizontal interior connections creatingrectangular boxes.
⇒
Results in a collection of DtN maps Λ and solution operators Ψ for eachrectangular box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Merge boxes by eliminating a series of horizontal interior connections creatingrectangular boxes.
⇒
Results in a collection of DtN maps Λ and solution operators Ψ for eachrectangular box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Precomputation
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
Merge boxes by eliminating a series of horizontal interior connections creatingrectangular boxes.
⇒
Results in a collection of DtN maps Λ and solution operators Ψ for eachrectangular box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solve
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
We know the solution on the boundary. Now we can now apply Ψ to find thesolution on the interior points.
⇒
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solve
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
With the solution on the boundary of the red boxes, we apply Ψ to find thesolution on the interior points.
⇒
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solve
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
With the solution on the boundary of the red boxes, we apply Ψ to find thesolution on the interior points.
⇒
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solve
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
With the solution on the boundary of the red boxes, we apply Ψ to find thesolution on the interior points.
⇒
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solve
Let Ω = [0, 1]2 and Γ = ∂Ω. Consider the boundary value problem
−∆u(x) + b(x)u(x) = 0 x ∈ Ωu(x) = f (x) x ∈ Γ.
With the solution on the boundary of the red boxes, we apply Ψ to find thesolution on the interior points.
⇒
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Leaf computation
On each leaf box τ , we require thesolution u to satisfy[−∆+ b(x)] u = 0 in Ωτ
and u = f for x ∈ Γτ .Note: f is used as a place holder.
ui
ub
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Leaf computation
On each leaf box τ , we require thesolution u to satisfy[−∆+ b(x)] u = 0 in Ωτ
and u = f for x ∈ Γτ .Note: f is used as a place holder.
ui
ub
Use spectral discretization with a p × p product Chebychev grid of nodes xj
Order geometry by interior and boundary; i.e. u =
[ub
ui
]
.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Leaf computation
On each leaf box τ , we require thesolution u to satisfy[−∆+ b(x)] u = 0 in Ωτ
and u = f for x ∈ Γτ .Note: f is used as a place holder.
ui
ub
Use spectral discretization with a p × p product Chebychev grid of nodes xj
Order geometry by interior and boundary; i.e. u =
[ub
ui
]
.
Let Dx and Dy denote p2 × p2 spectral differentiation matrices.Then the discrete approximation of the differential operator is given by
A = −D2x − D
2y + diag b(xj )
and the discretized differential equation is given by
Bu :=
[I 0
Ai,i Ai,e
] [ub
ui
]
=
[f
0
]
.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Leaf computation
The discretized differential equationis given by
[I 0
Ai,i Ai,e
] [ub
ui
]
=
[f
0
]
ui
ub
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Leaf computation
The discretized differential equationis given by
[I 0
Ai,i Ai,e
] [ub
ui
]
=
[f
0
]
ui
ub
Rewriting the bottom row equation results in the following a map that takesthe solution on the boundary to the solution on the interior.
ui = −A−1i,i Ai,eub
We are now in a position to build our approximate DtN operator defined onGaussian points on the boundary of the box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Construction of the approximate DtN
Step 1: Re-tabulate from Gaussian nodes to Chebyshev nodesFor each edge, build interpolation operators that maps a function from theGuassian points to the Chebychev points.Define this operator L1.
Note: ui = −A−1i,i Ai,eL1u
gb where u
gb is the solution at the Gaussian points on
the boundary.
We define Ψ = −A−1i,i Ai,eL1 to be the solution operator.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Construction of the approximate DtN
Step 1: Re-tabulate from Gaussian nodes to Chebyshev nodesFor each edge, build interpolation operators that maps a function from theGuassian points to the Chebychev points.Define this operator L1.
Note: ui = −A−1i,i Ai,eL1u
gb where u
gb is the solution at the Gaussian points on
the boundary.
We define Ψ = −A−1i,i Ai,eL1 to be the solution operator.
Step 2: Spectral differentiationLeft multiply Ψ by the corresponding rows of Dx and Dy so that the normalderivative is taken. Let L2 denote this operator.(This operator is defined on the Chebychev points.)
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Construction of the approximate DtN
Step 1: Re-tabulate from Gaussian nodes to Chebyshev nodesFor each edge, build interpolation operators that maps a function from theGuassian points to the Chebychev points.Define this operator L1.
Note: ui = −A−1i,i Ai,eL1u
gb where u
gb is the solution at the Gaussian points on
the boundary.
We define Ψ = −A−1i,i Ai,eL1 to be the solution operator.
Step 2: Spectral differentiationLeft multiply Ψ by the corresponding rows of Dx and Dy so that the normalderivative is taken. Let L2 denote this operator.(This operator is defined on the Chebychev points.)
Step 3: Re-tabulate from Chebychev nodes to Gaussian nodesFor each edge, build interpolation operators that maps a function from theChebychev points to the Gaussian points. Let L3 denote this operator.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Construction of the approximate DtN
Step 1: Re-tabulate from Gaussian nodes to Chebyshev nodesFor each edge, build interpolation operators that maps a function from theGuassian points to the Chebychev points.Define this operator L1.
Note: ui = −A−1i,i Ai,eL1u
gb where u
gb is the solution at the Gaussian points on
the boundary.
We define Ψ = −A−1i,i Ai,eL1 to be the solution operator.
Step 2: Spectral differentiationLeft multiply Ψ by the corresponding rows of Dx and Dy so that the normalderivative is taken. Let L2 denote this operator.(This operator is defined on the Chebychev points.)
Step 3: Re-tabulate from Chebychev nodes to Gaussian nodesFor each edge, build interpolation operators that maps a function from theChebychev points to the Gaussian points. Let L3 denote this operator.
Then the approximate DtN is given by
Λ = L3L2Ψ.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Merge two DtN maps
Ωα ΩβI1 I2I3
[v1v3
]
=
[Λα
1,1 Λα1,3
Λα3,1 Λα
3,3
] [u1
u3
] [v2v3
]
=
[Λ
β2,2 Λ
β2,3
Λβ3,2 Λ
β3,3
] [u2
u3
]
The flux is equal across the shared edge.
Λα3,1u1 + Λ
α3,3u3 = v3 = Λ
β3,2u2 + Λ
β3,3u3.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Merge two DtN maps
Ωα ΩβI1 I2I3
Λα3,1u1 + Λ
α3,3u3 = v3 = Λ
β3,2u2 + Λ
β3,3u3
Solving for u3, we find
u3 =(Λ
α3,3 − Λ
β3,3
)−1(
Λβ3,2u2 − Λ
α3,1u1
)=
(Λ
α3,3 − Λ
β3,3
)−1[−Λ
α3,1
∣∣ Λ
β3,2]
︸ ︷︷ ︸
=Ψτ
[u1
u2
]
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Merge two DtN maps
I1 I2Ωτ
Now u3 can be eliminated by plugging
u3 =(Λ
α3,3 − Λ
β3,3
)−1(
Λβ3,2u2 − Λ
α3,1u1
).
into
[v1v3
]
=
[Λα
1,1 Λα1,3
Λα3,1 Λα
3,3
] [u1
u3
]
,
[v2v3
]
=
[Λ
β2,2 Λ
β2,3
Λβ3,2 Λ
β3,3
] [u2
u3
]
.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Merge two DtN maps
I1 I2Ωτ
We get
v1 =Λα1,1u1 + Λ
α1,3u3 = Λ
α1,1u1 + Λ
α1,3
(Λ
α3,3 − Λ
β3,3
)−1(
Λβ3,2u2 − Λ
α3,1u1
),
v2 =Λβ2,2u2 + Λ
β2,3u3 = Λ
β2,2u2 + Λ
β2,3
(Λ
α3,3 − Λ
β3,3
)−1(
Λβ3,2u2 − Λ
α3,1u1
).
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Merge two DtN maps
I1 I2Ωτ
Rewriting in factored form gives the expression for the DtN map Λτ ,
[v1v2
]
=
([Λα
1,1 0
0 Λβ2,2
]
+
[Λα
1,3
Λβ2,3
](Λ
α3,3 − Λ
β3,3
)−1[−Λ
α3,1
∣∣ Λ
β3,2]
)
︸ ︷︷ ︸
=Λτ
[u1
u2
]
.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Review of algorithm
Pre-computation
Step 1 Partition the domain into a collection of small squares. Define a binary treeconsisting of the boxes formed by eliminating shared edges by neighbors.
Step 2 For each leaf box τ , compute an approximate DtN operator Λτ .
Step 3 Move up the tree. For each parent box τ with children α, and β, computeΛτ and Ψτ .
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Review of algorithm
Pre-computation
Step 1 Partition the domain into a collection of small squares. Define a binary treeconsisting of the boxes formed by eliminating shared edges by neighbors.
Step 2 For each leaf box τ , compute an approximate DtN operator Λτ .
Step 3 Move up the tree. For each parent box τ with children α, and β, computeΛτ and Ψτ .
Solve
Step 1 Moving from the top of the tree down, apply the matrix Ψτ to computethe solution on the interior of the box.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Review of algorithm
Pre-computation
Step 1 Partition the domain into a collection of small squares. Define a binary treeconsisting of the boxes formed by eliminating shared edges by neighbors.
Step 2 For each leaf box τ , compute an approximate DtN operator Λτ .
Step 3 Move up the tree. For each parent box τ with children α, and β, computeΛτ and Ψτ .
Solve
Step 1 Moving from the top of the tree down, apply the matrix Ψτ to computethe solution on the interior of the box.
Post Processing
The solution can be obtained at x in Ω via high order interpolation.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Computational cost
Dense linear algebra
Let N denote the total number of discretization points.
Apply Λ: O(N)
Construct Λ: O(N1.5) Solve: O(N logN)1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
......
......
......
......
......
......
......
......
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Computational cost
Dense linear algebra
Let N denote the total number of discretization points.
Apply Λ: O(N)
Construct Λ: O(N1.5) Solve: O(N logN)1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
......
......
......
......
......
......
......
......
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Computational cost
Dense linear algebra
Let N denote the total number of discretization points.
Apply Λ: O(N)
Construct Λ: O(N1.5) Solve: O(N logN)1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
......
......
......
......
......
......
......
......
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Improving the scaling of the merge procedure
I1 I2Ωτ
Recall the merge formula
[v1v2
]
=
([Λα
1,1 0
0 Λβ2,2
]
+
[Λα
1,3
Λβ2,3
](Λ
α3,3 − Λ
β3,3
)−1[−Λ
α3,1
∣∣ Λ
β3,2]
) [u1
u2
]
.
Things that are exploited to improve asymptotic complexity.
• Λβ3,2, Λ
β3,1, Λ
β1,3, and Λ
β2,3 are low-rank.
•(Λα
3,3 − Λβ3,3
)is an HBS matrix.
• Λα1,1 and Λ
β2,2 are HBS matrices.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Computational cost
Fast linear algebra
Let N denote the total number of discretization points.
Apply Λ: O(√N)
Construct Λ: O(N) Solve: O(N)
1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
......
......
......
......
......
......
......
......
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Numerical results
Experiments were carried out on a workstation equipped with two quad-coreIntel Xeon E5-2643 processors and 128 GB of RAM.
Most of the code is written in Matlab. (There is some Fortran.)
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Scaling
N Tbuild Tsolve Tapply R(seconds) (seconds) (seconds) (MB)
Laplace
1815681 91.68 0.34 0.035 1611.197252225 371.15 1.803 0.104 6557.2728987905 1661.97 6.97 0.168 26503.29115909633 6894.31 30.67 0.367 106731.61
Helmholtz I1815681 62.07 0.202 0.027 1611.417252225 363.19 1.755 0.084 6557.12
Ω ∼ 12 × 12λs28987905 1677.92 6.92 0.186 26503.41115909633 7584.65 31.85 0.435 106738.85
Helmholtz II1815681 93.96 0.29 0.039 1827.727252225 525.92 2.13 0.074 7151.60
Ω ∼ 102 × 102λs 28987905 2033.91 8.59 0.175 27985.41
Helmholtz III1815681 93.68 0.29 0.038 1839.717252225 624.24 1.67 0.086 7865.13
12 pts per λ 28987905 4174.91 10.28 0.206 33366.45
N Total number of discretization points.
Tbuild Time for building the solution operator.
Tsolve Time to solve for interior nodes (edge nodes only).
Tapply Time to apply the approximate Dirichlet-to-Neumann operator Λ.
R Amount of memory required to store the solution operator.
λ wavelength ( 2πκ).
User prescribed tolerance was set to ǫ = 10−7.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
High order discretization and the nested dissection method
Performance comparison with UMFPACK
104
105
106
107
108
10−2
10−1
100
101
102
103
104
N
Tim
ein
seconds
5-pt stencil 9-pt stencil 13-pt stencil – Laplace
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Accuracy of method
Fix N = 7, 252, 225 and vary ǫ.
ǫ = 10−7 ǫ = 10−10 ǫ = 10−12
Epot Egrad Epot Egrad Epot Egrad
Laplace 3.57e-04 1.35e-02 1.59e-07 6.92e-06 7.32e-10 1.01e-07Helmholtz I 1.19e-04 1.31e-04 7.99e-08 9.72e-08 2.06e-09 1.71e-09Helmholtz II 2.90e-05 2.19e-05 5.72e-08 5.02e-08 6.21e-09 4.64e-09Helmholtz III 6.76e-05 5.05e-05 1.21e-07 1.31e-07 1.05e-07 1.10e-07
where
Epot =max
∣
∣uapp(xk)− uexact(xk)∣
∣
N
k=1
max∣
∣uexact(xk)∣
∣
N
k=1
,
and
Egrad =
maxk : xk∈Γ
∣
∣un,app(xk)− un,exact(xk)∣
∣
maxk : xk∈Γ
∣
∣un,exact(xk)∣
∣
.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Variable-medium freq-domain scattering problem
Given a frequency κ and incident wave ui
(satisfying ∆ui + κ2ui = 0 in R2),
consider the free space scattering problem
∆u + κ2 (1− b(x)) u = 0 in R2
where u = ui + us, and the unknownscattered field us satisfies a radiativecondition.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Variable-medium freq-domain scattering problem
Given a frequency κ and incident wave ui
(satisfying ∆ui + κ2ui = 0 in R2),
consider the free space scattering problem
∆u + κ2 (1− b(x)) u = 0 in R2
where u = ui + us, and the unknownscattered field us satisfies a radiativecondition.
Applications: underwater acoustics, seismic imaging, ultrasound, optics ingraded index, metamaterials.
We want a solver for smooth b, large κ and multiple incident angles.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solution technique
Introduce an artificial domain Ω such thatthe support of b ⊂ Ω. We solve for thetotal field in Ω via composite spectral methodand couple it us in R
2/Ω viaDirichlet-to-Neumann maps.
Ω
∂Ω
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solution technique
Introduce an artificial domain Ω such thatthe support of b ⊂ Ω. We solve for thetotal field in Ω via composite spectral methodand couple it us in R
2/Ω viaDirichlet-to-Neumann maps.
Λ+
Λ+: the exterior Dirichlet-to-Neumann map
Λ+us|∂Ω =
∂us
∂ν:= u
sν
us is radiative and satisfies (∆ + κ2)us = 0 in R2/Ω.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solution technique
Introduce an artificial domain Ω such thatthe support of b ⊂ Ω. We solve for thetotal field in Ω via composite spectral methodand couple it us in R
2/Ω viaDirichlet-to-Neumann maps.
Λ+
Λ−
Λ+: the exterior Dirichlet-to-Neumann map
Λ+us|∂Ω =
∂us
∂ν:= u
sν
us is radiative and satisfies (∆ + κ2)us = 0 in R2/Ω.
Λ−: the interior Dirichlet-to-Neumann map
Λ−u|∂Ω =
∂u
∂ν:= uν
where[∆+ κ2 (1− b(x))
]u = 0 in Ω.
Λ− exists for κ 6= κj , Dirichlet resonances of Ω
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solution technique
Using the definition of the DtN for thetotal field on the boundary, we find
Λ+
Λ−
Λ−(ui + us)|∂Ω = uiν + us
ν = uiν + Λ+us|∂Ω
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Solution technique
Using the definition of the DtN for thetotal field on the boundary, we find
Λ+
Λ−
Λ−(ui + us)|∂Ω = uiν + us
ν = uiν + Λ+us|∂Ω
⇒(Λ− − Λ+
)us |∂Ω = ui
ν − Λ−ui |∂Ω
(Kirsch-Monk ’94, FEM coupling)
This system is ill-conditioned. Thus inversion leads to a loss in accuracy.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
2nd kind integral equation
Using the definition of the exterior Dirichlet-to-Neumann operatorΛ+ = S−1
(D − 1
2
), the previous equation can regularized resulting in the
following boundary integral equation
(1
2− D + SΛ−)us|∂Ω = S(ui
n − Λ−ui|∂Ω)
where S and D are the single and double layer boundary integral operators,respectively.
(Sφ)(x) :=
∫
∂Ω
i
4H
(1)0 (κ|x− y|)φ(y)ds(y)
(Dφ)(x) :=
∫
∂Ω
i
4
∂
∂νyH
(1)0 (κ|x− y|)φ(y)ds(y).
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
2nd kind integral equation
Using the definition of the exterior Dirichlet-to-Neumann operatorΛ+ = S−1
(D − 1
2
), the previous equation can regularized resulting in the
following boundary integral equation
(1
2− D + SΛ−)us|∂Ω = S(ui
n − Λ−ui|∂Ω)
where S and D are the single and double layer boundary integral operators,respectively.
(Sφ)(x) :=
∫
∂Ω
i
4H
(1)0 (κ|x− y|)φ(y)ds(y)
(Dφ)(x) :=
∫
∂Ω
i
4
∂
∂νyH
(1)0 (κ|x− y|)φ(y)ds(y).
Theorem: Let ∂Ω be Lipschitz, b(x) bounded, and 0 < κ 6= κj .Then A := 1
2− D + SΛ− = I + compact and thus the boundary integral
equation is 2nd kind.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Numerical results
Experiments were carried out on a workstation equipped with two quad-coreIntel Xeon E5-2643 processors and 128 GB of RAM.
Most of the code is written in Matlab. (There is some Fortran.)
Everything is done with dense linear algebra.
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Graded-index lens at high frequencyui(x) = e iκd·x d = (cos θ, sin θ) κ = 300 100 shortest-λ’s
N ppw error tpre tnew ext tnew int
231361 5 3e-3 17 s 0.013 s 0.16 s923521 10 2e-7 78 s 0.05 s 0.7 s3690241 20 7e-10 6 m 0.16 s 2.7 s
movie 1000 angles θ, 3 s to process each FMM evaluated solution at240,000 exterior points
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
“Bathroom glass” at high frequency
b(x) = random smooth, rolled-off to zero
80λ on a side
Timings and accuracy are similar to previous example.
movie
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Photonic crystal waveguide
lattice of 400 bumps, each a resonator: choose κ in bandgap
Again, 9 digits N = 3.7e6
Motivation Outline of scheme Leaf computation Merging two DtNs Review Numerical Results Free-space scattering Summary
Summary
• The method presented get high order accuracy and comes convenientlywith its own direct solver.
• For non-oscillatory problems, the solver can be accelerated to have linearcomplexity.
• While scaling for highly oscillatory problems is not optimal, the O(N1.5)dense direct solver has small constants.
• The Dirichlet-to-Neumann operator is used in this presentation, butanalogous schemes can be constructed for other Poincare-Steklovoperators.
• The scheme works conceptually the same in 3D.
• The scheme can be used to rapidly construct and apply the time evolutionoperator associated with parabolic and hyperbolic PDEs.