N 階七對角矩陣的特徵值是什麼?

年頭賦閑在家有點無聊,

又重拾了一個老問題。

//補充一下背景吧,我是從振動方程的有限元解法切入的。

//這個特徵值的極限大致反應了連續介質的振動頻率上下界。

//求解析解答還是很有意義的。

//當然主要還是這個問題很樸素而且很美。

題主已經做了一些思考。

對於三對角矩陣,可以通過切比雪夫多項式劃歸為一個餘弦函數。

對角矩陣_百度百科

三對角矩陣_百度百科

這裡我的每條對角線上數字分別相同。

主對角線上的元素只是一個平動坐標罷了。

某1000維三對角陣的特徵值從小到大排列圖譜。

在此過程中,我感受到解決三對角陣要解二次方程。

解決五對角矩陣要解三次方程。

解決七對角陣要解4次方程。

所以題主猜測人們能解決的最高階對角陣的特徵值問題就是七對角陣了。

我試驗了一些情況。當然對角線上的元素還是平移特徵值的意思。

我比較關心對稱的情況。

接下來我引入一些記號

主對角線上元素為0

第二對角線,即(0,1)格子對應的對角線上的元素為a,

第三對角線,即(0,2)格子對應的對角線上的元素為b,

第四對角線,即(0,3)格子對應的對角線上的元素為c。

比如,當7對角陣對稱時,第一第二對角線上為0,第三對角線上的元素比第四對角線上的元素大的多的話。

將特徵值從小到大排列,0,cos(某分量)*(2*b-2*c)的上半部分,2*b-2*c+cos(某分量)*(4c)

組成。

但我並不太清楚涉及特徵值的這個四次方程是什麼,所以其實寸步難行【如果各位需要,我可以把我對於三對角矩陣的特徵值計算使用的復變方法貼上來。但是我直覺得如果需要解決這個問題,大家可以先感受一下三對角矩陣特徵值的求解過程。】

麻煩各位答疑解惑了。

最後放一個彩蛋,在某些情況下,該矩陣特徵值在複平面上變為某大致是伯努利雙紐線的投影我猜。(彩蛋不是對稱情況下解出來的。。當時可能操作失誤了。)

我就是在想,要解決這個問題,是否必須直面四次方程通解。因為對於三對角陣的情況,我只要知道b就行;對於七對角陣,實際上我在想是否知道根與係數關係即可。

我覺得這個題定位很奇怪。。很像代數里的奇技淫巧。感覺不需要什麼基礎知識,也可以解決。


感謝和 @andrew shen 還有 @馮某某 的討論。這裡可以寫出一下具體的步驟了。答案略長。

1. 首先考慮在矩陣很大時候的解。N 	imes N矩陣。

1.1 這是我一開始的想法。一個很naive的觀察很有幫助:一個七對角矩陣就是一個三對角矩陣三次方得到的(用Mathematica 試一下就知道了)。

我們知道Toepliz矩陣的本徵值為

lambda _k = x + 2 sqrt{yz} cos frac{k pi}{n+1} , k=1, cdots,n

所以七對角矩陣的本徵值就是lambda_k^3

當然這樣做對於有限的N是不正確的,因為具體計算一下就能發現這樣做在矩陣的首末幾個矩陣元是不符合七對角矩陣的定義的。哪怕使用三個不一樣的對稱三對角矩陣相乘,這幾個矩陣元依舊不能相等。但是在N足夠大的時候這樣問題不大。

1.2 物理上的想法就是 @andrew shen 提到的,直接照著矩陣寫出Hamiltonian,然後固體物理告訴我們做傅里葉變換就能對角化。因此本徵值的形式就很容易寫出來。這時遇到的問題是在有限的N的情況下我們不好確定波矢k的取值,但在N足夠大的情況下k可以被確定。

1.3 實際上上面的發現是一個一般性的結論的推論,七對角矩陣是一種Toeplitz矩陣的特殊情形,而 數學上Toeplitz矩陣是漸進對易的(c.f Szego THM),因此在N足夠大的時候就可以對角化。

更具體的說,在N足夠大的時候,Toeplitz矩陣的漸進的本徵值是已知的。。

總而言之這個問題還是有點複雜的。。

2. 如果需要更加複雜的「物理」對應的話,其實這好像跟Landau 費米液體理論有關係。。N趨於無窮就是無相互作用的情形。

PS: n階三對角矩陣Mathematica代碼。

sparseMat[n_, {x_, y_, z_}] :=
SparseArray[{Band[{1, 1}] -&> x, Band[{2, 1}] -&> y,
Band[{1, 2}] -&> z}, {n, n}]


這雖然是一個數學問題, 但我作為學物理的看到這個問題首先考慮的是他的物理意義.

題主想要考慮的是如下形式的矩陣:

left[ egin{array}{ccccccc}
a  b  c  d  0  0  0 \
b  a  b  c  d  0  0 \
c  b  ddots  ddots  ddots  ddots  0 \
d  c  ddots  ddots  ddots  ddots  d \
0  d  ddots  ddots  ddots  ddots  c \
0  0  ddots  ddots  ddots  ddots  b \
0  0  0  d  c  b  a
end{array} 
ight]

在固體物理里, 這個矩陣對應著一個有著次次次近臨躍遷的緊束縛模型. 根據固體物理的知識, 立刻知道這個系統的能量本徵值是

E=2(b cos k+ c cos 2k+ d cos 3k),

(簡單起見, 我們取無關輕重的 a=0. )

其中 k 是動量. 剩下唯一的問題就是在這個問題中動量 k 是如何分布的.

有限大的矩陣對應開放邊界條件. 但熱力學極限下, 即當矩陣足夠大時, 開放邊界條件和周期邊界條件的差別很小(但開放邊界條件可能會存在表面態. 如果存在, 可能會有一兩個本徵值不能被上式所覆蓋), 因此這個結果作為估計應該效果是比較好的.

總結一下:

當矩陣足夠大時, 特徵值按照2(b cos k+ c cos 2k+ d cos 3k)連續分布. 這就是題主想要的(漸進)解析表達式.

Talk is cheap, show me the result.

下面是實際對角化 3000*3000 的七對角矩陣的結果:

取 b=1, c=0.3, d=0.2. 藍線是實際對角化的本徵值, 紅線是由上式給出的結果. 兩個結果完美符合!!!

實際上我們不需要取那麼大的矩陣. 對於 20*20 的矩陣, 這個解析表達式的結果也很好:

那麼E=2(b cos k+ c cos 2k+ d cos 3k)這個結果是怎麼來的? 實際上是直接對微分方程做 Fourier 變換得到的, 物理上對應的是所謂 Bloch 定理. 具體步驟請參考任何一本固體物理教科書, 不在此贅述.


不知道具體的答案,只能拋磚引玉,簡單講講思路。

首先你的感覺可能有誤:五對角矩陣就需要求解四次方程了。所以七對角矩陣可能就沒有閉式解了。

過程可以參考https://www.math.upenn.edu/~kazdan/AMCS602/tridiag-short.pdf

如果是五對角矩陣就需要求解一個四次線性差分方程,

v_{k-2} + bv_{k-1} - lambda v_k + bv_{k+1} + v_{k+2} = 0

需要附加4個邊界條件

v_{-1} = v_{0} = v_{n+1}=v_{n+2}=0

理想情況下,這個四次差分方程對應的四次方程

1 + bz - lambda z^2 + bz^3 + z^4 = 0

可以套用求根公式,分析什麼情況下存在模長為1的根,然後就可以分析特徵值的分布了。


提問有字數限制,只能另開答案再做一些探討了。邀請各位繼續深入一點點~

------------

雖然此題已經有了很好的解答,但我覺得還是有一些值得探討的。

在這裡首先要貼上我對三對角矩陣的數學解答。

A_{n} = egin{bmatrix}
aquad  bquad        \ 
cquad  aquad   bquad      \ 
   cquad   aquad    ddots    \ 
     ddots   ddots   bquad  \ 
      c quad a quad 
end{bmatrix}

這是一個三對角矩陣。

然後其特徵多項式為:

D_{n} = (lambda -a)D_{n-1}-bcD_{n-2}

這是可以直接拉普拉斯展開得到的。

又我們假設alphaeta為其兩根,用特徵方程求遞歸公式的方法,則我們可以將這個特徵多項式表達為:

D_{n}=left{
egin{array}{rcl}
frac{alpha^{n+1}-eta^{n+1}}{alpha-eta}          {alpha 
eq eta}\
(n+1)(frac{lambda-a}{2})^{n}          {alpha = eta}\
end{array} 
ight.

這裡加了邊界條件,分別是第0項得0和第一項得a。

而其特徵值是使得特徵多項式為0的值,於是到結論:

1)alpha=eta時,(lambda -a)^2 =4bc。易得存在lambda_{1} =a+2sqrt{bc},lambda_{2} =a-2sqrt{bc}.

現實中這個情況其實是不發生的,因為此時$D_{n}$永遠不為0。不過這很好的幫我們估計了特徵值的上界和下界。

2)alpha
eqeta時,要求lambda就要解方程alpha^{n+1}-eta^{n+1}=0

alphaeta都看做某復變數(如是實的,就用虛部是0表示),我們應該知道他們模長相同。

不妨設

alpha = {|eta|}[cos(	heta + frac{2kpi}{n+1})+i?sin(	heta + frac{2kpi}{n+1})]

k =1,2 ,...n,	hetaeta的主輻角。

同時又有

eta = {|eta|}[cos(	heta)+i?sin(	heta )]

alphacdot eta =bc,alpha+eta =lambda-a.

這個時候又要分情況:

1) 若(lambda-a)^{2} -4bc>0,則alpha,eta分別為兩個實根。實數滿足上述方程,又要求alpha
eqeta,只有

n為奇數時有alpha=-eta,此時 易得存在一個lambda = a,但是這時判別式其實是小於0的,矛盾,所以這種情況下也沒有解;

2)所以判別式必須小於0,則alpha,eta分別為兩個共軛複數。

在1,2,... n中存在一個k,使得:	heta+frac{2kpi}{n+1} =-	heta	o	heta=- frac{kpi}{n+1}

而由alpha cdot eta = |eta|^{2} = bc 	o |eta| = sqrt{bc}

於是lambda = a +alpha+eta = a + 2|eta|cos(	heta) = a+2sqrt{bc}cos(frac{kpi}{n+1})

其中k = 1,2,... n。恰好n個,解出了全部特徵值。

------------

這個方法粗暴但是好使,將3對角矩陣劃歸為了一個二次方程。

和 @古幾米的方法是一致的。Dr.古幾米也告訴我,實際上5對角矩陣在這個方法下就相當於解決四次方程。

我覺得我若有耐心,可能是可以將這個問題磨死的。但我並沒有這麼做,因為這樣對於7對角矩陣探尋的道路就斷了。

但是在 @andrew shen學長的回答中,另闢蹊徑,直接找到該矩陣對應的偏微分方程,在考慮無窮遠的邊界條件的情況下,對原方程中的運算元做傅里葉變換,直接得到餘弦形式的解。我相信是能任意階的解決這個問題的。

但是這裡問題也就來了。從數學上來說,我們很可能不得不對5次以上方程的根進行篩選,才可以得到答案。從物理上,當然也是數學上來說,我們又可以通過傅里葉變換直接得到我們想要的信息。那麼這是因為這樣的矩陣有其特殊性,使得更高次的方程的係數滿足了一定條件變得可解了呢?還是因為我們實際上並不用解答更高次的方程,只要找到高次方程的部分根就可以了呢?

這讓我覺得很好奇。我覺得可能是前者,因為後者和前者基本是等價的,畢竟已經把高次方程的冪次降低了。

沒有太多的思考,誠請各位再討論一下。

---------

以下是強行理解下的扯淡。。

我覺得學長涉及的FEA方面沒有學過偏微分方程數值解或者有限元方法的人們可能難以理解。說一下我自己的理解。從某講義上截個圖,也算補充一下。

每一個這樣的矩陣,可以用有限元方法看成四階子單元的拼裝,進而反寫出某個偏微分方程。這裡是用波動方程【我並不清楚是否有其他偏微分方程也用這樣形式的子單元】。

但我實際上是不很理解物理意義為什麼是能量的。不過從波動的角度上來說,這個矩陣和振動頻率的特徵值的關係還是明顯的。

當然不用傅里葉變換【_(:з」∠)_蹭完量子力學之後就再也沒用過,除了算特徵函數】,在合適的邊界條件下,使用分離變數法,也可以把結果看得很清楚。這裡其實沒有完全展開。。以上都是我強行理解下的扯淡。。

-------

On the eigenvalue problem for Toeplitz band matrices

Toeplitz matrix

找到一篇paper,還沒看


這真是一個好玩的問題。我先來拋點兒磚。

先複述一下題主的問題。題主研究的矩陣,是下面這種樣子:

left[ egin{array}{ccccccc}
a  b  c  d  0  0  0 \
b  a  b  c  d  0  0 \
c  b  ddots  ddots  ddots  ddots  0 \
d  c  ddots  ddots  ddots  ddots  d \
0  d  ddots  ddots  ddots  ddots  c \
0  0  ddots  ddots  ddots  ddots  b \
0  0  0  d  c  b  a
end{array} 
ight]

因為最多有七條對角線非零,所以稱為七對角矩陣。

題主要求的,是這樣的矩陣的特徵值(以及特徵向量)。

首先,正如題主所注意到的那樣,主對角元的作用,僅僅是把所有的特徵值都平移一下,而對特徵向量沒有影響。所以,下面可以認為a=0

先看僅有b非零時的情況。我發現我居然在一篇專欄中研究過:

http://zhuanlan.zhihu.com/maigo/20280880

設矩陣階數為n,b=1,則矩陣第i大的特徵值為lambda_i = 2cos left( frac{i}{n+1} pi 
ight),其特徵向量為v_i = sqrtfrac{2}{n+1} sin left( frac{ij}{n+1} pi 
ight)

畫成圖是這樣的(圖中畫的其實是b=1/2的情況):

圖中,由各個特徵向量排成的矩陣V比較亂,不太好觀察。

而我們知道它的各列都是正弦函數,所以我們按列取個傅里葉變換,就得到下面這個樣子(n取256):

左圖為D的對角元(改成了從小到大排列);右圖為各特徵向量的傅里葉變換的模。

特徵值小的特徵向量為高頻正弦,特徵值大的特徵向量為低頻正弦。

注意:

  1. 右圖中每列有兩處峰值,這是因為一個正弦函數是由兩個復指數函數疊加而成的;

  2. 因為傅里葉變換是n點的,而特徵向量的正弦函數內分母為n+1,所以峰值頻率周圍還有一些旁瓣。

請認真弄懂上圖的含義,因為下面全都是這種圖……

當只有c=1的時候,矩陣的特徵值和特徵向量是這樣的:

特徵向量的變化比較明顯:現在每個特徵向量都是兩個正弦的疊加了。

其實特徵值也有變化:圖中的曲線是呈鋸齒狀的,第2k+1和2k(k為整數)個特徵值是相等的。

當只有d=1的時候,矩陣的特徵值和特徵向量是這樣的:

特徵向量為三個正弦疊加,特徵值仍呈鋸齒狀,第3k+2和3k+3個特徵值相等。

而當b、c、d中不只有一個非零的時候,就好玩兒了。

比如 b = 1,c = 0.2,d = 0 時:

特徵值變化明顯:最小的和最大的一些特徵值變大了,而中間的那些特徵值變小了。

特徵向量其實也發生了微小的變化,只不過在圖上表現不明顯。

b = 1, c = 0.4, d = 0 時:

可以看到特徵值分成了兩段,第一段對應的特徵向量為兩個正弦疊加,而第二段對應的特徵向量仍為單正弦。

在 b = 1, d = 0 時,c = 0.25 是一個臨界值。

b = 1, c = -0.4, d = 0 時:

特徵值也分成兩段,前段特徵向量為單頻,後段特徵向量為雙頻。c = -0.25 為臨界值。

現在再把d也弄成非零的,比如 b = 1, c = -0.1, d = -0.4:

則明顯分出了三段(蝙蝠俠?),各段特徵向量頻率數分別為2、1、2。

然而分段情況也千奇百怪。比如 b = 1, c = -1, d = -0.4 時,分兩段,各段頻率數為1、2:

b = 1, c = -1, d = 0.4 時,分三段,各段頻率數為1、3、2(雞翅……):

我隱約感覺,分段情況與 @古幾米提到的差分方程的判別式有關。我只是畫圖觀察了一下題主感興趣的七對角陣的特徵值與特徵向量分布,並沒有進行定量計算。

不過希望對題主和其他有興趣的讀者有所啟發。


推薦閱讀:

在理科中,是不是只有數學才是真正嚴謹的學科?物理是一個真正嚴謹的學科嗎?
《特殊函數概論》應該怎樣使用?
大家能否幫忙解讀為何文小剛說「熱力學第二定律 不重要,因為溫度是零」?
二本的成績就意味著不可能從事基礎學科的科研工作了嗎?
如何看待法國通過法律,禁止在幼兒園使用WIFI?

TAG:數學 | 物理學 | 代數 | MATLAB | 有限元分析FEA |