blob: f8ca37755be75b6725484ff8e39dec7d88137f53 (
plain) (
tree)
|
|
b0VIM 8.0 nggY��\ k bacon office ~bacon/codes/Mathkell/Math/Combinatorics/RootSystem.hs utf-8 3210 #"! U tp ` H b 4 � f � 8 1 ad � , ` � o n H G ( ' � � � � � G �
�
�
�
�
k
j
7
6
5
#
� � � � T S � { & % �
�
_
B
� � � r Y 5 � � � l S � � � 5 � � Z Y I
� � � � Y X W * � � � � y n J � � � x ? � � � � � � � m - , � � positiveRoots ss = (positiveRoots' $ cartanMatrix' ss) <<*>> ss positiveRoots :: SimpleSystem -> [[Q]] -- |all positive roots -- positiveRoots ss = (positiveRoots' $ cartanMatrix' ss) <<*>> ss positiveRoots :: SimpleSystem -> [[Q]] -- |all positive roots --negateM = fmap (fmap negate) --negateM :: Num a => [[a]] -> [[a]] longestElement' (alpha:xs) (s alpha <$> rs) else let alpha = (head (S.toList ys)) in then xs if S.null ys let ys = (S.fromList ss) `S.intersection` (S.fromList rs) in longestElement' xs rs = longestElement' :: [[Q]] -> [[Q]] -> [[Q]] posRoots = positiveRoots ss where longestElement ss = longestElement' [] posRoots longestElement :: SimpleSystem -> [[Q]] longestElementIndex ss = (+1) <$> fromJust <$> flip elemIndex ss <$> longestElement ss longestElementIndex :: SimpleSystem -> [Int] s alpha beta = beta <-> (dynkinIndex alpha beta) *> alpha s :: [Q] -> [Q] -> [Q] -- s alpha beta = s_\alpha \beta -- Weyl group element corresponding to a root -- Humphreys p3 -- Calculating the full root system from the fundamental roots -- ROOT SYSTEMS simpleSystem t n = error $ "Invalid root system of type " ++ (show t) ++ " and rank " ++ (show n) ++ "."
|