如何使用Sympy或其他方法导出二次方程的矩阵形式

时间:2015-10-28 04:26:45

标签: python math scipy sympy sage

有没有办法转换呢?例如,从这个等式中得出:

enter image description here

以这种矩阵形式:

enter image description here

我们特别想让这些矩阵圈出红色。

这是我目前的代码:

from sympy import *
x, y = symbols('x y')
expr = 0.5 * (x**2) + 3*x + 4*y
print(latex(expr))

我欢迎Simpy以外的建议(请不要使用MATLAB)。

在一天结束时,我想将其与CVXOPT或Scipy一起使用。

1 个答案:

答案 0 :(得分:2)

我不能给你任何python代码,但我可以解释如何派生矩阵和向量:

您的表格是:

                     T                           T
f(x, y) = 1/2 * | x |  * | a  b | * | x | + | d |  * | x |
                | y |    | b  c |   | y |   | e |    | y |

这等于:

f(x, y) = 1/2 * a x^2 + b * xy + 1/2 * c y^2 + d x + e y

所以你只需要将系数放在矩阵形式的正确位置(a = 2 * coefficient of x^2, b = coefficient of xy, etc.)。