Результант

Калькулятор вычисляет результант для двух многочленов. Также отображается матрица Сильвестра.

Эта страница существует благодаря следующим персонам

Anton

Создан: 2019-08-16 19:25:19, Последнее изменение: 2020-11-03 14:19:37
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

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

Этот калькулятор вычисляет результант для двух полиномов Res(A,B). Нулевой результант означает наличие общих множителей (корней) полиномов. Если у полиномов нет общих множителей - результант всегда отличается от нуля.
Например, у следующих полиномов:

  • 3x3+9 x2+x+3
  • x2+5x+6
    cуществует общий множитель: x+3 и соответственно результант этих полиномов равен нулю.

PLANETCALC, Результант

Результант

Результант
 
Матрица Сильвестра
 

Вычисление результанта

Результант может быть вычислен как определитель матрицы Сильвестра, составленной из коэффициентов полиномов. Но наш калькулятор отображает матрицу Сильвестра исключительно для справки, так как он использует дугой алгоритм основанный на Евклидовом делении полиномов.
Алгоритм калькулятора (только без рекурсии) соответствует алгоритму опубликованному в книге Computer Algebra and Symbolic Computation автора Joel S. Cohen 1.

//Входные полиномы
u(x),v(x)
//переменная результата
a ⟵ 1
loop {
   //получение степеней полиномов
    m ⟵ deg(u(x))
    n ⟵ deg(v(x))      
    if ( n = 0 ) {
         a ⟵ a*v[0]^m
         return a;
    }
    //остаток от деления полиномов
    r(x) ⟵ u(x) mod v(x)
    if ( r(x) = 0 ) {
        return 0;
    }
    s ⟵ deg(r(x))
    a ⟵ a * v[n]^(m-s) * (-1)^(mn)
    u(x) ⟵ v(x)
    v(x) ⟵ r(x)
}

  1. Joel S. Cohen Computer Algebra and Symbolic Computation. Mathematical Methods. par. 7.1 The Resultant Concept 

Ссылка скопирована в буфер обмена
PLANETCALC, Результант

Комментарии