Если матрица, подлежащая диагонализации, не является эрмитовой, собственные значения, как правило, будут сложными, так что они вообще не могут быть отсортированы.
numpy.linalg.eig
вызывает LAPACK
подпрограммы, а в LAPACK
сортировка в порядке убывания (когда это возможно, то есть в случае реальных собственных значений): « популярное соглашение ». numpy
нельзя связать только со ссылкой LAPACK
в http://www.netlib.org/lapack/, но также и с любой другой библиотекой, предоставляющей соответствующие подпрограммы линейной алгебры, которая не обязательно должна выполнять то же самое или любое собственное значение сортировка. numpy.linalg.eig
не выполняет никакой сортировки сверх того, что уже выполняются в Фортране в LAPACK
, поэтому отсортированные собственные значения могут не гарантироваться даже для эрмитовых (включая вещественные симметрии c) матриц.