题
什么是一个很好的代表性矩阵在题?我有兴趣在处理密集矩阵的浮点数。"列表中列出了"表示出来,但是还有更好的东西?
某些标准的一个良好的代表包括:
- 效率:他们不会被用于不断处理的巨大的数据集,但我不想花时间的计算结果,可能已经完成在几分钟内有一个更好的设计。
- Java互操作性:这将是很好的证据来回两种语言之间的容易。
- 容易并行化:如果我可以使用所有核可简单地通过替换
map
与pmap
, 那将是好的。 - 适合使用
reduce
:它看起来像许多的计算我在做工作很好用reduce
. - 能力表示图像扫描线矩阵行:不是真的非常重要的,但将是很好的。
任何想法?
其他提示
我正在写一个矩阵图书馆包裹 jblas 所谓的,暂定Clatrix.这是失踪了很多功能我还想要加入,但它有什么你可能会寻找。看看, http://github.com/tel/clatrix.
我目前正在使用该清单列出了办法 cryptovide 因为其非常重要的这个应用程序 让事情变懒.我也在考虑换到一个更有效的方法,只要它保持至少外表示懒惰。
富Hickey的题是一个JVM基些代表PersistentVector(不PersistentList)有32种方式树。
如果你想写自己的阵型,我会用PersistentVector 否则最好的选择是采用并行小马用咒术.
我最近写了一些代码,需要矩阵数学和初我用矢量中的矢量地图和降低,但发现该产生的代码,难以理解当我回到它(我是新来的和头脑)。咒术作出同样的代码非常简洁,易于理解的(标准矩阵ops)和更快得多。
答案可能需要更新,作为8年过去了。一个快速的谷歌搜索显示,如果你需要兼容题的核心。矩阵API,可以使用的核心。矩阵本身或其它实现诸如vectorz-clj.
此外我发现 穴居人 这是优化GPU
我不是专家,但这是我的意见呢:)
列表的列出了可能是最自然和语为代表的矩阵。这种结构还借自己很好地减少各种行动。题也是相当有效地处理列-可能比大多数的替代品。
我不能保证这一点,但我想我见过的题工作3或4的我的Cpu硬盘上的程序是我写这是功能性的风格但是没有做任何尝试都是平行的。我怀疑编译器是查找一些机会并行处理自己。
我认为序列类型创建和会的工作列表,或者至少是可迭代.这可能是不够好为什么你想要的,虽然你可能会遇到的问题,如果你试图把这些结构的修改。
名单是最好的访问顺序。如果你计划要跳周围有很多的矩阵,一个矢量的载体可以满足你一个小小的更好的绩效明智的。我怀疑是拍的使用 n 功能。
作为一个前C程序员,我简要地认为你可以实现你的矩阵作为一个维结构(即一直顺序或更好的矢量),并且做你自己的指数计算,以找到合适的元素。你可以使用 分区 功能要步骤,通过它...嗯,这可能是由工作,但我怀疑有很好的理由,不要。