1 1 1 1 1 1 1 1 1 1 Рейтинг 4.33 (6 голосов)

Умножение комплексных многочленов / полиномов с одной переменной

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

Описание

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

Напомним что полиномом или многочленом  называется выражения вида

Многочлен одной переменной

где b,c....z,w - являются коэфициентами полинома.

При n=2 получается квадратное уравнение

при n=3 кубическое  и т.д.

Если необходимо взять произведение, двух и более подобным многочленов, возникает задача по расчету  новых коэффициентов в результирующем полиноме.

Например чему равен результат вычисления

(x^2+3*x-5)(x^4-3x^2-2x+11)

По всем правилам, надо взять первый коэффицент (1) умножить на каждый коэффицент второго полинома, запомнить, потом  взять коэффицент второй у первого полинома, перемножить на каждый коэффицент второго многочлена и сложить с тем, что запомнили, учитывая размерность степеней при неизвестном x.

Достаточно заморочно и очень большая вероятность ошибки, именно человеческого фактора. Но работа нудная и естественно хочется упростить и ускорить эти операции.

Да, сразу скажем ответ вышеприведенной задачи

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

Но наш бот смелый парень и может решить за мгновенье например произведении вот таких многочленов:

x^3(2-i)+ix^2+(-7-i)x+1)(2-i+x)(ix^2-7ix+i)

Кто как не бот, скажет чему же равно произведение этих трех полиномов

Введем даные poly_u 2-i i -7-i 1;i 2-i;i -7 i и получим результат умножения комплексных многочленов

 

(-2+i)x^6+(-3-12i)x^5+(-11+31i)x^4+(-16+22i)x^3+(111-38i)x^2+(-20-8i)x+1+2i

У бота нет ограничения ни на количество сомножителей, ни на количество коэффицентов в каждом из многочленов. Ввод осуществялется просто и легко. 

Для тех кто пытается по корням полинома узнать его коэффиценты то лучше воспользоватся  вот этой ссылкой Создание полинома (многочлена) одной переменной онлайн

Синтаксис

Если используем бота через XMPP клиент, то пишем:  poly_u <строка>

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

Примеры использования

Раскроем скобки вот такого выражения

2x-1+3x^2)(-5x^3-3)

Выражение состоит из двух полиномов с коэффицентами (считаем от высоких степенй к низким)

Первый полином 3 2 -1

Второй полином  -5 0 0 -3

Отдадим эти коэффиценты боту и посмотрим на результат

poly_u 3 2 -1;-5 0 0 -3

получаем ответ

Полученный полином в результате умножения имеет вид
Введенное выражение

 

Несложно проверить ручным перемноженим что бот не наврал.