Я пытаюсь вычислить, является ли разреженная матрица, на которой я работаю, положительно определенной.Для этого я пытаюсь использовать критерий Сильвестра, означающий, что старшие миноры положительны.
Чтобы вычислить определитель матрицы, я строю решатель sparseLU для каждого блока матрицы, который затем может дать мнеопределитель матрицы.Но, начиная с определенного измерения (около 130 * 130), я получаю результат, что все детерминанты равны 0. Это не какое-то особое измерение в моей задаче (матрица имеет блоки 32 * 32), поэтому я считаю, что эта проблема связанак некоторому алгоритму усечения, применяемому Эйгеном, когда детерминанты просто опускаются ниже некоторых порогов.
Мой поиск такого механизма не привел к приличным результатам.Моя матрица имеет размеры около 16k * 16k, и все ненулевые элементы находятся на 96 элементах рядом с диагональю.
Реализован ли какой-либо механизм усечения в Eigen, и могу ли я каким-то образом контролировать его пороги?