#sympy
#сочувствие
Вопрос:
Инициализация вектора с помощью sympy.Matrix([1, 2, 3, 4])
создает матрицу (4, 1), в отличие от numpy, где это было бы (1, 4). Выполнение sympy.Matrix([[1], [2], [3], [4]])
инициализирует ту же самую матрицу (4, 1). Так что я должен сделать sympy.Matrix([1, 2, 3, 4]).T
, чтобы получить вектор строк. Есть ли способ сделать это без транспонирования?
Я не смог найти ничего о векторах строк или (1, n) матрицах в документации.
Комментарии:
1. Что не так с использованием
.T
?2. @OscarBenjamin это казалось скорее взломом, чем идиоматическим способом сделать это
3. Я не думаю, что это «хак». Однако вы можете написать код так, как вам нравится.
Ответ №1:
Из документации
To make it easy to make column vectors, a list
of elements is considered to be a column vector.
Вектору строки требуется только один дополнительный набор []
sympy.Matrix([[1, 2, 3, 4]])
Не используйте np.matrix
в качестве модели ни для чего. Это было дополнение к пробелу для своенравных программистов MATLAB 🙂
больше примеров использования на
https://docs.sympy.org/latest/modules/matrices/matrices.html