np.transpose не возвращает транспонирование матрицы - PullRequest
0 голосов
/ 26 августа 2018

Когда я пишу свой код следующим образом:

from numpy import *
H = array([1,1])
Ht = transpose(H)
Ht

Я получаю ту же матрицу, что и H, вместо транспонирования H.

Но когда я меняю матрицу H следующим образом:

from numpy import *
H = array(([1,1],[2,3]))
Ht = transpose(H)
Ht

Я получаю транспонирование H.

Я не понимаю, что здесь происходит. Это способ использования функции транспонирования или способ определения матрицы?

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Из документации:

numpy.matrix.transpose. Возвращает вид массива с транспонированными осями. Для 1-D массива это не имеет никакого эффекта. (Для переключения между векторами столбцов и строк сначала приведите одномерный массив в матричный объект.)

0 голосов
/ 26 августа 2018

Я думаю, это поведение, которое вы ищете:

>>> H = np.array([[1,1]])
>>> H.T
array([[1],
       [1]])

Эквивалентно вы можете написать np.transpose(H). Обратите внимание, что этот массив имеет форму (1,2), поэтому он имеет два измерения. Массив H = np.array([1,2]) имеет форму (2,). У него только одно измерение. Чтобы поменять местами размеры (транспонировать), нужно как минимум два из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...