(1)特點
矩陣中行數等于列數,即它是一個方陣,且第i行第j列的元素與第j行第i列的元素對應相等,即ai,j=aj,i。
例5.5 圖5-5是一個4階對稱的對稱矩陣,虛線所示部分稱為對稱矩陣的下三角部分(包括對角線部分),顯然對下三角部分數組元素ai,j,一定有i≥j。
對稱矩陣
(2)對稱矩陣的壓縮存儲原理
根據對稱矩陣的特點(ai,j=aj,i),行數=列數,所以隻要存儲下三角部分的矩陣元素,其他矩陣元素可根據對稱矩陣的特性得到。
(3)存儲方法
定義一個一維數組,其數據類型與對稱矩陣的相同,長度大于等于對稱矩陣的下三角部分的元素個數。确定在一維數組中存儲的起始點,以行序為主,依次存儲下三角部分的矩陣元素到一維數組中。
例5.6 對稱矩陣的壓縮存儲
用對稱矩陣的壓縮存儲方法,把上圖5-5所示的矩陣A存儲到一維數組b中。一維數組存儲的起始下标為零,如圖5-6所示。
對稱矩陣的壓縮存儲
例5.7 在例5.6中,求矩陣元素a4,2對應一維數組b中的數組元素。設矩陣在存放時,從一維數組的第一個元素b[0]開始。
分析:矩陣元素a4,2在第4行第2列,而下三角部分的前3行的元素個數為:1 2 3=6,第4行從第1列到第2列有兩個元素。共有6 2=8個元素。
由此,a4,2是下三角部分的第8号元素。存放時從元素b[0]開始,所以矩陣元素a4,2 對應一維數組中的數組元素為b[7]。
(4)對稱矩陣壓縮存儲的關系式
設有對稱矩陣A,一維數組b,把矩陣A的下三角部分壓縮存儲到一維數組b中。矩陣元素ai j,(i≥j),對應于b[k],則有:
k= a[i(i-1)/2 j-1] 從b[0]開始存儲
k= a[i(i-1)/2 j] 從b[1]開始存儲
注:當i≤j時,因為ai,j=aj,i,隻要按照aj,i計算即可。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!