Comments 25
Теоремой Штурма + бин. поиском вроде побыстрее будет
А теперь по порядку.
Где применяется? Как? Зачем? В университетах учат учиться? Покажут на заводе когда попадете по распределению? Альё, уже 25 лет никого никуда не распределяют. Я могу реализовать Ваш метод где-то на конкретной задаче? Где? Выложить на гитхаб и написать в резюме, что я его знаю и понимаю? А когда спросят «как вы его примените для оптимизации сети или базы данных» мне ссылку на эту статью кидать?
Где применяется? Как? Зачем? В университетах учат учиться? Покажут на заводе когда попадете по распределению? Альё, уже 25 лет никого никуда не распределяют. Я могу реализовать Ваш метод где-то на конкретной задаче? Где? Выложить на гитхаб и написать в резюме, что я его знаю и понимаю? А когда спросят «как вы его примените для оптимизации сети или базы данных» мне ссылку на эту статью кидать?
хм, мне кажется это применяется в широчайшем спектре задач
распространение нагрева в твердом теле, предсказание траектории движения некой цели, любой график скорости или ускорения —
все это прекрасно описывается полиномами различных степеней(первое что пришло в голову из реальной практики), и полиномы же могут использоваться для расчетов
сплайны, кривые Безье(где применяются надеюсь писать не надо?) — все это тоже полиномы
распространение нагрева в твердом теле, предсказание траектории движения некой цели, любой график скорости или ускорения —
все это прекрасно описывается полиномами различных степеней(первое что пришло в голову из реальной практики), и полиномы же могут использоваться для расчетов
сплайны, кривые Безье(где применяются надеюсь писать не надо?) — все это тоже полиномы
> в широчайшем спектре задач
Вы философ-фундаменталист? У вас спектр задач на столько широк, что вы не можете решить ни одну из них? Можно применить этот метод в ракетостроении чтобы ракеты не падали? Как? Вот конкретная задача. Её могут попросить закодировать в гугл-доке на собеседовании в NASA.
Кривые Безье? Геимдев, 2 курс унивеситета, 10 класс физмата. Ничего оригинального, вот серьезно.
Вы философ-фундаменталист? У вас спектр задач на столько широк, что вы не можете решить ни одну из них? Можно применить этот метод в ракетостроении чтобы ракеты не падали? Как? Вот конкретная задача. Её могут попросить закодировать в гугл-доке на собеседовании в NASA.
Кривые Безье? Геимдев, 2 курс унивеситета, 10 класс физмата. Ничего оригинального, вот серьезно.
я практик программист, приведенные мной примеры из реальных рабочих проектов которые я успешно выполнил
и да, в алгоритме наведения ракеты можно использовать и используются полиномы
и да, в алгоритме наведения ракеты можно использовать и используются полиномы
>Кривые Безье? Геимдев, 2 курс унивеситета, 10 класс физмата.
еще автомобилестроение
кстати чтоб ракеты не падали первоначально необходимо определить причину падения
еще автомобилестроение
кстати чтоб ракеты не падали первоначально необходимо определить причину падения
когда начинаешь программировать что-то отличное от «оптимизации сети или базы данных» внезапно, иногда приходится вспоминать многое из того чему учили в «универе» и в «10 классе физмата». Физика, геометрия, матан, сопромат, техмех, теория вероятности, социология…
может потребоваться вспомнить все и раскопать новое, что не входило в учебную программу
может потребоваться вспомнить все и раскопать новое, что не входило в учебную программу
Хотел бы прояснить этот момент:
> Нетрудно, имея некоторый исходный полином, построить полином2, имеющий те же по модулю корни,
> что и исходный полином, но с противоположным знаком.
> Перемножая исходный полином и полином2,
> получаем полином, корни которого равны квадратам корней исходного полинома.
Перемножая полиномы, получим полином множество корней которого равно объединению множеств корней исходных полиномов. И совсем необязательно элементы из объединения равны квадратам элементов исходных множеств.
Пример: полином p1 = x — 2 с одним корнем равным 2, строим полином2 p2 = x + 2, который имеет один корень -2. Произведение полиномов p1*p2 = x^2 — 4 имеет корни +2 и -2. Который из них равен квадрату корней исходых полиномов?
> Нетрудно, имея некоторый исходный полином, построить полином2, имеющий те же по модулю корни,
> что и исходный полином, но с противоположным знаком.
> Перемножая исходный полином и полином2,
> получаем полином, корни которого равны квадратам корней исходного полинома.
Перемножая полиномы, получим полином множество корней которого равно объединению множеств корней исходных полиномов. И совсем необязательно элементы из объединения равны квадратам элементов исходных множеств.
Пример: полином p1 = x — 2 с одним корнем равным 2, строим полином2 p2 = x + 2, который имеет один корень -2. Произведение полиномов p1*p2 = x^2 — 4 имеет корни +2 и -2. Который из них равен квадрату корней исходых полиномов?
Опущена операция замены переменной: x^2 -> z. Т.е. квадрированным называется полином*полином2 при условии замены. Имеет ту же степень, что и исходный полином.
Нашёл здесь: stu.sernam.ru/book_dig_m.php?id=69
Нашёл здесь: stu.sernam.ru/book_dig_m.php?id=69
Если я правильно понял, квадрированный полином предполагается решать относительно x^2. То бишь несколько раз квадрируем, потом берем корень соответствующей степени из второго коэффициента.
Нужно ещё сделать замену x^2 на x. Очевидно, что получившийся полином уже будет иметь корни равные квадратам корней исходных полиномов.
Но есть другая проблема: если у полинома есть комплексные корни этот метод уже не сработае, замену сделать не удастся.
Но есть другая проблема: если у полинома есть комплексные корни этот метод уже не сработае, замену сделать не удастся.
http://www.sciencedirect.com/science/article/pii/S0747717197901905 < — как вариант
А можно вставить какой-нибудь реальный пример? Типа такого?
Заодно и красивый график для привлечения внимания?
int main(int argc, char** argv)
{
double kf = 5;
double rootsArray[] = {1,3,6,9};
int rootsCount = 2;
polynomRealRoots(15, &kf, rootsArray, rootsCount);
return 0;
}
Заодно и красивый график для привлечения внимания?
p2 = -p1 = -(x-2) = -x+2. Вы минус забыли.
Есть неплохая книга по этой теме Г.П. Кутищева «Решение алгебраических уравнений произвольной степени: Теория, методы, алгоритмы» (URSS, 2010). Аналитически для уравнения третьей степени — мой топик.
Не вполне понятна практическая применимость описанного. Давно известны простые численные методы нахождения вещественных корней произвольных дифференцируемых функций. В частности, можно взять в библиотеке старинную книжку «Библиотека алгоритмов. Алгоритмы 1б-50б» и посмотреть там алгоритм 25б. Помнится, я в детстве ещё искал с его помощью корни уравнений вида sin(x)=ln(x) и т.п.
А можно, наверное, глупый вопрос. Зачем на практике находить корни полиномов высокой степени?
ну масса есть задач. Из бытовой практики — 5ти точечный метод калибровки стерео-пары. Или — есть образмеренный чертеж в Solidworks с наложенными ограничениями, и надо его отобразить — степень там может быть более-менее большой. Вот любой кому нужна такая функциональность для его собственных нужд вынужден искать корни полиномов (или систем полиномов).
Вообще поиск собственных чисел и векторов можно сводить к полиномам, хотя на практике бывает что и полиномы раскладывают записывая матрицу с характеристическим многочленом совпадающих с данным полиномом.
Вообще поиск собственных чисел и векторов можно сводить к полиномам, хотя на практике бывает что и полиномы раскладывают записывая матрицу с характеристическим многочленом совпадающих с данным полиномом.
По-моему, в основополагающей идее метода есть исключения…
Sign up to leave a comment.
Алгоритм расчёта вещественных корней полиномов