Constructing a dual pair of algebras from a table

Constructing a dual pair of algebras from a table.

dual_pairs.dual_pair_from_table.algebra_and_points_from_action(G, V, action, reduced=True)

This is a helper function for dual_pair_from_table().

EXAMPLES:

sage: from dual_pairs.dual_pair_from_table import algebra_and_points_from_action
sage: R.<x> = QQ[]
sage: L.<a> = NumberField(x^3 - x^2 - 2*x + 1)
sage: G = L.galois_group()
sage: V = GF(2)^2
sage: M = MatrixSpace(GF(2), 2, 2)
sage: table = {G[0]: M.one(),
....:          G[1]: M([1, 1, 1, 0]),
....:          G[2]: M([0, 1, 1, 1])}
sage: algebra_and_points_from_action(G, V, lambda g, v: table[g] * v)
(
Finite flat algebra of degree 4 over Rational Field, product of:
Number Field in a0 with defining polynomial x
Number Field in a1 with defining polynomial x^3 - x^2 - 2*x + 1 ,
[(0, 0), (0, 1), (1, 1), (1, 0)],
[           1            0            0            0]
[           0            1     -a^2 + 2 -a^2 + a + 3]
[           0            1  a^2 - a - 1       -a + 2]
[           0            1            a          a^2]
)
dual_pairs.dual_pair_from_table.dual_pair_from_table(G, V, table, reduced=True)

Return a dual pair of algebras corresponding to the given Galois representation.

INPUT:

  • G – Galois group of a finite Galois extension of \(\mathbf{Q}\)

  • V – a finite-dimensional vector space over a finite field

  • table – a dictionary {g: rho(g)} where g ranges over G and rho is a group homomorphism from G to the automorphism group of V.

  • reduced – boolean (default: True); whether to apply polredabs to the defining polynomials of number fields appearing in the output

EXAMPLES:

sage: from dual_pairs.dual_pair_from_table import dual_pair_from_table
sage: R.<x> = QQ[]
sage: L.<a> = NumberField(x^3 - x^2 - 2*x + 1)
sage: G = L.galois_group()
sage: V = GF(2)^2
sage: M = MatrixSpace(GF(2), 2, 2)
sage: table = {G[0]: M.one(),
....:          G[1]: M([1, 1, 1, 0]),
....:          G[2]: M([0, 1, 1, 1])}
sage: dual_pair_from_table(G, V, table)
Dual pair of algebras over Rational Field
A = Finite flat algebra of degree 4 over Rational Field, product of:
Number Field in a0 with defining polynomial x
Number Field in a1 with defining polynomial x^3 - x^2 - 2*x + 1
B = Finite flat algebra of degree 4 over Rational Field, product of:
Number Field in a0 with defining polynomial x
Number Field in a1 with defining polynomial x^3 - x^2 - 2*x + 1