gpt4 book ai didi

haskell - 类型安全的矩阵乘法

转载 作者:行者123 更新时间:2023-12-03 15:19:32 27 4
gpt4 key购买 nike

Write this Scala Matrix multiplication in Haskell 上的冗长讨论之后,我想知道......类型安全的矩阵乘法会是什么样子?所以这是你的挑战:要么链接到 Haskell 实现,要么自己实现以下内容:

data Matrix ... = ...

matrixMult :: Matrix ... -> Matrix ... -> Matrix ...
matrixMult ... = ...

在哪里 matrixMult如果您尝试将两个具有不兼容维度的矩阵相乘,则会在编译时产生类型错误。如果你链接到讨论这个精确主题的论文或书籍,和/或讨论你自己这个功能的有用/无用,Brownie 点。

最佳答案

有许多包可以实现这一点:

  • http://hackage.haskell.org/package/hmatrix-static
  • http://hackage.haskell.org/packages/archive/repa-algorithms/2.2.0.1/doc/html/Data-Array-Repa-Algorithms-Matrix.html
  • http://hackage.haskell.org/packages/archive/blas/0.7.6/doc/html/Data-Matrix-Dense.html#t:Matrix
  • http://hackage.haskell.org/package/Vec

  • 尤其是 Repa 论文对设计空间和做出的选择进行了非常好的讨论: http://repa.ouroborus.net/

    具有历史意义的是 McBride 的 "Faking It"从 2001 年开始,它描述了强类型向量。他采用的技术与上述软件包中使用的技术非常相似。他们显然在从事依赖类型编程的圈子中广为人知,但我的印象是“Faking It”论文是在 Haskell 中使用这些的早期实例之一。奥列格的 2005 Monad Reader article on number-parameterized types 也对这些技术的历史进行了一些很好的讨论。

    关于haskell - 类型安全的矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332392/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com