Groups of imaginary elements#
Note
One main purpose of such groups is in an
asymptotic ring's
growth group
when an element like \(n^z\)
(for some constant \(z\)) is split into
\(n^{\Re z + I\Im z}\).
(Note that the first summand in the exponent determines the growth,
the second does not influence the growth.)
AUTHORS:
Daniel Krenn (2018)
Classes and Methods#
- class sage.groups.misc_gps.imaginary_groups.ImaginaryElement(parent, imag)#
Bases:
sage.structure.element.AdditiveGroupElement
An element of
ImaginaryGroup
.INPUT:
parent
– a SageMath parentimag
– an element of parent’s base
- imag()#
Return the imaginary part of this imaginary element.
EXAMPLES:
sage: from sage.groups.misc_gps.imaginary_groups import ImaginaryGroup sage: J = ImaginaryGroup(ZZ) sage: J(I).imag() 1 sage: imag_part(J(I)) # indirect doctest 1
- real()#
Return the real part (\(=0\)) of this imaginary element.
EXAMPLES:
sage: from sage.groups.misc_gps.imaginary_groups import ImaginaryGroup sage: J = ImaginaryGroup(ZZ) sage: J(I).real() 0 sage: real_part(J(I)) # indirect doctest 0
- class sage.groups.misc_gps.imaginary_groups.ImaginaryGroup(base, category)#
Bases:
sage.structure.unique_representation.UniqueRepresentation
,sage.structure.parent.Parent
A group whose elements are purely imaginary.
INPUT:
base
– a SageMath parentcategory
– a category
EXAMPLES:
sage: from sage.groups.misc_gps.imaginary_groups import ImaginaryGroup sage: J = ImaginaryGroup(ZZ) sage: J(0) 0 sage: J(imag=100) 100*I sage: J(3*I) 3*I sage: J(1+2*I) Traceback (most recent call last): ... ValueError: 2*I + 1 is not in Imaginary Group over Integer Ring because it is not purely imaginary
- Element#
alias of
ImaginaryElement