2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 
Сообщение10.11.2008, 14:37 
Заслуженный участник


12/07/07
4522
К слову, изложение вычисления натурального логарифма и квадратного корня во втором томе трехтомного издания «Курса дифференциального и интегрального исчисления» Фихтенгольца мне нравится гораздо меньше чем в [4]. Так что, если выбирать между Фихтенгольцом и [4], то однозначно [4]. (Изложение детальнее, чем в [4] в неспециализированной учебной литературе я не встречал, но поскольку x87 поддерживает вычисление логарифма и квадратного корня, этим вопросом и не интересовался. Возможно, разложением в цепную дробь (см. (10) [на момент написания сообщения этим номером помечено разложение в цепную дробь]), вычислять логарифм более эффективно. Не проверял, не знаю.)

Добавлено спустя 9 минут 8 секунд:

Наа всякий случай отмечу: я отредактировал свое предыдущее сообщение.

 Профиль  
                  
 
 
Сообщение10.11.2008, 22:22 


08/05/08
954
MSK
GAA писал(а):
Brukvalub уже Вам ответил:
Brukvalub писал(а):
3. Если взять х таким, чтобы модуль общего члена ряда монотонно убывал, то ряд станет Лейбницевым. Для таких рядов ошибка замены суммы ряда на его частичную сумму не превосходит модуля первого из отброшенных членов.

Вы можете подсобить, выписать этот модуль общего члена ряда - оценку?

У меня под рукой только книжка Фихтенгольца, что книжном прикупил. В ней пп 411, 412 посвящены вычислению логарифма и квадратного корня. Но пример то другой, про $arsh x$

 Профиль  
                  
 
 
Сообщение10.11.2008, 22:27 
Заслуженный участник


11/05/08
32166
к слову, если речь о практическом вычислении, то никакие ряды заведомо не оптимальны (за исключением ряда Фурье по многочленам Чебышёва -- он близок к оптимальному). И цепная дробь -- тоже не оптимальна, если речь не о приближении совершенно конкретного числа, а об общей формуле.

 Профиль  
                  
 
 
Сообщение11.11.2008, 11:10 
Заслуженный участник


12/07/07
4522
1. Для разложения по степеням $x$ модуль общего члена есть $\frac {(2n-1)!!} {(2n)!!} \frac {|x|^{2n+1}} {2n+1}$.
Для ряда по степеням $1/x$, при положительных $x$, модуль общего члена есть $\frac {(2n-1)!!} {(2n)!!} \frac {(1/x)^{2n}}{2n}$.
О Лейбницевских рядах можно посмотреть в n «Знакопеременные ряды» (Т II) трехтомного издания Фихтенгольца (в издании 1964 г. это n 381).

2. Книга [4] имеется в электронном виде.

Точная формулировка задачи вычисления не приведена. В помощь формулировки этой задачи я привел некоторые доводы. Добавить мне больше нечего.

 Профиль  
                  
 
 
Сообщение11.11.2008, 22:26 


08/05/08
954
MSK
GAA писал(а):
Точная формулировка задачи вычисления не приведена. В помощь формулировки этой задачи я привел некоторые доводы.

Пусть требуется вычислить значения $arsh x$ с двумя (2) правильными десятичными знаками
при следующих значениях $x$:
$x_1=e^{-1}$
$x_2=e$
$x_3=e^3$
$x_4=e^7$
Как полученные оценки могут помочь?

 Профиль  
                  
 
 
Сообщение12.11.2008, 08:20 
Заслуженный участник


12/07/07
4522
Рассмотрим случай $|x| \le 1$.
Обозначим общий член ряда по степеням $x$ через $a_n$. $a_n$ удовлетворяет условиям:
$a_0 = x$, $a_n = - \frac{(2n-1)^2x^2}{2n(2n+1)}a_{n-1}$, $n=1, 2, 3, \ldots$.

Вычисления можно оформить как-то так:
n:= 0; a:= x; S:= 0;
Пока |a| > точности вычислений делаем:
1.1 S:= S + a;
1.2 n:= n+1; {переходим к следующему члену ряда}
1.3 a = -(2*n-1)^2/(2*n*(2*n+1))*x^2*a;
возвращаемся к проверке

Для справки: $\ln(e^{-1} + \sqrt{e^{-2} +1})$ приближенно равен 0.3600496446091037.

i) Пусть x = 0.3679, а точность 0.005, тогда вычисления остановятся после сравнения a[2] с 0.005, т.е. члены ряда начиная со второго будут отброшены. Приближенное значение суммы ряда: 0.3596; выражение $\ln(0.3679 + \sqrt{0.3679^2+1})$ приближенно равен 0.3598;

ii) Пусть x= .3678794, а точность 0.00005, , тогда вычисления остановятся после сравнения a[3] с 0.00005, т.е. члены ряда начиная с третьего будут отброшены. Приближенное значение суммы ряда: 0.3600869; выражение $\ln(.3678794 + \sqrt{.3678794^2+1})$ приближенно равно 0.3600492.

 Профиль  
                  
 
 
Сообщение12.11.2008, 08:24 
Заслуженный участник


11/05/08
32166
Практически, вообще говоря -- никак.

Т.е. в теории-то всё замечательно. Есть ряд по степеням иксов, который сходится на промежутке $[0;1]$. И есть ряд по обратным степеням, сходящийся на $[1;\+\infty)$. И оба ряда -- знакочередующиеся, т.е. погрешность строго оценивается первым из отброшенных членов. Т.е. надо просто суммировать до тех пор, пока очередное слагаемое не окажется меньше допустимой погрешности. Это в теории.

А на практике -- радиус сходимости обоих рядов равен единице, и при иксах, близких к единице, оба ряда сходятся крайне медленно. Т.е. формально результат мы получим, но понадобится очень много слагаемых (а там, глядишь, и погрешность округления поднакопится). Практически использование этих рядов приемлемо только левее 1/3 или правее 3 -- тогда каждое слагаемое будет выбивать очередной десятичный порядок, а на большее (в универсальной ситуации) и расчитывать не приходится.

На практике наиболее эффективный способ -- использование чебышёвских разложений. Например, в книжке: Ю.Люк, "Специальные математические функции и их аппроксимации" (М., Мир, 1980) на стр.46 приводится такое разложение логарифма:

$$\ln(1+x)=-2\,\ln(1-q)-2\,\sum_{n=1}^{\infty}{(-1)^nq^n\over n}\,T_n^*(x)$$,
$$q=3-2\sqrt2,\qquad x\in[0;1]$$.

Здесь $T_n^*(x)$ -- это "сдвинутые" многочлены Чебышёва, определяемые рекуррентными соотношениями:

$$T_{n+1}^*(x)=2(2x-1)\,T_n^*(x)-T_{n-1}^*(x)$$,
$$T_0^*(x)\equiv1,\qquad T_1^*(x)=2x-1$$

(именно эти соотношения при практической реализации и надо использовать, а не какой-либо явный вид многочленов -- тогда эффективность вычислений будет почти такой же, как и для просто степенного ряда). Для вычисления именно логарифма этого вполне достаточно: вещественные числа хранятся в памяти компьютера в нормализованном виде как двоичная мантисса из диапазона $[1/2;\;1)$ и двоичный порядок $n$, ряд позволяет найти логарифм от мантиссы, и останется только добавить $n\,\ln2$.

Ряд сходится со скоростью геометрической прогрессии со знаменателем где-то около 1/6. Это означает, что достигнутая точность оценивается как 7/6 первого из отбрасываемых коэффициентов (ну или как 7/36 последнего из учтённых). Не просто как первый из отбрасываемых -- т.к. здесь нет знакочередования в точном смысле.

В той же книжке приведены таблицы первых 25 коэффициентов с точностью в 20 значащих цифр. И это -- ровно то, что нужно для практических расчётов, т.к., разумеется, при составлении программы эти коэффициенты следует не находить на лету, а вычислить заранее.

Если уж совсем любопытно, то там же на стр.73 (Таблица 3.11) приведены аналогичные коэффициенты именно для гиперболического синуса.

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


23/08/07
5494
Нов-ск
e7e5 писал(а):
Пусть требуется вычислить значения $arsh x$ с двумя (2) правильными десятичными знаками
при следующих значениях $x$:
$x_1=e^{-1}$
Что разрешено использовать для вычисления? Можно пользоваться функцией $\exp$?

 Профиль  
                  
 
 
Сообщение12.11.2008, 10:06 


08/05/08
954
MSK
TOTAL писал(а):
e7e5 писал(а):
Пусть требуется вычислить значения $arsh x$ с двумя (2) правильными десятичными знаками
при следующих значениях $x$:
$x_1=e^{-1}$
Что разрешено использовать для вычисления? Можно пользоваться функцией $\exp$?

Можно, будем считать, что функцию $\exp$ умеем вычислять с заданной точностью.

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


23/08/07
5494
Нов-ск
e7e5 писал(а):
TOTAL писал(а):
e7e5 писал(а):
Пусть требуется вычислить значения $arsh x$ с двумя (2) правильными десятичными знаками
при следующих значениях $x$:
$x_1=e^{-1}$
Что разрешено использовать для вычисления? Можно пользоваться функцией $\exp$?

Можно, будем считать, что функцию $\exp$ умеем вычислять с заданной точностью.

Тогда для заданного $x$ решайте методом Ньютона (сходится мгновенно) относительно $y$ уравнение $\sh(y) = x$

 Профиль  
                  
 
 
Сообщение12.11.2008, 22:39 


08/05/08
954
MSK
ewert писал(а):
А на практике -- радиус сходимости обоих рядов равен единице, и при иксах, близких к единице, оба ряда сходятся крайне медленно. Т.е. формально результат мы получим, но понадобится очень много слагаемых (а там, глядишь, и погрешность округления поднакопится). Практически использование этих рядов приемлемо только левее 1/3 или правее 3 -- тогда каждое слагаемое будет выбивать очередной десятичный порядок, а на большее (в универсальной ситуации) и расчитывать не приходится.

Поясните пожалуйста подробнее про радиус сходимости.
Вот например если разложить в ряд
$ln(x+ \sqrt{x^2+a^2})$
a>0, то радиус сходимости ряда = $a$
Как это теперь практически скажется, если использовать (его нужно выписать, чтобы понять?)?

 Профиль  
                  
 
 
Сообщение13.11.2008, 05:35 
Заслуженный участник


11/05/08
32166
теперь сходимость будет медленной вблизи $x=a$ (достаточно сделать замену $x=at$, и задача более-менее сведётся к предыдущей), а вообще-то не понял, в чём вопрос

 Профиль  
                  
 
 
Сообщение14.11.2008, 19:27 


08/05/08
954
MSK
ewert писал(а):
а вообще-то не понял, в чём вопрос


Мне не очень понятно, почему сходимость будет медленной вблизи определенного $x$
Вот если вычислять ряд, как GAA советовал

Или вот вы написали:
ewert писал(а):
А на практике -- радиус сходимости обоих рядов равен единице, и при иксах, близких к единице, оба ряда сходятся крайне медленно.

 Профиль  
                  
 
 
Сообщение14.11.2008, 23:38 
Заслуженный участник


11/05/08
32166
если говорить про чистые арксинусы (безо всяких "а", они тут не при чём). В точке 1 получается знакочередующийся примерно гармонический ряд, который сходится, но крайне медленно. Ну и рядом с единицей ситуация очень уж принципиально не изменится (с вычислительной точки зрения).

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

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



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

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


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

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