當前位置:首頁 » 操作系統 » 矩陣論演算法

矩陣論演算法

發布時間: 2022-12-25 22:51:20

① 奇異值分解(SVD)的原理及應用

姓名:劉保闊

學號:19021210887

轉自:https://www.cnblogs.com/tianqi/p/9745913.html

【嵌牛導讀】

      奇異值分解(Singular Value Decomposition)是 矩陣論 中一種重要的 矩陣 分解,奇異值分解則是 特徵 分解在任意矩陣上的推廣。在 信號處理 、 統計學 等領域有重要應用。

【嵌牛正文】

一、奇異值與特徵值基礎知識:

  特徵值分解和奇異值分解在機器學習領域都是屬於滿地可見的方法。兩者有著很緊密的關系,我在接下來會談到,特徵值分解和奇異值分解的目的都是一樣,就是提取出一個矩陣最重要的特徵。先談談特徵值分解吧:

   1)特徵值:

    如果說一個向量v是方陣A的特徵向量,將一定可以表示成下面的形式:

    這時候λ就被稱為特徵向量v對應的特徵值,一個矩陣的一組特徵向量是一組正交向量。特徵值分解是將一個矩陣分解成下面的形式:

    其中Q是這個矩陣A的特徵向量組成的矩陣,Σ是一個對角陣,每一個對角線上的元素就是一個特徵值。我這里引用了一些參考文獻中的內容來說明一下。首先,要明確的是,一個矩陣其實就是一個線性變換,因為一個矩陣乘以一個向量後得到的向量,其實就相當於將這個向量進行了線性變換。比如說下面的一個矩陣:

它其實對應的線性變換是下面的形式:

因為這個矩陣M乘以一個向量(x,y)的結果是:

上面的矩陣是對稱的,所以這個變換是一個對x,y軸的方向一個拉伸變換(每一個對角線上的元素將會對一個維度進行拉伸變換,當值>1時,是拉長,當值<1時時縮短),當矩陣不是對稱的時候,假如說矩陣是下面的樣子:

它所描述的變換是下面的樣子:

這其實是在平面上對一個軸進行的拉伸變換(如藍色的箭頭所示),在圖中,藍色的箭頭是一個最主要的變化方向(變化方向可能有不止一個),如果我們想要描述好一個變換,那我們就描述好這個變換主要的變化方向就好了。反過頭來看看之前特徵值分解的式子,分解得到的Σ矩陣是一個對角陣,裡面的特徵值是由大到小排列的,這些特徵值所對應的特徵向量就是描述這個矩陣變化方向(從主要的變化到次要的變化排列)。

當矩陣是高維的情況下,那麼這個矩陣就是高維空間下的一個線性變換,這個線性變化可能沒法通過圖片來表示,但是可以想像,這個變換也同樣有很多的變換方向,我們通過特徵值分解得到的前N個特徵向量,那麼就對應了這個矩陣最主要的N個變化方向。我們利用這前N個變化方向,就可以近似這個矩陣(變換)。也就是之前說的:提取這個矩陣最重要的特徵。總結一下,特徵值分解可以得到特徵值與特徵向量,特徵值表示的是這個特徵到底有多重要,而特徵向量表示這個特徵是什麼,可以將每一個特徵向量理解為一個線性的子空間,我們可以利用這些線性的子空間干很多的事情。不過,特徵值分解也有很多的局限,比如說變換的矩陣必須是方陣。

  2)奇異值:

    下面談談奇異值分解。特徵值分解是一個提取矩陣特徵很不錯的方法,但是它只是對方陣而言的,在現實的世界中,我們看到的大部分矩陣都不是方陣,比如說有N個學生,每個學生有M科成績,這樣形成的一個N * M的矩陣就不可能是方陣,我們怎樣才能描述這樣普通的矩陣呢的重要特徵呢?奇異值分解可以用來干這個事情,奇異值分解是一個能適用於任意的矩陣的一種分解的方法:

假設A是一個N * M的矩陣,那麼得到的U是一個N * N的方陣(裡面的向量是正交的,U裡面的向量稱為左奇異向量),Σ是一個N * M的矩陣(除了對角線的元素都是0,對角線上的元素稱為奇異值),V』(V的轉置)是一個N * N的矩陣,裡面的向量也是正交的,V裡面的向量稱為右奇異向量),從圖片來反映幾個相乘的矩陣的大小可得下面的圖片

那麼奇異值和特徵值是怎麼對應起來的呢?首先,我們將一個矩陣A的轉置 * A,將會得到一個方陣,我們用這個方陣求特徵值可以得到:這里得到的v,就是我們上面的右奇異向量。此外我們還可以得到:

這里的σ就是上面說的奇異值,u就是上面說的左奇異向量。奇異值σ跟特徵值類似,在矩陣Σ中也是從大到小排列,而且σ的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上了。也就是說,我們也可以用前r大的奇異值來近似描述矩陣,這里定義一下部分奇異值分解:

    r是一個遠小於m、n的數,這樣矩陣的乘法看起來像是下面的樣子:

    右邊的三個矩陣相乘的結果將會是一個接近於A的矩陣,在這兒,r越接近於n,則相乘的結果越接近於A。而這三個矩陣的面積之和(在存儲觀點來說,矩陣面積越小,存儲量就越小)要遠遠小於原始的矩陣A,我們如果想要壓縮空間來表示原矩陣A,我們存下這里的三個矩陣:U、Σ、V就好了。

二、奇異值的計算:

    奇異值的計算是一個難題,是一個O(N^3)的演算法。在單機的情況下當然是沒問題的,matlab在一秒鍾內就可以算出1000 * 1000的矩陣的所有奇異值,但是當矩陣的規模增長的時候,計算的復雜度呈3次方增長,就需要並行計算參與了。Google的吳軍老師在數學之美系列談到SVD的時候,說起Google實現了SVD的並行化演算法,說這是對人類的一個貢獻,但是也沒有給出具體的計算規模,也沒有給出太多有價值的信息。

    其實SVD還是可以用並行的方式去實現的,在解大規模的矩陣的時候,一般使用迭代的方法,當矩陣的規模很大(比如說上億)的時候,迭代的次數也可能會上億次,如果使用Map-Rece框架去解,則每次Map-Rece完成的時候,都會涉及到寫文件、讀文件的操作。個人猜測Google雲計算體系中除了Map-Rece以外應該還有類似於MPI的計算模型,也就是節點之間是保持通信,數據是常駐在內存中的,這種計算模型比Map-Rece在解決迭代次數非常多的時候,要快了很多倍。

Lanczos迭代 就是一種解對稱方陣部分特徵值的方法(之前談到了,解A』* A得到的對稱方陣的特徵值就是解A的右奇異向量),是將一個對稱的方程化為一個三對角矩陣再進行求解。按網上的一些文獻來看,Google應該是用這種方法去做的奇異值分解的。請見Wikipedia上面的一些引用的論文,如果理解了那些論文,也「幾乎」可以做出一個SVD了。

    由於奇異值的計算是一個很枯燥,純數學的過程,而且前人的研究成果(論文中)幾乎已經把整個程序的流程圖給出來了。更多的關於奇異值計算的部分,將在後面的參考文獻中給出,這里不再深入,我還是focus在奇異值的應用中去。

三、奇異值與主成分分析(PCA):

主成分分析在上一節裡面也講了一些,這里主要談談如何用SVD去解PCA的問題。PCA的問題其實是一個基的變換,使得變換後的數據有著最大的方差。方差的大小描述的是一個變數的信息量,我們在講一個東西的穩定性的時候,往往說要減小方差,如果一個模型的方差很大,那就說明模型不穩定了。但是對於我們用於機器學習的數據(主要是訓練數據),方差大才有意義,不然輸入的數據都是同一個點,那方差就為0了,這樣輸入的多個數據就等同於一個數據了。以下面這張圖為例子:

這個假設是一個攝像機採集一個物體運動得到的圖片,上面的點表示物體運動的位置,假如我們想要用一條直線去擬合這些點,那我們會選擇什麼方向的線呢?當然是圖上標有signal的那條線。如果我們把這些點單純的投影到x軸或者y軸上,最後在x軸與y軸上得到的方差是相似的(因為這些點的趨勢是在45度左右的方向,所以投影到x軸或者y軸上都是類似的),如果我們使用原來的xy坐標系去看這些點,容易看不出來這些點真正的方向是什麼。但是如果我們進行坐標系的變化,橫軸變成了signal的方向,縱軸變成了noise的方向,則就很容易發現什麼方向的方差大,什麼方向的方差小了。

    一般來說,方差大的方向是信號的方向,方差小的方向是雜訊的方向,我們在數據挖掘中或者數字信號處理中,往往要提高信號與雜訊的比例,也就是信噪比。對上圖來說,如果我們只保留signal方向的數據,也可以對原數據進行不錯的近似了。

    PCA的全部工作簡單點說,就是對原始的空間中順序地找一組相互正交的坐標軸,第一個軸是使得方差最大的,第二個軸是在與第一個軸正交的平面中使得方差最大的,第三個軸是在與第1、2個軸正交的平面中方差最大的,這樣假設在N維空間中,我們可以找到N個這樣的坐標軸,我們取前r個去近似這個空間,這樣就從一個N維的空間壓縮到r維的空間了,但是我們選擇的r個坐標軸能夠使得空間的壓縮使得數據的損失最小。

   還是假設我們矩陣每一行表示一個樣本,每一列表示一個feature,用矩陣的語言來表示,將一個m * n的矩陣A的進行坐標軸的變化,P就是一個變換的矩陣從一個N維的空間變換到另一個N維的空間,在空間中就會進行一些類似於旋轉、拉伸的變化。

    而將一個m * n的矩陣A變換成一個m * r的矩陣,這樣就會使得本來有n個feature的,變成了有r個feature了(r < n),這r個其實就是對n個feature的一種提煉,我們就把這個稱為feature的壓縮。用數學語言表示就是:

但是這個怎麼和SVD扯上關系呢?之前談到,SVD得出的奇異向量也是從奇異值由大到小排列的,按PCA的觀點來看,就是方差最大的坐標軸就是第一個奇異向量,方差次大的坐標軸就是第二個奇異向量…我們回憶一下之前得到的SVD式子:

在矩陣的兩邊同時乘上一個矩陣V,由於V是一個正交的矩陣,所以V轉置乘以V得到單位陣I,所以可以化成後面的式子

將後面的式子與A * P那個m * n的矩陣變換為m * r的矩陣的式子對照看看,在這里,其實V就是P,也就是一個變化的向量。這里是將一個m * n 的矩陣壓縮到一個m * r的矩陣,也就是對列進行壓縮,如果我們想對行進行壓縮(在PCA的觀點下,對行進行壓縮可以理解為,將一些相似的sample合並在一起,或者將一些沒有太大價值的sample去掉)怎麼辦呢?同樣我們寫出一個通用的行壓縮例子:

這樣就從一個m行的矩陣壓縮到一個r行的矩陣了,對SVD來說也是一樣的,我們對SVD分解的式子兩邊乘以U的轉置U'

這樣我們就得到了對行進行壓縮的式子。可以看出,其實PCA幾乎可以說是對SVD的一個包裝,如果我們實現了SVD,那也就實現了PCA了,而且更好的地方是,有了SVD,我們就可以得到兩個方向的PCA,如果我們對A』A進行特徵值的分解,只能得到一個方向的PCA。

四、奇異值與潛在語義索引LSI:

潛在語義索引(Latent Semantic Indexing)與PCA不太一樣,至少不是實現了SVD就可以直接用的,不過LSI也是一個嚴重依賴於SVD的演算法,之前吳軍老師在 矩陣計算與文本處理中的分類問題 中談到:

    「三個矩陣有非常清楚的物理含義。第一個矩陣X中的每一行表示意思相關的一類詞,其中的每個非零元素表示這類詞中每個詞的重要性(或者說相關性),數值越大越相關。最後一個矩陣Y中的每一列表示同一主題一類文章,其中每個元素表示這類文章中每篇文章的相關性。中間的矩陣則表示類詞和文章雷之間的相關性。因此,我們只要對關聯矩陣A進行一次奇異值分解,w 我們就可以同時完成了近義詞分類和文章的分類。(同時得到每類文章和每類詞的相關性)。」

     上面這段話可能不太容易理解,不過這就是LSI的精髓內容,我下面舉一個例子來說明一下,下面的例子來自LSA tutorial,具體的網址我將在最後的引用中給出:

這就是一個矩陣,不過不太一樣的是,這里的一行表示一個詞在哪些title中出現了(一行就是之前說的一維feature),一列表示一個title中有哪些詞,(這個矩陣其實是我們之前說的那種一行是一個sample的形式的一種轉置,這個會使得我們的左右奇異向量的意義產生變化,但是不會影響我們計算的過程)。比如說T1這個title中就有guide、investing、market、stock四個詞,各出現了一次,我們將這個矩陣進行SVD,得到下面的矩陣:

左奇異向量表示詞的一些特性,右奇異向量表示文檔的一些特性,中間的奇異值矩陣表示左奇異向量的一行與右奇異向量的一列的重要程序,數字越大越重要。

      繼續看這個矩陣還可以發現一些有意思的東西,首先,左奇異向量的第一列表示每一個詞的出現頻繁程度,雖然不是線性的,但是可以認為是一個大概的描述,比如book是0.15對應文檔中出現的2次,investing是0.74對應了文檔中出現了9次,rich是0.36對應文檔中出現了3次;

      其次,右奇異向量中一的第一行表示每一篇文檔中的出現詞的個數的近似,比如說,T6是0.49,出現了5個詞,T2是0.22,出現了2個詞。

      然後我們反過頭來看,我們可以將左奇異向量和右奇異向量都取後2維(之前是3維的矩陣),投影到一個平面上,可以得到:

在圖上,每一個紅色的點,都表示一個詞,每一個藍色的點,都表示一篇文檔,這樣我們可以對這些詞和文檔進行聚類,比如說stock 和 market可以放在一類,因為他們老是出現在一起,real和estate可以放在一類,dads,guide這種詞就看起來有點孤立了,我們就不對他們進行合並了。按這樣聚類出現的效果,可以提取文檔集合中的近義詞,這樣當用戶檢索文檔的時候,是用語義級別(近義詞集合)去檢索了,而不是之前的詞的級別。這樣一減少我們的檢索、存儲量,因為這樣壓縮的文檔集合和PCA是異曲同工的,二可以提高我們的用戶體驗,用戶輸入一個詞,我們可以在這個詞的近義詞的集合中去找,這是傳統的索引無法做到的。

② 求一種快速求解矩陣論中求解行列式因子,不變因子,初等因子,約當型...

對計算機而言這種計算相當的復雜。。。大概是先轉化成三對角矩陣,然後再進行各種迭代計算。對於人工計算,還是老老實實算出各個特徵子空間,然後好好分解吧。

③ 演算法工程師應該學哪些

有多少種演算法,就有多少種演算法工程師。但是所有的演算法工程師都要掌握的知識有:
1
編程語言:matlab
或者
pthon
或者
c/c++。這是基礎。比演算法理論更基礎。
2
演算法理論:《最優化演算法》,《高等數學》,《矩陣論》(線性代數)等數學類,《數字信號處理》,《概率論》
這兩項掌握好了,無論什麼演算法,只要給你時間和項目,你都可以搞定。
更相信的可以單獨聯系我或者加我微信

④ 線性代數,矩陣論,高等代數,數值分析的關系是什麼

線性代數:課程主要是線性代數的基礎內容。課程偏向於線性代數工具的應用。

高等代數:線性代數為主要內容,比線性代數課程內容深很多,另外還有一點別的內容,比如多項式等。

矩陣論:高等代數中矩陣基礎知識的深化,相當於高等代數的分支。

數值分析:和其他三門不同,這門是應用數學,主要是數值計算的知識。換句話說,怎樣計算使得更准確更快,各種計算方法的優缺點等。使用的知識不限於代數學知識,也可以是別的學科知識。

(4)矩陣論演算法擴展閱讀:

線性代數學術地位

線性代數在數學、物理學和技術學科中有各種重要應用,因而它在各種代數分支中占居首要地位。在計算機廣泛應用的今天,計算機圖形學、計算機輔助設計、密碼學、虛擬現實等技術無不以線性代數為其理論和演算法基礎的一部分。

線性代數所體現的幾何觀念與代數方法之間的聯系,從具體概念抽象出來的公理化方法以及嚴謹的邏輯推證、巧妙的歸納綜合等,對於強化人們的數學訓練,增益科學智能是非常有用的。

隨著科學的發展,我們不僅要研究單個變數之間的關系,還要進一步研究多個變數之間的關系,各種實際問題在大多數情況下可以線性化,而由於計算機的發展,線性化了的問題又可以被計算出來,線性代數正是解決這些問題的有力工具。

線性代數的計算方法也是計算數學里一個很重要的內容。

線性代數的含義隨數學的發展而不斷擴大。線性代數的理論和方法已經滲透到數學的許多分支,同時也是理論物理和理論化學所不可缺少的代數基礎知識。

「以直代曲」是人們處理很多數學問題時一個很自然的思想。很多實際問題的處理,最後往往歸結為線性問題,它比較容易處理。因此,線性代數在工程技術和國民經濟的許多領域都有著廣泛的應用,是一門基本的和重要的學科。

如果進入科研領域,你就會發現,只要不是線性的東西,我們基本都不會!線性是人類少數可以研究得非常透徹的數學基礎性框架。學好線性代數,你就掌握了絕大多數可解問題的鑰匙。

有了這把鑰匙,再加上相應的知識補充,你就可以求解相應的問題。可以說,不學線性代數,你就漏過了95%的人類智慧!非線性的問題極為困難,我們並沒有足夠多的通用的性質和定理用於求解具體問題。如果能夠把非線性的問題化為線性的,這是我們一定要走的方向!

事實上,微積分「以直代曲」的思想就是將整體非線性化為局部線性的一個經典的例子,盡管高等數學在定義微分時並沒有用到一點線性代數的內容。許多非線性問題的處理――譬如流形、微分幾何等,最後往往轉化為線性問題。

包括科學研究中,非線性模型通常也可以被近似為線性模型。隨著研究對象的復雜化與抽象化,對非線性問題線性化,以及對線性問題的求解,就難免涉及到線性代數的術語和方法了。從這個意義上,線性代數可以被認為是許多近、現代數學分支的共同基礎。

參考資料來源:

網路-數學

⑤ 矩陣特徵值怎麼求,舉個簡單例子謝謝

求n階矩陣A的特徵值的一般步驟為

(1)寫出方程丨λI-A丨=0,其中I為與A同階的單位陣,λ為代求特徵值

(2)將n階行列式變形化簡,得到關於λ的n次方程

(3)解此n次方程,即可求得A的特徵值

只有方陣可以求特徵值,特徵值可能有重根。

舉例,求已知A矩陣的特徵值

則A矩陣的特徵值為1,-1和2.

⑥ 研究生期間學的矩陣論和矩陣分析一樣么

不一樣,矩陣分析是矩陣論的部分內容,主要內容是矩陣函數的微積分,廣義逆矩陣,矩陣的逼近分析。

矩陣本身所具有的性質依賴於元素的性質,矩陣由最初作為一種工具經過兩個多世紀的發展,現在已成為獨立的一門數學分支——矩陣論。而矩陣論又可分為矩陣方程論、矩陣分解論和廣義逆矩陣論等矩陣的現代理論。

矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和准對角矩陣,有特定的快速運算演算法。在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。

(6)矩陣論演算法擴展閱讀

矩陣論的一個重要用途是解線性方程組。線性方程組中未知量的系數可以排成一個矩陣,加上常數項,則稱為增廣矩陣。另一個重要用途是表示線性變換,即是諸如f(x) 4x之類的線性函數的推廣。

設定基底後,某個向量v可以表示為m×1的矩陣,而線性變換f可以表示為行數為m的矩陣A,使得經過變換後得到的向量f(v)可以表示成Av的形式。矩陣的特徵值和特徵向量可以揭示線性變換的深層特性。

矩陣論的基本內容

一般矩陣論會包括如下內容

1、線性空間的相關內容,包括線性空間的定義及其性質,線性子空間;

2、內積空間的相關內容,包括歐氏空間 ;

3、 線性變換的相關內容,包括最小多項式理論 ;

4、 范數理論及其應用的相關內容,包括向量范數,矩陣范數以及范數的應用 。

⑦ 矩陣論有什麼用

矩陣論的一個重要用途是解線性方程組。

在其他領域還有諸多應用:

1、物理應用

線性變換及對稱線性變換及其所對應的對稱,在現代物理學中有著重要的角色。

描述最輕的三種誇克時,需要用到一種內含特殊酉群SU(3)的群論表示;物理學家在計算時會用一種更簡便的矩陣表示,叫蓋爾曼矩陣,這種矩陣也被用作SU(3)規范群,而強核力的現代描述──量子色動力學的基礎正是SU(3)。

2、量子態的線性組合

1925年海森堡提出第一個量子力學模型時,使用了無限維矩陣來表示理論中作用在量子態上的運算元。

3、簡正模式

矩陣在物理學中的另一類泛應用是描述線性耦合調和系統。這類系統的運動方程可以用矩陣的形式來表示,即用一個質量矩陣乘以一個廣義速度來給出運動項,用力矩陣乘以位移向量來刻畫相互作用。

4、幾何光學

在幾何光學里,可以找到很多需要用到矩陣的地方。幾何光學是一種忽略了光波波動性的近似理論,這理論的模型將光線視為幾何射線。

(7)矩陣論演算法擴展閱讀

一般矩陣論會包括如下內容:

1、線性空間的相關內容,包括線性空間的定義及其性質,線性子空間;

2、內積空間的相關內容,包括歐氏空間;

3、線性變換的相關內容,包括最小多項式理論 ;

4、范數理論及其應用的相關內容,包括向量范數,矩陣范數以及范數的應用 ;

5、矩陣分析及其應用的相關內容,包括向量和矩陣極限、微分和積分 、方陣級數理論、方陣級數理論的應用等;

6、矩陣分解的相關內容,包括最大秩分解和矩陣分解的應用 ;

7、廣義逆矩陣及其應用的相關內容,包括基本定義和相關應用;

8、特徵值的估計及廣義特徵值的相關內容,包括特徵值的估計及廣義特徵值和應用。

⑧ 試求方程組x'=Ax的基解矩陣,並求滿足初值

關於常系數線性微分方程組的expAt的唯一性在矩陣論的理論中,計算一個矩陣的e指A次冪,得到的結果expA為一個唯一矩陣,但是在解決線性定常微分方程組x'=Ax+b對應的齊次方程的實基礎解系(齊次基解矩陣)的時候,我使用海里哈密爾頓定理,約當標准型解法,拉普拉斯變換法和解空間分解法來運算,結果會經常得到不完全相同的結果.例如有可能用空間分解法得到結果是拉普拉斯變換方法解結果的某種線性組合,具體是什麼原因導致的這種差異?或者是由於我計算方法上有錯誤?在數學角度上是否有方法對這種差異進行分析? 我的分析是可能由於矩陣論的那個結論A是一個固定矩陣,而微分方程組里的A是允許做行變換的.那麼如果方程x'=Ax+b中的A做行變換,對應的b向量是否也要做變換才能保證同一初始條件下的特解完全相同?這種行變換是否會改變A的特徵值?如果改變的話,是否有一種變換可以在不改變特徵值的前提下改變A的結構?expAt如果做了某種線性變換,是否對於x'=Ax+b本身的特性造成影響(我已經驗證發現對於通解沒有影響)? 最後一個問題,如何在實際問題中考慮這種expAt的線性變換(我是自動化學科的)? 我要得到的結論並非與基礎解系有關,而是和實基礎解系有關.方程其次實通解為:expAt行向量所張成的一個歐氏空間,expAt可由任意一個通解乘以該通解的t=0的逆矩陣求得,也可以由其他方法求得,但是矩陣論中expA的運算結果是唯一的,而我通過不同方法求得的expAt卻是expAt的某種行變換.對於求方程的實數域通解沒有影響,但是對於工程演算法方面卻有很大影響,所以我最關心的結論是這種不一致是何種原因造成的.

⑨ 矩陣對矩陣求導

在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合[1],最早來自於方程組的系數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。

矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。[2]在物理學中,矩陣於電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫製作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和准對角矩陣,有特定的快速運算演算法。關於矩陣相關理論的發展和應用,請參考《矩陣理論》。在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。

數值分析的主要分支致力於開發矩陣計算的有效演算法,這是一個已持續幾個世紀以來的課題,是一個不斷擴大的研究領域。 矩陣分解方法簡化了理論和實際的計算。 針對特定矩陣結構(如稀疏矩陣和近角矩陣)定製的演算法在有限元方法和其他計算中加快了計算。 無限矩陣發生在行星理論和原子理論中。 無限矩陣的一個簡單例子是代表一個函數的泰勒級數的導數運算元的矩陣[3]

中文名
矩陣
外文名
Matrix
別稱
矩陣式、縱橫陣
表達式
Amn
提出者
凱利
快速
導航
定義

基本運算

乘法

行列式

特徵值與特徵向量

矩陣的跡

正定性

矩陣的分解

特殊類別

范數

應用
歷史
矩陣的研究歷史悠久,拉丁方陣和幻方在史前年代已有人研究。
在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合[1] ,最早來自於方程組的系數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。作為解決線性方程的工具,矩陣也有不短的歷史。成書最早在東漢前期的《九章算術》中,用分離系數法表示線性方程組,得到了其增廣矩陣。在消元過程中,使用的把某行乘以某一非零實數、從某行中減去另一行等運算技巧,相當於矩陣的初等變換。但那時並沒有現今理解的矩陣概念,雖然它與現有的矩陣形式上相同,但在當時只是作為線性方程組的標准表示與處理方式。

阿瑟·凱利,矩陣論奠基人
矩陣正式作為數學中的研究對象出現,則是在行列式的研究發展起來後。邏輯上,矩陣的概念先於行列式,但在實際的歷史上則恰好相反。日本數學家關孝和(1683年)與微積分的發現者之一戈特弗里德·威廉·萊布尼茨(1693年)近乎同時地獨立建立了行列式論。其後行列式作為解線性方程組的工具逐步發展。1750年,加布里爾·克拉默發現了克萊姆法則[5] 。
矩陣的概念在19世紀逐漸形成。1800年代,高斯和威廉·若爾當建立了高斯—若爾當消去法。1844年,德國數學家費迪南·艾森斯坦(F.Eisenstein)討論了「變換」(矩陣)及其乘積。1850年,英國數學家詹姆斯·約瑟夫·西爾維斯特(James Joseph Sylvester)首先使用矩陣一詞。

詹姆斯約瑟夫西爾維斯特
英國數學家阿瑟·凱利被公認為矩陣論的奠基人。他開始將矩陣作為獨立的數學對象研究時,許多與矩陣有關的性質已經在行列式的研究中被發現了,這也使得凱利認為矩陣的引進是十分自然的。他說:「我決然不是通過四元數而獲得矩陣概念的;它或是直接從行列式的概念而來,或是作為一個表達線性方程組的方便方法而來的。」他從1858年開始,發表了《矩陣論的研究報告》等一系列關於矩陣的專門論文,研究了矩陣的運算律、矩陣的逆以及轉置和特徵多項式方程。凱利還提出了凱萊-哈密爾頓定理,並驗證了3×3矩陣的情況,又說進一步的證明是不必要的。

熱點內容
nmake編譯 發布:2025-05-11 03:04:32 瀏覽:621
房產證加密碼 發布:2025-05-11 02:49:17 瀏覽:340
伺服器少個陣列卡盤符怎麼找出來 發布:2025-05-11 02:34:07 瀏覽:635
鬥地主源碼開發 發布:2025-05-11 02:24:07 瀏覽:366
雲伺服器怎麼設置攻擊 發布:2025-05-11 02:22:09 瀏覽:826
python嵌套for循環 發布:2025-05-11 01:51:44 瀏覽:228
安卓怎麼取消後台限制 發布:2025-05-11 01:45:45 瀏覽:258
一鍵搭建sk5伺服器 發布:2025-05-11 01:40:09 瀏覽:514
鴻業acs加密鎖模擬器 發布:2025-05-11 01:38:49 瀏覽:938
神廟逃亡2安卓版怎麼玩 發布:2025-05-11 01:38:05 瀏覽:163