2024-09-30 10:38:11 发布
网友
我阅读了关于numpycapi的文档,但是仍然无法确定是否有可能使用capi构造一个矩阵对象,而不是二维数组。该函数用于处理数学矩阵,如果用户调用矩阵乘法时忘记将该值从数组转换为矩阵(乘法和求幂是矩阵子类唯一的区别),我不希望出现奇怪的结果。在
您可以使用PyObject_Call*函数调用任何可调用的python。在
PyObject_Call*
PyObject *numpy = PyImport_ImportModule("numpy"); PyObject *numpy_matrix = PyObject_GetAttrString(numpy, "matrix"); PyObject *my_matrix = PyObject_CallFunction(numpy_matrix, "(s)", "0 0; 0 0");
这将创建一个大小为2x2的矩阵my_matrix。在
my_matrix
编辑:将对numpy.zeros/numpy.ndarray的引用改为numpy.matrix。在
numpy.zeros
numpy.ndarray
numpy.matrix
我还找到了一个很好的关于这个主题的教程:http://starship.python.net/crew/hinsen/NumPyExtensions.html
numpy.matrix是在numpy/core/defmatrix.py中定义的普通类。您可以使用capi作为Python中用户定义类的任何其他实例来构造它。在
您可以使用
PyObject_Call*
函数调用任何可调用的python。在这将创建一个大小为2x2的矩阵
my_matrix
。在编辑:将对
numpy.zeros
/numpy.ndarray
的引用改为numpy.matrix
。在我还找到了一个很好的关于这个主题的教程:http://starship.python.net/crew/hinsen/NumPyExtensions.html
numpy.matrix
是在numpy/core/defmatrix.py中定义的普通类。您可以使用capi作为Python中用户定义类的任何其他实例来构造它。在相关问题 更多 >
编程相关推荐