2016-07-06 09:26:58 +0200 received badge ● Student (source) 2016-07-06 09:26:45 +0200 received badge ● Nice Answer (source) 2016-07-04 00:18:40 +0200 received badge ● Scholar (source) 2016-07-02 17:25:00 +0200 received badge ● Self-Learner (source) 2016-07-02 17:25:00 +0200 received badge ● Teacher (source) 2016-07-02 00:30:56 +0200 received badge ● Editor (source) 2016-07-01 20:39:30 +0200 answered a question How to treat a vector space as a group? The following is the answer due to @Nicolas-M-Thiéry sage: Groups? The category of (multiplicative) groups, i.e. monoids with inverses.  Mind the multiplicative! What you want is: sage: V = FreeModule(CC,2) sage: V in CommutativeAdditiveGroups() True  or (better, but not imported by default): sage: from sage.categories.additive_groups import AdditiveGroups sage: V in AdditiveGroups() True  Now you can construct the group algebra: sage: C = V.algebra(QQ) sage: C.category() Category of commutative additive group algebras over Rational Field sage: x = C.an_element() sage: x B[(1.00000000000000, 0.000000000000000)] sage: 3 * x + 1 B[(0.000000000000000, 0.000000000000000)] + 3*B[(1.00000000000000, 0.000000000000000)]  Ah, but this is disappointing:: sage: (x+1)^2 TypeError: mutable vectors are unhashable  One would need to have a variant of FreeModule that would guarantee that vectors remain immutable upon arithmetic. In the mean time, you can use: sage: V = CombinatorialFreeModule(CC, [0,1]) sage: C = V.algebra(QQ) sage: x = C.an_element() sage: x B[2.00000000000000*B[0] + 2.00000000000000*B[1]] sage: (x+1)^2 B[0] + 2*B[2.00000000000000*B[0] + 2.00000000000000*B[1]] + B[4.00000000000000*B[0] + 4.00000000000000*B[1]]  2016-07-01 20:39:25 +0200 asked a question How to treat a vector space as a group? I need to use a module as a group, so that I can define a group algebra over this module. Essentially, I want to take the group of 2-dimensional complex vector space and define a group algebra over this. I cannot find appropriate direction on the internet and sage gives me the ridiculous "False" as below. sage: V=FreeModule(CC,2) sage: V in Groups() False