0
$\begingroup$

This should be very easy, but I can't get my head around it: given $1\leq p < \infty$, and a point x with $\|x\|_p = 1$, how do I get a (or the unit, or any) vector which is perpendicular to the $\ell_p$-circle of all $\{s : \|s\|_p = 1$} at that point $x$? I'm more than happy with even just 2D - I tried parameterizing the circle of unit $\ell_p$ norm, then parameterizing whatever is perpendicular to it by setting the scalar product to zero, and then filling in a certain point, but somehow I never end up with a meaningful equation :/

Clearly, for $p=1$ it is always on the diagonal. For $p=2$, it always is collinear with the point $x$. But what about all other cases of $p$ - what relation holds between $x$ and the perpendicular vector at that point? What's the best approach even - parameterization and simple analysis, or tangent and cotangent spaces, differential analysis, or how would one even start?

UPDATE:

Thanks a lot to anon and Leonid. The gradient of the norm was simply what i was looking for. Since I don't even care about the length and am in the positive orthant, I can simply take $y_i = x_i^{p-1}$. Also, I quickly verified in Python/Reinteract2, quick code is below, also image for $p=3.82$. It seems to do exactly what I needed, and is correct for $p=1$ and $p=2$ by intuition. Thanks again.

from refigure2 import * from numpy import * import math  ps = linspace(1.2,6,12) t = linspace(0,1, 21) x = zeros(len(t)) y = zeros(len(t)) dx = zeros(len(t)) dy = zeros(len(t))  for i in xrange(len(ps)):     p = ps[i]     for i in xrange(len(t)):         x[i] = t[i]         y[i] = 1.0-t[i]         pnorm = (x[i]**p+y[i]**p)**(1.0/p)         x[i] = x[i]/pnorm         y[i] = y[i]/pnorm         dx[i] = x[i]**(p-1)         dy[i] = y[i]**(p-1)      with figure() as f:         ax = f.add_subplot(111, aspect='equal')         ax.plot(x,y)         for i in xrange(len(t)):             ax.plot([x[i],x[i]+dx[i]],[y[i],y[i]+dy[i]],c='r')         ax.axis([0,1.1,0,1.1])         f 

And here a Resulting plot sample.

UPDATE2: Ah, i see - I forgot to mention that i'm only interested in the positive orthant. Thanks for clarifying, leonid.

  • 0
    Of course, $x_i^{p-1}$ works only if the coordinates are nonnegative; in general it's $|x_i|^{p-2}x_i$.2012-05-17

1 Answers 1

1

What you are looking for is called a norming functional for $x$. By definition, this is an element $y$ of the dual space $\ell_p^*=\ell^q$ (here $q=p/(p-1)$) such that $\|y\|_q=1$ and $\langle x,y\rangle =1$. The brackets denote the pairing $\langle x,y\rangle = \sum x_iy_i$.

As was already suggested, taking the gradient of the norm gives you such a vector (when the gradient exists). Explicitly, $y_i=|x_i|^{p-2} x_i$ for all $i$: you should check that this works. Exception: if $p=1$ and $x_i=0$, we can take any $y_i\in [-1,1]$.