考虑三个(复数)方阵
A
、X
和 B
,它们形成了一个通常欠定的线性系统
A @ X - X @ A == B
系统要解决
X
。我想使用例如 lstsq
或 numpy
的 scipy
函数来找到 X
的特定解决方案。
请注意,在我的例子中,
A
和B
是厄米式的,因此解决方案X
必然是反厄米式的。
当然总是可以使用自定义最小二乘最小化,但是有没有办法使用现有的线性代数求解器来直接解决这个问题?
感谢评论中的@Reinderien 提供的解决方案想法。 Scipy 有一个专门针对这个问题的
solve_sylvester
函数,即
import scipy
X = scipy.linalg.solve_sylvester(A, -A, B)
这可以对我的案例进行优化,但它会工作得足够好。