sqrt — квадратный корень элемента конечного поля в переполнении стека

Есть ли реализация метода для получения квадратного корня элемента из конечного поля. Запрограммированный на C ++, я использовал NTL, но у меня нет способа сделать это.
заранее спасибо

1

Решение

Возможно, Джона Керла «Вычисления в конечных полях» (к сожалению, старая незаконченная рукопись) дает некоторые подсказки. Насколько я знаю, эффективных алгоритмов не существует, но я вполне могу ошибаться. Вы должны спросить в http://math.stackexchange.com или же http://cs.stackexchange.com.

0

Другие решения

Таким образом, библиотеки NTL предоставляют метод с именем ZZ :: SqrRootMod (…) с несколькими перегрузками. Метод фактически выполняет функциональность, которую я описал. Я хотел бы привести вам пример, например, так:

   ZZ response;

response= SqrRootMod(conv<ZZ>(value), conv<ZZ>(prime));

Если бы значение могло иметь несколько числовых типов, при условии, что оно может быть приведено к ZZ, например (ZZ_p, int)

Это привлекло мое внимание после того, как я получил письмо от Прф. Покажите мне, за кого я благодарен.

0

По вопросам рекламы [email protected]