【问题标题】:Multidimensional sparse matrices in JuliaJulia 中的多维稀疏矩阵
【发布时间】:2014-02-05 23:38:28
【问题描述】:

为什么 Julia 中没有多维稀疏矩阵/数组?为什么我们只能有 2D 稀疏矩阵而不是 3D 稀疏矩阵(或数组)?

【问题讨论】:

    标签: julia sparse-array


    【解决方案1】:

    据我了解,问题是(我不是稀疏线性代数专家,尽管 Viral Shah 是 Julia 的其他联合创始人之一)是所有用于进行稀疏计算的库(例如 SuiteSparse)都是矩阵-只要。它们不支持稀疏向量,也不支持更高维的张量。所以我们可以为高维稀疏张量定义类型,但是你不能用它们做任何有用的事情。

    【讨论】:

    • 我明白了。好吧,tat 似乎太糟糕了......在我(稀疏)的脑海中,维度越大,我们能够从稀疏它中获得的收益就越大。
    • 我同意。我们已经讨论过做一个“元组汤”稀疏矩阵实现,它可以支持任意维度的稀疏性。困难的部分是使 matvec 和 matmul 之类的操作相当快。
    • 老实说,我只喜欢 3D。这将打开各种与 3D 空间相关的应用程序(例如光线追踪)。但我想如果你已经完成了将其扩展为 3D 的工作,那么你不妨将其一直扩展到任意维度。所以现实地说,你认为这不会发生(我认为你参与了 Julia 的开发团队)?
    • 是的,我是该项目的联合创始人之一。任意多维实际上非常困难,因此 3D 可能要容易得多。一个警告是只有一个维度是稀疏的。正常稀疏矩阵也是如此,但只有两个维度。 CSC 是列主要系统上的标准稀疏矩阵格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多