Elements of finite flat algebras

Elements of finite flat algebras.

class dual_pairs.finite_flat_algebra_element.FiniteFlatAlgebraElement(*args: Any, **kwargs: Any)

An element of a finite flat algebra.

This is an abstract base class.

inverse_of_unit()

TODO

is_unit()

TODO

monomial_coefficients(**kwds)

Return a dictionary containing the coefficients of self.

This method is required by ModulesWithBasis.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, x^2 - 1)
sage: a = A(x)
sage: (3*a + 2).monomial_coefficients()
{0: 2, 1: 3}
class dual_pairs.finite_flat_algebra_element.FiniteFlatAlgebraElement_generic(*args: Any, **kwargs: Any)

An element of a generic finite flat algebra.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: A = FiniteFlatAlgebra(QQ, [Matrix([[1,0], [0,1]]), Matrix([[0,1], [-1,0]])])
sage: a = A.gen(1)
sage: type(a)
<class 'dual_pairs.finite_flat_algebra.FiniteFlatAlgebra_generic_with_category.element_class'>
sage: a
e1
algebra_element()

Return the element of the underlying algebra corresponding to self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: A = FiniteFlatAlgebra(QQ, [Matrix([[1,0], [0,1]]), Matrix([[0,1], [-1,0]])])
sage: A.gen(1).algebra_element()
e1
matrix()

Return the matrix of multiplication by self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: A = FiniteFlatAlgebra(QQ, [Matrix([[1,0], [0,1]]), Matrix([[0,1], [-1,0]])])
sage: A.gen(1).matrix()
[ 0 1]
[-1 0]
module_element()

Return the element of the underlying module corresponding to self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: A = FiniteFlatAlgebra(QQ, [Matrix([[1,0], [0,1]]), Matrix([[0,1], [-1,0]])])
sage: A.gen(1).module_element()
(0, 1)
class dual_pairs.finite_flat_algebra_element.FiniteFlatAlgebraElement_monogenic(*args: Any, **kwargs: Any)

An element of a monogenic finite flat algebra.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: S.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, x^4 - 16)
sage: a = A(x)
sage: type(a)
<class 'dual_pairs.finite_flat_algebra.FiniteFlatAlgebra_monogenic_with_category.element_class'>
sage: a
a
algebra_element()

Return the element of the underlying algebra corresponding to self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, x^3 - x - 1)
sage: A(x).algebra_element()
a

sage: R.<x> = GF(3)[]
sage: A = FiniteFlatAlgebra(GF(3), x^2 - 2)
sage: A(x).algebra_element()
a
matrix()

Return the matrix of multiplication by self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, x^3 - x - 1)
sage: A(x).matrix()
[0 1 0]
[0 0 1]
[1 1 0]
module_element()

Return the element of the underlying module corresponding to self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, x^3 - x - 1)
sage: A(x).module_element()
(0, 1, 0)

sage: F.<c> = GF(9)
sage: R.<x> = F[]
sage: A = FiniteFlatAlgebra(F, x^3 - 1)
sage: A(x^2).module_element()
(0, 0, 1)
class dual_pairs.finite_flat_algebra_element.FiniteFlatAlgebraElement_product(*args: Any, **kwargs: Any)

An element of a finite flat algebra presented as a product.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: S.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, [x, x, x^2 + 17])
sage: a = A([1, 2, x])
sage: type(a)
<class 'dual_pairs.finite_flat_algebra.FiniteFlatAlgebra_product_with_category.element_class'>
sage: a
(1, 2, a2)
algebra_element()

Return the element of the underlying algebra corresponding to self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, [x, x, x^2 - 5])
sage: A([1, 2, x]).algebra_element()
(1, 2, a2)

sage: F.<c> = GF(9)
sage: R.<x> = F[]
sage: A = FiniteFlatAlgebra(F, [x, x, x])
sage: A([x, 1, 2]).module_element()
(0, 1, 2)
matrix()

Return the matrix of multiplication by self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, [x, x, x^2 - 5])
sage: A([1, 2, x]).matrix()
[1 0 0 0]
[0 2 0 0]
[0 0 0 1]
[0 0 5 0]
module_element()

Return the element of the underlying module corresponding to self.

EXAMPLES:

sage: from dual_pairs import FiniteFlatAlgebra
sage: R.<x> = QQ[]
sage: A = FiniteFlatAlgebra(QQ, [x, x, x^2 - 5])
sage: A([1, 2, x]).module_element()
(1, 2, 0, 1)

sage: R.<x> = GF(3)[]
sage: A = FiniteFlatAlgebra(GF(3), [x, x^2 - 2])
sage: A([2, x]).algebra_element()
(2, a1)