将 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. ])
我正在使用二次编程进行 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. ])