Множитель целости

а. Напишите процедуру pseudoremainder-terms , которая работает в точности как remainder-terms , но только прежде, чем позвать div-terms , домножает делимое на множитель целости, описанный выше. Модифицируйте gcd-terms так, чтобы она использовала pseudoremainder-terms , и убедитесь, что теперь greatest-common-divisor выдает ответ с целыми коэффициентами в примере из упражнения 2.95

б. Теперь у НОД целые коэффициенты, но они больше, чем коэффициенты P1 . Измените gcd-terms , чтобы она убирала общий множитель из коэффициентов ответа путем деления всех коэффициентов на их (целочисленный) НОД.

Итак, вот как привести рациональную функцию к наименьшему знаменателю:

  • Вычислите НОД числителя и знаменателя, используя версию gcd-terms из упражнения 2.96
  • Когда Вы получаете НОД, домножьте числитель и знаменатель на множитель целости, прежде чем делить на НОД, чтобы при делении не получить дробных коэффициентов. В качестве множителя можно использовать старший коэффициент НОД, возведенный в степень 1 + O1 − O2 , где O2 – порядок НОД, а O1 — максимум из порядков числителя и знаменателя. Так Вы добьетесь того, чтобы деление числителя и знаменателя на НОД не привносило дробей.
  • В результате этой операции Вы получите числитель и знаменатель с целыми коэффициентами. Обычно из-за всех множителей целости коэффициенты окажутся очень большими, стало быть, на последнем шаге следует избавиться от лишних множителей, вычислив (целый) наибольший общий делитель числителя и знаменателя и поделив на него все термы.

Комментарии отсутствуют.

Необходима авторизация

Вы должны авторизоваться для создания комментария.

Вход