on master help sign in
Docs updated
commit50d12b651851628687916da3530793061d2fd851 authorArmando Santos <armandoifsantos@gmail.com> dateFri 27 Dec 2019, 23:25 (7 years ago) parentd9a4707
1 file changed+5−5
src/Matrix/Type.hs+5−5
src/Matrix/Type.hs+5−5
@@ -315,9 +315,9 @@ identity = matrixBuilder (bool 0 1 . uncurry (==))
315315comp :: (Num e) => Matrix e cr rows -> Matrix e cols cr -> Matrix e cols rows
316316comp Empty Empty = Empty
317317comp (One a) (One b) = One (a * b)
318−comp (Junc a b) (Split c d) = comp a c + comp b d
319−comp (Split a b) c = Split (comp a c) (comp b c)
320−comp c (Junc a b) = Junc (comp c a) (comp c b)
318+comp (Junc a b) (Split c d) = comp a c + comp b d -- Divide-and-conquer law
319+comp (Split a b) c = Split (comp a c) (comp b c) -- Split fusion law
320+comp c (Junc a b) = Junc (comp c a) (comp c b) -- Junc fusion law
321321
322322-- Projections
323323
@@ -433,7 +433,7 @@ infixl 4 ><
433433-- Matrix abide Junc Split
434434
435435abideJS :: Matrix e cols rows -> Matrix e cols rows
436−abideJS (Junc (Split a c) (Split b d)) = Split (Junc (abideJS a) (abideJS b)) (Junc (abideJS c) (abideJS d))
436+abideJS (Junc (Split a c) (Split b d)) = Split (Junc (abideJS a) (abideJS b)) (Junc (abideJS c) (abideJS d)) -- Junc-Split abide law
437437abideJS Empty = Empty
438438abideJS (One e) = (One e)
439439abideJS (Junc a b) = Junc (abideJS a) (abideJS b)
@@ -442,7 +442,7 @@ abideJS (Split a b) = Split (abideJS a) (abideJS b)
442442-- Matrix abide Split Junc
443443
444444abideSJ :: Matrix e cols rows -> Matrix e cols rows
445−abideSJ (Split (Junc a b) (Junc c d)) = Junc (Split (abideSJ a) (abideSJ c)) (Split (abideSJ b) (abideSJ d))
445+abideSJ (Split (Junc a b) (Junc c d)) = Junc (Split (abideSJ a) (abideSJ c)) (Split (abideSJ b) (abideSJ d)) -- Split-Junc abide law
446446abideSJ Empty = Empty
447447abideSJ (One e) = (One e)
448448abideSJ (Junc a b) = Junc (abideSJ a) (abideSJ b)