Ну его так и применяют, для быстрого поиска небольших делителей (даже меньше кубического корня)
Вот "меньше
кубического" я для себя только что на примере выяснил, что не надо думать, что
ECM хуже.
Конкретный пример, работала 1-поточная программа yafu-x64 версии 1.34.exe (многопоточная 3 версии
не загружается- сайт просто перестал работать. так что сравнивать с вашими 3 секундами тут не надо,
у меня 1 поток, у вас 8 потоков, если 4 физическиз ядра, и 8 логических)..
factor(1072656156935368954161128157526180397144973598635246980290921)
(
61 цифра длина, делители
30-значный, и
31-значный, оба сильно простые, т.к. большие множители есть у (p+-1) и (q+-1),
время
ECM-> 458.4336 seconds, и
SIQS-> 11.5037 seconds )
,
factor(1403854865227606713189286434576929844650766524361718260983623)
(
61 цифра длина, делители
20-значный, и
41-значный, оба сильно простые, т.к. большие множители есть у (p+-1) и (q+-1),
время
ECM-> 6.9119 seconds, и
SIQS-> 17.7347 seconds ),
Как видим, если минимальный делитель порядка корня квадратного, то ECM примерно в 40 раз
медленнее чем SIQS.
Если минимальный делитель порядка корня кубического, то ECM примерно в 2,5 раза
быстрее чем SIQS.
Так что уже с делителями порядка корней кубических, SIQS может с треском проиграть методу ECM, не говоря уже про ещё меньшие делители.
Если же говорить про наиболее универсальный алгоритм, (допустим, дали задачу, разложить рандомное полупростое число, но использовать можно
только один алгоритм), то что лучше, ECM или SIQS ?
Я думаю, ECM лучше (а потому он и самый лучший в этом смысле), ибо
более вероятно, что составное число всё же будет содержать делители разной длины, чем одинаковой длины и оба- порядка корня квадратного, то есть в примерно в 2 раза короче чем подаваемое алгоритму.
(в этом плане ECM охватывает как бы максимальное подмножество случаев, в отличии от алгоритмов: Ферма,
P-1 Полларда, P+1 Вильямса и других, которые оптимальны наоборот, для ничтожно малого количества случаев).
-- Пт дек 05, 2025 22:00:33 --Можно ли улучшить SIQS ? Вот что там ищут- два числа, квадраты которых сравнимы по модулю.
А есть ли смысл искать например, два числа,
кубы которых сравнимы по модулю?
Есть формулы сокращенного умножения, и для кубов, аналогично тому как для квадратов,


,
Ещё интересно, где найти, наиболее понятным языком описанное улучшение SIQS, для общего алгоритма QS ?