2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 x/y/z=?=x/(y*z)
Сообщение16.04.2007, 22:00 


17/09/05
121
Уважаемые эксперты!

На одном приборе вычисление $x/(y*z)$ производится примерно в два раза быстрее, чем вычисление $x/y/z$.
То есть если заменить последнее вычисление первым, то получится ощутимый выигрыш времени.

Вот мне интересно, а не возникнет ли при такой замене какая-нибудь вычислительная погрешность? В одном вычислении одно деление, в другом – два…

Заранее спасибо.

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


17/10/05
3709
:evil:
Предположим, что действия с плавающей точкой.

Рассмотрите случай $x = y = z = 1e-20$. Тогда вычисление по первой схеме даст правильный результат $1e20$, по второй — произойдет исчезновение значимости и деление на 0.

Это, конечно, крайний случай. Но не невозможный.

 Профиль  
                  
 
 
Сообщение17.04.2007, 00:02 


17/09/05
121
Спасибо!

Да, точно, там $y=z$ и возможна потеря значимости (underflow).
Поэтому и сделано
$x/y/y$
:(

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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