2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Сходимость метода
Сообщение12.04.2011, 22:06 


27/08/10
32
Здравствуйте!
Взбрендило мне для расчета целочисленного квадратного корня ("пол" sqrt(x)) написать целочисленный же алгоритм. Зачем-то я начал пытаться использовать для этого алгоритм Ньютона, притом вот какой:

код: [ скачать ] [ спрятать ]
Используется синтаксис C#
public static long isqrt_newton_simple(long num)
{
   long xPrev = 0, xCur = num;

   while (true)
   {
       xPrev = xCur;
       xCur = (xPrev + num / xPrev) / 2;

       if (xCur == xPrev)
           return xCur;

       else if (xCur > xPrev)
           return xPrev;
    }
}
 


Ну, думал, облом.
Но чудесы великия!
Алгоритм дает верное значение для целой части квадратного корня, хотя бы на диапазоне 32-битного типа int.

Но я, увы, не математик, и мне становится печально, как только я подумаю о доказательстве сходимости метода к целой части квадратного корня. Есть ли у Вас какие-то идеи? Бестолковый метод или толковый? Почему?

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

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



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

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


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

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