小编Fab*_*ian的帖子

如何确定 PyObject 是否是 numpy PyArrayObject

我是 Python C-API 的新手。

目前我通过以下方式从嵌入式 Python 模块获取对象

PyObject* a = (PyObject*) PyObject_GetAttrString(pModule, "a");
std::cout << "a as long is " << PyLong_AsLong(a) << std::endl;
Run Code Online (Sandbox Code Playgroud)

我通过访问 numpy 对象

PyArrayObject* array = (PyArrayObject*) PyObject_GetAttrString(pModule, "A");
Run Code Online (Sandbox Code Playgroud)

如何测试该对象是否真的是 a PyArrayObject?换句话说,如何通过 Python 来做我想做的事情isinstance(a, numpy.ndarray)

python numpy python-c-api

5
推荐指数
1
解决办法
1597
查看次数

替代 arm64 的 (mkl) pardiso(Apple Silicon)

对于学术数值项目,我们主要使用 pardiso(来自 mkl)和 cholmod 作为直接求解器。现在我切换到 Apple Silicon(速度惊人,构建时间缩短了四分之一!)并且无法再使用 Intel 的 mkl 进行本机编译。

  • 对于 BLAS openblas 运行良好
  • 对于正定系统 cholmod 效果很好
  • 对于非正定系统(其中 pardiso 很棒),我正在寻找替代品
  • 到 2022 年 1 月,不再有可用的学术 Pardiso。

solver pardiso arm64

5
推荐指数
1
解决办法
894
查看次数

标签 统计

arm64 ×1

numpy ×1

pardiso ×1

python ×1

python-c-api ×1

solver ×1