python矩陣計算(特徵值,特徵向量,對角化)

2021-09-12 07:22:52 字數 3768 閱讀 8530

首先建立矩陣基本操作,首先構造下圖中的矩陣,特別注意:一維矩陣的建立格式。

b = matrix([1,2,3])#三行一列

print(b.shape)

c = matrix([[1,2,3]])

print(c.shape)

x = matrix([[1,3,4],[4,2,1]])

y = matrix([0,1,1])

print(x*y)#兩行一列

執行結果 

matrix([[3, 5], [-1, 1], [0, 5]])

(3, 1)

(1, 3)

matrix([[7], [3]])

列和行的操作,m.row(0)將的到第一行,m.col(-1)會得到最後一列

m = matrix([[1,3,2],[5,6,3]])

print(m.shape)#列印矩陣的維度

"""列和行的操作,m.row(0)將的到第一行,m.col(-1)會得到最後一列"""

print("列印第一行")

print(m.row(0))

print("列印最後一列")

print(m.col(-1))

(2, 3)

列印第一行

matrix([[1, 3, 2]])

列印最後一列

matrix([[2], [3]])

m = matrix([[1,3,2],[5,6,3]])

print(m.shape)#列印矩陣的維度

"""刪除矩陣的行或列,用 row_del和col_del"""

m.col_del(0)

print(m)

m.row_del(1)

print(m)

print("給矩陣新增行或列,用 row_del和col_del")

print(m)

m = m.row_insert(1,matrix([[0,4]]))#新增行

print("在第二行新增資料")

print(m)

m = m.col_insert(0,matrix([1,-2]))

print("在第一列新增資料")

print(m)

(2, 3)

matrix([[3, 2], [6, 3]])

matrix([[3, 2]])

給矩陣新增行或列,用 row_del和col_del

matrix([[3, 2]])

在第二行新增資料

matrix([[3, 2], [0, 4]])

在第一列新增資料

matrix([[1, 3, 2], [-2, 0, 4]])

m = matrix([[1,3],[5,3]])

n = matrix([[4,3],[8,1]])

print("矩陣相加")

print(m+n)

print("矩陣相乘")

print(m*n)

print("矩陣的平方")

print(m**2)

print("矩陣乘以乙個數")

print(m*3)

print("求矩陣的逆")

print(m**-1)

print("矩陣的轉置")

print(m.t)

矩陣相加

matrix([[5, 6], [13, 4]])

矩陣相乘

matrix([[28, 6], [44, 18]])

矩陣的平方

matrix([[16, 12], [20, 24]])

矩陣乘以乙個數

matrix([[3, 9], [15, 9]])

求矩陣的逆

matrix([[-1/4, 1/4], [5/12, -1/12]])

矩陣的轉置

matrix([[1, 5], [3, 3]])

m = matrix([[1,3,4],[5,0,3],[3,5,7]])

print(m)

print("計算矩陣的行列式")

print(m.det())

print("化簡矩陣,返回兩個元素,第乙個是矩陣,第二個是元組")

print(m.rref())

matrix([[1, 3, 4], [5, 0, 3], [3, 5, 7]])

計算矩陣的行列式

7化簡矩陣

(matrix([

[1, 0, 0],

[0, 1, 0],

[0, 0, 1]]), [0, 1, 2])

m = matrix([[3,-2,4,-2],[5,3,-3,-2],[5,-2,2,-2],[5,-2,-3,3]])

print(m)

print("計算矩陣的特徵值")

print(m.eigenvals())

matrix([[3, -2, 4, -2], [5, 3, -3, -2], [5, -2, 2, -2], [5, -2, -3, 3]])

計算矩陣的特徵值

,m的特徵值為-2,3,5,特徵值-2,3具有代數多重性1,特徵值5具有代數多重性2.

m = matrix([[3,-2,4,-2],[5,3,-3,-2],[5,-2,2,-2],[5,-2,-3,3]])

print("計算矩陣的特徵向量")

print(m.eigenvects())

計算矩陣的特徵向量

print("計算矩陣的對角化矩陣")

p,d = m.diagonalize()

print(p)

print(d)

計算矩陣的對角化矩陣

matrix([[0, 1, 1, 0], [1, 1, 1, -1], [1, 1, 1, 0], [1, 1, 0, 1]])

matrix([[-2, 0, 0, 0], [0, 3, 0, 0], [0, 0, 5, 0], [0, 0, 0, 5]])

特徵值 特殊矩陣的特徵值和特徵向量

特徵值與特徵向量 2 前 言 1 今天我們來討論一類特殊矩陣的特徵值和特徵向量。秩1 矩陣的性質希望同學們還沒有完全遺忘,正好通過今天的內容帶著大家複習下。2 i 雖然今天的矩陣不是抽象矩陣,但是想通過定義法求特徵值較為麻煩。這裡我們需要做乙個轉換 ax 0有非零解說明0是a的特徵值。ii 這裡我們...

矩陣特徵值 特徵向量 奇異值

1.特徵值與奇異值的主要區別兩者的主要區別在於 奇異值分解主要用於資料矩陣,而特徵植分解主要用於方型的相關矩陣。自相關矩陣正定時,特徵值分解是奇異值分解的特例,且實現時相對簡單些。2.定義 一矩陣a作用與一向量a,結果只相當與該向量乘以一常數 即a a a,則a為該矩陣a的特徵向量,為該矩陣a的特徵...

Matlab GPU矩陣求特徵值計算

gpu求特徵值的使用方法 clear all clcm rand 2000,2000 生成乙個隨機矩陣 tic a1,b1 eig m 求該隨機矩陣的特徵值和特徵向量 t1 toc ticm single m 將資料轉換為單精度型 m gpuarray m 將資料從cpu中搬到gpu a2,b2 e...