Answers:
首先,它取决于实现。如果将稀疏矩阵实现为稠密矩阵并填写非零值,则它将随矩阵的整体大小缩放。如果将其存储为非零值,它将随着访问时间随矩阵大小而缩放。
在PETSc文档中,它解释了稀疏矩阵的默认存储是压缩行存储,该压缩行随行数和每行非零值的数目而缩放。因此,我希望MatMat能够与该度量的平方成比例地扩展。即。
但是,要注意的一件事是,存储不存在的内容是没有意义的。如果您关心这种性能,为什么要为1000x1000矩阵存储100个值?这意味着至少90%的行/列根本没有非零值,并且可以从矩阵中完全删除。如果非零值的模式不变,请考虑从此矩阵和目标矩阵中删除始终为零的行;它会删除的努力的一些90%,留下两个矩阵的性能(100 2,1000 2)大致等同。