Gracias joriki y Patrick. Francamente, yo prefiero joriki la respuesta de porque considera que la restricción específica. Y Patricio respuesta puede ser aplicado a más problemas genéricos. Para el registro, sucede que tengo otra solución, que creo que es muy similar a la joriki. Agradezco cualquier comentario sobre el método.
La idea es utilizar una rotación de satisfacer la restricción $\|x_{k+1}\|=\|x_k\|$:
$$x_{k+1}=R_kx_k$$
donde $R_k$ es una matriz de rotación ($R_k^TR_k=I, \det R_k=1$). Nota de rotación acaba de cambiar la dirección de un vector, pero sin cambiar la longitud. Con el fin de determinar $R_k$, yo uso el eje angular de la representación de una matriz de rotación (aka Rodrigues' fórmula):
$$R_k=I+[\omega_k]_{\times}\sin\theta_k+[\omega_k]_{\times}^2(1-\cos\theta_k)$$
donde $\omega_k$ es el eje de rotación, $\theta_k$ es el ángulo de rotación y $[\omega]_{\times}$ es el sesgo de simetría de la matriz de asociación con $\omega$. El eje de rotación puede ser elegido como
$$\omega_k=x_k \times n_k$$
y el tamaño del paso, $\theta_k$ podría ser determinado por un unidimensional de búsqueda.
EDITAR:
$$R_kx_k=x_k+\sin\theta_k (\omega_k\times x_k)+(1-\cos\theta_k)(\omega_k\omega_k^T-I)x_k$$
$$=x_k+\sin\theta_k (\omega_k\times x_k)-(1-\cos\theta_k)x_k
=\sin\theta_k (\omega_k\times x_k)+\cos\theta_k x_k$$
En la ecuación anterior, utilizamos los datos: $[\omega]{\times}^2=\omega\omega^T-\|\omega\|I$ $\omega^Tx=0$ (nota:$\omega\times x\ne 0$). Elija $\omega_k\times x_k=n_k$, es decir, $\omega_k=x_k\times n_k$, la ecuación anterior es exactamente el mismo que joriki la respuesta.
EDITAR de nuevo: demostrar que es de gradiente de la pendiente. Para $x_{k+1}=x_k+v$, mientras $v^T(-g)>0$, es el gradiente de la pendiente. Y $p(x)$ está garantizado para disminuir dado lo suficientemente pequeño paso. Para nuestro problema, podemos utilizar esto para probar? En nuestra ecuación,
$$x_{k+1}=x_k+\underset{v_k}{\underbrace{\sin\theta_k (\omega_k\times x_k)-(1-\cos\theta_k)x_k}}$$
así que necesitamos comprobar si $-v^Tg>0$. Es muy interesante que a diferencia del común de los casos, la evolución de la dirección depende del tamaño de paso de $\theta$. Debemos saber que el gradiente de la pendiente es sólo válido (matemáticamente) para suficientemente pequeño tamaño de paso. Al $\theta$ es muy pequeña, $\sin\theta=\theta$ $1-\cos\theta\approx0$ (de segundo orden). Así tenemos
$$v_k\approx\theta_k n_k$$
Obviamente $-g^T\theta_k n_k>0$. Así es el gradiente de la pendiente.
Resumen: con el fin de satisfacer la restricción, tenemos $v_k=\sin\theta_k (\omega_k\times x_k)-(1-\cos\theta_k)x_k$ (complejo). Pero con el fin de demostrar el descenso de la propiedad, tenemos $v_k\approx\theta_k n_k$ (simple y esencial).