The class in this module is used to represent the elements of AffineGroup() and its subgroups.
EXAMPLES:
sage: F = AffineGroup(3, QQ)
sage: F([1,2,3,4,5,6,7,8,0], [10,11,12])
[1 2 3] [10]
x |-> [4 5 6] x + [11]
[7 8 0] [12]
sage: G = AffineGroup(2, ZZ)
sage: g = G([[1,1],[0,1]], [1,0])
sage: h = G([[1,2],[0,1]], [0,1])
sage: g*h
[1 3] [2]
x |-> [0 1] x + [1]
sage: h*g
[1 3] [1]
x |-> [0 1] x + [1]
sage: g*h != h*g
True
AUTHORS:
Bases: sage.groups.matrix_gps.group_element.MatrixGroupElement_base
An affine group element.
INPUT:
A – an invertible matrix, or something defining a matrix if convert==True.
b– a vector, or something defining a vector if convert==True (default: 0, defining the zero vector).
parent – the parent affine group.
convert - bool (default: True). Whether to convert A into the correct matrix space and b into the correct vector space.
checks or just accept the input as valid.
As a special case, A can be a matrix obtained from matrix(), that is, one row and one column larger. In that case, the group element defining that matrix is reconstructed.
OUTPUT:
The affine group element
EXAMPLES:
sage: G = AffineGroup(2, GF(3))
sage: g = G.random_element()
sage: type(g)
<class 'sage.groups.affine_gps.group_element.AffineGroup_with_category.element_class'>
sage: G(g.matrix()) == g
True
sage: G(2)
[2 0] [0]
x |-> [0 2] x + [0]
Return the general linear part of an affine group element.
OUTPUT:
The matrix of the affine group element
.
EXAMPLES:
sage: G = AffineGroup(3, QQ)
sage: g = G([1,2,3,4,5,6,7,8,0], [10,11,12])
sage: g.A()
[1 2 3]
[4 5 6]
[7 8 0]
Return the translation part of an affine group element.
OUTPUT:
The vector of the affine group element
.
EXAMPLES:
sage: G = AffineGroup(3, QQ)
sage: g = G([1,2,3,4,5,6,7,8,0], [10,11,12])
sage: g.b()
(10, 11, 12)
Return the inverse group element.
OUTPUT:
Another affine group element.
EXAMPLES:
sage: G = AffineGroup(2, GF(3))
sage: g = G([1,2,3,4], [5,6])
sage: g
[1 2] [2]
x |-> [0 1] x + [0]
sage: ~g
[1 1] [1]
x |-> [0 1] x + [0]
sage: g * g.inverse()
[1 0] [0]
x |-> [0 1] x + [0]
sage: g * g.inverse() == g.inverse() * g == G(1)
True
Return the standard matrix representation of self.
See also
EXAMPLES:
sage: G = AffineGroup(3, GF(7))
sage: g = G([1,2,3,4,5,6,7,8,0], [10,11,12])
sage: g
[1 2 3] [3]
x |-> [4 5 6] x + [4]
[0 1 0] [5]
sage: g.matrix()
[1 2 3|3]
[4 5 6|4]
[0 1 0|5]
[-----+-]
[0 0 0|1]
sage: parent(g.matrix())
Full MatrixSpace of 4 by 4 dense matrices over Finite Field of size 7
sage: g.matrix() == matrix(g)
True
Composition of affine group elements equals multiplication of the matrices:
sage: g1 = G.random_element()
sage: g2 = G.random_element()
sage: g1.matrix() * g2.matrix() == (g1*g2).matrix()
True