This module defines a HomologyGroup() class which is an abelian group that prints itself in a way that is suitable for homology groups.
Abelian group on generators which represents a homology group in a
fixed degree.
INPUT:
OUTPUT:
A class that can represent the homology group in a fixed homological degree.
EXAMPLES:
sage: from sage.homology.homology_group import HomologyGroup
sage: G = AbelianGroup(5, [5,5,7,8,9]); G
Multiplicative Abelian group isomorphic to C5 x C5 x C7 x C8 x C9
sage: H = HomologyGroup(5, ZZ, [5,5,7,8,9]); H
C5 x C5 x C7 x C8 x C9
sage: AbelianGroup(4)
Multiplicative Abelian group isomorphic to Z x Z x Z x Z
sage: HomologyGroup(4, ZZ)
Z x Z x Z x Z
sage: HomologyGroup(100, ZZ)
Z^100
Bases: sage.groups.additive_abelian.additive_abelian_group.AdditiveAbelianGroup_fixed_gens
Discrete Abelian group on generators. This class inherits from
AdditiveAbelianGroup_fixed_gens;
see sage.groups.additive_abelian.additive_abelian_group for more
documentation. The main difference between the classes is in the print
representation.
EXAMPLES:
sage: from sage.homology.homology_group import HomologyGroup
sage: G = AbelianGroup(5, [5,5,7,8,9]); G
Multiplicative Abelian group isomorphic to C5 x C5 x C7 x C8 x C9
sage: H = HomologyGroup(5, ZZ, [5,5,7,8,9]); H
C5 x C5 x C7 x C8 x C9
sage: G == loads(dumps(G))
True
sage: AbelianGroup(4)
Multiplicative Abelian group isomorphic to Z x Z x Z x Z
sage: HomologyGroup(4, ZZ)
Z x Z x Z x Z
sage: HomologyGroup(100, ZZ)
Z^100