Download FMM CMSC 878R/AMSC 698R Lecture 18

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Large numbers wikipedia , lookup

Strähle construction wikipedia , lookup

Karhunen–Loève theorem wikipedia , lookup

Transcript
FMM CMSC 878R/AMSC 698R
Lecture 18
Outline
• Example problem
–
–
–
–
S-expansion error;
S|S-translation error;
S|R-translation error;
R|R-translation error.
• Error and Neighborhoods
• Optimization of MLFMM within error bounds
• Effects of machine precision
Example Problem
This example is also good to evaluate 2D problem,
by treating x and y as complex numbers!
From Previous Lectures
R-expansion
S
R
xi
x*
S-expansion
Singular Point is located
at the Boundary
of regions for the
R- and S-expansions!
R|R-operator
S|S-operator
S|R-operator
S-Expansion Error
R
r
y
xk x*1
level L
S-Expansion Error
Ε1
R
r
d = 1: r/R=1/3,
d = 2: r/R=√2/3 <1/2.
Ε3
S|S-Translation Error
Translation from level α+1 to α:
p first coefficients at level α
can be exactly computed
from p first coefficients at
level α+1.
Τhis is exact translation of
first p coefficients!
S|S-Translation Error(2)
Translation from level α+1 to α:
This factor shows that
we are on level α
For any level α!
S|S-Translation Error(3)
y
x*1
x*2
xi
In this example S|S-translations do not cause any additional error!
S|R-Translation Error
(see the homework)
Note that in result of S|S-translations, first p coefficients are exact!
level L
y r
r
xk x*1
ρ
x*2
S|R-Translation Error (2)
x*1
xi
r
xk x*1
level L
ρ
y
x*2
y r
x*2
d = 1: ρ /r = 2,
d = 2: ρ /r = 2(2 - √2)/√2
= 2(√2 -1) > 0.8
S|R-Translation Error (3)
Long one!
continued
S|R-Translation Error (4)
It is really long!
we used this
continued
S|R-Translation Error (5)
That’s it!
d = 1: ρ /r = 2,
d = 2: ρ /r = 2(2 - √2)/√2
= 2(√2 -1) > 0.8
R|R-Translation Error
xi
y
x*2
x*1
R|R-Translation Error(2)
This is something, but why?
R|R-Translation Error(3)
Indeed, in our case the regular basis functions are
polynomials up to order p-1, which are obviously
can be expressed via other polynomial basis up
to order p-1 near arbitrary expansion center.
Zero error is provided due to domains of validity
are included hierarchically to larger validity domains.
Total Error
Total Error(2)
Total Error(3)
Total Error(4). 2-Neighborhood.
5-neighborhood
xi
x*2
y
x*1
Total Error(5). 2-Neighborhood.
Error for Different
Neighborhoods
k is the size of the neighborhood, m is the cell consolidation order
(in our case m = 0)
Optimization of MLFMM within
error bounds
In the example considered, the FMM error depends on:
• Truncation number, p;
• Max level of space subdivision, L;
• Size of the neighborhood (1,2, or maybe other);
• Number of sources, N;
• Problem dimensionality, d.
For fixed (given) N and d parameters p,L,and Neighborhood Size
can be optimized.
MLFMM Complexity
MLFMM Complexity(2)
More precisely,
CostMLFMMopt = O(NlogN+Nlogε0-1)
Effects of Machine Precision (1)
1.E-03
Double Precision Complex Arithmetics
Theoretical Error Bound
Max Abs Error
1.E-06
Machine Precision
Thresholds
16384
4096
1.E-09
1024
Actual Max Abs Error
256
1.E-12
64
N=16
1.E-15
1.E-12
M = N , q = q (ε), p = p (ε, l max)
1.E-09
1.E-06
Prescribed Max Abs Error, ε
1.E-03
Effects of Machine Error (2)
Two different computational problems:
1) Compute with a given prescribed accuracy;
2) Compute with a machine precision for a given type of float numbers.
Effects of Machine Error (3)
1.E+03
CPU Time (s)
1.E+02
Straightforward
1.E+01
y = ax 2
Max
Precision
C
t ti
1.E+00
MLFMM
FFIA
y = bx
ε = 10-4
ε = 10-6
1.E-01
1.E-02
1.E+02
FFT
MLFMM
Setting FFIA
Data Structure
M = N , q = q (ε), p = p (ε, l max)
1.E+03 1.E+04 1.E+05 1.E+06
Number of Source Points, N
1.E+07
Effects of Machine Error (4)
30
Truncation Number
25
20
15
Max
Precision
ε = 10 -6
ε = 10 -4
10
5
0
1.E+02
M = N , q = q (ε), p = p (ε, l max).
1.E+03 1.E+04 1.E+05 1.E+06
Number of Source Points, N
1.E+07
Effects of Machine Error (5)
If the cost of search is O(1),
then for computations with fixed machine precision
CostMLFMMopt = O(N)