2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Численный поиск комплексных корней
Сообщение05.03.2009, 21:48 
Нужно решить уравнение f(z)=0 в комплексной плоскоти. Как лучше это сделать? Я собираюсь методом Ньютона, но не могу найти его нормального опасания для поиска именно комплексных корней. Может, кто посоветует статью или книгу какую-нибудь?

 
 
 
 
Сообщение05.03.2009, 22:02 
http://gen.lib.rus.ec/search?req=%D0%9E ... =25&from=0



Посмотрите на 153-й странице.

 
 
 
 
Сообщение05.03.2009, 22:50 
Цитата:
Нужно решить уравнение f(z)=0 в комплексной плоскоти.

Это учебное задание или ответ надо найти? :)

 
 
 
 
Сообщение05.03.2009, 23:10 
Аббат в сообщении #192147 писал(а):
Я собираюсь методом Ньютона,

Вот и ищите. Непосредственно методом Ньютона, но -- в комплексном варианте (поскольку речь явно про аналитические функции, иначе комплексность вообще не при чём).

Если корни, конечно, уже локализованы. Если же нет -- то я не в курсе, но, как мне кажется, никаких специфически-аналитических методов локализации вроде и нет.

 
 
 
 
Сообщение05.03.2009, 23:19 
Есть теорема о приращении аргумента - интеграл по контуру от логарифма равен разности числа корней и полюсов внутри контура. В некоторых случаях, напр., для дзета функции, доказываются специальные утверждения :)

 
 
 
 
Сообщение05.03.2009, 23:25 
Несерьёзно. Поди найди ещё этот интеграл по контуру. И уж тем более поди перебери все контура.

Нет, конечно, если уже известно, что корень где-то там локализован, то это поможет доказать, что он локализован, да только кому это практически нужно -- доказывать то, что и без того известно?...

 
 
 
 
Сообщение05.03.2009, 23:33 
Почему же? Численно совсем нетрудно. Число корней целое :) А если надо найти, скажем, все корни в заданной области, то неплохо бы сначала узнать, сколько их там.

 
 
 
 
Сообщение05.03.2009, 23:40 
ну, положим, количество корней мы и определим. Какая с того радость? Мы и так заранее знаем, что оно конечно. А вот поди локализуй каждый конкретный корень.

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

 
 
 
 
Сообщение05.03.2009, 23:48 
Ну, такая информация уже ценность. Одно дело два корня, а другое двадцать.

Если область - большой квадрат, поделим на маленькие :)
Скажем на сто. Там, где корней больше одного, еще поделим.
А если он окажется один, может, особо локализовать ничего не придется. Запустить метод Ньютона или градиентного спуска...

 
 
 
 
Сообщение05.03.2009, 23:59 
Gafield в сообщении #192188 писал(а):
или градиентного спуска...

а если мы случайно вывалимся за некоторый перевал?...

Короче -- нет абсолютно надёжных методов локализации. Даже в аналитическом случае.

 
 
 
 
Сообщение06.03.2009, 00:13 
Вообще говоря, конечно. Однако, если область ограничена, а число корней в ней конечно, что мешает проводить эту поцедуру деления до достижения нужной точности? Ну, могут быть оговорки, вроде того, что корни ближе, чем используемая точность вычислений...

 
 
 
 
Сообщение06.03.2009, 01:28 
в общем уравнение такое:

$z^k = \frac 1 {1+\rho(1-z))}$ при |z|$\leqslant $1

уравнение имеет ровно k корней, мне надо найти корни для фиксированного k. Скажем, для начала пусть k=4. Как я понял, метод Ньютона, это метод локального поиска? Для начала надо корни локализовать? Как это лучше сделать?

 
 
 
 
Сообщение06.03.2009, 01:39 
Что знаачит $z\le1$, если корни комплексные? Количество корней зависит от $\rho$, но вообще-то $k+1$. Все сводится к нахождению корней многочлена, а для этого есть какие-то алгоритмы.

 
 
 
 
Сообщение06.03.2009, 01:54 
Gafield писал(а):
Что знаачит $z\le1$, если корни комплексные?

прошу прощения, там z под модулем.

Gafield писал(а):
Количество корней зависит от $\rho$, но вообще-то $k+1$. Все сводится к нахождению корней многочлена, а для этого есть какие-то алгоритмы.


От ро количество корней не зависит, ро - это заданное действительное число на (0,1]. (k+1)-ый корень уже будет при |z|>1. Этот корень мне не нужен

 
 
 
 
Сообщение06.03.2009, 02:31 
Аватара пользователя
у меня вышло вот что
$z^{k}=\frac{1}{1+\rho(1-z)}$
$z^{k}(1+\rho(1-z))=1$
$z^{k}+\rho z^{k} - \rho z^{k+1}=1$
так как $|z|\leq 1$ to $z=r\cos \phi +ir\sin\phi ,\  \  \  r\in [0, 1]\subset R $
получаем $$r^{k}\cos k\phi +i r^{k}\sin k\phi+\rho r^{k}\cos k\phi +i\rho r^{k}\sin k\phi-\rho r^{k+1}\cos ((k+1)\phi) -i\rho r^{k+1}\sin ((k+1)\phi)=1$$
делим на 2 уровнения
$r^{k}\cos k\phi +r^{k}\rho\cos k\phi -r^{k+1}\rho\cos ((k+1)\phi) =1$
и
$i r^{k}\sin k\phi +i r^{k}\rho\sin k\phi- i r^{k+1}\rho\sin ((k+1)\phi)=0$
далее
$r^{k}(1+\rho)\cos k\phi-r^{k+1}\rho\cos ((k+1)\phi)=1$
$r^{k}(1+\rho)\sin k\phi=r^{k+1}\rho\sin ((k+1)\phi)$

дальше можно решить эту систему уровнений и найти все $\phi(\rho) \in \left[ 0, 2\pi)$ и $r(\rho)$ тогда корни будут иметь вид $z=r e^{i\phi}$
а при известном $\rho$ можно все легко повычислять из одного любого из этих двух уровнений методоми вычислительной математики :roll:

Аббат в сообщении #192147 писал(а):
для поиска именно комплексных корней

и ни какого комплексного поиска не над :)

 
 
 [ Сообщений: 16 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group