Я пытаюсь вычислить обратную матрицу в С++, используя Eigen. Обратное вычисление неверно, так как я пытался умножить исходную матрицу на ее обратную и не получил матрицу идентичности. Я также проверил, является ли матрица сингулярной, вычислив ее определитель, но он не равен 0. Матрица представляет собой матрицу двойных значений динамического размера, которая заполняется значениями внутри функции. В коде это выглядит так: Eigen::MatrixXd inverse_ee = knotenadmittanzmatrix_ee.inverse();
Я добавил фотографии матрицы nodenadmittanzmatrix_ee (Knotenadmittanz Extern-Extern), и получил обратную (Knotenadmittanz Extern-Extern invertiert).
Может ли кто-нибудь помочь мне с этой проблемой?
7.2e-8
по существу равен нулю по сравнению с масштабом вашей матрицы. Вы можете попытаться вычислить псевдоинверсию, если это поможет. (Примечание: пожалуйста, опубликуйте свою матрицу в виде текста, а не изображения, на случай, если кто-то захочет попробовать это локально). - person chtz   schedule 08.02.2021