我读NumPy的C API的文档我能找到,但依然没能找出是否有构建具有C API的矩阵对象的可能性 - 不是一个二维阵列。该功能用于与数学矩阵的工作,如果用户调用矩阵乘法忘记这个值从数组转换为矩阵(乘法和取幂是矩阵子类有唯一的区别),我不想奇怪的结果。

有帮助吗?

解决方案

numpy.matrix是在限定的普通类numpy的/核心/ defmatrix.py 。可以使用C API作为用户定义的类的在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");

此将创建尺寸2×2的矩阵my_matrix

编辑:变更引用numpy.zeros / numpy.ndarray代替到numpy.matrix

我还发现关于该主题的很好的教程: http://starship.python.net/机组人员/ hinsen / NumPyExtensions.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top