Python 为什么cholesky不适用于这个对称矩阵?
我想用Symphy找到一个符号Cholesky因子分解。矩阵M(参见示例)是实对称的(因此是厄米特矩阵)。但Sympy提出了一个错误:矩阵必须是厄米特矩阵 两个问题:Python 为什么cholesky不适用于这个对称矩阵?,python,matrix,linear-algebra,sympy,Python,Matrix,Linear Algebra,Sympy,我想用Symphy找到一个符号Cholesky因子分解。矩阵M(参见示例)是实对称的(因此是厄米特矩阵)。但Sympy提出了一个错误:矩阵必须是厄米特矩阵 两个问题: 为什么会出错 我需要做什么才能找到我的Cholesky因子 矩阵M不是厄米特矩阵,因为没有限制值x和y是复杂的 因为M不是必需的Hermitian,所以应该使用 M.cholesky(hermitian=False) Out[17]: Matrix([ [ sqrt(exp(x**2)),
M
不是厄米特矩阵,因为没有限制值x
和y
是复杂的M
不是必需的Hermitian,所以应该使用
M.cholesky(hermitian=False)
Out[17]:
Matrix([
[ sqrt(exp(x**2)), 0],
[exp(x*y)/sqrt(exp(x**2)), sqrt(exp(y**2) - exp(-x**2)*exp(2*x*y))]])
hermitian
是出现在sympy版本1.4
中的参数。你可以找到变化。对于早期版本的cholesky
方法可以按原样使用示例
M.cholesky(hermitian=False)
Out[17]:
Matrix([
[ sqrt(exp(x**2)), 0],
[exp(x*y)/sqrt(exp(x**2)), sqrt(exp(y**2) - exp(-x**2)*exp(2*x*y))]])