В случае кратного же матрицы Мата, какредкий редкий продукт A^T * A Optim в Эйгене Lib
matA.transpose()*matA,
Вы не должны вычислять весь результат продукт, becouse результата матрица симметрична (так только если m> n), в моем конкретном случае всегда симметрично! квадрат.
Так что достаточно вычислить только для. ех. нижняя тринагулярная часть и остальная только копия ..... из-за результатов множественного 2-го и 3-го ряда, resp.col, то же самое, что и 3-й и 2-й ..... И т.д. ....
So мой вопрос есть, существует способ, как сказать Eigen, чтобы вычислить только нижнюю часть. и, возможно, сохранить только нижнюю часть тринагулятора продукта?
DATA = SparseMatrix<double>((SparseMatrix<double>(matA.transpose()) * matA).pruned()).toDense();
Итак, когда я сохраняю только. TriangularView(), он будет автоматически компрометировать половину результата продукта? как O (n^3/2), –
user2165656
Я не знаю, что вы подразумеваете под «сохранением». В приведенном выше примере будет вычисляться только нижний треугольник, независимо от сложности. –
это выглядит как некорректные значения, если я храню плотный продукт этого мультипакета, .. все нули – user2165656