根据定义,具有零行列式的方阵不应该是可逆的。但是,由于某种原因,在生成协方差矩阵之后,我成功地取了它的逆矩阵,但是取协方差矩阵的行列式最终得到了 0.0 的输出。
可能会出现什么问题?我应该不相信行列式输出,还是不应该相信逆协方差矩阵?或两者?
我的代码片段:
cov_matrix = np.cov(data)
adjusted_cov = cov_matrix + weight*np.identity(cov_matrix.shape[0]) # add small weight to ensure cov_matrix is non-singular
inv_cov = np.linalg.inv(adjusted_cov) # runs with no error, outputs a matrix
det = np.linalg.det(adjusted_cov) # ends up being 0.0