将 mpmath 的 mpf 转换为 python float 以支持 cvxopt

Convert mpf of mpmath to python float to support cvxopt

我正在使用二次编程进行 CVXOPT problem.To 创建一个 G 矩阵,我需要微分方程并计算 values.For 微分我使用 Sympy.mpmath 和给定的 lambda 函数below.I 正在获取 mpf 中的输出 format.Please 建议我将 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)

float(...) 结束你的 sp.mpmath.diff 通话:

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.        ])