#matrix #matrix-decomposition #qr-decomposition
Вопрос:
Я ищу самый быстрый способ вычисления вектора столбцов и строк, чье внешнее произведение наилучшим образом аппроксимирует заданную (квадратную) матрицу. В идеале мне нужен необработанный алгоритм, без необходимости во внешних зависимостях (например, для извлечения собственных значений матрицы и т. Д.).
Чтобы судить о том, что в данном случае означает «наилучшее приближение», может помочь получить контекст: цель этого состоит в том, что я хочу ускорить операцию 2D-фильтрации, разделив большое квадратное ядро 2D-фильтра (матрицу) на два ядра 1D-фильтра (вычисляемые векторы столбцов и строк). Я бы предположил, что сведение к минимуму квадратической разницы между исходной матрицей и приближением может быть лучшим выбором здесь.
Алгоритмическое объяснение помогло бы мне гораздо больше, чем очень сложная математическая нотация, если это возможно. 🙂