2015-04-16 286 views
-3

我正在練習圖與鄰接矩陣。但是我找不到一個區分對稱和非對稱矩陣的好例子。誰能告訴我如何區分對稱或不對稱矩陣之間的區別。對稱矩陣與不對稱矩陣的區別

+0

「對稱矩陣」的網頁搜索找到了答案。 –

+0

它實際上是編程,我正在研究一個需要使用鄰接矩陣的圖算法。 – JVTura

回答

1

如果鄰接矩陣是從無向圖派生的,則它是對稱的。

這意味着,節點A→B的路徑與節點B -> A的路徑具有相同的成本/權重/長度。

如果您創建鄰接矩陣M,它將是對稱的,這意味着對於任何ij,M[i][j] == M[j]i]。更數學上,矩陣與其轉置相同。所以如果你轉換你的矩陣,它看起來完全一樣。在圖形上,這樣的矩陣看起來像這樣:

0 2 3 4 
2 0 5 6 
3 5 0 7 
4 6 7 0 

由於對稱性,您可以經常使用較少的內存來表示它。對於像Floyd-Warshall-algorithm上無向圖的算法,可以減少50%的計算量,因爲你只需要計算一半的矩陣:

0 2 3 4 
    0 5 6 
    0 7 
     0 

爲了比較,非對稱矩陣:

0 2 3 9 <-- 
2 0 5 6 
3 5 0 7 
4 6 7 0 

請注意,它與前面的示例幾乎相同,但在右上角有9。所以不可能沿着它的對角軸鏡像矩陣。

+0

我還讀到,如果數字列等於對稱矩陣的行。這也適用於鄰接矩陣。 – JVTura

+0

如果(列數==行數),那麼它是一個**方**矩陣。 A * symmetric *矩陣是矩陣矩陣與轉置矩陣相等的特殊情況(請參閱我的回答) – Slizzered

+0

@JVTura如果您的問題得到解答,請考慮標記答案。如果沒有,請修改您的問題,以提供更多關於您想了解的信息:) – Slizzered