Який найкращий спосіб обчислити сингулярне розкладання величини (SVD) дуже великої позитивної матриці (65M x 3.4M), де дані надзвичайно рідкі?
Менше 0,1% матриці не дорівнює нулю. Мені потрібен спосіб, який:
- впишеться в пам'ять (я знаю, що існують онлайн-методи)
- буде обчислено у розумний час: 3,4 дня
- буде досить точним, проте точність не є моєю основною проблемою, і я хотів би мати можливість контролювати, скільки ресурсів я вклав у це.
Було б чудово мати бібліотеку Haskell, Python, C # тощо, яка реалізує її. Я не використовую математику або R, але при необхідності я можу піти з Р.