Integerizing factor
a. Implement the procedure
pseudoremainder-terms
, which is just like
remainder-terms
except that it multiplies the dividend by the integerizing factor described above before calling
div-terms
. Modify
gcd-terms
to use
pseudoremainder-terms
, and verify that
greatest-common-divisor
now produces an answer with integer coefficients on the example in exercise
2.95
b. The GCD now has integer coefficients, but they are larger than those of
P1
. Modify
gcd-terms
so that it removes common factors from the coefficients of the answer by dividing all the coefficients by their (integer) greatest common divisor.
Thus, here is how to reduce a rational function to lowest terms:
- Compute the GCD of the numerator and denominator, using the version of
gcd-terms
from exercise 2.96 - When you obtain the GCD, multiply both numerator and denominator by the same integerizing factor before dividing through by the GCD, so that division by the GCD will not introduce any noninteger coefficients. As the factor you can use the leading coefficient of the GCD raised to the power
1 + O1 − O2
, whereO2
is the order of the GCD andO1
is the maximum of the orders of the numerator and denominator. This will ensure that dividing the numerator and denominator by the GCD will not introduce any fractions. - The result of this operation will be a numerator and denominator with integer coefficients. The coefficients will normally be very large because of all of the integerizing factors, so the last step is to remove the redundant factors by computing the (integer) greatest common divisor of all the coefficients of the numerator and the denominator and dividing through by this factor.