如何从下三角矩阵中获取元素列表

时间:2016-09-20 18:17:32

标签: wolfram-mathematica mathematica-8

我是Mathematica的新手。

我有一个下三角矩阵,定义如下

A = Table[If[i > j, Subscript[a, i, j], 0], {i, s}, {j, s}];

我想列表中的下三角元素。例如,s = 2时,列表将包含listOfElement = {a_{2,1}}s = 3listOfElement = {a_{2,1},a_{3,1},a_{3,2}}

我怎样才能在Mathematica中做到这一点?

非常感谢你提前

2 个答案:

答案 0 :(得分:2)

例如这个

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}

答案 1 :(得分:2)

您可以将Pick与选择矩阵一起使用:

selectionMatrix = LowerTriangularize[ConstantArray[1, {s, s}], -1]

selectionMatrix现在是一个下三角矩阵,您可以在Pick中找到A个元素。然后,您可以像这样获取A的元素:

listOfElements = Flatten @ Pick[A, selectionMatrix, 1]

编辑:确保您定义s