1 year ago
#181721
Víctor
How to compute a negative Sobolev norm with Matlab
Let the torus T^2 be the domain [0,1)^2 in R^2 with periodic boundary conditions. In general, the negative Sobolev norm H^(-1) of a function f defined on the torus can be computed as:
- a dual norm from the H^1 space, i.e. H^(-1) is defined to be de dual of H^1 (note: we say g is in H^1 if grad g is in L^2).
- in terms of the Fourier transform Ff like the sum over all frequencies k in Z^2 without k=(0,0) of |Ff(k)|^2/|k|^2.
I am running some numerical experiments in Matlab and I would like to compute the H^(-1) norm of some functions that I have obtained numerically and hence I have defined in a finite set of discrete points. The most straightforward way to compute it might be by means of the command fft2, since in the end my 2D function is just described by a matrix. My problem is that I do not know how the frequencies are labelled by this command, would it be enough to do
Ff = fft2(f);
sob_norm = 0;
for i=1:L
for j=1:L
if i==1 && j==1
sob_norm = sob_norm;
else
sob_norm = sob_norm + norm([i-1,j-1])^(-2)*norm(Ff(i,j))^2;
end
end
end
or should I scale the 1/|k|^2 in a different way? I guess there is something I am not understanding correctly because the scale of the norm is much bigger than it should.
I apologize whether this is not the most appropriate forum to ask about this, any help about a more convenient place it is very much appreciated too. Thanks a lot.
matlab
calculus
numerical-analysis
0 Answers
Your Answer