Моя полиномиальная реализация GCD в Maple дает неверный результат - PullRequest
0 голосов
/ 30 сентября 2019

Я новичок в Maple и пытаюсь реализовать gcd из 2 полиномов с помощью алгоритма Евклида.

Я был совершенно уверен в своем коде, но получаю странные дробные результаты

with(Algebraic);

euclide:=proc(a, b)
local r0, r1, tmp, q;
  r0 := a;
  r1 := b;
  while (degree(r0) > degree(r1)) and (r1 <> 0) do
    q := Quotient(r0, r1, x);
    tmp := r0 - q * r1;
    r0 := r1;
    r1 := tmp;
    r0 := expand(r0);
    r1 := expand(r1);
  od;
  return expand(r0);
end;

При выполнении моего алгоритма на случайных полиномах, я получаю очень странный дробный результат, в то время как функция gcd в Maple выдает результат 1. Я не понимаю ошибку в моей программе.

...