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: AdditiveGroupElement

An element of ImaginaryGroup.

INPUT:

  • parent – a SageMath parent

  • imag – 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()                                                           # needs sage.symbolic
1
sage: imag_part(J(I))  # indirect doctest                                   # needs sage.symbolic
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()                                                           # needs sage.symbolic
0
sage: real_part(J(I))  # indirect doctest                                   # needs sage.symbolic
0
class sage.groups.misc_gps.imaginary_groups.ImaginaryGroup(base, category)#

Bases: UniqueRepresentation, Parent

A group whose elements are purely imaginary.

INPUT:

  • base – a SageMath parent

  • category – 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
Element#

alias of ImaginaryElement