稀疏旋转矩阵 Python SciPy

Sparse Rotation Matrix Python SciPy

我正在处理相当大的旋转矩阵,它们固有 属性 具有大量零。为了在将这些旋转矩阵与其他 matrices/vectors 相乘时减少内存使用并可能降低计算成本,我想使用稀疏矩阵数据结构。我找到了有关 SciPy 稀疏矩阵的文档,但我不太了解它们的工作原理以及它们之间的区别。 (SciPy docs)

在 Python 中用于旋转矩阵的最佳稀疏数据结构是什么?

如果你已经将旋转矩阵作为一个密集数组,你可以简单地做

m = csr_matrix(dense_rot_matrix)

应使用 csr_matrixcsc_matrix 两种类型之一。

更好的选择是填充稀疏矩阵,这可以使用 coo_matrix 类型轻松完成,它具有转换为 csr_matrixcsc_matrix 的有效方法。 I've been using Cython to create sparse matrices in this way very efficiently.