1"""
2TESTS:
3
4From ``gen.__repr__``::
5
6    sage: pari('vector(5,i,i)')
7    [1, 2, 3, 4, 5]
8
9From ``gen.__str__``::
10
11    sage: print(pari('vector(5,i,i)'))
12    [1, 2, 3, 4, 5]
13
14
15From ``gen.__list__``. For polynomials, list() behaves as for ordinary Sage
16polynomials::
17
18    sage: pol = pari("x^3 + 5/3*x"); pol.list()
19    [0, 5/3, 0, 1]
20
21From ``gen.__add__`` and ``gen.__sub__``::
22
23    sage: RR("2e20") + pari("1e20")
24    3.00000000000000 E20
25    sage: RR("2e20") - pari("1e20")
26    1.00000000000000 E20
27
28From ``gen._nf_get_pol``
29
30    sage: K.<a> = NumberField(x^4 - 4*x^2 + 1)
31    sage: pari(K).nf_get_pol()
32    y^4 - 4*y^2 + 1
33
34For relative number fields, this returns the relative
35polynomial. However, beware that ``pari(L)`` returns an absolute
36number field::
37
38    sage: L.<b> = K.extension(x^2 - 5)
39    sage: pari(L).nf_get_pol()        # Absolute
40    y^8 - 28*y^6 + 208*y^4 - 408*y^2 + 36
41    sage: L.pari_rnf().nf_get_pol()   # Relative
42    x^2 - 5
43
44TESTS::
45
46    sage: x = polygen(QQ)
47    sage: K.<a> = NumberField(x^4 - 4*x^2 + 1)
48    sage: K.pari_nf().nf_get_pol()
49    y^4 - 4*y^2 + 1
50    sage: K.pari_bnf().nf_get_pol()
51    y^4 - 4*y^2 + 1
52
53
54    sage: K.<a> = NumberField(x^4 - 4*x^2 + 1)
55    sage: pari(K).nf_get_diff()
56    [12, 0, 0, 0; 0, 12, 8, 0; 0, 0, 4, 0; 0, 0, 0, 4]
57
58    sage: K.<a> = NumberField(x^4 - 4*x^2 + 1)
59    sage: s = K.pari_nf().nf_get_sign(); s
60    [4, 0]
61    sage: type(s); type(s[0])
62    <... 'list'>
63    <... 'int'>
64    sage: CyclotomicField(15).pari_nf().nf_get_sign()
65    [0, 4]
66
67    sage: K.<a> = NumberField(x^4 - 4*x^2 + 1)
68    sage: pari(K).nf_get_zk()
69    [1, y, y^3 - 4*y, y^2 - 2]
70
71    sage: K.<a> = QuadraticField(-65)
72    sage: K.pari_bnf().bnf_get_no()
73    8
74
75    sage: K.<a> = QuadraticField(-65)
76    sage: G = K.pari_bnf().bnf_get_gen(); G
77    [[3, 2; 0, 1], [2, 1; 0, 1]]
78    sage: [K.ideal(J) for J in G]
79    [Fractional ideal (3, a + 2), Fractional ideal (2, a + 1)]
80
81"""
82