найти, если многочлен имеет несколько корней - PullRequest
0 голосов
/ 26 мая 2018

Я знаю, что корень многочлена называется множественным корнем, если он также корень его производной

Я довольно новичок в прологе и хочу написать кодгде у меня есть список (например: [3,2,1] для 3x^2 + 2x + 1) в качестве входных данных, и я должен найти, если полином имеет несколько корней

Чтобы вычислить производную, я просто умножить каждую запись списка в егоиндексировать и удалить последний.но я не знаю, как вычислить общий корень между двумя полиномами или даже как вычислить корень одного полинома с использованием пролога.

любая помощь будет оценена

1 Ответ

0 голосов
/ 26 мая 2018

Вычисляет gcd между полиномом и его производной.Корень кратен тогда и только тогда, когда он является корнем gcd.Это, вероятно, уменьшит степень, что увеличит ваши шансы найти несколько корней.

Есть несколько стратегий, которым нужно следовать:

  1. Если степень gcdне больше 2, вы можете использовать закрытую формулу для его корней.

  2. Если многочлен имеет целочисленные коэффициенты, вы можете использовать Рациональная корневая теорема , чтобы найтирациональные корни gcd, если таковые имеются.

  3. В общем случае вы можете использовать теорему Штурма , чтобы разделить все корни в интервалах на малыекак вы хотите, что является способом достижения бесконечной точности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...