python - 将 SymPy 矩阵转换为 numpy 数组/矩阵的最佳方法是什么

标签 python arrays matrix numpy sympy

我不确定我在 sympy 中使用的方法是将 MutableDenseMatrix 转换为 numpy.array 还是 numpy.matrix 是一个很好的当前实践。

我有一个符号矩阵,如:

g = sympy.Matrix( [[   x,  2*x,  3*x,  4*x,  5*x,  6*x,  7*x,  8*x,   9*x,  10*x],
                   [x**2, x**3, x**4, x**5, x**6, x**7, x**8, x**9, x**10, x**11]] )

我正在转换为 numpy.array 做:

g_func = lambda val: numpy.array( g.subs( {x:val} ).tolist(), dtype=float )

我在其中获取给定值 x 的数组。

SymPy 中是否有更好的内置解决方案来做到这一点?

谢谢!

最佳答案

这看起来是最直接的:

np.array(g).astype(np.float64)

如果您跳过 astype 方法,numpy 将创建一个“object”类型的矩阵,这不适用于常见的数组操作。

关于python - 将 SymPy 矩阵转换为 numpy 数组/矩阵的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069864/

相关文章:

python - 使用 Fabric/Paramiko 遍历 SOCKS5 代理时无输出

python - 使用SQLAlchemy删除级联外键约束错误

arrays - F#:为什么 Array.createZero 这么快?

python - symPy 中的 inv() 没有返回正确的值

r - 如何从R中的矩阵创建边列表?

r - R中反转下三角矩阵的树列表

python - 如何将三引号文本格式化为三引号打印语句

python - Matplotlib 空白图(应该有子图)

javascript - 如何查看数组是否有值,如果有则返回 true。 - JavaScript

arrays - 如何使用值中的键将哈希数组转换为哈希对象?