(удалил предыдущий ответ, так как я допустил ошибку при копировании матрицы)
Ваша матрица совершенно единственная, поэтому обратного на самом деле не существует. Из-за ограничений числовой точности numpy.linalg.inv
дает вам матрицу с очень большими значениями, которая является обратной к другой (аналогичной) матрице.
Я не знаю, что Matlab делает в этой ситуации, но это возможно что он дает псевдообращение Мура-Пенроуза, которое будет вести себя так, как вы описываете. Обратите внимание, что это не то же самое, что обратное, которого не существует. В numpy вы можете получить псевдообрат Мура-Пенроуза как np.linalg.pinv
.