2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 SVD разложение методом простых итераций
Сообщение10.09.2022, 20:37 


31/08/22
183
Здравствуйте. Всем доброго здоровья и хорошего настроения.
Посмотрел видео решил реализовать итерационный метод нахождения SVD разложения.
На 25:38 лектор делает заметку о своей описке $v_{i}$ вместо $v_{j}$ в формуле для $u_{1}$ но результата это не дает.

(Оффтоп)

Изображение

Вот реализация в маткаде (реализовано нахождение только одной пары векторов и соответствующего им сингулярного значения)

(Оффтоп)

Изображение

A - исходная матрица для разложения.
$svd(A)^{T}$ - разложение маткада для проверки.

Помогите пожалуйста разобраться в чем ошибка. Данный алгоритм не выдает ничего похожего на пару векторов и сингулярное значение, они не совпадает с маткадовским.
Попутные вопросы:
1) Как лучше реализовать начальную рандомизацию $u$?
2) Нужно ли нормировать векторы на каком либо этапе?
3) В конце лектор объясняет, что даже если мы прервали алгоритм, найдя некоторое количество первых векторов и сингулярных значений, то остатком матрицы $A$ можно заполнить пространство матриц $U$ и $V$ (в разложении $USV^{T}$) но как это сделать? Размерности то отличаются.

Ссылка на файл маткада

 Профиль  
                  
 
 Re: SVD разложение методом простых итераций
Сообщение15.09.2022, 22:08 


31/08/22
183
Все, разобрался. Всем спасибо за помощь :lol:

ПС: Я вообще по адресу пишу, ветка правильная?
В смежной теме по модифицированному методу Грама-Шмидта тоже никто ничего не сказал.
Понимаю, что чистые математики могут ничего не знать о тонкостях реализации методов.
Может существует какая-то специальная ветка на форуме где бы обсуждались вопросы математики (с упором на математику, возможности оптимизации) в разрезе реализации алгоритмов в программах?
Смотрел ветку Computer Science, но мне показалось, что там больше о самом программировании и т.д. Возможно стоило все же туда писать?

 Профиль  
                  
 
 Re: SVD разложение методом простых итераций
Сообщение15.09.2022, 22:40 
Заслуженный участник


09/05/12
25179
Schrodinger's cat, проблема не в том, что "чистые математики" (их тут, кстати, не так уж много - "нечистых" прикладников больше) что-то не знают, а в том, что MathCAD - полуигрушечная среда, которой мало кто пользуется. Как следствие, разбираться с тем, что вы там соорудили в малознакомом пакете, по скришотам кода желающих мало, равно как и смотреть какой-то видеоролик на полчаса с гаком ради того, чтобы понять, почему там кто-то что-то сказал.

Отсюда вывод: хотите иметь какую-то реакцию - пишите текст с формулами, содержащий информацию, существенную для понимания проблемы. От раздела форума это никак не зависит.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: svv


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group