Добавьте Код:
Total[%^2//Factor]
Да, спасибо, так стало понятно (правда , ссылка
https://www.wolframcloud.com/env/55e217 ... dabae279b4 недоступна - "Sorry, you do not have permission to access this item.").
Но остался непонятным главный вопрос - как эта функция из Mathematic'и может помочь в поиске разложения с целыми коэффициентами ?
Дело в том, что ИИ GLM-4.7 предложил пару идей, которые при доработке удалось реализовать с помощью системы SymPy на Python,
и полученный алгоритм исключительно быстро и корректно работает (проверено уже на десятках полиномов).
Так, например, полином

, который предлагался Mathematic'е (
https://www.wolframcloud.com/obj/3ea406 ... 65f88d4779) он разложил за 0,05 сек, а про полином

он сказал, что такое разложение невозможно за 0,2 сек. :
Код:
/SymPy$ python main.py
h : 9*u**10*v**2*x**8*y**2*z**6 - 6*u**7*v**3*w**5*x**5*y*z**4 + 12*u**6*v**5*w**2*x**6*y**3*z**3 - 42*u**5*v**4*x**5*y*z**4 - 78*u**5*v*w*x**7*y**3*z**4 + 6*u**5*v*x**6*y*z**6 - 6*u**5*v*x**4*y**7*z**8 + 66*u**5*v*x**4*y*z**3 + 4*u**4*v**14*w**6*x**2*y**2*z**2 + u**4*v**4*w**10*x**2*z**2 - 4*u**3*v**8*w**4*x**2*y**2*z**2 - 4*u**3*v**6*w**7*x**3*y**2*z + 4*u**2*v**9*w**4*x*y**2*z**2 + 4*u**2*v**8*w**4*x**4*y**4 - 4*u**2*v**7*w**5*x**2*y**4*z**2 + 44*u**2*v**7*w**3*x**3*y*z**2 - 24*u**2*v**7*w**3*x**2*y**2*z**2 + 4*u**2*v**7*w**3*x*y**8*z**6 + 4*u**2*v**7*w**3*x*y*z**4 + 8*u**2*v**7*w**3*x*y*z + 14*u**2*v**5*w**5*x**2*z**2 + 26*u**2*v**2*w**6*x**4*y**2*z**2 - 2*u**2*v**2*w**5*x**3*z**4 + 2*u**2*v**2*w**5*x*y**6*z**6 - 22*u**2*v**2*w**5*x*z + u**2*v**2*w**2*x**2*y**2*z**2 - 28*u*v**7*w**2*x**3*y**2*z - 52*u*v**4*w**3*x**5*y**4*z + 4*u*v**4*w**2*x**4*y**2*z**3 - 4*u*v**4*w**2*x**2*y**8*z**5 + 44*u*v**4*w**2*x**2*y**2 - 2*u*v**3*w**2*x*y**2*z**2 + 2*u*v*w**3*x**2*y**4*z**2 - 22*u*v*w*x**3*y*z**2 + 12*u*v*w*x**2*y**2*z**2 - 2*u*v*w*x*y**8*z**6 - 2*u*v*w*x*y*z**4 - 4*u*v*w*x*y*z + 49*v**6*x**2*z**2 + v**4*w**2*y**2*z**2 + 182*v**3*w*x**4*y**2*z**2 - 14*v**3*x**3*z**4 + 14*v**3*x*y**6*z**6 - 154*v**3*x*z - 2*v**2*w**3*x*y**4*z**2 + 22*v**2*w*x**2*y*z**2 - 12*v**2*w*x*y**2*z**2 + 2*v**2*w*y**8*z**6 + 2*v**2*w*y*z**4 + 4*v**2*w*y*z + w**4*x**2*y**6*z**2 + 169*w**2*x**6*y**4*z**2 - 22*w**2*x**3*y**3*z**2 + 12*w**2*x**2*y**4*z**2 - 2*w**2*x*y**10*z**6 - 2*w**2*x*y**3*z**4 - 4*w**2*x*y**3*z - 26*w*x**5*y**2*z**4 + 26*w*x**3*y**8*z**6 - 286*w*x**3*y**2*z + x**4*z**6 + 121*x**4*z**2 - 132*x**3*y*z**2 + 22*x**2*y**7*z**6 - 2*x**2*y**6*z**8 + 36*x**2*y**2*z**2 + 22*x**2*z**4 + 22*x**2*z**3 + 44*x**2*z - 12*x*y**8*z**6 - 12*x*y*z**4 - 24*x*y*z + y**14*z**10 + y**12*z**10 + 2*y**7*z**8 + 4*y**7*z**5 - 22*y**6*z**5 + z**6 + 4*z**3 + 125
F : 2*u**2*v**7*w**3*x*y*z - u*v*w*x*y*z + v**2*w*y*z - w**2*x*y**3*z + 11*x**2*z - 6*x*y*z + y**7*z**5 + z**3 + 2
G : 3*u**5*v*x**4*y*z**3 - u**2*v**2*w**5*x*z + 2*u*v**4*w**2*x**2*y**2 - 7*v**3*x*z - 13*w*x**3*y**2*z + x**2*z**3 - y**6*z**5 + 11
SUCCESS !
ELAPSED TIME : 0.05415749549865723 sec.
/SymPy$ python main.py
h : 9*u**10*v**2*x**8*y**2*z**6 - 6*u**7*v**3*w**5*x**5*y*z**4 + 12*u**6*v**5*w**2*x**6*y**3*z**3 - 42*u**5*v**4*x**5*y*z**4 - 78*u**5*v*w*x**7*y**3*z**4 + 6*u**5*v*x**6*y*z**6 - 6*u**5*v*x**4*y**7*z**8 + 66*u**5*v*x**4*y*z**3 + 4*u**4*v**14*w**6*x**2*y**2*z**2 + u**4*v**4*w**10*x**2*z**2 - 4*u**3*v**8*w**4*x**2*y**2*z**2 - 4*u**3*v**6*w**7*x**3*y**2*z + 4*u**2*v**9*w**4*x*y**2*z**2 + 4*u**2*v**8*w**4*x**4*y**4 - 4*u**2*v**7*w**5*x**2*y**4*z**2 + 44*u**2*v**7*w**3*x**3*y*z**2 - 24*u**2*v**7*w**3*x**2*y**2*z**2 + 4*u**2*v**7*w**3*x*y**8*z**6 + 4*u**2*v**7*w**3*x*y*z**4 + 8*u**2*v**7*w**3*x*y*z + 14*u**2*v**5*w**5*x**2*z**2 + 26*u**2*v**2*w**6*x**4*y**2*z**2 - 2*u**2*v**2*w**5*x**3*z**4 + 2*u**2*v**2*w**5*x*y**6*z**6 - 22*u**2*v**2*w**5*x*z + u**2*v**2*w**2*x**2*y**2*z**2 - 28*u*v**7*w**2*x**3*y**2*z - 52*u*v**4*w**3*x**5*y**4*z + 4*u*v**4*w**2*x**4*y**2*z**3 - 4*u*v**4*w**2*x**2*y**8*z**5 + 44*u*v**4*w**2*x**2*y**2 - 2*u*v**3*w**2*x*y**2*z**2 + 2*u*v*w**3*x**2*y**4*z**2 - 22*u*v*w*x**3*y*z**2 + 12*u*v*w*x**2*y**2*z**2 - 2*u*v*w*x*y**8*z**6 - 2*u*v*w*x*y*z**4 - 4*u*v*w*x*y*z + 49*v**6*x**2*z**2 + v**4*w**2*y**2*z**2 + 182*v**3*w*x**4*y**2*z**2 - 14*v**3*x**3*z**4 + 14*v**3*x*y**6*z**6 - 154*v**3*x*z - 2*v**2*w**3*x*y**4*z**2 + 22*v**2*w*x**2*y*z**2 - 12*v**2*w*x*y**2*z**2 + 2*v**2*w*y**8*z**6 + 2*v**2*w*y*z**4 + 4*v**2*w*y*z + w**4*x**2*y**6*z**2 + 169*w**2*x**6*y**4*z**2 - 22*w**2*x**3*y**3*z**2 + 12*w**2*x**2*y**4*z**2 - 2*w**2*x*y**10*z**6 - 2*w**2*x*y**3*z**4 - 4*w**2*x*y**3*z - 26*w*x**5*y**2*z**4 + 26*w*x**3*y**8*z**6 - 286*w*x**3*y**2*z + x**4*z**6 + 121*x**4*z**2 - 132*x**3*y*z**2 + 22*x**2*y**7*z**6 - 2*x**2*y**6*z**8 + 36*x**2*y**2*z**2 + 22*x**2*z**4 + 22*x**2*z**3 + 44*x**2*z - 12*x*y**8*z**6 - 12*x*y*z**4 - 24*x*y*z + y**14*z**10 + y**12*z**10 + 2*y**7*z**8 + 4*y**7*z**5 - 22*y**6*z**5 + z**6 + 4*z**3 + 128
FAILURE !
ELAPSED TIME : 0.20119547843933105 sec.
Если есть желание проверить алгоритм на каком-нибудь трудном полиноме, то можно разместить или присоединить его здесь.
Единственное пожелание - порядок на переменных должен быть лексикографическим : a > b > ... > u > v > w > x > y > z ( использование собственного порядка имеет некоторые неудобства).