0
这是对question的后续问题。有人在那里提出,将类型网络作为vectorSpace的一个实例会更有意义。使vectorSpace的网络实例
newtype Network = Network [(Matrix Double, Vector Double)]
instance AdditiveGroup Network where
(Network n1) ^+^ (Network n2) = Network $ zipWith (\(m,v) (n,w) -> (m+n,v+w)) n1 n2
(Network n1) ^-^ (Network n2) = Network $ zipWith (\(m,v) (n,w) -> (m-n,v-w)) n1 n2
instance VectorSpace Network where
type Scalar Network = Double
lambda *^ (Network n) = Network $ map (\ (m,v) -> (lambda*m,lambda*v)) n
但是当我尝试编译时出现错误,说我为'Scalar'写了一个非法实例。 有人可以解释我做错了什么吗?
您应该在将来包含错误消息。它可以让我们更容易,更快速地找出发生的事情。 –