【问题标题】:Solving system of polynomial matrix equations in sympy在 sympy 中求解多项式矩阵方程组
【发布时间】:2020-06-25 05:28:57
【问题描述】:

我想使用 sympy 求解满足一组二次和线性方程组的向量,例如 x.T @ A @ x = x.T @ B @ x = 1 和 x.T @ C = 0。这是我的尝试:

import numpy as np
from sympy.polys.polymatrix import PolyMatrix
from sympy import symbols
from sympy.solvers import solve_poly_system

x = PolyMatrix([symbols(f'x{k}') for k in range(2)])
A = np.eye(2)
B = np.array([1, 0]).reshape([2, 1])
one = PolyMatrix([1])

solve_poly_system([x.T @ A @ x - one, x.T @ B], [symbols(f'x{k}') for k in range(2)])

但是,这会产生以下错误:

PolynomialError: non-commutative expressions are not supported

有什么建议吗?

【问题讨论】:

    标签: sympy


    【解决方案1】:

    只需使用solve 而不是solve_poly_system:

    >>> solve([x.T @ A @ x - one, x.T @ B], [symbols(f'x{k}') for k in range(2)])
    [(0.0, -1.0), (0.0, 1.0)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多