2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 уравнение 6-го порядка
Сообщение19.12.2007, 00:57 
Аватара пользователя


20/09/06
31
Минск
Вобщем понадобилось решить уравненьице :
$ax^6 + bx^5 + cx^4 + dx^3 + ex^2 + fx + g = 0$
Поскольку с таким не встречался, то и решать в лоб как-то не очень охото.
Есть какой-то способ преобразовать такое уравнение к двум кубическим?
Ну т.е что-то вроде, что у такого уравнение может быть все 6 вещественных корней, поскольку у кубического тоже могут быть все вещественные корни ( правдо их будет 3 ), значит должен быть некий метод, что решив первое мы получим первую тройку корней, решив второе вторую.

 Профиль  
                  
 
 
Сообщение19.12.2007, 01:05 


11/03/06
236
Виталий писал(а):
Вобщем понадобилось решить уравненьице :
$ax^6 + bx^5 + cx^4 + dx^3 + ex^2 + fx + g = 0$
Есть какой-то способ преобразовать такое уравнение к двум кубическим?

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

 Профиль  
                  
 
 
Сообщение19.12.2007, 10:03 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Виталий писал(а):
Вобщем понадобилось решить уравненьице :
$ax^6 + bx^5 + cx^4 + dx^3 + ex^2 + fx + g = 0$
Поскольку с таким не встречался, то и решать в лоб как-то не очень охото.
Есть какой-то способ преобразовать такое уравнение к двум кубическим?
Ну т.е что-то вроде, что у такого уравнение может быть все 6 вещественных корней, поскольку у кубического тоже могут быть все вещественные корни ( правдо их будет 3 ), значит должен быть некий метод, что решив первое мы получим первую тройку корней, решив второе вторую.
С одной стороны, известен факт о принципиальной невозможности построить общую формулу, выражающую все корни полинома с рациональными коэффициентами степени 5 или выше с помощью арифметических действий и операции извлечения корня. С другой стороны, известно, что всякий невырожденный многочлен с вещественными коэффициентами представим в виде произведения линейных и квадратичных множителей. Только вот как это представление эффективно получить, наука умалчивает. Так что в буквенном виде Ваша задача элементарными методами неразрешима. В соседнем разделе есть целая ветка об этом: http://dxdy.ru/viewtopic.php?t=4040&postdays=0&postorder=asc&start=0

 Профиль  
                  
 
 
Сообщение19.12.2007, 11:48 


29/09/06
4552
Небось, Виталий, всё с кривыми Безье возитесь? Задачки, которые мы раньше обсуждали, кубическими уравнениями обходятся...

 Профиль  
                  
 
 
Сообщение19.12.2007, 14:15 
Аватара пользователя


20/09/06
31
Минск
Алексей К.
Да, однако пересечение с окружностью не решается кубическими уравнениями.

 Профиль  
                  
 
 
Сообщение19.12.2007, 14:29 


29/09/06
4552
Правильно ли я понял, что следующий этип ---- пересечение кривой Безье с другой кривой Безье? Если --- случайно --- эта задачка уже решена, то ей можно воспользоваться для случая окружности. С весьма высокой точностью...

 Профиль  
                  
 
 
Сообщение19.12.2007, 18:35 
Аватара пользователя


20/09/06
31
Минск
Нет задачки найти пересечение между кривыми не стояло.
Потому, окружность для меня - загадка...

 Профиль  
                  
 
 
Сообщение19.12.2007, 18:44 


29/09/06
4552
Виталий писал(а):
окружность для меня - загадка...

Для меня она апофеоз и неисчерпаемый кладезь...

Ну разбейте её на отрезочки и используйте решение предыдущей задачи.
И поскольку Вам, вроде, не формулы нужны, а нечто программное --- так и уравнение 6-й степени порешать не проблема вроде на компутере.

 Профиль  
                  
 
 
Сообщение21.12.2007, 14:16 
Аватара пользователя


20/09/06
31
Минск
Алексей К писал(а):
Ну разбейте её на отрезочки и используйте решение предыдущей задачи.


Да, но вот бить 100 кривых на 1000 отрезочков и решать для каждого кубическое уравнение дороже обойдётся, т.к придётся решать 100000 кубических уравнений, вместо скажем 100 шестичных.
Алексей К писал(а):

И поскольку Вам, вроде, не формулы нужны, а нечто программное --- так и уравнение 6-й степени порешать не проблема вроде на компутере


А вот порешать может и не проблема, был бы код на C++ :)
Да вот, не нахожу никак...

 Профиль  
                  
 
 Счастливого (мне) полёта в Москву!
Сообщение21.12.2007, 17:11 


29/09/06
4552
Виталий писал(а):
А вот порешать может и не проблема, был бы код на C++ :)
Да вот, не нахожу никак...


После отпуска подсказать только смогу, через 2++ недели. Головой и одной ногой уже в самолёте. А то, что старательно писал полчаса --- опять пропало. Зато теперь знаю эту мерзкую кнопку, от которой всё пропадает --- escape, зараза.

Рекурсивная программка пишется легко. Полином нечётной степени методом деления пополам --- один корень находим гарантированно, понижаем порядок (отрезок, который делим пополам, легко находится). Полином четной степени $p(x)$ разбиваем на участки монотонности (для чего решаем уравнение нечётной степени $p'(x)=0$) и каждый участок смотрим методом деления пополам. Рекурсией доходим до квадратного уравнения. Спросите в Computer Science --- может подскажут знаменитую книгу, которой уже название забыл --- что-то вроде все нужные по жизни алгоритмы на Фортране и все нужные по жизни алгоритмы на C (C++?)

 Профиль  
                  
 
 
Сообщение21.12.2007, 19:12 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Виталий писал(а):
А вот порешать может и не проблема, был бы код на C++ Smile
Да вот, не нахожу никак...

Метод Ньютона не найти?! А где Гугл на компе знаете?! гугл, шестая ссылка:

http://alglib.sources.ru/equations/feq0newton.php

 Профиль  
                  
 
 
Сообщение21.12.2007, 20:32 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Для нахождения всех (в т.ч. комплексных) корней можно попробовать во эти ссылки:

http://www.srcc.msu.su/num_anal/lib_na/cat/cat41.htm
http://alglib.sources.ru/equations/eigenpolyroots.php

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

http://www.srcc.msu.su/num_anal/lib_na/cat/zp/zp18r.htm

а потом уже решать на каждом отрезке Ньютоном.

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

 Профиль  
                  
 
 
Сообщение21.12.2007, 21:12 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
worm2 писал(а):
Или можно попробовать сначала найти все отрезки, в пределах которых корень существует, используя метод Штурма:


Я не очень понимаю источник задачи. В принципе, речь идёт, судя по всему, о конкретных (не глобальных) свойствах к.Б. Это означает, что мы ограничены отрезком $[0, 1]$ для значений параметра.

Теоретически, быть может, существует к.Б. с шестью точками пересечения с окружностью. Практически — вряд ли. Кривые с точкой перегиба встречаются редко, с двумя — это экзотика, Т.е., я к тому, что программа не должна ломаться в таких случаях, но и не должна быть сверх эффективной. Чаще всего мы имеем дело с 1-2 корнями.

Практически есть два подхода к оценке количества корней. Первый — алгебраический — метод Штурма и иже с ним. Второй — геометрический — основан на том, что к.Б, находится внутри своего охватывающего многоугольника. А значит, если многоугольник не пересекается с окружностью, то и к.Б. Не пересекается. Тут есть ловушка: проверять пересечение отрезка с окружностью тоже не очень приятно (вычислительно). Но — вполне возможно. А наличие алгоритма деления к.Б. пополам делает возможным разделение корней и дихотомию. Впрочем, тоже относится и к методу Штурма, после того как мы посчитали коэффициенты полинома.


Виталий, простите, но Вам всё-таки нужно почитать что-нибудь по вычислительным методам и аналитической геометрии. Не потому, что никто не хочет Вам помочь. А потому, что Ваша работа требует от Вас более глубокого понимания этих вопросов. Вам не нужно идти далеко, но решение алгебраических уравнений, уравнение прямой — это, обычно, самое начало.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group