Sympy — Matrix .row_insert и .col_insert неожиданно при pos = -1

#python #matrix #sympy

#питон #матрица #сочувствие

Вопрос:

Код:

 from sympy import Matrix

Matrix([[1, 1], [1, 1]]).row_insert(-1, Matrix([[2,2]]))
 

Ожидаемый результат:

 Matrix([
[1, 1],
[1, 1],
[2, 2]])
 

Полученный результат:

 Matrix([
[1, 1],
[2, 2],
[1, 1]])
 

Аналогичный неожиданный результат возникает и с .col_insert . Почему -1 индекс работает не так, как ожидалось?

(Версия Sympy 1.6.2)

Комментарии:

1. row_insert Метод вставляет строки перед существующей строкой этого индекса, поэтому row_insert(-1, V) вставляет строку перед последней строкой. Вы можете использовать row_insert(M.shape[0], V) или vstack для добавления строк.