Necesito generar al azar no de las matrices cuadradas con filas y columnas, elementos distribuidos en forma aleatoria con media = 0, y limitada de forma que la longitud (L2 norma) de cada fila es y la longitud de cada columna es . De forma equivalente, la suma de los cuadrados de los valores es de 1 por cada fila y para cada columna.
Hasta ahora he encontrado una forma de lograr esto: simplemente inicializar los elementos de la matriz de forma aleatoria (por ejemplo, de un uniforme, normal, o de laplace de distribución con cero significa y arbitraria de la varianza), alternativamente, normalizar las filas y columnas de a , terminando con la fila de normalización. Esto parece converger hacia el resultado deseado con bastante rapidez (por ejemplo, para , la varianza de la longitud de la columna es típicamente ~ después iteraciones), pero no estoy seguro de si puedo confiar en este rápido ritmo de convergencia en general (por diversas matriz de dimensiones y elemento inicial de las distribuciones).
Mi pregunta es esta: ¿hay una manera de lograr el resultado deseado (, ) directamente, sin la iteración entre la fila/columna de la normalización? E. g. algo así como el algoritmo para la normalización de un vector aleatorio (inicializar los elementos al azar, medir la suma de los cuadrados de los valores, la escala de cada elemento en común un escalar). Si no, hay una caracterización sencilla de la velocidad de convergencia (por ejemplo, num iteraciones hasta que el error ) del método iterativo descrito anteriormente?