Functor that converts a commutative additive group into a multiplicative group.¶
AUTHORS:
- Mark Shimozono (2013): initial version
-
class
sage.groups.group_exp.
GroupExp
¶ Bases:
sage.categories.functor.Functor
A functor that converts a commutative additive group into an isomorphic multiplicative group.
More precisely, given a commutative additive group \(G\), define the exponential of \(G\) to be the isomorphic group with elements denoted \(e^g\) for every \(g \in G\) and but with product in multiplicative notation
\[e^g e^h = e^{g+h} \qquad\text{for all $g,h \in G$.}\]The class
GroupExp
implements the sage functor which sends a commutative additive group \(G\) to its exponential.The creation of an instance of the functor
GroupExp
requires no input:sage: E = GroupExp(); E Functor from Category of commutative additive groups to Category of groups
The
GroupExp
functor (denoted \(E\) in the examples) can be applied to two kinds of input. The first is a commutative additive group. The output is its exponential. This is accomplished by_apply_functor()
:sage: EZ = E(ZZ); EZ Multiplicative form of Integer Ring
Elements of the exponentiated group can be created and manipulated as follows:
sage: x = EZ(-3); x -3 sage: x.parent() Multiplicative form of Integer Ring sage: EZ(-1)*EZ(6) == EZ(5) True sage: EZ(3)^(-1) -3 sage: EZ.one() 0
The second kind of input the
GroupExp
functor accepts, is a homomorphism of commutative additive groups. The output is the multiplicative form of the homomorphism. This is achieved by_apply_functor_to_morphism()
:sage: L = RootSystem(['A',2]).ambient_space() sage: EL = E(L) sage: W = L.weyl_group(prefix="s") sage: s2 = W.simple_reflection(2) sage: def my_action(mu): ....: return s2.action(mu) sage: from sage.categories.morphism import SetMorphism sage: from sage.categories.homset import Hom sage: f = SetMorphism(Hom(L,L,CommutativeAdditiveGroups()), my_action) sage: F = E(f); F Generic endomorphism of Multiplicative form of Ambient space of the Root system of type ['A', 2] sage: v = L.an_element(); v (2, 2, 3) sage: y = F(EL(v)); y (2, 3, 2) sage: y.parent() Multiplicative form of Ambient space of the Root system of type ['A', 2]
-
class
sage.groups.group_exp.
GroupExpElement
(parent, x)¶ Bases:
sage.structure.element_wrapper.ElementWrapper
,sage.structure.element.MultiplicativeGroupElement
An element in the exponential of a commutative additive group.
INPUT:
self
– the exponentiated group element being createdparent
– the exponential group (parent ofself
)x
– the commutative additive group element being wrapped to formself
.
EXAMPLES:
sage: G = QQ^2 sage: EG = GroupExp()(G) sage: z = GroupExpElement(EG, vector(QQ, (1,-3))); z (1, -3) sage: z.parent() Multiplicative form of Vector space of dimension 2 over Rational Field sage: EG(vector(QQ,(1,-3)))==z True
-
inverse
()¶ Invert the element
self
.EXAMPLES:
sage: EZ = GroupExp()(ZZ) sage: EZ(-3).inverse() 3
-
sage.groups.group_exp.
GroupExp_Class
¶ The multiplicative form of a commutative additive group.
INPUT:
- \(G\): a commutative additive group
OUTPUT:
- The multiplicative form of \(G\).
EXAMPLES:
sage: GroupExp()(QQ) Multiplicative form of Rational Field