在 wolfram mathematica 中查找矩阵中的第 i 行

Finding i-th row in a matrix in wolfram mathematica

我试图在 Mathematica 中乘以一个列矩阵和一个行矩阵。但是 Mathematica 将行矩阵作为列矩阵给出。所以 multipy 函数不起作用。我的代码是

`Y = Inverse[S];
Print["Y=", MatrixForm[Y]];
For[i = 1, i <= n, i++,
Subscript[P, i] = MatrixForm[S[[All, i]].Y[[i]]];
Print["CarpimS=", MatrixForm[S[[All, i]]]];
Print["CarpimY=", MatrixForm[Y[[i]]]];
Print["P=", Subscript[P, i]];
];  

有知道这种情况的请回答

这个问题写得不好,所以我将不得不做一些猜测。您的代码似乎与您的问题无关,但以下例外:S[[All, i]].Y[[i]]。根据您的描述,我猜我们可以说 S 是 k x k,Y 也是。如果您的目标是 Dot S 的第 i 列乘以其倒数 Y 的第 i 行,那么您所拥有的就很好:您将每个生成为 1- d向量,然后产生一个标量积。但是你说你没有得到你想要的,所以我猜你想要的是外部产品。

mS = IdentityMatrix[5];
mS[[3, 3]] = 99;
mY = Inverse[mS];
mS[[All, 3]].mY[[3]]  (* scalar product *)
Outer[Times, mS[[All, 3]], mY[[3]]] (* outer product *)

如果我猜错了,你将不得不努力改进你的问题。