将这个矩阵方程转换成 numpy 可以理解的东西

convert this matrix equation into something numpy can understand

我知道如何用 numpy 求解基本的线性矩阵方程。

但是,我有一个矩阵 A 和方程 A^2 + xA + yI = 0,其中 x 和 y 不是向量,而是标量。 I是单位矩阵,0是维度匹配A的零矩阵。

对于小矩阵来说,这在纸面上超级简单(当然假设存在解决方案),但我正在练习编码面试,预计会用 python 解决此类问题。也许给定的矩阵会很大...

这是一个示例矩阵 A,其结果是解 x=-2,y=1:

np.array([[1,1,0],
          [0,1,0]
          [0,0,1]]

理论上,这就像求解线性方程组 x = -2 和 x+y=-1 一样简单。我面临的问题是将上述形式的方程解析为方程组形式的方程(或者 Ax = B 形式的线性矩阵方程)。

The issue I am facing is parsing the equation in its form above to one that is in the form of a system of equations (or alternatively a linear matrix equation of the form Ax = B

假设 An 列。对于具有 n 列的方阵 Q,设 E(Q) 为长度-n^2 通过迭代 Q 的条目形成的向量(比如按行优先顺序)。

然后求解x,y in

A^2 + xA + yI = 0

相当于求解系统z

Bz=-c

其中

  • z = [x,y]是长度为2的列向量

  • Bn^2 X 2 矩阵,其列为 E(A )E(I)

  • cE(A^2)