# 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]#

An element of ImaginaryGroup.

INPUT:

• parent – a SageMath parent

• imag – 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]#

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

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