`если a = 0 mod p, то` в Maple работает только тогда, когда a = 0. - PullRequest
0 голосов
/ 23 ноября 2011

Мне нужно, чтобы сообщение показывалось каждый раз, когда a = 0 (mod p).Но он делает это только тогда, когда на самом деле равен 0. Например, если я подключаю Legendre (11,11), я получаю «-1».

Legendre := proc (a, p) 
local L; if a = `mod`(0, p) then 
"Coose a different integer";
else if a = -1 then 
L := (-1)^((1/2)*p-1/2); 
else 
L := `mod`(a^((1/2)*p-1/2), p); 
end if; 
if L = 1 then 
L else L := -1; 
L end if end if;
end proc;

1 Ответ

1 голос
/ 23 ноября 2011

a = 'mod'(0, p) должно быть 0 = 'mod'(a, p)

См. документы .

...