Fasshauer 2008 Lecture4

Download as pdf or txt
Download as pdf or txt
You are on page 1of 88

Meshfree Approximation with M ATLAB

Lecture IV: RBF Collocation and Polynomial Pseudospectral Methods

Greg Fasshauer

Department of Applied Mathematics


Illinois Institute of Technology

Dolomites Research Week on Approximation


September 8–11, 2008

[email protected] Lecture IV Dolomites 2008


Outline
1 RBF Collocation, Kansa’s method

2 PS Methods and Differentiation Matrices

3 PDEs with BCs via PS Methods

4 Symmetric RBF collocation

5 RBF Differentiation Matrices in M ATLAB

6 Solving PDEs via RBF-PS Methods

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method PDEs of Interest

Linear elliptic PDE with boundary conditions

Lu = f in Ω
u = g on Γ = ∂Ω

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method PDEs of Interest

Linear elliptic PDE with boundary conditions

Lu = f in Ω
u = g on Γ = ∂Ω

Time-dependent PDE with initial and boundary conditions

ut (x, t) + Lu(x, t) = f (x, t), x ∈ Ω ∪ Γ, t ≥ 0


u(x, 0) = u0 (x), x ∈Ω
u(x, t) = g(t), x ∈Γ

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

According to [Kansa (1986)] we consider an elliptic PDE and start with


N
X
u(x) = λj Φj (x) = ΦT (x)λ
j=1

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

According to [Kansa (1986)] we consider an elliptic PDE and start with


N
X
u(x) = λj Φj (x) = ΦT (x)λ
j=1

Coefficients λ determined by solving


" #  
A
eL f
λ= ,
A
e g

with (rectangular) collocation matrices



A
e L,ij = LΦj (x i ) = Lϕ(kx − x j k) x=x ,
i
i = 1, . . . , N − NB , j = 1, . . . , N,
A
e ij = Φj (x i ) = ϕ(kx i − x j k),
i = N − NB + 1, . . . , N, j = 1, . . . , N.

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

" #
A
eL
If invertible (open problem since 1986), then approximate
A
e
solution (at any point x) found by inserting λ in basis expansion, i.e.,

u(x) = ΦT (x)λ

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

" #
A
eL
If invertible (open problem since 1986), then approximate
A
e
solution (at any point x) found by inserting λ in basis expansion, i.e.,

u(x) = ΦT (x)λ

Solution at collocation points


" #−1  
A
eL f
u=A , Aij = Φj (x i )
Ae g
| {z }

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

Note " #−1  # "


  
A
eL f A
eL −1 f
u=A ⇐⇒ A u =
Ae g Ae g
| {z }
=LΓ

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

Note " #−1  # "


  
A
eL f A
eL −1 f
u=A ⇐⇒ A u =
Ae g Ae g
| {z }
=LΓ

with " #
e L A−1 Ae L A−1
 
A I B M P
LΓ = e −1 e −1 = ,
AA I AA B
0 I

−→ RBF-PS method (see later).

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

Example (2D Laplace Equation)

uxx + uyy = 0, x, y ∈ (−1, 1)2


Boundary conditions:
 4
sin (πx),
 y = 1 and − 1 < x < 0,
1
u(x, y ) = 5 sin(3πy ), x = 1,

0, otherwise.

See [Trefethen (2000)]

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

Figure: Gaussian-RBF (ε = 2.75), N = 24 × 24

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

Program (KansaLaplaceMixedBCTref_2D.m)
global rbf Lrbf; rbf_definition; epsilon = 3;
N = 289; M = 1681;
Lu = @(x,y) zeros(size(x));
[collpts, N] = CreatePoints(N, 2, ’u’); collpts = 2*collpts-1;
indx = find(abs(collpts(:,1))==1 | abs(collpts(:,2))==1);
bdypts = collpts(indx,:);
intpts = collpts(setdiff([1:N],indx),:);
ctrs = [intpts; bdypts];
evalpts = CreatePoints(M,2,’u’); evalpts = 2*evalpts-1;
DM_eval = DistanceMatrix(evalpts,ctrs);
EM = rbf(epsilon,DM_eval);
DM_int = DistanceMatrix(intpts,ctrs);
DM_bdy = DistanceMatrix(bdypts,ctrs);
LCM = Lrbf(epsilon,DM_int);
BCM = rbf(epsilon,DM_bdy);
CM = [LCM; BCM];
rhs = zeros(N,1); NI = size(intpts,1);
indx = find(bdypts(:,1)==1 | (bdypts(:,1)<0) & (bdypts(:,2)==1));
rhs(NI+indx) = (bdypts(indx,1)==1)*0.2.*sin(3*pi*bdypts(indx,2)) + ...
(bdypts(indx,1)<0).*(bdypts(indx,2)==1).*sin(pi*bdypts(indx,1)).^4;
Pf = EM * (CM\rhs);
disp(sprintf(’u(0,0) = %16.12f’,Pf(841)))

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

We just showed that we always have (even if the Kansa matrix is not
invertible) " #  
A
eL −1 M P
LΓ = A =
A
e 0 I

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

We just showed that we always have (even if the Kansa matrix is not
invertible) " #  
A
eL −1 M P
LΓ = A =
A
e 0 I

It is known that
LΓ is invertible for polynomial basis (1D)
In a certain limiting case RBF interpolant yields polynomial
interpolant

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

We just showed that we always have (even if the Kansa matrix is not
invertible) " #  
A
eL −1 M P
LΓ = A =
A
e 0 I

It is known that
LΓ is invertible for polynomial basis (1D)
In a certain limiting case RBF interpolant yields polynomial
interpolant

=⇒ Kansa’s collocation matrix is invertible in the limiting case

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa’s (non-symmetric) Method

We just showed that we always have (even if the Kansa matrix is not
invertible) " #  
A
eL −1 M P
LΓ = A =
A
e 0 I

It is known that
LΓ is invertible for polynomial basis (1D)
In a certain limiting case RBF interpolant yields polynomial
interpolant

=⇒ Kansa’s collocation matrix is invertible in the limiting case

Other recent work on a well-defined approach to Kansa’s method, e.g.,


in [Schaback (2007)]

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Time-Dependent PDEs

Consider time-dependent PDE

ut + Lu = f

and discretize the time, e.g.,

u(x, tk ) − u(x, tk −1 ) uk (x) − uk −1 (x)


ut (x, tk ) ≈ =
∆t ∆t

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Time-Dependent PDEs

Consider time-dependent PDE

ut + Lu = f

and discretize the time, e.g.,

u(x, tk ) − u(x, tk −1 ) uk (x) − uk −1 (x)


ut (x, tk ) ≈ =
∆t ∆t

Then
uk (x) ≈ uk −1 (x) + ∆t [f (x) − Luk −1 (x)]

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa for Time-Dependent PDEs

Start with
N
X
u(x, t) = λj (t)Φj (x) = ΦT (x)λ(t)
j=1

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa for Time-Dependent PDEs

Start with
N
X
u(x, t) = λj (t)Φj (x) = ΦT (x)λ(t)
j=1

Then after time discretization


 
N N N
(k ) (k −1) (k −1)
X X X
λj Φj (x) = λj Φj (x) + ∆t f (x) − λj LΦj (x)
j=1 j=1 j=1

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Kansa for Time-Dependent PDEs

Start with
N
X
u(x, t) = λj (t)Φj (x) = ΦT (x)λ(t)
j=1

Then after time discretization


 
N N N
(k ) (k −1) (k −1)
X X X
λj Φj (x) = λj Φj (x) + ∆t f (x) − λj LΦj (x)
j=1 j=1 j=1

or h i
ΦT (x)λ(k ) = ΦT (x) − ∆tLΦT (x) λ(k −1) + ∆tf (x)

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Application to Time-Dependent PDEs

Collocation on X = {x 1 , . . . , x N } yields

Aλ(k ) = [A − ∆tAL ] λ(k −1) + ∆tf

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Application to Time-Dependent PDEs

Collocation on X = {x 1 , . . . , x N } yields

Aλ(k ) = [A − ∆tAL ] λ(k −1) + ∆tf

Solve for λ(k ) , then (for any x)


N
(k )
X
u (k )
(x) = λj Φj (x) = ΦT (x)λ(k )
j=1

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Application to Time-Dependent PDEs

Collocation on X = {x 1 , . . . , x N } yields

Aλ(k ) = [A − ∆tAL ] λ(k −1) + ∆tf

Solve for λ(k ) , then (for any x)


N
(k )
X
u (k )
(x) = λj Φj (x) = ΦT (x)λ(k )
j=1

Solution at collocation points

u (k ) = Aλ(k ) , Aij = Φj (x i )

[email protected] Lecture IV Dolomites 2008


RBF Collocation, Kansa’s method Application to Time-Dependent PDEs

Collocation on X = {x 1 , . . . , x N } yields

Aλ(k ) = [A − ∆tAL ] λ(k −1) + ∆tf

Solve for λ(k ) , then (for any x)


N
(k )
X
u (k )
(x) = λj Φj (x) = ΦT (x)λ(k )
j=1

Solution at collocation points

u (k ) = Aλ(k ) , Aij = Φj (x i )

Much too complicated!

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices Background

PS methods are known as highly accurate solvers for PDEs

Basic idea (in 1D)


N
X
u(x) = λj Φj (x), x ∈ [a, b]
j=1

with (smooth and global) basis functions Φj , j = 1, . . . , N

Here u is the unknown (approximate) solution of the PDE

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices Differentiation Matrices

For PDEs we need to be able to represent values of derivatives of u.

For PS methods values at grid points suffice.

Key idea: find differentiation matrix D such that

u 0 = Du

where u = [u(x1 ), . . . , u(xN )]T

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices Differentiation Matrices

For PDEs we need to be able to represent values of derivatives of u.

For PS methods values at grid points suffice.

Key idea: find differentiation matrix D such that

u 0 = Du

where u = [u(x1 ), . . . , u(xN )]T

Example
Chebyshev polynomials on Chebyshev points. In this case explicit
formulas for entries of D are known.

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices General Differentiation Matrices

N N
X
0
X d
u(x) = λj Φj (x) =⇒ u (x) = λj Φj (x).
dx
j=1 j=1

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices General Differentiation Matrices

N N
X
0
X d
u(x) = λj Φj (x) =⇒ u (x) = λj Φj (x).
dx
j=1 j=1

Evaluate at grid points:

u = Aλ with Aij = Φj (xi )

and
d
u 0 = Ax λ with Ax,ij = Φj (xi ).
dx

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices General Differentiation Matrices

N N
X
0
X d
u(x) = λj Φj (x) =⇒ u (x) = λj Φj (x).
dx
j=1 j=1

Evaluate at grid points:

u = Aλ with Aij = Φj (xi )

and
d
u 0 = Ax λ with Ax,ij = Φj (xi ).
dx
Therefore
u 0 = Ax A−1 u =⇒ D = Ax A−1 .

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices RBF Differentiation Matrices

Want to use radial basis functions

Φj (x) = ϕ(kx − x j k), x ∈ Rs

and a general linear differential operator L with constant coefficients.

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices RBF Differentiation Matrices

Want to use radial basis functions

Φj (x) = ϕ(kx − x j k), x ∈ Rs

and a general linear differential operator L with constant coefficients.

Discretized differential operator (differentiation matrix):

L = AL A−1

with Aij = Φj (x i ) = ϕ(kx i − x j k)


and AL,ij = LΦj (x i ) = Lϕ(kx − x j k) x=x .
i

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices RBF Differentiation Matrices

Want to use radial basis functions

Φj (x) = ϕ(kx − x j k), x ∈ Rs

and a general linear differential operator L with constant coefficients.

Discretized differential operator (differentiation matrix):

L = AL A−1

with Aij = Φj (x i ) = ϕ(kx i − x j k)


and AL,ij = LΦj (x i ) = Lϕ(kx − x j k) x=x .
i

A is (non-singular) RBF interpolation matrix

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices RBF Differentiation Matrices

How to proceed for a time-independent PDE

Lu = f

Discretize space
Lu ≈ Lu
Then (at grid points)
u = L−1 f

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices RBF Differentiation Matrices

How to proceed for a time-independent PDE

Lu = f

Discretize space
Lu ≈ Lu
Then (at grid points)
u = L−1 f

Challenge
Need to ensure invertibility of L

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices A First (ill-posed) PDE

Want to solve Lu = f without BCs.

Discretize:
Lu = f =⇒ u = L−1 f = A (AL )−1 f
Invertibility of L (and therefore AL ) required.

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices A First (ill-posed) PDE

Want to solve Lu = f without BCs.

Discretize:
Lu = f =⇒ u = L−1 f = A (AL )−1 f
Invertibility of L (and therefore AL ) required.

Chebyshev PS: L is singular

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices A First (ill-posed) PDE

Want to solve Lu = f without BCs.

Discretize:
Lu = f =⇒ u = L−1 f = A (AL )−1 f
Invertibility of L (and therefore AL ) required.

Chebyshev PS: L is singular


RBF-PS: L is non-singular since AL invertible for positive definite
RBFs and elliptic L.

[email protected] Lecture IV Dolomites 2008


PS Methods and Differentiation Matrices A First (ill-posed) PDE

Want to solve Lu = f without BCs.

Discretize:
Lu = f =⇒ u = L−1 f = A (AL )−1 f
Invertibility of L (and therefore AL ) required.

Chebyshev PS: L is singular


RBF-PS: L is non-singular since AL invertible for positive definite
RBFs and elliptic L.

Remark
RBFs “too good to be true”. Built-in regularization due to variational
framework.

[email protected] Lecture IV Dolomites 2008


PDEs with BCs via PS Methods

Consider linear elliptic PDE

Lu = f in Ω

with boundary condition

u=g on Γ = ∂Ω

and assume basis functions do not satisfy BCs.

[email protected] Lecture IV Dolomites 2008


PDEs with BCs via PS Methods

Consider linear elliptic PDE

Lu = f in Ω

with boundary condition

u=g on Γ = ∂Ω

and assume basis functions do not satisfy BCs.

Construct differentiation matrix L based on all grid points x i .


Then replace diagonal entries corresponding to boundary points
with ones and the remainder of those rows with zeros.

[email protected] Lecture IV Dolomites 2008


PDEs with BCs via PS Methods

Reorder rows and columns to obtain


 
M P
LΓ = ,
0 I

Here
M is NI × NI (interior points)
I is NB × NB (boundary points)
NB number of grid points on boundary Γ
NI = N − NB number of grid points in the interior Ω

[email protected] Lecture IV Dolomites 2008


PDEs with BCs via PS Methods

Reorder rows and columns to obtain


 
M P
LΓ = ,
0 I

Here
M is NI × NI (interior points)
I is NB × NB (boundary points)
NB number of grid points on boundary Γ
NI = N − NB number of grid points in the interior Ω

Then  
f
u = L−1
Γ g

[email protected] Lecture IV Dolomites 2008


PDEs with BCs via PS Methods

Using u = [u Ω , u Γ ]T and substituting u Γ = g back in we get

u Ω = M −1 (f − Pg),

or, for homogeneous boundary conditions,

u Ω = M −1 f .

[email protected] Lecture IV Dolomites 2008


PDEs with BCs via PS Methods

Using u = [u Ω , u Γ ]T and substituting u Γ = g back in we get

u Ω = M −1 (f − Pg),

or, for homogeneous boundary conditions,

u Ω = M −1 f .

Remark
For standard PS methods the block M is invertible. Its spectrum is well
studied for many different L and BCs.

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

As in [F. (1997)] we start with


NI
X N
X
u(x) = λj L∗j Φ(x) + λj Φj (x).
j=1 j=NI +1

Since Φj (x) = ϕ(kx − x j k), L∗j denotes application of L to ϕ viewed as


a function of the second variable followed by evaluation at x j .

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

As in [F. (1997)] we start with


NI
X N
X
u(x) = λj L∗j Φ(x) + λj Φj (x).
j=1 j=NI +1

Since Φj (x) = ϕ(kx − x j k), L∗j denotes application of L to ϕ viewed as


a function of the second variable followed by evaluation at x j .

Then λ = [λΩ , λΓ ]T obtained from


" #   
ÂLL∗ ÂL λΩ f
= .
ÂL∗ Â λΓ g

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

The collocation matrix " #


ÂLL∗ ÂL
ÂL∗ Â
consists of
square blocks
h i
ÂLL∗ ,ij = L [L∗ ϕ(kx − ξk)]ξ=x j , i, j = 1, . . . , NI
x=x i

Âij = Φj (x i ) = ϕ(kx i − x j k), i, j = NI + 1, . . . , N

rectangular blocks
 
ÂL,ij = Lϕ(kx − x j k) x=x , i = 1, . . . , NI , j = NI + 1, . . . , N
i

ÂL∗ ,ij = [L∗ ϕ(kx i − xk)]x=x j , i = NI + 1, . . . , N, j = 1, . . . , NI

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

2D Laplace Equation from [Trefethen (2000)]

Figure: Gaussian-RBF (ε = 6), N = 17 × 17 (+ 64 boundary points)

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

Program (HermiteLaplaceMixedBCTref_2D.m)
global rbf Lrbf L2rbf; rbf_definition; epsilon = 3;
N = 289; M = 1681;
Lu = @(x,y) zeros(size(x));
[datasites, N] = CreatePoints(N, 2, ’u’); intdata = 2*datasites-1;
sg = sqrt(N); bdylin = linspace(-1,1,sg)’; bdy1 = ones(sg-1,1);
bdydata = [bdylin(1:end-1) -bdy1; bdy1 bdylin(1:end-1);...
flipud(bdylin(2:end)) bdy1; -bdy1 flipud(bdylin(2:end))];
h = 2/(sg-1); bdylin = (-1+h:h:1-h)’; bdy0 = repmat(-1-h,sg-2,1); bdy1 = repmat(1+h,sg-2,1);
bdycenters = [-1-h -1-h; bdylin bdy0; 1+h -1-h; bdy1 bdylin;...
1+h 1+h; flipud(bdylin) bdy1; -1-h 1+h; bdy0 flipud(bdylin)];
centers = [intdata; bdycenters];
evalpoints = CreatePoints(M, 2, ’u’); evalpoints = 2*evalpoints-1;
DM_inteval = DistanceMatrix(evalpoints,intdata);
DM_bdyeval = DistanceMatrix(evalpoints,bdycenters);
LEM = Lrbf(epsilon,DM_inteval);
BEM = rbf(epsilon,DM_bdyeval);
EM = [LEM BEM];
DM_IIdata = DistanceMatrix(intdata,intdata);
DM_IBdata = DistanceMatrix(intdata,bdycenters);
DM_BIdata = DistanceMatrix(bdydata,intdata);
DM_BBdata = DistanceMatrix(bdydata,bdycenters);
LLCM = L2rbf(epsilon,DM_IIdata);
LBCM = Lrbf(epsilon,DM_IBdata);
BLCM = Lrbf(epsilon,DM_BIdata);
BBCM = rbf(epsilon,DM_BBdata);
CM = [LLCM LBCM; BLCM BBCM];
rhs = [Lu(intdata(:,1),intdata(:,2)); zeros(sg-1,1); 0.2*sin(3*pi*bdydata(sg:2*sg-2,2)); ...
zeros((sg-1)/2,1); sin(pi*bdydata((5*sg-3)/2:3*sg-3,1)).^4; zeros(sg-1,1)];
Pf = EM * (CM\rhs);
disp(sprintf(’u(0,0) = %16.12f’,Pf(841)))

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

It is well known that the symmetric collocation matrix


" #
ÂLL∗ ÂL
ÂL∗ Â

is invertible.

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

It is well known that the symmetric collocation matrix


" #
ÂLL∗ ÂL
ÂL∗ Â

is invertible.

Therefore, the solution at any point is obtained by inserting λ into basis


expansion, or at grid points
" #−1  
h
eT
i ÂLL∗ ÂL f
u= AL∗ A
| {z } ÂL∗ Â g
=K T
| {z }

with evaluation matrix K T .

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

Entries of K T given by

AL∗ ,ij = [L∗ ϕ(kx i − xk)]x=x j , i = 1, . . . , N, j = 1, . . . , NI


eT
A = Φj (x i ) = ϕ(kx i − x j k), i = 1, . . . , N, j = NI + 1, . . . , N
ij

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation

Entries of K T given by

AL∗ ,ij = [L∗ ϕ(kx i − xk)]x=x j , i = 1, . . . , N, j = 1, . . . , NI


eT
A = Φj (x i ) = ϕ(kx i − x j k), i = 1, . . . , N, j = NI + 1, . . . , N
ij

e T , and therefore
Symmetry of RBFs implies AL∗ = A L
" #T
T
h
eT
i A
eL
K = AL∗ A =
Ae

→ transpose of Kansa’s matrix

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation Symmetric RBF-PS Method

Start with “symmetric basis” expansion


NI
X N
X
u(x) = λj L∗j Φ(x) + λj Φj (x).
j=1 j=NI +1

At the grid points in matrix notation we have


h i λ 
T Ω
u = AL∗ A e
λΓ

or h i−1
λ= AL∗ eT
A u.

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation Symmetric RBF-PS Method

Apply L to basis expansion and restrict to grid


 
Lu = ALL∗ AL λ
with
h i
ALL∗ ,ij = L [L∗ ϕ(kx − ξk)]ξ=x j , i = 1, . . . , N, j = 1, . . . , NI
x=x i
 
AL,ij = Lϕ(kx − x j k) x=x , i = 1, . . . , N, j = NI + 1, . . . , N
i

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation Symmetric RBF-PS Method

Apply L to basis expansion and restrict to grid


 
Lu = ALL∗ AL λ
with
h i
ALL∗ ,ij = L [L∗ ϕ(kx − ξk)]ξ=x j , i = 1, . . . , N, j = 1, . . . , NI
x=x i
 
AL,ij = Lϕ(kx − x j k) x=x , i = 1, . . . , N, j = NI + 1, . . . , N
i

Replace λ and get


 h i−1
L̂u = ALL∗ AL A L∗ eT
A u.

Remark
Note that L̂ differs from
" #
ÂLL∗ ÂL h i−1
L̂Γ = AL∗ eT
A
ÂL∗ Â

since the BCs are not yet enforced.


[email protected] Lecture IV Dolomites 2008
Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae
Cannot ensure general invertibility of LΓ

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae
Cannot ensure general invertibility of LΓ
=⇒ OK for time-dependent PDEs

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae
Cannot ensure general invertibility of LΓ
=⇒ OK for time-dependent PDEs
Symmetric:

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae
Cannot ensure general invertibility of LΓ
=⇒ OK for time-dependent PDEs
Symmetric:
Can ensure general solution of Lu = f

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae
Cannot ensure general invertibility of LΓ
=⇒ OK for time-dependent PDEs
Symmetric:
Can ensure general solution of Lu = f
Cannot" in general formulate
# discrete differential operator
ÂLL∗ ÂL h i−1
L̂Γ = AL∗ A eT
ÂL∗ Â

[email protected] Lecture IV Dolomites 2008


Symmetric RBF collocation RBF-PS Methods: Summary

Non-symmetric (Kansa):
" #
A
eL
Can formulate discrete differential operator LΓ = A−1
Ae
Cannot ensure general invertibility of LΓ
=⇒ OK for time-dependent PDEs
Symmetric:
Can ensure general solution of Lu = f
Cannot" in general formulate
# discrete differential operator
ÂLL∗ ÂL h i−1
L̂Γ = AL∗ A eT
ÂL∗ Â
=⇒ OK for time-independent PDEs

[email protected] Lecture IV Dolomites 2008


RBF Differentiation Matrices in M ATLAB

First-order Derivatives
The chain rule says
∂ xj d
ϕ(kxk) = ϕ(r ),
∂xj r dr
q
where xj is a component of x, and r = kxk = x12 + . . . + xs2 .

[email protected] Lecture IV Dolomites 2008


RBF Differentiation Matrices in M ATLAB

First-order Derivatives
The chain rule says
∂ xj d
ϕ(kxk) = ϕ(r ),
∂xj r dr
q
where xj is a component of x, and r = kxk = x12 + . . . + xs2 .
This implies we need to
provide code for derivatives of ϕ, e.g., for the Gaussian
dxrbf = @(ep,r,dx) -2*dx*ep^2.*exp(-(ep*r).^2);

[email protected] Lecture IV Dolomites 2008


RBF Differentiation Matrices in M ATLAB

First-order Derivatives
The chain rule says
∂ xj d
ϕ(kxk) = ϕ(r ),
∂xj r dr
q
where xj is a component of x, and r = kxk = x12 + . . . + xs2 .
This implies we need to
provide code for derivatives of ϕ, e.g., for the Gaussian
dxrbf = @(ep,r,dx) -2*dx*ep^2.*exp(-(ep*r).^2);
compute distances r (with DistanceMatrix.m),

[email protected] Lecture IV Dolomites 2008


RBF Differentiation Matrices in M ATLAB

First-order Derivatives
The chain rule says
∂ xj d
ϕ(kxk) = ϕ(r ),
∂xj r dr
q
where xj is a component of x, and r = kxk = x12 + . . . + xs2 .
This implies we need to
provide code for derivatives of ϕ, e.g., for the Gaussian
dxrbf = @(ep,r,dx) -2*dx*ep^2.*exp(-(ep*r).^2);
compute distances r (with DistanceMatrix.m),
and compute differences in x.
Program (DifferenceMatrix.m)

1 function DM = DifferenceMatrix(dcoord,ccoord)
2 [dr,cc] = ndgrid(dcoord(:),ccoord(:));
3 DM = dr-cc;
[email protected] Lecture IV Dolomites 2008
RBF Differentiation Matrices in M ATLAB

Program (DRBF.m)

1 function [D,x] = DRBF(N,rbf,dxrbf,ep)


2 if N==0, D=0; x=1; return, end
3 x = cos(pi*(0:N)/N)’; % Chebyshev points
4 r = DistanceMatrix(x,x);
5 dx = DifferenceMatrix(x,x);
6 A = rbf(ep,r);
7 Ax = dxrbf(ep,r,dx);
8 D = Ax/A;

Remark
The differentiation matrix is given by D = Ax A−1 . In M ATLAB we
implement this as solution of DA = Ax using mrdivide (/).
Could add a version of LOOCV to find “optimal” ε.

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods

Example (1D Transport Equation)


Consider

ut (x, t) + cux (x, t) = 0, x > −1, t > 0


u(−1, t) = 0
u(x, 0) = f (x)

with solution
u(x, t) = f (x − ct)

Use implicit Euler for time discretization

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods

Figure: Gaussian RBFs with “optimal” ε = 1.874528, ∆t = 0.01, collocation


on 21 Chebyshev points
[email protected] Lecture IV Dolomites 2008
Solving PDEs via RBF-PS Methods Example: Allen-Cahn Equation

Example (Allen-Cahn)

ut = µuxx + u − u 3 , x ∈ (−1, 1), t ≥ 0,


µ coupling parameter (governs transition between stable solutions),
here µ = 0.01
Initial condition:
 
3
u(x, 0) = 0.53x + 0.47 sin − πx , x ∈ [−1, 1],
2

Boundary conditions:

u(−1, t) = −1 and u(1, t) = sin2 (t/5)

See [Trefethen (2000)]

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods Example: Allen-Cahn Equation

Figure: Matérn-RBF with “optimal” ε = 0.351011, collocated on 21


Chebyshev points
[email protected] Lecture IV Dolomites 2008
Solving PDEs via RBF-PS Methods Example: Allen-Cahn Equation

Figure: Chebyshev pseudospectral with 21 points

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods Example: 2D Laplace Equation

Example (2D Laplace Equation)

uxx + uyy = 0, x, y ∈ (−1, 1)2


Boundary conditions:
 4
sin (πx),
 y = 1 and − 1 < x < 0,
1
u(x, y ) = 5 sin(3πy ), x = 1,

0, otherwise.

See [Trefethen (2000)]

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods Example: 2D Laplace Equation

Figure: Matérn-RBF (ε = 2.4), N = 24 × 24

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods Example: 2D Laplace Equation

Figure: Chebyshev pseudospectral, N = 24 × 24

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods M ATLAB Code

Program (p36_2D.m)
1 rbf=@(e,r) exp(-e*r).*(15+15*e*r+6*(e*r).^2+(e*r).^3);
2 Lrbf=@(e,r)e^2*exp(-e*r).*((e*r).^3-(e*r).^2-6*e*r-6);
3 N = 24; ep = 2.4;
4 [L,x,y] = LRBF(N,rbf,Lrbf,ep);
5 [xx,yy] = meshgrid(x,y); xx = xx(:); yy = yy(:);
6 b = find(abs(xx)==1 | abs(yy)==1); % boundary pts
7 L(b,:) = zeros(4*N,(N+1)^2); L(b,b) = eye(4*N);
8 rhs = zeros((N+1)^2,1);
9a rhs(b) = (yy(b)==1).*(xx(b)<0).*sin(pi*xx(b)).^4 + ...
9b .2*(xx(b)==1).*sin(3*pi*yy(b));
10 u = L\rhs;
11 uu = reshape(u,N+1,N+1); [xx,yy] = meshgrid(x,y);
12 [xxx,yyy] = meshgrid(-1:.04:1,-1:.04:1);
13 uuu = interp2(xx,yy,uu,xxx,yyy,’cubic’);
14 surf(xxx,yyy,uuu), colormap(’default’);
15 axis([-1 1 -1 1 -.2 1]), view(-20,45)
16a text(0,.8,.4,sprintf(’u(0,0) = %12.10f’,...
16b uu(N/2+1,N/2+1)))
[email protected] Lecture IV Dolomites 2008
Solving PDEs via RBF-PS Methods M ATLAB Code

Remark
Note that for this type of elliptic problem we require inversion of the
differentiation matrix.
As pointed out above, we use the non-symmetric RBF-PS method
even though this may not be warranted theoretically.

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods M ATLAB Code

Program (LRBF.m)
1 function [L,x,y] = LRBF(N,rbf,Lrbf,ep)
2 if N==0, L=0; x=1; return, end
3 x = cos(pi*(0:N)/N)’; % Chebyshev points
4 y = x; [xx,yy] = meshgrid(x,y);
5 points = [xx(:) yy(:)];
6 r = DistanceMatrix(points,points);
7 A = rbf(ep,r);
8 AL = Lrbf(ep,r);
9 L = AL/A;

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods M ATLAB Code

Summary

Coupling RBF collocation and PS methods yields additional


insights about RBF methods
Provides “standard" procedure for solving time-dependent PDEs
with RBFs
Can apply many standard PS procedures to RBF solvers, but now
can take advantage of scattered (multivariate) grids
RBF-PS method for ε = 0 identical to Chebyshev-PS method and
more accurate for small ε
RBF-PS method has been applied successfully to a number of
engineering problems (see, e.g.,
[Ferreira & F. (2006), Ferreira & F. (2007)])

[email protected] Lecture IV Dolomites 2008


Solving PDEs via RBF-PS Methods M ATLAB Code

Future work:
Need to think about stable way to compute larger problems with
RBFs (preconditioning) – especially for eigenvalue problems
Need efficient computation of differentiation matrix analogous to
FFT
Can think about adaptive PS methods with moving grids

[email protected] Lecture IV Dolomites 2008


Appendix References

References I

Buhmann, M. D. (2003).
Radial Basis Functions: Theory and Implementations.
Cambridge University Press.
Fasshauer, G. E. (2007).
Meshfree Approximation Methods with M ATLAB.
World Scientific Publishers.
Fornberg, B. (1998).
A Practical Guide to Pseudospectral Methods.
Cambridge Univ. Press.
Higham, D. J. and Higham, N. J. (2005).
M ATLAB Guide.
SIAM (2nd ed.), Philadelphia.
Trefethen, L. N. (2000).
Spectral Methods in M ATLAB.
SIAM (Philadelphia, PA).

[email protected] Lecture IV Dolomites 2008


Appendix References

References II

Wendland, H. (2005).
Scattered Data Approximation.
Cambridge University Press.
Fasshauer, G. E. (1997).
Solving partial differential equations by collocation with radial basis functions.
in Surface Fitting and Multiresolution Methods, A. Le Méhauté, C. Rabut, and L.
L. Schumaker (eds.), Vanderbilt University Press (Nashville, TN), pp. 131–138.
Ferreira, A. J. M. and Fasshauer, G. E. (2006).
Computation of natural frequencies of shear deformable beams and plates by an
RBF-pseudospectral method.
Comput. Methods Appl. Mech. Engrg. 196, pp. 134–146.
Ferreira, A. J. M. and Fasshauer, G. E. (2007).
Analysis of natural frequencies of composite plates by an RBF-pseudospectral
method.
Composite Structures, 79, pp. 202–210.

[email protected] Lecture IV Dolomites 2008


Appendix References

References III

Kansa, E. J. (1986).
Application of Hardy’s multiquadric interpolation to hydrodynamics.
Proc. 1986 Simul. Conf. 4, pp. 111–117.
Schaback, R. (2007).
Convergence of unsymmetric kernel-based meshless collocation methods,
SIAM J. Numer. Anal. 45(1), pp. 333–351.

[email protected] Lecture IV Dolomites 2008

You might also like