2014 dxdy logo

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

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


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


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



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


31/08/22
179
Здравствуйте. Всем доброго здоровья и хорошего настроения.
Посмотрел видео решил реализовать итерационный метод нахождения 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
179
Все, разобрался. Всем спасибо за помощь :lol:

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

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


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

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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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