HaskellForMaths-0.4.3: Combinatorics, group theory, commutative algebra, non-commutative algebra

Safe HaskellSafe-Infered



A module for doing arithmetic in the group algebra.

Group elements are represented as permutations of the integers, and are entered and displayed using a Haskell-friendly version of cycle notation. For example, the permutation (1 2 3)(4 5) would be entered as p [[1,2,3],[4,5]], and displayed as [[1,2,3],[4,5]].

Given a field K and group G, the group algebra KG is the free K-vector space over the elements of G. Elements of the group algebra consists of arbitrary K-linear combinations of elements of G. For example, p [[1,2,3]] + 2 * p [[1,2],[3,4]]



p :: [[Int]] -> GroupAlgebra QSource

Construct a permutation, as an element of the group algebra, from a list of cycles. For example, p [[1,2],[3,4,5]] constructs the permutation (1 2)(3 4 5), which is displayed as [[1,2],[3,4,5]].

newtype X a Source


X a 


Eq a => Eq (X a) 
Ord a => Ord (X a) 
Show a => Show (X a) 

inv :: (Num a1, Ord a1, Show a1, Algebra (Vect Q (Glex (X a1))) a1) => Vect Q a1 -> Either [Vect Q (Glex (X a1))] [Vect Q (Glex (X a1))]Source

maybeInverse :: (Num b, Ord b, Show b, Algebra (Vect Q (Glex (X b))) b) => Vect Q b -> Maybe (Vect Q b)Source