厄米矩阵的Logm函数返回非厄米矩阵



当我使用scipy中的线性代数模块计算厄米矩阵的矩阵对数时,它输出的矩阵不是厄米矩阵。我首先使用

定义一个向量:
n = np.random.uniform(size = 3) + 1j*np.random.uniform(size = 3)

然后定义相应的厄米特矩阵:

N = np.outer(n,n.conj())
但是,linalg.logm(N)不返回厄米矩阵。为什么会发生这种情况?

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

我猜你只需要确保你的随机厄米矩阵具有非零特征值。

相关内容

  • 没有找到相关文章

最新更新