on the calculation of higher-order convolutions · pseudospectral simulations i we wish to solve...
TRANSCRIPT
![Page 1: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/1.jpg)
On the Calculation of Higher-Order
Convolutions
Malcolm Roberts and John Bowman
University of Alberta
December 11, 2011
![Page 2: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/2.jpg)
Outline
Pseudospectral simulations
Generalized convolutions
Dealiasing
Error terms
Malcolm Roberts and John Bowman University of Alberta
![Page 3: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/3.jpg)
Pseudospectral simulations
I We wish to solve the Navier–Stokes equations numerically.
I The incompressible 2D vorticity formulation
∂ω
∂t+ (u · ∇)ω = ν∇2ω
is Fourier-transformed into
∂ωk
∂t=∑
p+q=k
εkpqq2
ω∗pω∗q − νk2ωk
εkpq = (z · p × q)δ(k + p + q)
I The quadratic nonlinearity becomes a convolution.
Malcolm Roberts and John Bowman University of Alberta
![Page 4: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/4.jpg)
Cubic nonlinearities
I Cubic terms∂u
∂t= u3
become ternary convolutions
∂Uk
∂t= ∗(Uk ,Uk ,Uk)
I The ternary convolution is defined as
∗(F ,G ,H)k =∑a,b,c
FaGbHc δk,a+b+c .
I Cubic nonlinearities appear in, for example, the non-linearSchrodinger equation.
Malcolm Roberts and John Bowman University of Alberta
![Page 5: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/5.jpg)
Generalized convolutions
DefinitionThe n-ary convolution is given by
∗(F 1, . . . ,F n
)k
=∑
a1,...,an
F 1a1. . . F n
an δk,a1+···+an .
Theorem
F−1[∗(F 1, . . . ,F n
)]=
n∏i=1
F−1[F i].
Malcolm Roberts and John Bowman University of Alberta
![Page 6: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/6.jpg)
Generalized convolutions
Proof.Denote roots of unity e2πi/N = ζN .Let Ck =
∑a1,...,an
F 1a1. . . F n
anδk,a1+···+an .
F−1[C ]x =1
N
∑k
ζxkN∑
a1,...,an
F 1a1. . . F n
anδk,a1+···+an
=1
N
∑a1,...,an
ζx(a1+···+an)N F 1
a1. . . F n
an
=n∏
i=1
1
N
∑ai
ζxaiN F iai
=n∏
i=1
F−1[F i]x.
Malcolm Roberts and John Bowman University of Alberta
![Page 7: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/7.jpg)
Dealiasing n-ary convolutions
I Direct convolutions require O(N2) operations.
I FFT-based convolutions require O(N logN) operations.
I However, FFTs treat input data as periodic: this producesaliasing errors.
I We remove these by implicitly padding the data withzeroes.
Malcolm Roberts and John Bowman University of Alberta
![Page 8: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/8.jpg)
Dealiasing n-ary convolutions
For non-centered input data,
I F i = {F ik , k ∈ (0, . . . ,m − 1)d},
I Pad from (0, . . . ,m − 1)d to length (0, . . . , nm − 1)d .
I Explicit padding memory use: nd+1md ,
I Implicit padding memory use: n2md ,
I Complexity: n(n + 1)nd−1n−1 Kmd log nm.
Malcolm Roberts and John Bowman University of Alberta
![Page 9: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/9.jpg)
Dealiasing n-ary convolutions
For Hermitian-symmetric centered input data,
I F i = {F ik , k ∈ (−m + 1, . . . ,m − 1)d},
I F−k = F ∗k , where the asterisk is complex conjugation,
I Pad from {0,m − 1} × {−m + 1,m − 1}d−1 to{0, nm − 1} × {−m + 1, nm − 1}d−1.
I Explicit padding memory use: n(n+1)d
2md ,
I Implicitly padding memory use: n(n + 1)2d−2md ,
I Complexity: 12(n + 1)2 (n+1)d−2d
n−1 Kmd log nm.
Malcolm Roberts and John Bowman University of Alberta
![Page 10: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/10.jpg)
Exposition of implicitly padded 2D ternary
convolutions
{∗(F,G,H)k}m−1k=0
Malcolm Roberts and John Bowman University of Alberta
![Page 11: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/11.jpg)
Calculating using binary convolutions
n-ary convolutions are very expensive.
I Can we use binary convolutions?
I For periodic data, non-centered data, and infinite-lengthinput data,
∗(F ,G ,H) = (F ∗ G ) ∗ H .
For n-ary non-centered convolutions, using binary convolutionsis better:
I requires only (n + 2)md memory,
I has complexity (n − 1)6(2d − 1)Kmd logm.
Malcolm Roberts and John Bowman University of Alberta
![Page 12: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/12.jpg)
Calculating using binary convolutions: proof
Theorem∗(F 1, . . . ,F n), F i ∈ `2 can be computed as binaryconvolutions.
Proof.
∗(F 1, . . . ,F n
)k
=∑
a1,...,an∈ZF 1a1. . . F n
anδa1+···+an,k
=∑
a1,...,an∈ZF 1a1. . . F n
anδa1+···+an−1,kδan+k,k
=∑
k,an∈Z
F nanδan+k,k
∑a1,...,an−1∈Z
F 1a1. . . F n−1
an−1δa1+···+an−1,k
=[∗(F 1, . . . ,F n−1) ∗ F n
]k.
Malcolm Roberts and John Bowman University of Alberta
![Page 13: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/13.jpg)
Centered data
TheoremFor centered data, ∗(F ,G ,H) 6= (F ∗ G ) ∗ H .
Proof.
∗(Fa,Gb,Hc)1 (Fa ∗ (Gb ∗ Hc)k)1a b c a k b c
1 0 0 1 0 0 00 1 0 0 1 1 00 0 1 0 1 0 11 1 -1 1 0 1 -11 -1 1 1 0 -1 1-1 1 1 N/A
Moreover, F ∗ (G ∗ H) 6= (F ∗ G ) ∗ H .Malcolm Roberts and John Bowman University of Alberta
![Page 14: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/14.jpg)
Centered data
We can reduce the memory use by multiplying arrays in pairs.
For 1D convolutions,
I memory use is reduced to 32nm,
I computational complexity is unchanged.
I Not applicable to multi-dimensional transforms.
Malcolm Roberts and John Bowman University of Alberta
![Page 15: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/15.jpg)
{fn}N−1n=0 {gn}N−1
n=0 {hn}N−1n=0
{fn}N−1n=0 {Fk}2N−1
k=0 , k odd {gn}N−1n=0 {Gk}2N−1
k=0 , k odd {hn}N−1n=0
{fn}N−1n=0 {FkGk}2N−1
k=0 , k odd {gn}N−1n=0 {hn}N−1
n=0
{fn}N−1n=0 {FkGk}2N−1
k=0 , k odd {gn}N−1n=0 {Hk}N−1
n=0 , k odd {hn}N−1n=0
{fn}N−1n=0 {gn}N−1
n=0 {FkGkHk}2N−1k=0 , k odd {hn}N−1
n=0
{fn}N−1n=0 F−1{FkGkHk}2N−1
k=0 , k odd {gn}N−1n=0 {hn}N−1
n=0
F−1{FkGkHk}2N−1k=0 , k odd {gn}N−1
n=0 {Fk}2N−1k=0 , k even {hn}N−1
n=0
{Gk}2N−1k=0 , k even F−1{FkGkHk}2N−1
k=0 , k odd {Fk}2N−1k=0 , k even {hn}N−1
n=0
F−1{FkGkHk}2N−1k=0 , k odd {FkGk}2N−1
k=0 , k even {hn}N−1n=0
{Hk}2N−1k=0 , k even F−1{FkGkHk}2N−1
k=0 , k odd {FkGk}2N−1k=0 , k even
F−1{FkGkHk}2N−1k=0 , k odd {FkGkHk}2N−1
k=0 , k even
F−1{FkGkHk}2N−1k=0 , k even F−1{FkGkHk}2N−1
k=0 , k odd
{∗(f, g, h)}2N−1n=0
Malcolm Roberts and John Bowman University of Alberta
![Page 16: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/16.jpg)
Error terms
I The full n-ary convolution is very expensive.
I Using binary convolutions to calculate an n-aryconvolution is cheap, but misses terms.
I The missed terms are far from the origin.
I If the input data decreases with |k |, binary convolutionsmight produce reasonable results.
Malcolm Roberts and John Bowman University of Alberta
![Page 17: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/17.jpg)
Error terms
To visualize which terms are missing in F ∗ (G ∗ H), firstconsider the convolution of F and G :
G
F
(F ∗G)m−1
(F ∗G)m/2
(F ∗G)0
(F ∗G)−m/2
(F ∗G)−m+1
Malcolm Roberts and John Bowman University of Alberta
![Page 18: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/18.jpg)
Error terms
∗(F ,G ,H)0 and ((F ∗ G ) ∗ H)0 agree.
Malcolm Roberts and John Bowman University of Alberta
![Page 19: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/19.jpg)
Error terms
∗(F ,G ,H)m−1 and ((F ∗ G ) ∗ H)m−1 disagree.
Malcolm Roberts and John Bowman University of Alberta
![Page 20: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/20.jpg)
Conclusions
I Pseudospectral simulations with higher nonlinearitiesinvolve computing n-ary convolutions.
I Non-centered n-ary convolutions can be computed viabinary convolutions.
I Centered n-ary convolutions cannot be computed viabinary convolutions.
I The difference error occurs at high wavenumbers; it maybe possible to bound the error.
Malcolm Roberts and John Bowman University of Alberta
![Page 21: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/21.jpg)
Future Work
I Parallelize the implicit convolution.
I Optimize parallel routines for Navier–Stokes simulators.
I Determine if reduced-memory n-ary convolutions areworthwhile for large values of n.
I Develop code for special cases, such as self-convolution.
Malcolm Roberts and John Bowman University of Alberta
![Page 22: On the Calculation of Higher-Order Convolutions · Pseudospectral simulations I We wish to solve the Navier{Stokes equations numerically. I The incompressible 2D vorticity formulation](https://reader033.vdocument.in/reader033/viewer/2022060210/5f049a4a7e708231d40ec925/html5/thumbnails/22.jpg)
Resources
FFTW++:http://fftwpp.sourceforge.net
Asymptote:http://asymptote.sourceforge.net
Malcolm Roberts:http://www.math.ualberta.ca/~mroberts
Malcolm Roberts and John Bowman University of Alberta