Muszę wygenerować losowe macierze nie kwadratowe z wierszami i kolumnami C , elementy losowo rozmieszczone ze średnią = 0 i ograniczone tak, że długość (norma L2) każdego wiersza wynosi 1, a długość każdej kolumny wynosi √ . Odpowiednio suma wartości kwadratowych wynosi 1 dla każdego wiersza iR. dla każdej kolumny.
Do tej pory znalazłem jeden sposób, aby to osiągnąć: po prostu zainicjuj elementy macierzy losowo (np. Z rozkładu równomiernego, normalnego lub laplace'a z zerową średnią i dowolną wariancją), a następnie naprzemiennie normalizuj wiersze i kolumny, aby , kończąc na normalizacji wiersza. Wydaje się, że dość szybko zbliża się do pożądanego wyniku (np. Dla R = 40 i C = 80 , wariancja długości kolumny wynosi zwykle ~ 0,00001 po 2 iteracjach), ale nie jestem pewien, czy mogę polegać na tym szybkim współczynniku zbieżności w ogólne (dla różnych wymiarów macierzy i początkowych rozkładów elementów).
Moje pytanie brzmi: czy istnieje sposób na osiągnięcie pożądanego rezultatu ( , c o l u m n l e n g t h s = √ ) bezpośrednio, bez iteracji między normalizacją wiersza / kolumny? Np. Algorytm normalizujący losowy wektor (inicjowanie elementów losowo, pomiar sumy wartości kwadratowych, a następnie skalowanie każdego elementu za pomocą wspólnego skalara). Jeśli nie, to czy istnieje prosta charakterystyka współczynnika konwergencji (np. Liczba iteracji aż do błędu<ϵ) metody iteracyjnej opisanej powyżej?