2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Корни неявно заданного полинома
Сообщение03.11.2015, 20:11 


28/02/11
2
Здравствуйте! Встала следующая задача:

Найти корни уравнения относительно k: $det(H(k)-E)=0 $,
где $H(k)$ является матрицей, каждый элемент которой полином по $k$ степени не выше 2. Т.е. $H(k)=Ak^2+Bk+C$.
$E=diag(e)$.

Таким образом мы имеем дело с полиномом степени 2*dim(H(k)) у которого нужно найти корни. На практике интересуют dim(H(k))=14, 16 на данный момент. Если бы мы знали явно коэффициенты этого полинома, MATLAB отлично считает ответ. Указываю внизу уже предпринятые попытки решения и прошу помощи в поиске новых.

Уже испробованные методы и причины неудачи(среда MATLAB):
1) $solve(det(H(k)-E)==0,k)$
-за 2 часа так и не закончил считать для матрицы 14х14 (для 6х6 считал примерно секунд 60)
2) интерполяция интерполяционным полиномом 28й степени по 28ми точкам с извлечением коэффициентов и использованием roots
- ожидаемо выдает бред на стадии вычисления коэффициентов по причине чувствительности интерполяционного полинома к точности вычислений
3) polyfit по набору точек(более 28) с извлечением коэффициентов и использованием roots
-при достаточном количестве танцев с бубнами для поиска удачного набора точек работает на размерностях до 14, но на 16 врет
4) Численное вычисление $n$й производной от $det(H(k)-E)$ в нуле, которая должна бы дать $a_n*n!$
-пока что не проверена точность вычисления корней, 9я производная считается 50 секунд, 10я 100, 11ю пока жду.... В общем даже если будет работать, то долго, видимо.

Сталкивался ли кто-нибудь с подобной задачей и реально ли ее решить за разумное время(скажем, до 10 минут вычислений на нахождение всех корней)?

 Профиль  
                  
 
 Re: Корни неявно заданного полинома
Сообщение04.11.2015, 14:47 
Заслуженный участник


03/01/09
1701
москва
По методу 4). Возможно это поможет. Попробуйте наряду с матрицей $H(k)$ рассмотреть матрицу $P(z)$, матричные элементы которой равны: $A+Bz+Cz^2$. Составьте для нее аналогичный определитель (полином от $z$): $$\det (P(z)-z^2E).$$ Вычисляя производные этого определителя по $z$ в нуле, найдете коэффициенты соответствующего полинома $b_i$. Но $b_0=a_{2n}, b_1=a_{2n-1}$ и т.д. Так что всего вам нужно будет вычислить по $n$ младших производных в нуле для каждого из двух полиномов.

 Профиль  
                  
 
 Re: Корни неявно заданного полинома
Сообщение15.02.2016, 22:35 
Заслуженный участник


10/01/16
2318
$\$keith_
(Если все еще актуально)
Ваша система мне что то сильно напоминает....
Небось, оттуда и пришла?
Пусть $A,B,C- $ матрицы, составленные из к-тов $A,B,C$ (ну, не умею я писать о-очень большие буквы) матрицы $K$.
Рассмотрим линейную систему дифуров

$A\cdot y'' + B\cdot y' + C\cdot y =0$

и будем искать решение в виде $y(x) = e^{kx}\cdot c$. Тогда для $k$ как раз и получим Ваше уравнение (а $c$ - будет соответствующим вектором из ядра той самой матрицы).
Эту систему традиционно решают так:
1. Домножая на $A^{-1}$, сведем к случаю $A=E$
2.Полагая $y'=z$, получим систему в стандартном виде $y' = z, z' = -Cy -Bz$
Задача свелась к нахождению с.зн. блочной матрицы $$\begin{pmatrix}
   0    &     E \\
 -C    &-B\\ 
\end{pmatrix}$$
Она, конечно, в два раза ширше...Но зато методы для такой задачи отработаны от и до.

ЗЫ 1.Подозреваю, что я просто расшифровал Вашу исходную задачу.... Но даже если и так, то ваш переход к матрице в два раза меньшей, реально выгоды не дает.
2. Обратимость $A$ - важна. Если она не обратима, то а) Ваш многочлен будет иметь степень меньше 28. А приближенный счет даст таки многочлен 28-й степени, с ма-а-леньким старшим к-том. Может , потому у вас прога и сбоила? б) а стандартная процедура - работает (только, конечно, не надо считать обратную матрицу, а честно исключать переменные по методу Гаусса. Для необратимой матрицы , порядок системы будет чуток меньше)

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

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



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

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


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

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