gpt4 book ai didi

python - scipy 稀疏矩阵作为 petsc4py 的输入

转载 作者:太空狗 更新时间:2023-10-29 22:27:09 25 4
gpt4 key购买 nike

我似乎无法找到一种方法来有效地加载 scipy 稀疏矩阵,例如csr_matrix ,变成 petsc4py 矩阵,例如PETSc.Mat().createAIJ。我找到了 this thread ,但我无法应用它。

我也希望能提供一个实际记录这些东西的指针。 demo目录下的例子只解释了一部分,看不到任何文档字符串。

最佳答案

你的链接说要在 PETSc 中创建一个稀疏矩阵,你应该使用这样的命令:

PETSc.Mat().createAIJ(size=(nrows,ncols), csr=(ai,aj,aa))

根据 this , ai, ajaa 在 PETSc 中是:

> i - row indices
> j - column indices
> a - matrix values

这些分别等效于 scypy.sparse 的 .indptr.indices.data 属性。 csr_matrix,见docs了解详情。

因此,如果您的链接是正确的,则以下内容应该有效:

>>> from petsc4py import PETSc
>>> import scipy.sparse
>>> csr_mat = scipy.sparse.rand(1000, 1000, density=0.001, format='csr')
>>> petsc_mat = PETSc.Mat().createAIJ(size=csr_mat.shape,
... csr=(csr_mat.indptr, csr_mat.indices,
... csr_mat.data))

很遗憾,我无法自己测试。

关于python - scipy 稀疏矩阵作为 petsc4py 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15442632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com