【问题标题】:Sparse Rotation Matrix Python SciPy稀疏旋转矩阵 Python SciPy
【发布时间】:2015-05-08 23:10:03
【问题描述】:

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

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

【问题讨论】:

    标签: python numpy scipy sparse-matrix rotational-matrices


    【解决方案1】:

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

    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.

    【讨论】:

    • 谢谢! :) 还有一个问题;如果我使用csr_matrixcsc_matrix,我应该如何将它们乘以一个向量(这只是一个普通数组)?从我目前看到的情况来看,这不能立即完成,对吗?编辑:没关系,我的代码有错误,我的错。再次感谢!
    • @danielvdende 对,您可以简单地乘以 m*a_ndarray_object 或使用 m.dot(a_ndarray_object)
    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 2017-03-31
    • 2017-07-21
    • 2011-11-28
    • 2017-07-02
    • 2011-03-07
    相关资源
    最近更新 更多