View on GitHub

Exact p-Adics

A Magma package for exact p-adic computation

Aggregates

Sometimes a collection of p-adic objects are highly related and should share a single update function. For example, if we Hensel-lift a system of roots of a system of multivariate polynomials, then updating one element of the system requires updating them all. In this case, we represent the whole aggregation as a single p-adic object.

Contents

Tuples

Cartesian products

ExactpAdics_CartesianProduct (components :: Tup)

-> SetCart_PadExact

The cartesian product of the given components, which must all be p-adic sets.

ExactpAdics_CartesianPower (X :: StrPadExact, n :: RngIntElt)

-> SetCart_PadExact

The nth cartesian power X, which must be a p-adic set.

Creation of tuples

IsCoercible (C :: SetCart_PadExact, X)

-> BoolElt, Any

True if X is coercible to a tuple in C. If so, also returns such a tuple.

Succeeds if X is:

Basic operations

Parent (T :: Tup_PadExact)

-> SetCart_PadExact

The cartesian product containing T.

ToTuple (T :: Tup_PadExact)

-> Tup

Converts T to an ordinary tuple.

ToSequence (T :: Tup_PadExact)

-> []

Converts T to a sequence.

NumberOfComponents (C :: SetCart_PadExact)

-> RngIntElt

The number of components of C.

'@' (i :: RngIntElt, C :: SetCart_PadExact)

-> StrPadExact

The ith component of C.

'#' (T :: Tup_PadExact)

-> RngIntElt

The number of elements of T.

'@' (i :: RngIntElt, T :: Tup_PadExact)

-> PadExactElt

The ith element of T.

Format (T :: Tup_PadExact)

-> MonStgElt

Returns a string representation of T.

Parameters

IncreaseAbsolutePrecision_Lazy (C :: SetCart_PadExact, pr :: Tup)

-> ExactpAdics_Gettr

Increases the precision of C to pr, which must be a tuple of precisions for each component.

Approximation_Lazy (C :: SetCart_PadExact, pr :: Tup)

-> ExactpAdics_Gettr

The approximation of C to precision pr, which must be a tuple of precisions for each component.