문제

내가 찾을 수있는 Numpy C API에 대한 문서를 읽었지만 여전히 2 차원 배열이 아닌 C API로 매트릭스 객체를 구성 할 가능성이 있는지 여부를 알 수 없었습니다. 이 기능은 수학 매트릭스와의 작업을위한 것이며, 사용자 가이 값을 배열에서 행렬로 변환하는 것을 잊어 버린 매트릭스 곱셈을 호출하는 경우 이상한 결과를 원하지 않습니다 (곱셈 및 지수는 매트릭스 서브 클래스가 가진 유일한 차이).

도움이 되었습니까?

해결책

numpy.matrix 정의 된 일반 클래스입니다 numpy/core/defmatrix.py. Python에서 사용자 정의 클래스의 다른 인스턴스로 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");

매트릭스가 생성됩니다 my_matrix 크기 2x2.

편집하다: 변경 사항이 변경되었습니다 numpy.zeros/numpy.ndarray 에게 numpy.matrix 대신에.

또한 주제에 대한 좋은 튜토리얼도 찾았습니다. http://starship.python.net/crew/hinsen/numpyextensions.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top