28
Numerical Methods in Geophysics Orthogonal Functions Function Approximation The Problem we are trying to approximate a function f(x) by another function g n (x) which consists of a sum over N orthogonal functions (x) weighted by some coefficients a n . ) ( ) ( ) ( 0 x a x g x f N i i i N

Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Embed Size (px)

Citation preview

Page 1: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Function Approximation

The Problem

we are trying to approximate a function f(x) by another function gn(x) which consists of a sum over N orthogonal functions (x) weighted by some coefficients an.

)()()(0

xaxgxfN

iiiN

Page 2: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

... and we are looking for optimal functions in a least squares (l2) sense ...

... a good choice for the basis functions (x) are orthogonal functions. What are orthogonal functions? Two functions f and g are said to be

orthogonal in the interval [a,b] if

b

a

dxxgxf 0)()(

How is this related to the more conceivable concept of orthogonal vectors? Let us look at the original definition of integrals:

The Problem

!Min)()()()(

2/12

2

b

a

NN dxxgxfxgxf

Page 3: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Orthogonal Functions - Definition

... where x0=a and xN=b, and xi-xi-1=x ...If we interpret f(xi) and g(xi) as the ith components of an N component

vector, then this sum corresponds directly to a scalar product of vectors. The vanishing of the scalar product is the condition for orthogonality of

vectors (or functions).

N

iii

b

aN

xxgxfdxxgxf1

)()(lim)()(

figi

0 ii

iii gfgf

Page 4: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Periodic functions

-15 -10 -5 0 5 10 15 200

10

20

30

40

Let us assume we have a piecewise continuous function of the form

)()2( xfxf

2)()2( xxfxf

... we want to approximate this function with a linear combination of 2 periodic functions:

)sin(),cos(),...,2cos(),2cos(),sin(),cos(,1 nxnxxxxx

N

kkkN kxbkxaaxgxf

10 )sin()cos(

2

1)()(

Page 5: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Orthogonality of Periodic functions

... are these functions orthogonal ?

0,00)sin()cos(

0

0,,0

)sin()sin(

0

02

0

)cos()cos(

kjdxkxjx

kj

kjkj

dxkxjx

kj

kj

kj

dxkxjx

... YES, and these relations are valid for any interval of length 2.Now we know that this is an orthogonal basis, but how can we obtain the

coefficients for the basis functions?

from minimising f(x)-g(x)

Page 6: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier coefficients

optimal functions g(x) are given if

0)()(!Min)()(22

xfxgorxfxg nan k

leading to

... with the definition of g(x) we get ...

dxxfkxbkxaaa

xfxga

N

kkk

kn

k

2

10

2)()sin()cos(

2

1)()(

2

Nkdxkxxfb

Nkdxkxxfa

kxbkxaaxg

k

k

N

kkkN

,...,2,1,)sin()(1

,...,1,0,)cos()(1

with)sin()cos(2

1)(

10

Page 7: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier approximation of |x|

... Example ...

.. and for n<4 g(x) looks like

leads to the Fourier Serie

...

5

)5cos(

3

)3cos(

1

)cos(4

2

1)(

222

xxxxg

xxxf ,)(

-20 -15 -10 -5 0 5 10 15 200

1

2

3

4

Page 8: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier approximation of x2

... another Example ...

20,)( 2 xxxf

.. and for N<11, g(x) looks like

leads to the Fourier Serie

N

kN kx

kkx

kxg

12

2

)sin(4

)cos(4

3

4)(

-10 -5 0 5 10 15-10

0

10

20

30

40

Page 9: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier - discrete functions

iN

xi2

.. the so-defined Fourier polynomial is the unique interpolating function to the function f(xj) with N=2m

it turns out that in this particular case the coefficients are given by

,...3,2,1,)sin()(2

,...2,1,0,)cos()(2

1

*

1

*

kkxxfN

b

kkxxfN

a

N

jjj

N

jjj

k

k

)cos(2

1)sin()cos(

2

1)( *

1

1

****0 kxakxbkxaaxg m

m

km kk

... what happens if we know our function f(x) only at the points

Page 10: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

)()(*iim xfxg

Fourier - collocation points

... with the important property that ...

... in our previous examples ...

-10 -5 0 5 100

0.5

1

1.5

2

2.5

3

3.5

f(x)=|x| => f(x) - blue ; g(x) - red; xi - ‘+’

Page 11: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier series - convergence

f(x)=x2 => f(x) - blue ; g(x) - red; xi - ‘+’

-10 -5 0 5 10 15-10

0

10

20

30

40

50 N = 4

-10 -5 0 5 10 15-10

0

10

20

30

40

50 N = 8

Page 12: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier series - convergence

f(x)=x2 => f(x) - blue ; g(x) - red; xi - ‘+’

-10 -5 0 5 10 15-10

0

10

20

30

40

50 N = 16

-10 -5 0 5 10 15-10

0

10

20

30

40

50 N = 32

Page 13: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Orthogonal functions - Gibb’s phenomenon

f(x)=x2 => f(x) - blue ; g(x) - red; xi - ‘+’

0 0.5 1 1.5-6

-4

-2

0

2

4

6

N = 32

0 0.5 1 1.5-6

-4

-2

0

2

4

6

N = 16

0 0.5 1 1.5-6

-4

-2

0

2

4

6

N = 64

0 0.5 1 1.5-6

-4

-2

0

2

4

6

N = 128

0 0.5 1 1.5-6

-4

-2

0

2

4

6

N = 256

The overshoot for equi-spaced Fourier

interpolations is 14% of the step height.

Page 14: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev polynomials

We have seen that Fourier series are excellent for interpolating (and differentiating) periodic functions defined on a regularly spaced grid. In many circumstances physical phenomena which are not periodic (in space) and occur in a limited area. This quest leads to the use of Chebyshev polynomials.

We depart by observing that cos(n) can be expressed by a polynomial in cos():

1cos8cos8)4cos(

cos3cos4)3cos(

1cos2)2cos(

24

3

2

... which leads us to the definition:

Page 15: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev polynomials - definition

NnxxxTTn nn ],1,1[),cos(),())(cos()cos(

... for the Chebyshev polynomials Tn(x). Note that because of x=cos() they are defined in the interval [-1,1] (which - however - can be extended to ). The first polynomials are

0

244

33

22

1

0

and]1,1[for1)(

where188)(

34)(

12)(

)(

1)(

NnxxT

xxxT

xxxT

xxT

xxT

xT

n

Page 16: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev polynomials - Graphical

The first ten polynomials look like [0, -1]

The n-th polynomial has extrema with values 1 or -1 at

0 0.2 0.4 0.6 0.8 1-1

-0.5

0

0.5

1

x

T_

n(x)

nkn

kx extk ,...,3,2,1,0),cos()(

Page 17: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev collocation points

These extrema are not equidistant (like the Fourier extrema)

nkn

kx extk ,...,3,2,1,0),cos()(

k

x(k)

Page 18: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev polynomials - interpolation

... we are now faced with the same problem as with the Fourier series. We want to approximate a function f(x), this time not a

periodical function but a function which is defined between [-1,1]. We are looking for gn(x)

)()(2

1)()(

100 xTcxTcxgxf

n

kkkn

... and we are faced with the problem, how we can determine the coefficients ck. Again we obtain this by finding the extremum

(minimum)

01

)()(2

1

1

2

x

dxxfxg

c nk

Page 19: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev polynomials - interpolation

... to obtain ...

nkx

dxxTxfc kk ,...,2,1,0,

1)()(

2 1

12

... surprisingly these coefficients can be calculated with FFT techniques, noting that

nkdkfck ,...,2,1,0,cos)(cos2

0

... and the fact that f(cos) is a 2-periodic function ...

nkdkfck ,...,2,1,0,cos)(cos1

... which means that the coefficients ck are the Fourier coefficients ak of the periodic function F()=f(cos )!

Page 20: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev - discrete functions

iN

xi

cos

... leading to the polynomial ...

in this particular case the coefficients are given by

2/,...2,1,0,)cos()(cos2

1

* NkkfN

cN

jjjk

m

kkkm xTcTcxg

1

**0

* )(2

1)( 0

... what happens if we know our function f(x) only at the points

... with the property

N0,1,2,...,jj/N)cos(xat)()( j* xfxgm

Page 21: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev - collocation points - |x|

f(x)=|x| => f(x) - blue ; gn(x) - red; xi - ‘+’

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1 N = 8

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1 N = 16

8 points

16 points

Page 22: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev - collocation points - |x|

f(x)=|x| => f(x) - blue ; gn(x) - red; xi - ‘+’

32 points

128 points

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1 N = 32

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1 N = 128

Page 23: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev - collocation points - x2

f(x)=x2 => f(x) - blue ; gn(x) - red; xi - ‘+’

8 points

64 points

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

1.2 N = 8

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

1.2 N = 64

The interpolating function gn(x) was shifted by a small amount to be visible at all!

Page 24: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev vs. Fourier - numerical

f(x)=x2 => f(x) - blue ; gN(x) - red; xi - ‘+’

This graph speaks for itself ! Gibb’s phenomenon with Chebyshev?

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1 N = 16

0 2 4 6-5

0

5

10

15

20

25

30

35

N = 16

Chebyshev Fourier

Page 25: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev vs. Fourier - Gibb’s

f(x)=sign(x-) => f(x) - blue ; gN(x) - red; xi - ‘+’

Gibb’s phenomenon with Chebyshev? YES!

Chebyshev Fourier

-1 -0.5 0 0.5 1-1.5

-1

-0.5

0

0.5

1

1.5 N = 16

0 2 4 6-1.5

-1

-0.5

0

0.5

1

1.5 N = 16

Page 26: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Chebyshev vs. Fourier - Gibb’s

f(x)=sign(x-) => f(x) - blue ; gN(x) - red; xi - ‘+’

Chebyshev Fourier

-1 -0.5 0 0.5 1-1.5

-1

-0.5

0

0.5

1

1.5 N = 64

0 2 4 6 8-1.5

-1

-0.5

0

0.5

1

1.5 N = 64

Page 27: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier vs. Chebyshev

Fourier Chebyshev

iN

xi2

iN

xi

cos

periodic functions limited area [-1,1]

)sin(),cos( nxnx

cos

),cos()(

x

nxTn

)cos(2

1

)sin()cos(

2

1)(

*

1

1

**

**0

kxa

kxbkxa

axg

m

m

k

m

kk

m

kkkm xTcTcxg

1

**0

* )(2

1)( 0

collocation points

domain

basis functions

interpolating function

Page 28: Orthogonal Functions Numerical Methods in Geophysics Function Approximation The Problem we are trying to approximate a function f(x) by another function

Numerical Methods in Geophysics Orthogonal Functions

Fourier vs. Chebyshev (cont’d)

Fourier Chebyshev

coefficients

some properties

N

jjj

N

jjj

kxxfN

b

kxxfN

a

k

k

1

*

1

*

)sin()(2

)cos()(2

N

jjj kf

Nck

1

* )cos()(cos2

• Gibb’s phenomenon for discontinuous functions

• Efficient calculation via FFT

• infinite domain through periodicity

• limited area calculations

• grid densification at boundaries

• coefficients via FFT

• excellent convergence at boundaries

• Gibb’s phenomenon