Upload
duongxuyen
View
216
Download
1
Embed Size (px)
Citation preview
Discrete thin-plate splines
Linda Stals
Mathematical Sciences Institute, Australian National University
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 1 / 65
Thin-Plate Splines
3D Image Recovery
Finger Print Analysis
Image Warping
Medical Image Analysis
Data Mining
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 2 / 65
Smoothing Splines
Given a set of attributes vectors x = (x1, x2, · · · , xd)T , build a predictivemodel
y = f (x).
y ≈ f (x).
To estimate f by a 2nd-order smoothing spline minimise:
Jα(f ) =1
n
n∑i=1
(f (x(i))− y (i))2 + α
∫Ω
∑|ν|=2
(2
ν
)(Dν f (x))2dx.
The first term penalises lack of fit, the second penalises roughness.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 3 / 65
Radial Basis Functions
The standard approach is to represent f as a linear combination of radialbasis functions
f (x) =M∑k=1
aφk(x) + α
n∑i=1
wiU(x, x(i)),
where φk are monomials of order up to 1 and U are suitable radial basisfunctions.Favoured method as it gives an analytical solution.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 4 / 65
Radial Basis Functions
2D Eg:
U(x, x(i)) =−1
16πr2ln(r).
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 5 / 65
Thin Plate Splines
Requires a solution of a dense system of matrices.
System may be ill-conditioned.
Size increases with the number of data points.
Not practical for large data sets.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 6 / 65
Finite Element Approximation
Represent f as a linear combination of linear finite elements.In vector notation f will be of the form
f (x) = b(x)Tc.
Minimise Jα over all f of this form
Jα(f ) =1
n
n∑i=1
(f (x(i))− y (i))2 + α
∫Ω
∑|ν|=2
(2
ν
)(Dν f (x))2dx.
[S. Roberts, M. Hegland, I. Altas; SINUM 2003]
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 7 / 65
Non-Conforming Finite elements
The smoothing term (derivatives) is not defined for piecewise multi-linearfunctions.Use non-conforming finite elements.Represent the gradient of f by u = (bTg1, ...,b
Tgd) where∫Ω∇f (x) · ∇v(x) dx =
∫Ωu(x) · ∇v(x) dx,
for all piecewise multi-linear function v .
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 8 / 65
Non-Conforming Finite elements
∫Ω∇f (x) · ∇v(x) dx =
∫Ωu(x) · ∇v(x) dx,
is equivalent to
Lc =d∑
s=1
Gsgs ,
where L is a discrete approximation to the negative Laplace operator and(G1, ...,Gd) is a discrete approximation to the transpose of the gradientoperator.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 9 / 65
Finite Element Approximation
2nd-order smoothing spline: minimise
Jα(f ) =1
n
n∑i=1
(f (x(i))− y (i))2 + α
∫Ω
∑|ν|=2
(2
ν
)(Dν f (x))2dx.
Finite element approximation: minimise
Jα(c, g1, g2, · · · , gd) =1
n
n∑i=1
(f (x(i))− y (i))2 + α
d∑s=1
gTs Lgs ,
subject to
Lc =d∑
s=1
Gsgs .
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 10 / 65
2D Formulation
2nd-order smoothing spline: minimise
Jα(f ) =1
n
n∑i=1
(f (x(i))− y (i))2
+ α
∫Ω
((∂2
1 f (x))2
+ 2 (∂1∂2f (x))2 +(∂2
2 f (x))2)dx,
Jα(c, g1, g2) =1
n
n∑i=1
(b(x(i))Tc− y (i))2
+ α
∫Ω∇bT (x)g1.∇bT (x)g1 +∇bT (x)g2.∇bT (x)g2 dx
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 11 / 65
2D Formulation
Minimise:
Jα(c , g1, g2) = cTAc− 2dTc + ‖y‖2/n + α(gT1 Lg1 + gT2 Lg2)
subject toLc = G1g1 + G2g2.
Where
A =1
n
n∑i=1
b(x(i))b(x(i))T ,
and
d =1
n
n∑i=1
b(x(i))y (i).
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 12 / 65
Discrete System
Recall :
Minimise:
Jα(c , g1, g2) = cTAc− 2dTc + ‖y‖2/n + α(gT1 Lg1 + gT2 Lg2)
subject toLc = G1g1 + G2g2.
A 0 0 L0 αL 0 −GT
1
0 0 αL −GT2
L −G1 −G2 0
cg1
g2
w
=
d000
−h1
h2
h3
h4
,w is a Lagrange multiplier.The vectors h1, · · · ,h4 store the boundary information. The boundaryconditions can be Dirichlet or Neumann.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 13 / 65
Boundary Condition Examples - Dirichlet
x(1) = (0.25, 0.25), x(2) = (0.75, 0.25), x(3) = (0.25, 0.75),x(4) = (0.75, 0.75); y (1) = 1, y (2) = 0, y (3) = 0 and y (4) = 1
hf (x) = tps fit. hf (x) = 0.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 14 / 65
Boundary Condition Examples - Neumann
x(1) = (0.25, 0.25), x(2) = (0.75, 0.25), x(3) = (0.25, 0.75),x(4) = (0.75, 0.75); y (1) = 1, y (2) = 0, y (3) = 0 and y (4) = 1
0 0.2
0.4 0.6
0.8 1 0
0.2
0.4
0.6
0.8
1-0.2
0 0.2 0.4 0.6 0.8
1 1.2 1.4 1.6
Boundary Condition Test 3
Neumann
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 15 / 65
Further Model Problems - Peak
exp
(−50
(0.5− x
(j)1
)2)
exp
(−50
(0.5− x
(j)2
)2)
+ ε,
where ε is a normally distributed random variable with mean 0 and avariance of 0.05
0
0.2
0.4
0.6
0.8
1
0 0.2
0.4 0.6
0.8 1
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Original Data
x
y
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
0
0.2
0.4
0.6
0.8
1
0 0.2
0.4 0.6
0.8 1
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Spline Fit
x
y
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Boundary conditions: hf = fy , hu = ∇fy and hλ = −α∆fy .
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 16 / 65
Further Model Problems - Sin
sin(4πx1) sin(4πx2)
Finite element grid of size m = 4225 with different values of α.
0 0.1 0.2 0.3 0.4 0.5 0.3 0.4
0.5 0.6
0.7 0.8
0.9 1
-1
-0.5
0
0.5
1
Test Problem 6 with alpha = 0.0001
0 0.1 0.2 0.3 0.4 0.5 0.3 0.4
0.5 0.6
0.7 0.8
0.9 1
-1
-0.5
0
0.5
1
Test Problem 6 with alpha = 0.000001
Boundary conditions: hf = fy , hu = ∇fy and hλ = −α∆fy .[M. F. Hutchinson; Communications in Statistics 1989]
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 17 / 65
Sine Example with Holes
y(x , y) = sin(2πx) sin(2πy), such that y(x , y) < 0.
n = 179401, m = 4229 with α = 10−6
Boundary: hf (x) = y(x), hu = ∇hf (x), hλ(x) = −α∆hf .
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 18 / 65
Use of FEM Grid
(0.25− ‖x(j) − [0.5, 0.5]T‖1)× (0.5− ‖x(j) − [0.5, 0.5]T‖1)
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
y
x
FEM grid - Diamond with Hole
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 19 / 65
Use of FEM Grid
Examples of initial FEM grid, with the centre.
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
y
x
FEM grid - Diamond
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 20 / 65
Sphere Example
Grid - 189 Nodes, α = 10−3.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 21 / 65
Sphere Example
Grid - 68705 Nodes, α = 10−3.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 22 / 65
Semi Sphere Example
Grid - 68705 Nodes, α = 10−3.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 23 / 65
Two Sphere Example
Grid - 68705 Nodes, α = 10−7.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 24 / 65
Convergence on Smooth Problem
y (i) = fy (x(i)) where ∇4fy = 0.
f (x) = fy (x) =
∥∥∥∥x +
[0.50.5
]∥∥∥∥2
-30
-25
-20
-15
-10
-10-9-8-7-6-5-4-3-2
log2
of
L2
Err
or
log2 of Grid Spacing
L2 Error for Model Problem 3
cg1w
interpol
-30
-25
-20
-15
-10
-10-9-8-7-6-5-4-3-2
log2
of
L2
Err
or
log2 of Grid Spacing
L2 Error for Model Problem 3
O(h) convergenceO(h2) convergence
f (x) = fy (x) = cosh(2πx1) sin(2πx2)
-20
-15
-10
-5
0
5
-10-9-8-7-6-5-4-3-2
log2
of
L2
Err
or
log2 of Grid Spacing
L2 Error for Model Problem 4
cg1g2w
interpol
-20
-15
-10
-5
0
5
-10-9-8-7-6-5-4-3-2
log2
of
L2
Err
or
log2 of Grid Spacing
L2 Error for Model Problem 4
O(h) convergenceO(h2) convergence
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 25 / 65
Solution Process
Recall: A 0 0 L0 αL 0 −GT
1
0 0 αL −GT2
L −G1 −G2 0
cg1
g2
w
=
d000
−h1
h2
h3
h4
.Scale by 1/α to get
A/α 0 0 L0 L 0 −GT
1
0 0 L −GT2
L −G1 −G2 0
cg1
g2
w
=
d/α
000
−h1/αh2/αh3/αh4
.The vectors h1, · · · ,h4 store the boundary information. (Assume Dirichletfor now.)
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 26 / 65
Data Projection Matrix
The matrix A = BBT , where
BT =1√n
b1(x(1)) · · · bm(x(1))...
......
b1(x(n)) · · · bm(x(n))
,is symmetric, nonnegative and sparse.B : Data points→ FEM.The properties of the A matrix varies with the distribution of the datapoints.
If no data points lie in the support of basis function bi , the entries inthe ith column are zero. In which case A, has a non-trivial null-space.
If any triangles has less than two data points, the system isunder-determined system and thus A has a non-trivial null-space
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 27 / 65
Data Projection Matrix
Let P =[0 Ip
]be a projection onto the region of the domain containing
data points. ( Ip be an identity matrix).The matrix Ap := PAPT is defined on the region of the domain wherethere are data points.Note that A = PTApP, since A is zero in the region where there are nodata points.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 28 / 65
Data Projection Matrix
Furthermore, Ap may be decomposed as follows
Ap =
[Boo Bou
0 Buu
] [BToo 0
BTou BT
uu
]= QT
[AToo Bou
BTou Iu
]Q,
where Iu is an identity matrix, Aoo = BooBToo + BouB
Tou and
Q =
[Io 00 BT
uu
]with Io being an identity matrix.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 29 / 65
Data Projection Matrix
Let
F =
[AToo Bou
BTou Iu
].
Then Ap = QTFQ and A = (PTQT )F (QP).Note that F is SPD.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 30 / 65
Example Data Distribution
A
Figure : Example distribution of data in a uniform finite element gridcorresponding to the A matrix
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 31 / 65
Example Data Distribution
A_p
Figure : Example distribution of data in a uniform finite element gridcorresponding to the Ap matrix. The empty triangles have been removed
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 32 / 65
Example Data Distribution
F
Figure : Example distribution of data in a uniform finite element gridcorresponding to the F matrix. Work directly on the data points in regions wherethere are not a lot of data points.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 33 / 65
SMW formula
Recall:
S =
L −G1 −G2 00 L 0 −GT
1
0 0 L −GT2
A/α 0 0 L
If P1 =
[0 · · · 0 P
]and P2 =
[P 0 · · · 0
]then M + PT
1 ApP2 =M + PT
1 QTFQP2 is equivalent to above matrix where
M =
L −G1 −G2 00 L 0 −GT
1
0 0 L −GT2
0 0 0 L
.This is an upper triangular matrix with the Laplacian matrix sitting alongthe main diagonal. As the L matrices are SPD the above system can bereadily inverted by using back substitution.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 34 / 65
SMW formula
Recall:
(M + X1FX
T2
)−1= M−1 −M−1X1
[F−1 + XT
2 M−1X1
]−1XT
2 M−1.
According to the to Sherman–Morrison–Woodbury formula
S−1 = M−1 −M−1PT1 QT
[F−1 + QPHPTQT/α
]−1QP2M
−1,
where H = L−1(∑d
s=1 GsL−1GT
s
)L−1.
M is an upper triangular matrix and is easily inverted.
The Laplacian matrix L is SPD and L−1 is applied to a vector byusing an optimal solver such as the multigrid method.
Most of the work goes into solving systems of the form Eαv = αf,where Eα :=
(αF−1 + QPHPTQT
). The matrix Eα is SPD so a PCG
solver is used.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 35 / 65
Eα Condition Number
To measure the conditioning we need to determine the eigenvalues of L, Fand Gs .We firstly look at a uniform finite element grid defined on the onedimensional domain [0, 1] with grid spacing h = 1/(m + 1).If the domain contains a lot of data spread throughout,
Eα = αA−1u + L−1
(G1L
−1GT1
)L−1.
[L. Stals; Journal of Scientific Computing 2013]
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 36 / 65
Laplacian Matrix
For a uniform finite element grid in one dimension, the stencils for L is
L :1
h
[−1 2 −1
].
Following Hackbusch, we can show the eigenvalues of L are
λµ(L) =4
hsin2
(πµh
2
),
and the eigenvectors are uµ where uµj = sin (πµjh) for 1 ≤ µ ≤ m and1 ≤ j ≤ m.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 37 / 65
Data Matrix
Recall:
A =1
n
n∑j=1
b(x(j))b(x(j))T .
If there are a lot of data points throughout the whole domain, i.e. n islarge,
Ak,l ≈∫
Ωbk(x)bl(x) dx.
We construct a matrix Au, where (Au)k,l =∫
Ω bkbl dx, that is defined bythe stencil
Au :h
6
[1 4 1
].
Consequently, Au can be used as an approximation to A.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 38 / 65
Data Matrix
By using the same eigenvectors that we used for L, uµ, we get
λµ (Au) =h
3
(2 cos2
(πµh
2
)+ 1
).
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 39 / 65
G1L−1GT
1
We have uµ is also an eigenvector for G1L−1GT
1 with correspondingeigenvalues
λµ(G1L
−1GT1
)= h cos2
(πµh
2
).
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 40 / 65
Theorem
IfEα = αA−1
u + L−1(G1L
−1GT1
)L−1,
then
λµ(Eα) =3α
h
1
2 cos2(πµh
2
)+ 1
+h3
16
cos2(πµh
2
)sin4
(πµh
2
) ,λµ(AuEα) = α +
h
3
(2 cos2
(πµh
2
)+ 1
)h3
16
cos2(πµh
2
)sin4
(πµh
2
) ,and
λµ(LEαL) =48α
h3
sin4(πµh2 )
2 cos2(πµh
2
)+ 1
+ h cos2
(πµh
2
),
where 1 ≤ µ ≤ m.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 41 / 65
Parallel Implementation
Recall :
We want to solve
S−1 = M−1 −M−1PT1 QT
[F−1 + QPHPTQT/α
]−1QP2M
−1,
where H = L−1(∑d
s=1 GsL−1GT
s
)L−1.
Expensive part:
Eα :=(αF−1 + QPHPTQT
).
(Eg. Eα = αA−1u + L−1
(G1L
−1GT1
)L−1. )
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 42 / 65
Saddle Point Formulation
Recall: (yet again)A/α 0 0 L
0 L 0 −GT1
0 0 L −GT2
L −G1 −G2 0
cg1
g2
w
=
d/α
000
−h1/αh2/αh3/αh4
.Swap the first and last rows to get
L −G1 −G2 00 L 0 −GT
1
0 0 L −GT2
A/α 0 0 L
cg1
g2
w
=
000
d/α
−
h4
h2/αh3/αh1/α
.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 43 / 65
Matrix Properties
Symmetric Indefinite for Dirichlet
Symmetric and Singular for Neumann;
null space =
001
.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 44 / 65
Matrix Properties
Conditioning = O(h2), but large constant.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 45 / 65
Matrix Properties
Use SQMR method as solver directly on saddle point problem (butmust be careful about breakdowns.)
SQMR same as MINRES for SPD preconditioners. Unlike MINRESSQMR allows the use of an indefinite preconditioner. Not so muchtheory for SQMR.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 46 / 65
Model Problem
y(x) = exp(−50 (x − 0.5)2
).
0.0 0.2 0.4 0.6 0.8 1.0x
−0.2
0.0
0.2
0.4
0.6
0.8
1.0 Example splines for different values of α
α=1.0−2
α=1.0−5
α=1.0−8
data
Figure : Spline fit to example test problem with α = 10−2, 10−5, 10−8 and gridspacing h = 2−6.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 47 / 65
Convergence Rate I (α = 10−2)
0
1000
2000
3000
4000
5000
2 4 6 8 10 12
Num
ber
of Itera
tions
level
I Preconditioner (α = 10−2
)
248
163264
Dirichlet top Neumann did not converge(Similar for α = 10−5 and α = 10−8.)
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 48 / 65
Domain Decomposition Method
P−1
DD=
N∑i=1
RTi SiRi .
The boundary conditions on each subdomain is Dirichlet, so can use SMWapproach to solve problem on each subdomain.I did not find much theory on the use of DD methods with indefiniteproblems, so did testing with Python on 1D model problem before movingto proper parallel code.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 49 / 65
Convergence Rate DD (α = 10−2)
0
100
200
300
400
500
2 4 6 8 10 12
Num
ber
of Itera
tions
level
DD Preconditioner (α = 10−2
)
248
163264
Dirichlet top Neumann did not converge
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 50 / 65
Convergence Rate DD (α = 10−5)
0
100
200
300
400
500
2 4 6 8 10 12
Num
ber
of Itera
tions
level
DD Preconditioner (α = 10−5
)
248
163264
Dirichlet top Neumann did not converge
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 51 / 65
Convergence Rate DD (α = 10−8)
0
100
200
300
400
500
2 4 6 8 10 12
Num
ber
of Itera
tions
level
DD Preconditioner (α = 10−8
)
248
163264
Dirichlet top Neumann did not converge
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 52 / 65
Domain Decomposition Method With Coarse GridPreconditioner
P−1coarse = RT
0
(R0SRT
0
)−1R0 +
N∑i=1
RTi SiRi .
The coarse grid is designed to move the small eigenvalues away from zero.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 53 / 65
Convergence Rate DD+Coarse (α = 10−2)
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Coarse Preconditioner (α = 10−2
)
248
163264
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Coarse Preconditioner (α = 10−2
)
48
163264
Dirichlet top Neumann bottomLinda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 54 / 65
Convergence Rate DD+Coarse (α = 10−5)
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Coarse Preconditioner (α = 10−5
)
248
163264
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Coarse Preconditioner (α = 10−5
)
48
163264
Dirichlet top Neumann bottomLinda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 55 / 65
Convergence Rate DD+Coarse (α = 10−8)
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Coarse Preconditioner (α = 10−8
)
248
163264
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Coarse Preconditioner (α = 10−8
)
48
163264
Dirichlet top Neumann bottomLinda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 56 / 65
Domain Decomposition Method - PBNN Preconditioner
Q = RT0
(R0SRT
0
)−1R0.
R = I − QS.
P−1
BNN= RTP−1
DDR + Q.
This technique is similar to coarse grid correction, but removesaccumulation of errors.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 57 / 65
Convergence Rate DD+Projection (α = 10−2)
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Projection Preconditioner (α = 10−2
)
248
163264
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Projection Preconditioner (α = 10−2
)
48
163264
Dirichlet top Neumann bottomLinda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 58 / 65
Convergence Rate DD+Projection (α = 10−5)
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Projection Preconditioner (α = 10−5
)
248
163264
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Projection Preconditioner (α = 10−5
)
48
163264
Dirichlet top Neumann bottomLinda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 59 / 65
Convergence Rate DD+Projection (α = 10−8)
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Projection Preconditioner (α = 10−8
)
248
163264
0
10
20
30
40
50
2 4 6 8 10 12
Num
ber
of Itera
tions
level
Projection Preconditioner (α = 10−8
)
48
163264
Dirichlet top Neumann bottomLinda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 60 / 65
2D Example
0 0.2
0.4 0.6
0.8 1
x 0
0.2
0.4
0.6
0.8
1
y
0
0.2
0.4
0.6
0.8
1
1.2
Original Data Set (641601 data points)
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 61 / 65
2D Example
FEM fit with 4225 nodes and α = 10−8.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 62 / 65
Future Work
Finish looking into parallel solver.
Run some large 2D and 3D codes.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 63 / 65
Adapative refinement
8
16
24
32
40
48
56
64
Error indicator
Reduce/Remove reading data in from files
Load balancing: take into account connection between FEM grid anddata points.
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 64 / 65
0
0.2
0.4
0.6
0.8
1
x
0
0.2
0.4
0.6
0.8
1
y
-10 0
10 20 30 40 50 60
Thank You
Linda Stals ( Mathematical Sciences Institute, Australian National University)Discrete thin-plate splines 65 / 65