我正在尝试从已经存在的csc矩阵中创建一个petsc矩阵。考虑到this,我创建了以下示例代码:
^{1}$只要矩阵只包含实数,这种方法就可以很好地工作。当矩阵很复杂时,运行这段代码会导致
TypeError: Cannot cast array data from dtype('complex128') to dtype('float64') according to the rule 'safe'
。
我试图弄清楚错误发生的确切位置,但无法理解回溯:
有没有一种有效的方法可以从复杂的scipy csc矩阵中创建一个petsc矩阵(稍后我想检索一些特征对)?在
如果你们能帮我找出我的错误(希望不要太明显),我会很高兴的。在
我在让PETSc工作时遇到了困难,所以我不止一次地配置了它,在最后一次运行中,我显然忘记了
with-scalar-type=complex
选项。在这是我应该做的:
请检查日志文件
$PETSC_DIR/arch-linux2-c-opt/conf/configure.log
。或者看看
reconfigure-arch-linux2-c-opt.py
。在那里你可以找到你用来配置PETSc的所有选项。如果您也使用SLEPc,您还需要重新编译它。现在,由于我在重新配置脚本中添加了选项(
with-scalar-type=complex
)并运行了它,一切都非常顺利。在相关问题 更多 >
编程相关推荐