日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

矩阵和线性代数

發(fā)布時(shí)間:2024/7/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 矩阵和线性代数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 矩陣和線性代數(shù)
    • 矩陣
      • SVD提法
        • 舉例
        • 推導(dǎo)
        • 代碼
        • 分解效果
      • 方陣行列式
        • 范德蒙行列式
          • 作用
      • 代數(shù)余子式
        • 伴隨矩陣
          • 方陣的逆
      • 矩陣乘法
      • 模型
        • 舉例
          • 概率轉(zhuǎn)移矩陣
            • 平穩(wěn)分布:
      • 向量乘法
      • 矩陣的秩
        • 秩與方程組的解
        • 推論
      • 向量組等價(jià)
        • 系數(shù)矩陣
          • 對(duì)C=AB重認(rèn)識(shí)
      • 正交陣
    • 特征值和特征向量
      • 性質(zhì)
      • 不同特征值對(duì)應(yīng)特征向量
        • 實(shí)對(duì)稱陣
          • 結(jié)論
            • 漂白
      • 正定陣
        • 正定陣判定
        • 標(biāo)準(zhǔn)正交基
      • QR分解
        • QR分解算特征值
        • 代碼
      • LFM
    • 矩陣求導(dǎo)
      • 推導(dǎo)
        • 推廣
      • 標(biāo)量對(duì)向量求導(dǎo)
          • 推導(dǎo)
      • 標(biāo)量對(duì)方陣求導(dǎo)
    • 歸納 正交陣 正定陣 對(duì)稱陣 對(duì)角陣 正交基

矩陣和線性代數(shù)

矩陣

SVD提法


1.奇異值分解是一種重要的矩陣分解方法,可以看作對(duì)稱方陣在任意矩陣推廣
1.1 Singular 突出的,奇特的,非凡的
1.2 似乎更應(yīng)該稱之為“優(yōu)值分解”
2.假設(shè)A是一個(gè)
則存在一個(gè)分解使得:

通常將奇異值由大而小排列,這樣,
3.與特征值,特征向量概念相對(duì)應(yīng):

舉例



假設(shè)我們現(xiàn)在有矩陣A,需要對(duì)其做奇異值分解

然后分別對(duì)它們進(jìn)行求特征向量得到U和V
求出其中特征值開根號(hào)由大到小排列得到

推導(dǎo)

抓大頭,降維

代碼

def restore(sigma,u,v,k): #奇異值,左特征向量,右特征向量print km=len(u)n=len(v[0])a=np.zeros((m,n))for k in range(k+1):for i in range(m):a[i]+=sigma[k]*u[i][k]*v[k]b=a.astype('uint8')Image.fromarray(b).save("svd_"+str(k)+".png")

分解效果

if __name__=="__main__":A=Image.open("son.png",'b'print Aoutput_path=r'.\SVD'if not os.path.exists(output_path):os.mkdir(output_path)a=np.array(A)print a.shapek=50u_r,sigma_r,v_r=np.linalg.svd(a[:,:,0]) u_g,sigma_g,v_g=np.linalg.svd(a[:,:,1])u_r,sigma_b,v_b=np.linalg.svd(a[:,:,2])plt.figure(figsize(10,10),facecolor='w')mp1.rcParams['font.sans-serif']=[u'simHei']mp1.rcParams['axes,unicode_minus']=Faisefor k in range(1,k+1):print kR=restorel(sigma_r,u_r,v_r,k)G=restorel(sigma_g,u_g,v_g,k) B=restorel(sigma_b,u_b,v_b,k)I=np.stack((R,G,B),axis=2)Image.fromarray(I).save('%s\\svd_%d.png'%(output_path,k))if k<=12:plt.subplot(3,4,k)plt.imshow(I)plt.axis('off')plt.title(u'奇異值個(gè)數(shù):%d'%k)plt.suptitle(u'SVD與圖像分解',fontsize=20)plt.tight_layout(0.3,rect=(0,0,1,0.92))plt.show()

方陣行列式

定義:方陣的行列式
1階方陣行列式為元素本身
n階方陣行列式等于它任一行(或列)各元素與其對(duì)應(yīng)代數(shù)余子式乘積之和

范德蒙行列式

作用

證明矩陣是否有逆
:行列式為0或者非滿秩時(shí)矩陣無逆。此時(shí)矩陣向量線性相關(guān)

代數(shù)余子式

伴隨矩陣


如二階(a,b) , (c,d)伴隨矩陣為(d,-b),
(-c,a)即主對(duì)角線代數(shù)余子式不變,副對(duì)角線代數(shù)余子式交換位置

方陣的逆


主要方法是伴隨矩陣法即在原矩陣基礎(chǔ)上增加一個(gè)單位陣E增廣矩陣,通過行變化得到左邊為單位陣E而右邊即為所求逆矩陣

矩陣乘法

模型

考慮某隨機(jī)過程它的狀態(tài)有n個(gè),用1-n表示。記在當(dāng)前時(shí)刻t時(shí)位于i狀態(tài),它在t+1時(shí)刻處于j狀態(tài)概率P(i,j)=P(j|i):
即狀態(tài)轉(zhuǎn)移概率只依賴于前一個(gè)狀態(tài)

馬爾可夫模型

舉例

假定按照經(jīng)濟(jì)狀況將人群分成上、中、下三個(gè)階層,用1、2、3表示。假定當(dāng)前處于某階層只和上一代有關(guān),即:考察父代為第i階層,則子代為第j階層概率。假定如下轉(zhuǎn)移概率矩陣:

概率轉(zhuǎn)移矩陣

第n+1代中處于第j個(gè)階層的概率為:

因此,矩陣P即為(條件)概率轉(zhuǎn)移矩陣。
1.第i行元素表示:在上一個(gè)狀態(tài)為i時(shí)分布概率,即:每一行元素和為1.

平穩(wěn)分布:

當(dāng)?shù)銐蚨啻蔚臅r(shí)候,多項(xiàng)分布至于轉(zhuǎn)移矩陣有關(guān)而與初始概率無關(guān)。
從而,這是轉(zhuǎn)移概率矩陣P的性質(zhì),而非初始分布的性質(zhì)。事實(shí)上,上述矩陣P的n次冪,每行都是(0.286,0.489,0.225),n.>20
如果一個(gè)非周期馬爾可夫隨機(jī)過程具有轉(zhuǎn)移概率矩陣P,且它的任意兩個(gè)狀態(tài)都是聯(lián)通的,
事實(shí)上,下面兩種寫法等價(jià):

同時(shí),若某概率分布,說明
該多項(xiàng)分布是狀態(tài)轉(zhuǎn)移矩陣P的平穩(wěn)分布;
線性方程xP=x的非負(fù)解為而唯一,因此是線性方程xP=x的唯一非負(fù)解
應(yīng)用

向量乘法

A為mXn的矩陣,x為nX1的列向量,則Ax為mX1列向量,,
由于n維列向量和n維空間的點(diǎn)一一對(duì)應(yīng),上式實(shí)際給出了從n維空間點(diǎn)到m維空間點(diǎn)的線性變換
旋轉(zhuǎn),平移(齊次坐標(biāo)下)
特殊的,若m=n 且Ax 完成了n維空間內(nèi)線性變換

矩陣的秩

在mXn矩陣A中,任取k行k列,不改變這個(gè)元素在A中次序,得到k階方陣,稱為矩陣A的k階子式。
顯然,mXn矩陣A的k階子式有個(gè)
設(shè)在矩陣A中有一個(gè)不等于0的r階子式D,且所有r+1階子式(如果存在的話)全等于0,那么D稱為矩陣A最高階非零子式,r稱為矩陣A的秩,記作R(A)=r

  • nXn可逆矩陣,秩為n
  • 可逆矩陣稱其為滿秩矩陣,彼此列向量線性不相關(guān),行列式不等于0
  • 矩陣的秩等于列(行)向量組的秩
  • 秩與方程組的解


    對(duì)于n元線性方程組Ax=b

  • 無解的充要條件是R(A)<R(A,b)
  • 有唯一解充要條件是R(A)=R(A,b)=n
  • 有無線多解充要條件是R(A)=R(A,b)<b
  • 推論

    Ax=0有非零解的充要條件是R(A)<n
    Ax=b有解充要條件是R(A)=R(A,b)

    向量組等價(jià)


    能夠相互線性表出

    系數(shù)矩陣

    對(duì)C=AB重認(rèn)識(shí)

    由此可知,若C=AXB,則矩陣C的列向量能由A的列向量線性表示,B即為這一表示的系數(shù)矩陣。
    對(duì)偶的,若C=AXB,則矩陣C的列向量能由B的行向量線性表示,A即為這一表示的系數(shù)矩陣

    正交陣

    若n階矩陣A滿足A為正交矩陣,簡(jiǎn)稱正交陣
    A是正交陣的充要條件:A的列(行)向量都是單位向量,且兩兩正交
    A是正交陣,x為向量,則Ax稱作正交變換
    正交變換不改變向量長(zhǎng)度

    特征值和特征向量

    A是n階矩陣,若數(shù)和n維非0列向量x滿足,那么稱其為A的特征值,x稱為A對(duì)應(yīng)于特征值的特征向量

    性質(zhì)



    不同特征值對(duì)應(yīng)特征向量


    不同特征值對(duì)應(yīng)特征向量,線性無關(guān)

    實(shí)對(duì)稱陣

    性質(zhì):
    元素以對(duì)角線為對(duì)稱軸對(duì)應(yīng)相等的矩陣。對(duì)稱陣
    實(shí)對(duì)稱陣的特征值是實(shí)數(shù)
    設(shè)復(fù)數(shù)λ為對(duì)稱陣A的特征值,復(fù)向量x為對(duì)應(yīng)的
    特征向量,即Ax=λx(x≠0),
    將實(shí)數(shù)λ帶入方程組(A- λ I)x=0,該方程組為
    實(shí)系數(shù)方程組,因此,實(shí)對(duì)稱陣的特征向量
    可以取實(shí)向量。
    實(shí)對(duì)稱陣不同特征值的特征向量正交

    結(jié)論

    設(shè)A為n階對(duì)稱陣,則必有正交陣P,使得
    ? Λ是以A的n個(gè)特征值為對(duì)角元的對(duì)角陣。
    對(duì)角矩陣(diagonal matrix)是一個(gè)主對(duì)角線之外的元素皆為0的矩陣。對(duì)角線上的元素可以為0或其他值。
    ? 該變換稱為“合同變換”,A和Λ互為合同矩陣。

    漂白


    代碼

    def whitening(x):m=len(x)n=len(x[x])#計(jì)算x*x'xx=[[0.0]*n for tt in range(n)]for i in range(n):for j in range(i,n):s=0.0for k in range(m):s+=x[k][i]*x[k][j]xx[i][j]=sxx[j][i]=s#計(jì)算x*x'的特征值和特征向量lamda,egs=np.linalg.eig(xx)lamda=[1/math.sqrt(d)for d in lamda]#計(jì)算白化矩陣U'D^(-0.5)*Ut=[[0.0]*n for tt in range(n)]for i in range(n):for j in range(n):t[i][j]=lamda[j]*egs[i][j]whiten_matrix=[[0.0]*n for tt in range(n)]for i in range(n):for j in range(n):s=0.0for k in range(n):s+=t[i][k]*egs[j][k]whiten_matrix[i][j]=s#白化xwx=[0.0]*nfor j in range(m):for i in range(n):s=0.0for k in range(n):s+=whiten_matrix[i][k]*x[j][k]wx[i]=sx[j]=wx[:]

    正定陣

    對(duì)于n階方陣A,若任意n階向量x,都有
    則稱A是正定陣。
    ? 若條件變成,則A稱作半正定陣
    ? 類似還有負(fù)定陣,半負(fù)定陣。

    正定陣判定

    對(duì)稱陣A為正定陣;
    ? A的特征值都為正;
    ? A的順序主子式大于0;
    ? 以上三個(gè)命題等價(jià)

    順序主子式

    標(biāo)準(zhǔn)正交基

    若向量空間的基是正交向量組,則稱其為向量空間的正交基,若正交向量組的每個(gè)向量都是單位向量,則稱其為向量空間的標(biāo)準(zhǔn)正交基

    QR分解

    對(duì)于m×n的列滿秩矩陣A,必有:
    其中(即列正交矩陣),R為非奇異上三角矩陣(類似方陣)。當(dāng)要求R的對(duì)角線元素為正時(shí),該分解唯一。
    該分解為QR分解。可用于求解矩陣A的特征
    值、A的逆等問題

    QR分解算特征值


    運(yùn)用Q正交矩陣特點(diǎn)

    代碼

    def is_same(a,b):n=len(a)for i in range(n):if math.fabs(a[i]-b[i])>1e-6:return Falsereturn Trueif __name__="__main__':a=np.array([0.65,0.26,0.07,0.15,0.67,0.18,0.12,0.36,0.52])n=math.sqrt(len(a))a=a.reshape((n,n))value,v=np.linalg.elg(a)times=0while(times==0)or(not is_same(np.diag(a),v):v=np.diag(a)q,r=np.linalg.qr(a)a=np.dot(r,q)times+=1print"正交陣:\n",qprint"三角陣:\n",rprint"近似陣:\n",aprint"次數(shù):",times,"近似值:",np.diag(a)print"精確特征值:",value

    LFM

    def inverse(a):b=np.zeros_like(a)n=len(a)c=np.eye(n)alpha=1for times in range(200):for i in range(n):for j in range(n):err=c[i][j]for k in range(n):b[j][k]+=areturn b,k

    矩陣求導(dǎo)

    A為m×n的矩陣, x為n×1的列向量,則Ax
    為m×1的列向量,

    推導(dǎo)

    推廣

    標(biāo)量對(duì)向量求導(dǎo)


    數(shù)對(duì)向量求導(dǎo)

    推導(dǎo)

    標(biāo)量對(duì)方陣求導(dǎo)

    歸納 正交陣 正定陣 對(duì)稱陣 對(duì)角陣 正交基



    對(duì)稱陣:沿著對(duì)角線元素對(duì)稱
    對(duì)角陣:對(duì)角線有數(shù)據(jù),其余為0

    總結(jié)

    以上是生活随笔為你收集整理的矩阵和线性代数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。