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 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()
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 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)
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