Мне нужно сгенерировать случайные неквадратные матрицы с строками и столбцами , элементами, случайно распределенными со средним значением = 0, и ограниченными таким образом, чтобы длина (норма L2) каждой строки составляла а длина каждого столбца составляла . Эквивалентно, сумма квадратных значений равна 1 для каждой строки и для каждого столбца.
До сих пор я нашел один способ достичь этого: просто инициализировать матричные элементы случайным образом (например, из равномерного, нормального или распределения Лапласа с нулевым средним и произвольной дисперсией), а затем поочередно нормализовать строки и столбцы в , заканчивающийся нормализацией строки. Похоже, что это довольно быстро сходится к желаемому результату (например, для и дисперсия длины столбца обычно составляет ~ после итераций), но я не уверен, могу ли я зависеть от этой быстрой скорости сходимости в общем (для различных размеров матрицы и начальных распределений элементов).
Мой вопрос заключается в следующем: есть ли способ достичь желаемого результата ( , ) напрямую без итерации между нормализация строк / столбцов? Например, что-то вроде алгоритма нормализации случайного вектора (инициализируйте элементы случайным образом, измерьте сумму квадратов, затем масштабируйте каждый элемент с помощью общего скаляра). Если нет, существует ли простая характеристика скорости сходимости (например, num итераций до ошибки ) итерационного метода, описанного выше?