Roots of Elements

Roots of local ring and field elements can be found to some precision.

SquareRoot(x): RngPadElt -> RngPadElt
SquareRoot(x): RngPadResElt -> RngPadResElt
SquareRoot(x): RngPadResExtElt -> RngPadResExtElt
SquareRoot(x): FldPadElt -> FldPadElt
Sqrt(x): RngPadElt -> RngPadElt
Sqrt(x): RngPadResElt -> RngPadResElt
Sqrt(x): RngPadResExtElt -> RngPadResExtElt
Sqrt(x): FldPadElt -> FldPadElt

Given a local ring or field element \(x\), return a square root of \(x\). An error results if \(x\) is not a square. The result may have less precision than \(x\).

IsSquare(x): RngPadElt -> BoolElt, RngPadElt
IsSquare(x): RngPadResElt -> BoolElt, RngPadResElt
IsSquare(x): RngPadResExtElt -> BoolElt, RngPadResExtElt
IsSquare(x): FldPadElt -> BoolElt, FldPadElt

Return whether the local ring or field element \(x\) is the square of an element in its parent and if it is, the square root is returned. The result may have less precision than \(x\).

InverseSquareRoot(x): RngPadElt -> RngPadElt
InverseSquareRoot(x): RngPadResElt -> RngPadResElt
InverseSquareRoot(x): RngPadResExtElt -> RngPadResExtElt
InverseSquareRoot(x): FldPadElt -> FldPadElt
InverseSqrt(x): RngPadElt -> RngPadElt
InverseSqrt(x): RngPadResElt -> RngPadResElt
InverseSqrt(x): RngPadResExtElt -> RngPadResExtElt
InverseSqrt(x): FldPadElt -> FldPadElt

Given a local ring or field element \(x\), return an inverse square root of \(x\). The element \(x\) must be a unit. An error results if \(x\) is not a square. The result may have less precision than \(x\).

InverseSquareRoot(x, y): RngPadElt, RngPadElt -> RngPadElt
InverseSquareRoot(x, y): RngPadResElt, RngPadResElt -> RngPadResElt
InverseSquareRoot(x, y): RngPadResExtElt, RngPadResExtElt -> RngPadResExtElt
InverseSquareRoot(x, y): FldPadElt, FldPadElt -> FldPadElt
InverseSqrt(x, y): RngPadElt, RngPadElt -> RngPadElt
InverseSqrt(x, y): RngPadResElt, RngPadResElt -> RngPadResElt
InverseSqrt(x, y): RngPadResExtElt, RngPadResExtElt -> RngPadResExtElt
InverseSqrt(x, y): FldPadElt, FldPadElt -> FldPadElt

Given local ring or field elements \(x\) and \(y\), return an inverse square root of \(x\) lifted from an initial approximation \(y\). The element \(x\) must be a unit. An error results if \(x\) is not a square, or if \(y\) is not a valid initial approximation to an inverse square root of \(x\). The result may have less precision than \(x\).

Root(x, n): RngPadElt, RngIntElt -> RngPadElt
Root(x, n): RngPadResElt, RngIntElt -> RngPadResElt
Root(x, n): RngPadResExtElt, RngIntElt -> RngPadResExtElt
Root(x, n): FldPadElt, RngIntElt -> FldPadElt

Return an \(n\)-th root of \(x\) if one exists. An error results if \(x\) is not an \(n\)-th power. The result may have less precision than \(x\).

IsPower(x, n): RngPadElt, RngIntElt -> BoolElt, RngPadElt
IsPower(x, n): RngPadResElt, RngIntElt -> BoolElt, RngPadResElt
IsPower(x, n): RngPadResExtElt, RngIntElt -> BoolElt, RngPadResExtElt
IsPower(x, n): FldPadElt, RngIntElt -> BoolElt, FldPadElt

Return whether \(x\) is an \(n\)-th power of some element belonging to its parent and if it is return an \(n\)-th root. The result may have less precision than \(x\).

InverseRoot(x, n): RngPadElt, RngIntElt -> RngPadElt
InverseRoot(x, n): RngPadResElt, RngIntElt -> RngPadResElt
InverseRoot(x, n): RngPadResExtElt, RngIntElt -> RngPadResExtElt
InverseRoot(x, n): FldPadElt, RngIntElt -> FldPadElt

Given a local ring or field element \(x\), return an inverse \(n\)-th root of \(x\). The element \(x\) must be a unit. An error results if \(x\) is not an \(n\)-th power. The result may have less precision than \(x\).

InverseRoot(x, y, n): RngPadElt, RngPadElt, RngIntElt -> RngPadElt
InverseRoot(x, y, n): RngPadResElt, RngPadResElt, RngIntElt -> RngPadResElt
InverseRoot(x, y, n): RngPadResExtElt, RngPadResExtElt, RngIntElt -> RngPadResExtElt
InverseRoot(x, y, n): FldPadElt, FldPadElt, RngIntElt -> FldPadElt

Given local ring or field elements \(x\) and \(y\), return an inverse \(n\)-th root of \(x\) lifted from an initial approximation \(y\). The element \(x\) must be a unit. An error results if \(x\) is not an \(n\)-th power, or if \(y\) is not a valid initial approximation to an inverse \(n\)-th root of \(x\). The result may have less precision than \(x\).