blob: b31575fc0de4c34e3b9194a49cc601a62a1b85e9 (
plain) (
tree)
|
|
b0VIM 8.0 �ifY7�\ # bacon office ~bacon/codes/Mathkell/Math/Combinatorics/RootSystem.hs utf-8 3210 #"! U tp \ W _ ^ l a � $ ! ad W � \ � � � W V 0 / � � � � � � A �
�
�
�
e
d
1
0
/
� � � � N M � � u �
�
Y
<
� � � w $ � � X 2 � � � B ) � � � p o _ 1 � � � � y x Q � � o : � m l J < ( � z g A � � � � mIndex rootIndex allRootIndices = mIndex :: [Q] -> [[Q]] -> [Q] pIn where where go :: [Q] -> [Int] -> Int -> [[Q]] newRootIndices ri pi = (ri <+>) <$> (go pi [] 1) newRootIndices :: [Q] -> [Q] -> [[Q]] where cm = cartanMatrix (simpleSystem G 2) | otherwise = test'' (pr ++ npr) (S.toList . S.fromList $ mconcat $ zipWith newRootIndices npr (pIndex pr cm <$> npr)) | null npr = pr test'' pr npr test'' :: [[Q]] -> [[Q]] -> [[Q]] | otherwise = positiveRoots'' (pr ++ npr) (S.toList . S.fromList $ mconcat $ zipWith newRootIndices npr (pIndex pr cm <$> npr)) | null npr = pr positiveRoots'' pr npr where positiveRoots'' :: [[Q]] -> [[Q]] -> [[Q]] positiveRoots' cm = positiveRoots'' [] ((basisElt $ length cm) <$> [1..length cm]) positiveRoots' :: [[Q]] -> [[Q]] -- |return root indices of all positive roots positiveRoots ss = (positiveRoots' $ cartanMatrix ss) <<*>> ss positiveRoots :: SimpleSystem -> [[Q]] --cartanRows ss = cartanRows' --cartanRows :: SimpleSystem -> [[Q]] 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) ++ "."
|