I’ve been trying to understand how the Alabern-Mateu-Verdera characterization of Sobolev spaces works. Consider a function . Let be the average of on scale ; that is, . The difference measures the deviation of from a line. AMV define the square function as a weighted average of the squares of such deviations:
Since I’m mostly interested in the local matters, I’ll use the truncated square function which avoids the large-scale considerations. If is very nice (say, twice continuously differentiable), then is of order , and the integral converges with room to spare. For example, here is the Gaussian ( is in blue, in red):
This looks suspicious. Clearly, measures the size of the second derivative, not of the first. Yet, one of the Alabern-Mateu-Verdera theorems is for the Sobolev space of first order : namely, (for finite ). So, the degree of integrability of matches that of , even though the functions look very different.
For functions that are not very nice may be infinite for some values of . For example, if the graph of has a corner at some point, then is of order there, and the integral defining diverges as . For example, take the triangle :
The triangle is a Lipschitz, i.e., , but its is not bounded. So, the AMV characterization does not extend to . However, the blow-up rate of in this example is merely logarithmic ( to be precise), which implies for all , in accordance with the AMV theorem. Again, we notice that and look rather unlike each other… except that now resembles the absolute value of the Hilbert transform of .
Here is the semicircle :
At the endpoints of the arc blows up as , and therefore only when . And indeed, near the endpoints the nonlinearity on scale is about , which turns the integrand in the definition of into . Hence, as . We have iff , as needed.
The last example, , has both a cusp and two corners, demonstrating the different rates at which blows up.
My Scilab code is probably not the most efficient one for this purpose. I calculated using a multidiagonal matrix with on the main diagonal and on the nearest diagonals.
step=0.01; scale=1; x=[-3:step:3]; n=length(x); s=zeros(n)
for k=1:(scale/step) do
for j=1:k do
clf(); plot(x,f); plot(x,s,'red')