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
1717
москва
По методу 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 ] 

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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