我需要获得由列向量vvT
形成的矩阵v
。即列向量v
矩阵乘以其转置。
我发现Mathematica不支持列向量。请帮忙。
答案 0 :(得分:7)
这样做你想要的吗?
v = List /@ Range@5;
vT = Transpose[v];
vvT = v.vT;
v // MatrixForm
vT // MatrixForm
vvT // MatrixForm
要将{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]
语法上最短: