PARI Groups#

See pari:polgalois for the PARI documentation of these objects.

class sage.groups.pari_group.PariGroup(x, degree)[source]#

Bases: object

EXAMPLES:

sage: PariGroup([6, -1, 2, "S3"], 3)
PARI group [6, -1, 2, S3] of degree 3
sage: R.<x> = PolynomialRing(QQ)
sage: f = x^4 - 17*x^3 - 2*x + 1
sage: G = f.galois_group(pari_group=True); G
PARI group [24, -1, 5, "S4"] of degree 4
>>> from sage.all import *
>>> PariGroup([Integer(6), -Integer(1), Integer(2), "S3"], Integer(3))
PARI group [6, -1, 2, S3] of degree 3
>>> R = PolynomialRing(QQ, names=('x',)); (x,) = R._first_ngens(1)
>>> f = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G = f.galois_group(pari_group=True); G
PARI group [24, -1, 5, "S4"] of degree 4
cardinality()[source]#

Return the order of self.

EXAMPLES:

sage: R.<x> = PolynomialRing(QQ)
sage: f1 = x^4 - 17*x^3 - 2*x + 1
sage: G1 = f1.galois_group(pari_group=True)
sage: G1.order()
24
>>> from sage.all import *
>>> R = PolynomialRing(QQ, names=('x',)); (x,) = R._first_ngens(1)
>>> f1 = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G1 = f1.galois_group(pari_group=True)
>>> G1.order()
24
degree()[source]#

Return the degree of this group.

EXAMPLES:

sage: R.<x> = PolynomialRing(QQ)
sage: f1 = x^4 - 17*x^3 - 2*x + 1
sage: G1 = f1.galois_group(pari_group=True)
sage: G1.degree()
4
>>> from sage.all import *
>>> R = PolynomialRing(QQ, names=('x',)); (x,) = R._first_ngens(1)
>>> f1 = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G1 = f1.galois_group(pari_group=True)
>>> G1.degree()
4
label()[source]#

Return the human readable description for this group generated by Pari.

EXAMPLES:

sage: R.<x> = QQ[]
sage: f1 = x^4 - 17*x^3 - 2*x + 1
sage: G1 = f1.galois_group(pari_group=True)
sage: G1.label()
'S4'
>>> from sage.all import *
>>> R = QQ['x']; (x,) = R._first_ngens(1)
>>> f1 = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G1 = f1.galois_group(pari_group=True)
>>> G1.label()
'S4'
order()[source]#

Return the order of self.

EXAMPLES:

sage: R.<x> = PolynomialRing(QQ)
sage: f1 = x^4 - 17*x^3 - 2*x + 1
sage: G1 = f1.galois_group(pari_group=True)
sage: G1.order()
24
>>> from sage.all import *
>>> R = PolynomialRing(QQ, names=('x',)); (x,) = R._first_ngens(1)
>>> f1 = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G1 = f1.galois_group(pari_group=True)
>>> G1.order()
24
permutation_group()[source]#

Return the corresponding GAP transitive group.

EXAMPLES:

sage: R.<x> = QQ[]
sage: f = x^8 - x^5 + x^4 - x^3 + 1
sage: G = f.galois_group(pari_group=True)
sage: G.permutation_group()
Transitive group number 44 of degree 8
>>> from sage.all import *
>>> R = QQ['x']; (x,) = R._first_ngens(1)
>>> f = x**Integer(8) - x**Integer(5) + x**Integer(4) - x**Integer(3) + Integer(1)
>>> G = f.galois_group(pari_group=True)
>>> G.permutation_group()
Transitive group number 44 of degree 8
signature()[source]#

Return 1 if contained in the alternating group, -1 otherwise.

EXAMPLES:

sage: R.<x> = QQ[]
sage: f1 = x^4 - 17*x^3 - 2*x + 1
sage: G1 = f1.galois_group(pari_group=True)
sage: G1.signature()
-1
>>> from sage.all import *
>>> R = QQ['x']; (x,) = R._first_ngens(1)
>>> f1 = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G1 = f1.galois_group(pari_group=True)
>>> G1.signature()
-1
transitive_number()[source]#

If the transitive label is nTk, return \(k\).

EXAMPLES:

sage: R.<x> = QQ[]
sage: f1 = x^4 - 17*x^3 - 2*x + 1
sage: G1 = f1.galois_group(pari_group=True)
sage: G1.transitive_number()
5
>>> from sage.all import *
>>> R = QQ['x']; (x,) = R._first_ngens(1)
>>> f1 = x**Integer(4) - Integer(17)*x**Integer(3) - Integer(2)*x + Integer(1)
>>> G1 = f1.galois_group(pari_group=True)
>>> G1.transitive_number()
5