0

我正在使用二次规划问题研究 CVXOPT。要创建 G 矩阵,我需要对方程进行微分并计算值。对于微分,我使用了 Sympy.mpmath 和 lambda 函数,如下所示。我得到了 mpf 格式的输出。请建议我一种将 mpf 转换为支持 CVXOPT 的 python 浮点格式的方法。谢谢

dg1 = np.array([sp.mpmath.diff(lambda x1,x2,x3,x4,x5:0.75*x2/x4,(0.3,1.45,5,1.1,0.25),ft[i]) for i in range(n)])                 
>>>array([mpf('0.0'), mpf('0.68181818181818177'), mpf('0.0'),
   mpf('-0.89876033057851223'), mpf('0.0')], dtype=object)
4

1 回答 1

0

用以下方式结束您的sp.mpmath.diff电话float(...)

dg1 = np.array([float(sp.mpmath.diff(lambda x1,x2,x3,x4,x5:0.75*x2/x4,
                                     (0.3,1.45,5,1.1,0.25),ft[i])) for i in range(n)])

>>>array([0.        , 0.68181818, 0.        , -0.89876033, 0.        ])
于 2017-06-07T02:28:33.337 回答