이것은 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
하지만 컴파일하려고하면 '스칼라'에 대해 잘못된 인스턴스를 작성했다는 오류가 발생합니다. 누군가 내가 잘못한 것을 설명 할 수 있습니까?
앞으로 오류 메시지를 포함시켜야합니다. 그것은 무슨 일이 일어나고 있는지 파악하는 것이 훨씬 쉽고 빠릅니다. –