2 回答

TA貢獻1788條經驗 獲得超4個贊
由于您的最終矩陣將采用矩形形式,因此簡單的特征值方法將不起作用。您需要使用 sympy 庫
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)
這將打印線性獨立行的索引。要進一步從矩陣打印它們,請使用
print(matrix[indexes,:])
要回答您的具體問題,請檢查兩個向量是否線性相關。如果您始終要檢查兩個向量,那么您絕對可以在之后使用 if 語句。
if len(indexes) == 2:
print("linearly independant")
else:
print("linearly dependant")

TA貢獻1887條經驗 獲得超5個贊
如果矩陣的一個特征值為零,則其對應的特征向量是線性相關的。
因此,以下代碼適用于簡單的情況:
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]]
添加回答
舉報