我是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 = 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}}
我怎样才能做到这一点的数学?
非常感谢你提前
例如该
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
现在是一个下三角矩阵,其中您想要Pick
中的元素A
。那么你得到的A
元素是这样的:
listOfElements = Flatten @ Pick[A, selectionMatrix, 1]
编辑:请确保您定义s
,当然。
http://mathematica.stackexchange.com/q/99390/5478 – Kuba
@Kuba提取链接问题中的元素似乎是反对角线的,而OP似乎对“列式”提取感兴趣。 .. – ewcz
你可以这样做:'选择[Flatten @ A,#=!= 0&]',假设下三角部分没有明确的零。 – agentp