[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Solving equations

Solving equations

Subsections

Norm Equations

NormEquation(O, m) : RngOrd, RngIntElt -> BoolElt, [ RngOrdElt ]
NormEquation(O, a) : RngOrd, RngOrdElt -> BoolElt, [ RngOrdElt ]
NormEquation(K, m) : FldNum, RngIntElt -> BoolElt, [ FldNumElt ]
NormEquation(K, a) : FldNum, FldNumElt -> BoolElt, [ FldNumElt ]
    All: BoolElt                        Default: false
    Solutions: RngIntElt                Default: --
    Exact: BoolElt                      Default: false
    Ineq: BoolElt                       Default: false
Given an order O and an element of the ground ring of O (a positive integer m or an element a of a suborder), this function returns a Boolean indicating whether an element alpha in O exists such that N_(K/L)(alpha), the norm of alpha with respect to the subfield L of K (the field of fractions of O), equals m or a, and if so, a sequence of solutions alpha too. If a number field K is given rather than the order O, solutions in the equation order of K are found.

The parameter Exact can be used to indicate whether an exact solution is required (with Exact := true) or a solution up to a unit suffices. The maximal number of required solutions can be indicated with the Solutions variable, but setting All := true will override this and the search will find all solutions. If the field or order is absolute, then the parameter Ineq may be set to true. If so, all solutions x with |N(x)| <= m will be found.

Thue Equations

Thue equations are Diophantine equations of the form f(x, y) = k, where k is some (integer) constant and f is a homogeneous polynomial in two variables. Methods for computing all solutions to such equations are known, although the search space may be larger than is practical. To work with such equations in Magma a Thue object (category Thue) must be created to store information related to the computations.

ThueObject(f) : RngUPolElt -> Thue
Given a polynomial of degree at least 2 over the integers, this function returns the `Thue object' corresponding to f; such objects are used in the functions for solving Thue equations, and print as the homogeneous version of f.
ThueObject(O) : RngOrd -> Thue
Given an order O with Z as its coefficient ring, this function returns the Thue object corresponding to the defining polynomial of O.
ThueEval(t, a, b) : Thue, RngIntElt, RngIntElt -> RngIntElt
ThueEval(t, S) : Thue, [ RngIntElt ] -> RngIntElt
Given a Thue object t and integers a, b, return the evaluation of the homogeneous polynomial f involved in t at (a, b), that is f(a, b). The second form takes as argument the sequence [a, b] instead. This can be convenient if checking the results from an inexact solution.
ThueSolve(t, a) : Thue, RngInt -> [ [ RngIntElt, RngIntElt ] ]
    Exact: BoolElt                      Default: true
Given a Thue object t and an integer a this function return a sequence consisting of all sequences of two integers [x, y] which solve the equation f(x, y) = a, where f is the (homogeneous form of) the Thue equation associated with t. If the optional parameter Exact is set to false then solutions to f(x, y) = - a will also be found.
ThueSolveInexact(t, a) : Thue, RngIntElt -> [ [ RngIntElt, RngIntElt ] ]
Given a Thue object t and an integer a this function return a sequence consisting of sequences of two integers [x, y] together providing all solutions to the equation |f(X, Y)|=|a|, where f is the (homogeneous form of) the polynomial associated with t. This function is obsoleted by the current version of ThueSolve and will be removed in the next release.

Unit Equations

UnitEquation(a, b, c) : FldNumElt, FldNumElt, FldNumElt -> [ ModHomElt ]
Return the sequence of matrices (e1, e2) such that a * e1 + b * e2 = c, where e1 and e2 are units.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]