我需要获取由列向量v
形成的矩阵vvT
。即,列向量v
的矩阵乘以其转置。
我发现Mathematica不支持列向量,请帮忙。
我需要获取由列向量v
形成的矩阵vvT
。即,列向量v
的矩阵乘以其转置。
我发现Mathematica不支持列向量,请帮忙。
这个能满足你的要求吗?
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]
句法最短:
v = List / @ Range @5;
在矩阵形式下是列向量而不是行向量?据我所知,在Mathematica中每个向量默认都是行向量。 - Ka Wa YipList
中,我们得到{{1}, {2}, {3}, {4}, {5}}
,按照 Mathematica 的惯例,这是一个包含单个元素的五行矩阵。据我所知,在 Mathematica 中并不存在列向量这种概念。 - Mr.WizardList
不会产生 {1, 2, 3, 4, 5}
而是 {{1}, {2}, {3}, {4}, {5}}
?在这种情况下,我理解为什么矩阵形式返回列向量了。 - Ka Wa Yip