我正在学习Haskell,我试图实现一些 量子 </跨度> 基于我在互联网上找到的资源的门。目前,我成功实施了Z- 门 </跨度> ,X- 门 </跨度> ,H- 门 </跨度> 但我有一个问题 实施轮换 门 </跨度> 。
U = cos t -sin t] [sin t cos t
我写的代码:
类型Vector a = [a]类型矩阵a = [矢量a]vectorToComplex :: Integral a =&gt;矢量a - &gt;矢量(复杂
cos 和 sin 只能拿一个 Floating 参数,但类型签名 gateR 说 t 是一个 Integral 类型,而不是全部 Integral 是的 Floating 。要么更改类型签名 gateR 或转换 t 内 gateR 运用 fromIntegral 。
cos
sin
Floating
gateR
t
Integral
fromIntegral
你的函数只需要约束 Integral t 因此你需要转换你的 t 同 fromIntegral 并且可能是显式类型签名,因此您可以应用正弦和余弦。例如。
Integral t
cos (fromIntegral t :: Double)