# Greatest common divisor

## Functions

void fmpq_poly_gcd (fmpq_poly_ptr rop, const fmpq_poly_ptr a, const fmpq_poly_ptr b)
void fmpq_poly_xgcd (fmpq_poly_ptr rop, fmpq_poly_ptr s, fmpq_poly_ptr t, const fmpq_poly_ptr a, const fmpq_poly_ptr b)
void fmpq_poly_lcm (fmpq_poly_ptr rop, const fmpq_poly_ptr a, const fmpq_poly_ptr b)

## Function Documentation

 void fmpq_poly_gcd ( fmpq_poly_ptr rop, const fmpq_poly_ptr a, const fmpq_poly_ptr b )

Returns the (monic) greatest common divisor res of a and b.

Corner cases: If a and b are both zero, returns zero. If only one of them is zero, returns the other polynomial, up to normalisation.

 void fmpq_poly_lcm ( fmpq_poly_ptr rop, const fmpq_poly_ptr a, const fmpq_poly_ptr b )

Computes the monic (or zero) least common multiple of a and b.

If either of a and b is zero, returns zero. This behaviour ensures that the relation

holds, where denotes equality up to units.

 void fmpq_poly_xgcd ( fmpq_poly_ptr rop, fmpq_poly_ptr s, fmpq_poly_ptr t, const fmpq_poly_ptr a, const fmpq_poly_ptr b )

Returns polynomials s, t and rop such that rop is (monic) greatest common divisor of a and b, and such that rop = s a + t b.

Corner cases: If a and b are zero, returns zero polynomials. Otherwise, if only a is zero, returns (res, s, t) = (b, 0, 1) up to normalisation, and similarly if only b is zero.

Assumes that the output parameters rop, s, and t refer to distinct objects in memory. Otherwise, an exception is raised in the form of an abort statement.

Generated on Wed Dec 8 21:13:35 2010 for FMPQ_POLY by  1.6.3