2016-09-20 64 views
0

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

我怎樣才能做到這一點的數學?

非常感謝你提前

+0

http://mathematica.stackexchange.com/q/99390/5478 – Kuba

+0

@Kuba提取鏈接問題中的元素似乎是反對角線的,而OP似乎對「列式」提取感興趣。 .. – ewcz

+0

你可以這樣做:'選擇[Flatten @ A,#=!= 0&]',假設下三角部分沒有明確的零。 – agentp

回答

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} 
2

可以一起使用Pick有選擇矩陣:

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

selectionMatrix現在是一個下三角矩陣,其中您想要Pick中的元素A。那麼你得到的A元素是這樣的:

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

編輯:請確保您定義s,當然。

相關問題