Ну, есть же, например QZ алгоритм (обобщение QR разложения, для слуая когда матрица масс не равна I). Отлично работает, когда одна из матриц вырожденная. Вот статься: https://deepblue.lib.umich.edu/bitstream/handle/2027.42/6667/bac9269.0001.001.pdf?sequence=5
вот коротко в Вики
Раскопал это вообще, глядя в справку от матлаба: https://www.mathworks.com/help/matlab/ref/eig.html.
Это все нюансы.... И все эти алгоритмы сущетсвуют уже кучу лет во всяких библиотеках типа LAPACK. Вы думаете, что в Dassault Systemes или Ansys про это не знают, и их мо