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