我是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