1 year ago

#181721

test-img

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

Accepted video resources