2 回答

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
由于您的最終矩陣將采用矩形形式,因此簡(jiǎn)單的特征值方法將不起作用。您需要使用 sympy 庫(kù)
import sympy
import numpy as np
matrix = np.array([
[0, 5, 0],
[0, -10, 0]
])
_, indexes = sympy.Matrix(matrix).T.rref() # T is for transpose
print(indexes)
這將打印線(xiàn)性獨(dú)立行的索引。要進(jìn)一步從矩陣打印它們,請(qǐng)使用
print(matrix[indexes,:])
要回答您的具體問(wèn)題,請(qǐng)檢查兩個(gè)向量是否線(xiàn)性相關(guān)。如果您始終要檢查兩個(gè)向量,那么您絕對(duì)可以在之后使用 if 語(yǔ)句。
if len(indexes) == 2:
print("linearly independant")
else:
print("linearly dependant")

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果矩陣的一個(gè)特征值為零,則其對(duì)應(yīng)的特征向量是線(xiàn)性相關(guān)的。
因此,以下代碼適用于簡(jiǎn)單的情況:
from sympy import *
import numpy as np
from scipy import linalg
from numpy import linalg
matrix = np.array([[0, 1, 0, 0], [0, 0, 1, 0], [0, 1, 1, 0], [1, 0, 0,
1]])
(lambdas, V) = np.linalg.eig(matrix.T)
print matrix[lambdas == 0, :]
輸出:[[0 1 1 0]]
添加回答
舉報(bào)