如何从下三角矩阵中获取元素列表
How to get a list of elements from the lower triangular matrix
我是 Mathematica 新手。
我有一个下三角矩阵定义如下
A = Table[If[i > j, Subscript[a, i, j], 0], {i, s}, {j, s}];
我想要列表中的下三角元素。例如,当 s = 2
时,列表将包含 listOfElement = {a_{2,1}}
,对于 s = 3
、listOfElement = {a_{2,1},a_{3,1},a_{3,2}}
如何在 Mathematica 中执行此操作?
非常感谢您
例如这个
A = RandomReal[{0, 1}, {3, 3}];
MatrixForm[A]
M = First[Dimensions[A]];
Flatten[A[[# + 1 ;;, #]] & /@ Range[M - 1]]
产生:
(0.586886 0.968229 0.543306
0.107212 0.0492116 0.103052
0.0569797 0.429895 0.70289
)
{0.107212,0.0569797,0.429895}
您可以将 Pick
与选择矩阵一起使用:
selectionMatrix = LowerTriangularize[ConstantArray[1, {s, s}], -1]
selectionMatrix
现在是一个下三角矩阵,其中包含您想要 A
中的 Pick
个元素。然后你得到 A
的元素,如下所示:
listOfElements = Flatten @ Pick[A, selectionMatrix, 1]
编辑:确保你定义s
,当然。
我是 Mathematica 新手。
我有一个下三角矩阵定义如下
A = Table[If[i > j, Subscript[a, i, j], 0], {i, s}, {j, s}];
我想要列表中的下三角元素。例如,当 s = 2
时,列表将包含 listOfElement = {a_{2,1}}
,对于 s = 3
、listOfElement = {a_{2,1},a_{3,1},a_{3,2}}
如何在 Mathematica 中执行此操作?
非常感谢您
例如这个
A = RandomReal[{0, 1}, {3, 3}];
MatrixForm[A]
M = First[Dimensions[A]];
Flatten[A[[# + 1 ;;, #]] & /@ Range[M - 1]]
产生:
(0.586886 0.968229 0.543306
0.107212 0.0492116 0.103052
0.0569797 0.429895 0.70289
)
{0.107212,0.0569797,0.429895}
您可以将 Pick
与选择矩阵一起使用:
selectionMatrix = LowerTriangularize[ConstantArray[1, {s, s}], -1]
selectionMatrix
现在是一个下三角矩阵,其中包含您想要 A
中的 Pick
个元素。然后你得到 A
的元素,如下所示:
listOfElements = Flatten @ Pick[A, selectionMatrix, 1]
编辑:确保你定义s
,当然。