㈠ 對稀疏矩陣進行壓縮存儲的目的是什麼
對稀疏矩陣進行壓縮存儲目的是節省存儲空間。
存儲矩陣的一般方法是採用二維數組,其優點是可以隨機地訪問每一個元素,因而能夠較容易地實現矩陣的各種運算。
但對於稀疏矩陣而言,若用二維數組來表示,會重復存儲了很多個0了,浪費空間,而且要花費時間來進行零元素的無效計算。所以必須考慮對稀疏矩陣進行壓縮存儲。
(1)稀疏矩陣的存儲特點擴展閱讀
優點
稀疏矩陣的計算速度更快,因為MATLAB只對非零元素進行操作,這是稀疏矩陣的一個突出的優點。假設矩陣A,B中的矩陣一樣,計算2*A需要一百萬次的浮點運算,而計算2*B只需要2000次浮點運算。
因為MATLAB不能自動創建稀疏矩陣,所以要用特殊的命令來得到稀疏矩陣。算術和邏輯運算都適用於稀疏矩陣。對於一個用二維數組存儲的稀疏矩陣Amn,如果假設存儲每個數組元素需要L個位元組,那麼存儲整個矩陣需要m*n*L個位元組。
㈡ 稀疏矩陣的優點
稀疏矩陣的計算速度更快,因為M AT L A B只對非零元素進行操作,這是稀疏矩陣的一個突出的優點.
假設矩陣A,B中的矩陣一樣.計算2*A需要一百萬次的浮點運算,而計算2*B只需要2 0 0 0次浮點運算.
因為M AT L A B不能自動創建稀疏矩陣,所以要用特殊的命令來得到稀疏矩陣.
前面章節中的算術和邏輯運算都適用於稀疏矩陣.
對於一個用二維數組存儲的稀疏矩陣Amn,如果假設存儲每個數組元素需要L個位元組,那麼存儲整個矩陣需要m*n*L個位元組.但是,這些存儲空間的大部分存放的是0元素,從而造成大量的空間浪費.為了節省存儲空間,可以只存儲其中的非0元素.
對於矩陣Amn的每個元素aij,知道其行號i和列號j就可以確定其位置.因此對於稀疏矩陣可以用一個結點來存儲一個非0元素.該結點可以定義如下:
[i,j,aij]
該結點由3個域組成,i:行號,j:列號;aij元素值.這樣的結點被稱為三元組結點.矩陣的每一個元素Qij,由一個三元組結點(i,j,aij)唯一確定.
例如稀疏矩陣A:
50 0 0 0
10 0 20 0
0 0 0 0
-30 0 -60 5
其對應的三元組表為:
1 1 50
2 1 10
2 3 20
4 1 -30
4 3 -60
4 4 5
㈢ 對稀疏矩陣進行壓縮存儲目的是() A.便於進行矩陣運算 B.便於輸入和輸出 C.節省存儲空間 D.降低運
對稀疏矩陣進行壓縮存儲目的是節省存儲空間。
稀疏矩陣的存儲方式:
存儲矩陣的一般方法是採用二維數組,其優點是可以隨機地訪問每一個元素,因而能夠較容易地實現矩陣的各種運算。但對於稀疏矩陣而言,若用二維數組來表示,會重復存儲了很多個0了,浪費空間,而且要花費時間來進行零元素的無效計算。所以必須考慮對稀疏矩陣進行壓縮存儲。
(3)稀疏矩陣的存儲特點擴展閱讀:
最常用的稀疏矩陣存儲格式主要有:三元組(i,j,a(i,j))和CSR(Compressed Sparse Row)。
(1) 三元組(i,j,a(i,j))(也叫COO(Coordinate Format))
三元組(i,j,a(i,j))很簡單,就是使用3個數組,分別存儲全部非零元的行下標(row index)、列下標(column index)和值(value)
(2) CSR存儲(Compressed Sparse Row,壓縮稀疏的行)
CSR是比較標準的一種,也需要三類數據來表達:數值,列號,以及行偏移。數值和列號與COO一致,表示一個元素以及其列號,行偏移表示某一行的第一個元素在values裡面的起始偏移位置。
㈣ 特殊矩陣和稀疏矩陣哪一種採用壓縮存儲會失去隨機存取的功能為什麼
稀疏矩陣壓縮存儲後,必會失去隨機存取功能。
稀疏矩陣在採用壓縮存儲後將會失去隨機存儲的功能。因為在這種矩陣中,非零元素的分布是沒有規律的,為了壓縮存儲,就將每一個非零元素的值和它所在的行、列號做為一個結點存放在一起,這樣的結點組成的線性表中叫三元組表,它已不是簡單的向量,所以無法用下標直接存取矩陣中的元素。
㈤ 簡述稀疏矩陣的分類及各類特點
在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合[1],最早來自於方程組的系數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。
矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。[2]在物理學中,矩陣於電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫製作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和准對角矩陣,有特定的快速運算演算法。關於矩陣相關理論的發展和應用,請參考《矩陣理論》。在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。
數值分析的主要分支致力於開發矩陣計算的有效演算法,這是一個已持續幾個世紀以來的課題,是一個不斷擴大的研究領域。 矩陣分解方法簡化了理論和實際的計算。 針對特定矩陣結構(如稀疏矩陣和近角矩陣)定製的演算法在有限元方法和其他計算中加快了計算。 無限矩陣發生在行星理論和原子理論中。 無限矩陣的一個簡單例子是代表一個函數的泰勒級數的導數運算元的矩陣
由 m × n 個數aij排成的m行n列的數表稱為m行n列的矩陣,簡稱m × n矩陣。記作:
矩陣的加減法和矩陣的數乘合稱矩陣的線性運算。
希望我能幫助你解疑釋惑。
㈥ 稀疏矩陣的存儲空間
一個稀疏矩陣中有許多元素等於零,這便於矩陣的計算和保存.如果Matlab把一個矩陣當作稀疏矩陣,那麼只需在m×3的矩陣中存儲m個非零項.第1列是行下標,第2列是列下標,第3列是非零元素值,不必保存零元素.如果存儲一個浮點數要8個位元組,存儲每個下標要4個位元組,那麼整個矩陣在內存中存儲需要1 6×m個位元組.
A = e y e ( 1 0 0 0 ) ;
得到一個1 0 0 0×1 0 0 0的單位矩陣,存儲它需要8 MB空間.如果使用命令:
B = s p e y e ( 1 0 0 0 ) ;
用一個1 0 0 0×3的矩陣來代表,每行包含有一個行下標,列下標和元素本身.只需1 6 K B的空間就可以存儲1 0 0 0×1 0 0 0的單位矩陣,它只需要滿單位矩陣的0 . 2 %存儲空間.對於許多的廣義矩陣也可這樣來作.
㈦ 稀疏矩陣和普通矩陣有什麼不同在運算上有什麼差別
稀疏矩陣和普通矩陣de不同是數據存儲的方式不同
因為稀疏矩陣是有特點的
所以為了節省內存和存取的方便有一定的稀疏矩陣獨特的演算法
具體的什麼演算法在演算法書上都可以找到
普通矩陣就只能用數組來苯苯的存儲了吧...
因為沒有什麼規律和特點
演算法上的差別是稀疏矩陣要更復雜...
具體的麻煩你在書上找的看
應該都有說的
具體我也忘了不少了...
呵呵
不好意思
我也只能回答這么多了
㈧ 從空間效率和時間效率的角度,談談你對採用稀疏矩陣必要性的認識。
中大的吧
來,哥解救你
空間效率
稀疏矩陣的很多元素等於0,採用稀疏矩陣便於矩陣的運算和保存。對於一個用二維數組存儲的稀疏矩陣Am*n,如果假設存儲每個數組元素需要L個位元組,那麼存儲整個矩陣需要m*n*L個位元組。但是,這些存儲空間的大部分存放的是0元素,從而造成大量的空間浪費。為了節省存儲空間,稀疏矩陣採取只存儲其中的非0元素的方法。因此用稀疏矩陣可以大大節省存儲空間。如創建A=eye(10)單位矩陣,其所佔用存儲空間為10*10*8=800bytes,如果採用稀疏矩陣,則只需10*16=160bytes,只需原來存儲空間的20%。
時間效率
採用稀疏矩陣,能加快運算速度,因為Matlab只對非零元素進行操作,這是稀疏矩陣的一個突出的優點。因為稀疏矩陣的很多元素等於0,如果對整個矩陣進行運算,會浪費許多時間在對零的運算上,所以稀疏矩陣的方法是只對非零元素 進行操作,這樣可以大大提高運算的時間效率。如對一個n維的單位矩陣A,2*A要做n*n次乘法運算操作,而用稀疏矩陣,則只需n次乘法運算操作,節省了時間。
請採納!
㈨ 三元組表示稀疏矩陣是什麼
三元組表示稀疏矩陣如下:
從方法上講,所謂的三元組法表示稀疏矩陣是:將非零元素所在的行、列以及它的值構成一個三元組(i、j、v),然後再按某種規律存儲這些三元組,這種方法可以節約存儲空間。
對於稀疏矩陣,採用壓縮存儲方法時,只存儲非0元素。必須存儲非0元素的行下標值、列下標值、元素值。因此,一個三元組唯一確定稀疏矩陣的一個非零元素。
稀疏矩陣和三元組的特點:
稀疏矩陣的概念是:一個m行n列的矩陣,若它的非零元個數特別少,即可稱它為稀疏矩陣。只存儲稀疏矩陣的非零元。除了存儲非零元的值a以外,還必須記下它的行下標i和列下標j。反之,一個三元組唯一確定矩陣的一個非零元。因此,一個稀疏矩陣可由一個三元組數組和該矩陣的行列數來確定。
㈩ 稀疏矩陣一般的壓縮存儲方法有兩種
分別是三元組和十字鏈表。
三元組是指形如((x,y),z)的集合(這就是說,三元組是這樣的偶,其第一個射影亦是一個偶),常簡記為(x,y,z)。
三元組是計算機專業的一門公共基礎課程——數據結構里的概念。主要是用來存儲稀疏矩陣的一種壓縮方式,也叫三元組表。假設以順序存儲結構來表示三元組表(triple table),則得到稀疏矩陣的一種壓縮存儲方式,即三元組順序表,簡稱三元組表。
十字鏈表(Orthogonal List)是有向圖的另一種鏈式存儲結構。該結構可以看成是將有向圖的鄰接表和逆鄰接表結合起來得到的。用十字鏈表來存儲有向圖,可以達到高效的存取效果。同時,代碼的可讀性也會得到提升。
拓展資料:
十字鏈表(Orthogonal List)是有向圖的另一種鏈式存儲結構。可以看成是將有向圖的鄰接表和逆鄰接表結合起來得到的一種鏈表。在十字鏈表中,對應於有向圖中每一條弧都有一個結點,對應於每個定頂點也有一個結點。
十字鏈表之於有向圖,類似於鄰接表之於無向圖。
也可以理解為 將行的單鏈表和列的單鏈表結合起來存儲稀疏矩陣稱為十字鏈表, 每個節點表示一個非零元素。
三元組解釋:
1、所謂「三元組」是指圖形的幾何元素構成、圖線間的拓撲關系和尺寸約束。如果一組圖形的前二元相同而只是尺寸大小不同,則這組圖形構成一族形狀相同的系列化圖形。
2、把組成一個元素的三個數稱為三元組。一個三元組包含以下三部分的內容SDO_STARTING_OFFSET表明每個幾何元素的第一個坐標在SDO_ORDINATES數組中的存儲位置。
3、…Mt:N2)的表示稱為三元組...…Mt稱為標號,N1、N2為結點R為關系。當n≠0時,稱Li為對結點N1的修飾。t≠0時,稱Mj為對結點N2的修飾。
參考資料:網路:十字鏈表
網路:三元組