homechevron_rightУчебаchevron_rightМатематикаchevron_rightАлгебра

Разложение многочлена на свободные от квадратов множители

Калькулятор раскладывает входной многочлен на множители, свободные от квадратов методом Юна.

Creative Commons Attribution/Share-Alike License 3.0 (Unported)

Этот материал распространяется на условиях лицензии Creative Commons Attribution/Share-Alike License 3.0 (Unported). Это означает, что вы можете размещать этот контент на своем сайте или создавать на его основе собственный (в том числе и в коммерческих целях), при условии сохранения оригинального лицензионного соглашения. Кроме того, Вы должны отметить автора этой работы, путем размещения HTML ссылки на оригинал работы https://planetcalc.ru/7762/. Пожалуйста оставьте без изменения все ссылки на других авторов данной работы или работы, на основе которой создана данная работа (если таковые имеются в спроводительном тексте).

Калькулятор ниже раскладывает входной полином на многочлены, свободные от квадратов. Свободный от квадратов многочлен p(x) не имеет делителей вида q2(x), где q(x) - многочлен положительной степени.

Входной многочлен должен быть примитивным, т.е. все коэффициенты должны быть взаимно простыми, в противном случае одним из множителей будет выделена константа - НОД коэффициентов. Коэффициенты могут быть целыми, комплексными или простыми дробями.
Калькулятор выдает таблицу свободных от квадратов многочленов с указанием степени.

Разложение производится при помощи алгоритма Юна, описание которого можно найти ниже.

PLANETCALC, Разложение многочлена на свободные от квадратов множители

Разложение многочлена на свободные от квадратов множители

Коэффициенты многочлена, разделенные пробелом.

Алгоритм Юна

Описание алгоритма в псевдокоде: 1

//Входной многочлен
a(x);
 //Вычисление производной
b(x) ⟵ a'(x)            
//Вычисление НОД полиномов      
c(x) ⟵ gcd( a(x), b(x) ) 
i=1
if  c(x)=0  {
    w(x) ⟵ a(x)
} else {
    w(x) ⟵ a(x)/c(x)
    y(x) ⟵ b(x)/c(x)
    z(x) ⟵ y(x) - w'(x)
    while( z(x)!=0 ) {
        g(x) ⟵ gcd(w(x),z(x))
        output ⟵ g(x)^i
        i⟵ i + 1
        w(x) ⟵ w(x) / g(x)
        y(x) ⟵ z(x) / g(x)
        z(x) ⟵ y(x) - w'(x)
    }
}
output ⟵ w(x)^i

  1. Keith O. Geddes, Stephen R. Czapor, George Labahn, Algorithms for Computer Algebra. Kluwer Academic Publishers, 1992, стр. 342 

Creative Commons Attribution/Share-Alike License 3.0 (Unported) PLANETCALC, Разложение многочлена на свободные от квадратов множители

Комментарии