问题标签 [hmatrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - MATLAB pos 函数的 Haskell / hmatrix 等效项是什么?
我正在使用 hmatrix 库将一些 MATLAB 代码转换为 Haskell。它进展顺利,但我在 pos 函数上绊倒了,因为我不知道它的作用或它的 Haskell 等价物会是什么。
MATLAB 代码如下所示:
到目前为止我的 Haskell 翻译:
这实际上类型检查正常,但当然,我错过了“pos”调用,它会引发错误:
所以我猜 pos 对矩阵大小有什么影响?谷歌搜索“matlab pos 函数”没有发现任何有用的东西,所以非常感谢任何指针!(显然我对MATLAB了解不多)
顺便说一下,这是为了让 TILT 算法从嘈杂的扭曲图像中恢复低等级纹理。我对此感到非常兴奋,即使数学超出了我的范围!
看起来 pos 函数是在不同的 MATLAB 文件中定义的:
我无法完全理解这是在做什么。假设布尔值转换为双精度值,其中 "True" == 1.0 和 "False" == 0.0
在那种情况下,它会将负值变为零并保持正数不变?
haskell - 沙盒的 hmatrix 安装错误问题?
我在沙箱中安装了 hmatrix,它通过了安装过程,但随后链接器挂断了......
Linking dist/dist-sandbox-34d68aef/build/wavelets/wavelets ...
/usr/bin/ld: cannot find -lHSwavelets-0.1.0_p
/usr/bin/ld: cannot find -lHSlens-4.0.7_p
/usr/bin/ld: cannot find -lHSzlib-0.5.4.1_p
/usr/bin/ld: cannot find -lHSvoid-0.6.1_p
/usr/bin/ld: cannot find -lHSutf8-string-0.3.7_p
/usr/bin/ld: cannot find -lHSsplit-0.2.2_p
/usr/bin/ld: cannot find -lHSreflection-1.4_p
/usr/bin/ld: cannot find -lHSprofunctors-4.0.2_p
/usr/bin/ld: cannot find -lHSparallel-3.2.0.4_p
/usr/bin/ld: cannot find -lHSexceptions-0.3.3_p
/usr/bin/ld: cannot find -lHSbifunctors-4.1.1_p
/usr/bin/ld: cannot find -lHSsemigroupoids-4.0_p
阴谋集团看起来像:
Name: wavelets
Version: 0.1.0
Author: Scott Murphy
Maintainer: Scott Murphy
License: BSD3
License-File: LICENSE
Cabal-Version: >= 1.10
Build-Type: Simple
Library
Default-Language: Haskell2010
HS-Source-Dirs: src
GHC-Options: -Wall
Exposed-Modules: Data.Wavelets
Other-Modules: Data.Wavelets.Internal
Build-Depends: base >= 4 && < 5
,bytestring >= 0.9 && < 1.0
,mtl >= 2.1 && < 2.2
,lens >= 3.9
,text >= 0.11.3.1
,transformers >= 0.3.0.0
,vector >= 0.10.9.1
,unordered-containers >= 0.2.3.3
,hstatistics
Test-Suite spec
Type: exitcode-stdio-1.0
Default-Language: Haskell2010
Hs-Source-Dirs: src
, test
Ghc-Options: -Wall
Main-Is: Spec.hs
Build-Depends: base
, hspec
, wavelets
, vector
Executable wavelets
main-is: Main.hs
HS-Source-Dirs: src
build-depends: base
, wavelets
, vector
Source-Repository head
Type: git
-- Location:
haskell - 如何在 Haskell 中使用 hmatrix 计算矩阵的梯度?
最近我一直在尝试使用 JuicyPixels 和 hmatrix 来处理图像。但是,我不知道如何使用 hmatrix 将矩阵的梯度计算为图像梯度。似乎没有可用的 API,我只能自己编写一个太慢而无法工作的 API。
在 hmatrix 中,我发现 mapMatrix 函数非常有用,但它只涉及一个元素转换。有没有比 mapMatrix 更强大的函数可以有效地迭代矩阵?
haskell - 如何在 Haskell 中计算精确(整数)行列式?
我想使用hmatrix但它坚持使用Double
,这有时会产生舍入错误。查看源代码,我尝试了
但未DoubleOf
导出(Numeric.ContainerBool
隐藏),这可能是有原因的。
haskell - Haskell - hMatrix 上的实例声明
我在一个列表上使用fromBlocks
hMatrix 中的函数,该列表的元素由 type 的函数确定Int -> Int -> Int -> Matrix Int
。然而,GHC 抱怨说:
我试图告诉 GHC 这个计算结果的类型,:: Matrix Int
但它不起作用,我不明白在使用函数时如何声明类型。
haskell - Haskell - 合格导入后的类型不兼容
我正在使用 hMatrix,我的代码的第一行是:
问题是,在我的代码中,向量类型是V.Vector
,但是 hMatrix 定义的一些方法有类型Vector -> ...
,当我尝试使用这些方法时 GHC 不理解,说它们不是为类型定义的V.Vector
。我怎么解决这个问题?
更新:
从 hMatrix 的文档中:
该
Vector
类型是Storable
来自 Roman Leshchinskiy 的向量包的向量,因此该库提供的所有数组处理工具都可以直接使用。
但是, hMatrix 中不包含一些基本运算符,例如(++)
(存在于 中)。Data.Vector.Storable
是不可能从 hMatrix 中使用这些,还是有一些简单的方法可以告诉编译器这些类型是相同的?
haskell - OS X 10.9.4 上的 hmatrix 安装错误
有人在 OSX 10.9 上成功使用 hmatrix-0.16.0.4 吗?
我收到以下错误:
我使用brew install gsl && cabal install hmatrix
. 我的 ghc 版本是 7.6.3。
我怀疑它应该用 gcc(而不是 clang)构建——我该如何改变它?
macos - 在 OSX 上构建 hmatrix
我正在尝试在 OSX 10.10.1 上构建 hmatrix-0.16.1.1,并且在 src/C/vector-aux.c 中遇到了一些未定义的 C 函数和类型:
struct random_data
random_r()
initstate_r()
一个特定的错误:
在 Linux 系统上,它们似乎是在 中定义的stdlib.h
,但在 OSX 上似乎并非如此。
有没有办法解决这个问题?FWIW,我正在使用 GHC for OSX ( https://ghcformacosx.github.io/ ) 并且我已经gsl
通过brew install gsl
.
haskell - HMatrix Matrix Double - 双乘积
我不明白为什么在上述函数中,乘以 2 有效,而乘以 hx = 0.5 则无效。OTOH,将 aMatrix Double
与Double
外部函数相乘可以正常工作。
我很困惑。欢迎任何指点!
haskell - hmatrix 特征值与 R 不同?
我正在尝试遵循一些简单的 hmatrix 示例:
加载到 ghci:
R中的结果:
前两个特征值是一致的,但在第三个中它们有很大的不同。为什么?
请注意,hmatrix 使用复数。