3

当我在 scipy 中使用线性代数模块来计算厄米矩阵的矩阵对数时它输出的矩阵不是厄米矩阵。我首先使用以下方法定义一个向量:

n = np.random.uniform(size = 3) + 1j*np.random.uniform(size = 3)

然后我定义了各自的厄米特矩阵:

N = np.outer(n,n.conj())

但是,linalg.logm(N)不返回厄米矩阵。为什么会这样?

4

1 回答 1

2

随机矩阵的除一个特征值之外的所有特征值都为零。由于矩阵上的函数可以写成矩阵特征值上的函数,我明白为什么对数在那里有问题,因为 log(0) 没有定义。也许函数没有看到这个问题,只是返回垃圾。

我想您只需要确保您的随机 Hermitian 矩阵具有非零特征值。

于 2013-04-13T16:27:53.690 回答