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)[source]#
Bases:
AdditiveGroupElement
An element of
ImaginaryGroup
.INPUT:
parent
– a SageMath parentimag
– an element of parent’s base
- imag()[source]#
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() # needs sage.symbolic 1 sage: imag_part(J(I)) # indirect doctest # needs sage.symbolic 1
>>> from sage.all import * >>> from sage.groups.misc_gps.imaginary_groups import ImaginaryGroup >>> J = ImaginaryGroup(ZZ) >>> J(I).imag() # needs sage.symbolic 1 >>> imag_part(J(I)) # indirect doctest # needs sage.symbolic 1
- real()[source]#
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() # needs sage.symbolic 0 sage: real_part(J(I)) # indirect doctest # needs sage.symbolic 0
>>> from sage.all import * >>> from sage.groups.misc_gps.imaginary_groups import ImaginaryGroup >>> J = ImaginaryGroup(ZZ) >>> J(I).real() # needs sage.symbolic 0 >>> real_part(J(I)) # indirect doctest # needs sage.symbolic 0
- class sage.groups.misc_gps.imaginary_groups.ImaginaryGroup(base, category)[source]#
Bases:
UniqueRepresentation
,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) # needs sage.symbolic 3*I sage: J(1 + 2*I) # needs sage.symbolic Traceback (most recent call last): ... ValueError: 2*I + 1 is not in Imaginary Group over Integer Ring because it is not purely imaginary
>>> from sage.all import * >>> from sage.groups.misc_gps.imaginary_groups import ImaginaryGroup >>> J = ImaginaryGroup(ZZ) >>> J(Integer(0)) 0 >>> J(imag=Integer(100)) 100*I >>> J(Integer(3)*I) # needs sage.symbolic 3*I >>> J(Integer(1) + Integer(2)*I) # needs sage.symbolic Traceback (most recent call last): ... ValueError: 2*I + 1 is not in Imaginary Group over Integer Ring because it is not purely imaginary
- Element[source]#
alias of
ImaginaryElement