This is the catefory of stream-based representations of the `p`-adic integers.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

=: (%, %) -> Boolean

from BasicType

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %
approximate: (%, Integer) -> Integer

`approximate(x, n)` returns an integer `y` such that `y = x (mod p^n)` when `n` is positive, and 0 otherwise.

associates?: (%, %) -> Boolean

from EntireRing

associator: (%, %, %) -> %
characteristic: () -> NonNegativeInteger
coerce: % -> %

from Algebra %

coerce: % -> OutputForm
coerce: Integer -> %
commutator: (%, %) -> %
complete: % -> %

`complete(x)` forces the computation of all digits.

digits: % -> Stream Integer

`digits(x)` returns a stream of `p`-adic digits of `x`.

divide: (%, %) -> Record(quotient: %, remainder: %)

from EuclideanDomain

euclideanSize: % -> NonNegativeInteger

from EuclideanDomain

expressIdealMember: (List %, %) -> Union(List %, failed)
exquo: (%, %) -> Union(%, failed)

from EntireRing

extend: (%, Integer) -> %

`extend(x, n)` forces the computation of digits up to order `n`.

extendedEuclidean: (%, %) -> Record(coef1: %, coef2: %, generator: %)

from EuclideanDomain

extendedEuclidean: (%, %, %) -> Union(Record(coef1: %, coef2: %), failed)

from EuclideanDomain

gcd: (%, %) -> %

from GcdDomain

gcd: List % -> %

from GcdDomain

gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %

from GcdDomain

latex: % -> String

from SetCategory

lcm: (%, %) -> %

from GcdDomain

lcm: List % -> %

from GcdDomain

lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %)

from LeftOreRing

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

moduloP: % -> Integer

`modulo(x)` returns a, where `x = a + b p`.

modulus: () -> Integer

`modulus()` returns the value of `p`.

multiEuclidean: (List %, %) -> Union(List %, failed)

from EuclideanDomain

one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

order: % -> NonNegativeInteger

`order(x)` returns the exponent of the highest power of `p` dividing `x`.

plenaryPower: (%, PositiveInteger) -> %
principalIdeal: List % -> Record(coef: List %, generator: %)
quo: (%, %) -> %

from EuclideanDomain

quotientByP: % -> %

`quotientByP(x)` returns `b`, where `x = a + b p`.

recip: % -> Union(%, failed)

from MagmaWithUnit

rem: (%, %) -> %

from EuclideanDomain

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

root: (SparseUnivariatePolynomial Integer, Integer) -> %

`root(f, a)` returns a root of the polynomial `f`. Argument `a` must be a root of `f` `(mod p)`.

sample: %

from AbelianMonoid

sizeLess?: (%, %) -> Boolean

from EuclideanDomain

sqrt: (%, Integer) -> %

`sqrt(b, a)` returns a square root of `b`. Argument `a` is a square root of `b` `(mod p)`.

subtractIfCan: (%, %) -> Union(%, failed)
unit?: % -> Boolean

from EntireRing

unitCanonical: % -> %

from EntireRing

unitNormal: % -> Record(unit: %, canonical: %, associate: %)

from EntireRing

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

BiModule(%, %)

CancellationAbelianMonoid

CharacteristicZero

CommutativeRing

CommutativeStar

EntireRing

EuclideanDomain

GcdDomain

IntegralDomain

LeftOreRing

Magma

MagmaWithUnit

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors

PrincipalIdealDomain

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

TwoSidedRecip

unitsKnown