A使用数组c(numpy.ndarraywith )索引 PETSc.Mat时dtype('int64'),遇到以下错误:
File "/Users/cls/workspace/LAMG-Python/src/lamg/amg/setup.py", line 945, in buildInternal
Acc = A[c, c]
File "Mat.pyx", line 185, in petsc4py.PETSc.Mat.__getitem__ (src/petsc4py.PETSc.c:71407)
File "petscmat.pxi", line 862, in petsc4py.PETSc.mat_getitem (src/petsc4py.PETSc.c:22442)
File "petscmat.pxi", line 773, in petsc4py.PETSc.matgetvalues (src/petsc4py.PETSc.c:21226)
File "arraynpy.pxi", line 123, in petsc4py.PETSc.iarray_i (src/petsc4py.PETSc.c:5284)
File "arraynpy.pxi", line 117, in petsc4py.PETSc.iarray (src/petsc4py.PETSc.c:5192)
TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
我假设有一个简单的解决方案(允许演员,使一切 32 或 64 位......)。你能为我指出正确的方向吗?谢谢。