# Quantify smoothness of vector field

I have different vectors field and I want to characterize their "smoothness" or tendency to align, or like their heterogeneity. Here are two examples, a relatively smooth vector field on the left, and a "chaotic" on the right: If the motion was straight, I could use the standard deviation applied to the x and y components. But in my case, even if I use a local ROI (depicted with the black box), the motion is curvy. So even if the motion was perfectly curvy (without noise) the standard deviation wouldn't be null.

My question is : how quantify (in an absolute way) the smoothness of the vector field ?

• Use the analog of unidimensional derivatives, such as its divergence, which you may estimate numerically. Exactly how you do this depends on what features of the vector field you wish to capture and on how the vector field is given to you (as data--if so, what format?--or as a mathematical object).
– whuber
Oct 2, 2020 at 20:44
• Have you considered cross-posting this to Math SE? There may be standard ways to quantify the smoothness of a vector field in differential geometry (speculation) which can be translated in statistical terms. Oct 2, 2020 at 20:53
• This sounds like turbulence? Maybe ask on physics SE how to measure turbulence from vector field data? ltces.dem.ist.utl.pt/LXLASER/lxlaser2000/papers/pdf/16_5.pdf Oct 31, 2022 at 17:08
• @kjetilbhalvorsen I am getting a "connect timed out" for that link. Aug 6 at 0:45
• Reminds me of this post: stats.stackexchange.com/questions/574089/… Aug 6 at 0:46

Not yet able to comment.

What level of detail do you have about the vector fields? Presumably not an analytical formula but rather just empirical values on some grid. E.g. you know the vector field on a subset of $$\alpha\mathbb Z^2$$ for some small float $$\alpha$$.

In that case the issue is that it may be a smooth underlying function but simply appear nonsmoooth at the level you are analyzing. Like the vectorfield $$v(x,y)=\langle \sin(100xy), \cos(100xy)\rangle$$ would appear random on $$0.01\mathbb Z^2$$.

So the best you can do is a relative answer - you can tell if a vector field appears smoother than another but not in any absolute sense.

One approach would be to smooth the vector field, e.g. by sampling points in an $$\epsilon$$-ball and computing the mean vector. You could then calculate the sum of the magnitude of difference between the smoothed vector field and the original. A smoother-appearing vector field will be better approximated by its smoothed counterpart.

You could also look at the correlation of subsequent values (similar to the autocorrelation with lag 1) of the vector field: $$\text{corr}(v(x,y),v(x+\alpha,y))$$ and similarly for the y-variable.

If the vector field is more smooth, then the subsequent values should be significantly correlated.