如何使用C API创建NumPy矩阵?

2024-09-30 10:38:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我阅读了关于numpycapi的文档,但是仍然无法确定是否有可能使用capi构造一个矩阵对象,而不是二维数组。该函数用于处理数学矩阵,如果用户调用矩阵乘法时忘记将该值从数组转换为矩阵(乘法和求幂是矩阵子类唯一的区别),我不希望出现奇怪的结果。在


Tags: 对象函数用户文档矩阵数学数组子类
2条回答

您可以使用PyObject_Call*函数调用任何可调用的python。在

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。在

编辑:将对numpy.zeros/numpy.ndarray的引用改为numpy.matrix。在

我还找到了一个很好的关于这个主题的教程:http://starship.python.net/crew/hinsen/NumPyExtensions.html

numpy.matrix是在numpy/core/defmatrix.py中定义的普通类。您可以使用capi作为Python中用户定义类的任何其他实例来构造它。在

相关问题 更多 >

    热门问题