2.10.1 p-adic numbers

The field of p-adic numbers is implemented in Sage. Note that once a p-adic field is created, you can not change its precision.

sage: K = Qp(11); K
11-adic Field with capped relative precision 20
sage: a = K(211/17); a
4 + 4*11 + 11^2 + 7*11^3 + 9*11^5 + 5*11^6 + 4*11^7 + 8*11^8 + 7*11^9 
  + 9*11^10 + 3*11^11 + 10*11^12 + 11^13 + 5*11^14 + 6*11^15 + 2*11^16 
  + 3*11^17 + 11^18 + 7*11^19 + O(11^20)
sage: b = K(3211/11^2); b
10*11^-2 + 5*11^-1 + 4 + 2*11 + O(11^18)

Much work has been done implementing rings of integers in p-adic fields or number fields other than Q. The interested reader is invited to ask the experts on the sage-support Google group for further details.

A number of related methods are already implemented in the NumberField class.

sage: R.<x> = PolynomialRing(QQ)
sage: K = NumberField(x^3 + x^2 - 2*x + 8, 'a')
sage: K.integral_basis()
[1, a, 1/2*a^2 + 1/2*a]

sage: K.galois_group()
Galois group PARI group [6, -1, 2, "S3"] of degree 3 of the Number Field 
in a with defining polynomial x^3 + x^2 - 2*x + 8

sage: K.polynomial_quotient_ring()
Univariate Quotient Polynomial Ring in a over Rational Field with modulus 
x^3 + x^2 - 2*x + 8
sage: K.units()
[3*a^2 + 13*a + 13]
sage: K.discriminant()
-503
sage: K.class_group()
Class group of order 1 with structure  of Number Field in a with 
defining polynomial x^3 + x^2 - 2*x + 8
sage: K.class_number()
1

See About this document... for information on suggesting changes.