Как рассчитать матрицу, образованную вектором в Mathematica - PullRequest
3 голосов
/ 04 февраля 2012

Мне нужно получить матрицу vvT, образованную вектором столбца v. т.е. вектор столбца v матрица умноженная на его транспонирование.

Я обнаружил, что Mathematica не поддерживает вектор столбцов. Пожалуйста, помогите.

1 Ответ

7 голосов
/ 04 февраля 2012

Делает ли это то, что вы хотите?

v = List /@ Range@5;
vT = Transpose[v];
vvT = v.vT;

v // MatrixForm
vT // MatrixForm
vvT // MatrixForm

Mathematica graphics

Чтобы получить {1, 2, 3, 4, 5} в {{1}, {2}, {3}, {4}, {5}}, вы можете использовать любой из:

List /@ {1, 2, 3, 4, 5}

{ {1, 2, 3, 4, 5} }\[Transpose]

Partition[{1, 2, 3, 4, 5}, 1]

Вы можете найти один из них более удобным, чем другие. Обычно в длинных списках вы найдете Partition самым быстрым.

Кроме того, ваша конкретная операция может выполняться различными способами:

x = {1, 2, 3, 4, 5};

Outer[Times, x, x]

Синтаксически самое короткое:

{Range@5}; %[Transpose].%

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