Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Некоторые аспекты машинных вычислений, выделено из "Производной в точке" 
:(
    Опции темы
esperant0
Дата 12.6.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(popovda @ 12.6.2006,  22:30)
Вообще говоря вычисление численной производной в точке - операция математически некорректная  

а можно поподробней?

в чем некорректность?

Модератор: Эта тема выделена из http://forum.vingrad.ru/index.php?showtopi...nread=1&hl= 

Это сообщение отредактировал(а) maxim1000 - 18.6.2006, 16:22


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
popovda
Дата 14.6.2006, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: 1
Всего: 6



Хотя бы в том, что на эвм одно и то же вещественное число представимо в 3-х видах:
a = 1 - точное значение
Приближенное вещественное число на ЭВМ
x = 0.(9) ; 1.00000000....0; 1.00000000.......1 

Это во-первых, а во-вторых: при вычислении производных на ЭВМ бывают разные казусы, связанные с неправильной аппроксимацией призводной для конкретной задачи. Ведь все дифференциальные уравнения представляются через конечные разности. А вот будет ли сама аппроксимация устойчивой - это вопрос зачастую нетривиальный.  Адресую к "Теории разностных схем" Годунова или Рябенького.
 


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
esperant0
Дата 14.6.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(popovda @ 14.6.2006,  19:46)
Хотя бы в том, что на эвм одно и то же вещественное число представимо в 3-х видах:
a = 1 - точное значение
Приближенное вещественное число на ЭВМ
x = 0.(9) ; 1.00000000....0; 1.00000000.......1 

Это во-первых, а во-вторых: при вычислении производных на ЭВМ бывают разные казусы, связанные с неправильной аппроксимацией призводной для конкретной задачи. Ведь все дифференциальные уравнения представляются через конечные разности. А вот будет ли сама аппроксимация устойчивой - это вопрос зачастую нетривиальный.  Адресую к "Теории разностных схем" Годунова или Рябенького.

спасибо, я учил численный анализ.

Только я не понял связи между вашим утверждением и объяснением.

Уточните утверждение, и термин некорректная.

Вы в своем объяснении ссылаетесь к конкретнй модели ЭВМ, на которую вы не ссылаетесь в утверждении. 


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
popovda
Дата 15.6.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: 1
Всего: 6



Ну, во-первых, не конкретной модели ЭВМ, а к любой модели. Во-вторых, чтобы не быть голословным, поищу какой-нибудь пример (попроще) в запасниках, иллюстрирующих некорректность производной. Для начала скажу следующее: попробуйте взять численную производную кусочно-гладкой функции и сравните с аналитическим значением. 


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
popovda
Дата 15.6.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: 1
Всего: 6



Итак, даю достаточно подробное математическое доказательство некорректности взятия численной производной. Если Вы изучали вычислительную математику, то вопросов не возникнет. Ответ дан на примере экспоненты, так же показано, как найти оптимальный h для данного типа данных. См. прикрепленный файл
  

Это сообщение отредактировал(а) popovda - 15.6.2006, 21:23

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  UncorrectDiff.doc 72,50 Kb


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
esperant0
Дата 15.6.2006, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



праивильно ли я вас понял, что вы утверждаете, что в любой модели ЭВМ, эпсилон фиксирован и не адаптируется? 


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
esperant0
Дата 15.6.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(popovda @ 14.6.2006,  19:46)
Хотя бы в том, что на эвм одно и то же вещественное число представимо в 3-х видах:
 

а в математике любое целое число представимо в двух видах, значит она тоже некорректна? 


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
maxim1000
Дата 15.6.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(popovda @  15.6.2006,  20:22 Найти цитируемый пост)
Итак, даю достаточно подробное математическое доказательство некорректности взятия численной производной

ничего кроме утверждения "вычисления на компьютере проводятся с погрешностью" эти выкладки не доказывают
численная производная, как понятие, не имеет никакого отношения к компьютерам, это - просто разность на шаг сетки
некорректна она только в случае h=0
а то, что компьютерные вычисления производятся с погрешностью, так это да, никто не спорит, и рекомендации не брать h слишком маленьким полностью справедливы 


--------------------
qqq
PM WWW   Вверх
popovda
Дата 16.6.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: 1
Всего: 6



Отвечаю на вопрос по данной полемике. Мне довелось быть дипломником д.ф.-м.н., профессора из ВЦ РАН, который на вычислительной математике собаку съел. И слушать его спецкурсы. Этот человек меня научил очень многому и в своих знаниях я уверен. Поэтому:
1. 
Цитата

а в математике любое целое число представимо в двух видах, значит она тоже некорректна
Уточните про то, что Вы имели ввиду по поводу целых чисел и их 2-х представлений. Не ясно.Как раз с точки зрения вычислений к ним претензий такого вида быть не может. 

2.
Цитата

ничего кроме утверждения "вычисления на компьютере проводятся с погрешностью" эти выкладки не доказывают
численная производная, как понятие, не имеет никакого отношения к компьютерам, это - просто разность на шаг сетки
некорректна она только в случае h=0
 По поводу шага на сетке. Привожу высказывание нелюбимого многими В.И. Ленина:
"Теория без практики мертва, а практика без теории слепа." Если аналитическое и численное значения производной не совпадают, то это и есть некорректность операции дифференцирования на ЭВМ. То есть 
требуются дополнительные ограничения и подходы. Как раз этот пример и иллюстрирует, во-первых, к каким последствиям может привести незнание (точнее, непонимание) вычислительных погрешностей, во-вторых, не цепляйтесь к термину "некорректная" - это не означает, что такой подход не применим, нужны методы. В данном случае простые. Но ведь некорректные задачи математической физики - сложные задачи - решают, и успешно. Только методы надо использовать СПЕЦИАЛЬНЫЕ.
3. По поводу машинного нуля - эпсилона - он для конкретной машины фиксирован. Подумайте, как его определить (в какую отрицательную степень надо возвести 10 (мы же в 10-ой с.сч. работаем), чтобы на ЭВМ это число обратилось в 0).
4. Задачка на понимание: чем численно решать систему из N линейных уравнений и почему? N>10^3  

Это сообщение отредактировал(а) popovda - 16.6.2006, 16:10


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
esperant0
Дата 16.6.2006, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(popovda @ 14.6.2006,  19:46)
Хотя бы в том, что на эвм одно и то же вещественное число представимо в 3-х видах:
a = 1 - точное значение
Приближенное вещественное число на ЭВМ
x = 0.(9) ; 1.00000000....0; 1.00000000.......1 
 

Но ведь и в математике 

1=0.(9)

Поэтому, ваше утверждение "хотя бы ....."

мне не понятно.


2) У меня такой вопрос, корректна ли программа выдающая правильные точечные значения производной, но не выполняющяя стремление к нолю предела ошибки.

Цель программы вычислять точечные значения производной. 


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
maxim1000
Дата 16.6.2006, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



я уже давно заметил: большинство споров происходит из-за непоняток в терминологии
дело в том, что термин "некорректный" используется не только для охарактеризования каких-либо утверждений/определений
есть также понятие корректности задачи математичкской физики
например, http://a-server.math.nsc.ru/IPP/BASE_DEF/ukz.htm (первая попавшаяся ссылка из google'а)

так что, как операция, численная производная определена корректно, но само её вычисление представляет собой некорректную задачу (в смысле мат.физики) 

Это сообщение отредактировал(а) maxim1000 - 16.6.2006, 20:48


--------------------
qqq
PM WWW   Вверх
popovda
Дата 16.6.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: 1
Всего: 6



Отвечаю esperant0.

Ну это уже подмена терминов!!!
Во-первых, целые числа --- это целые числа! На ЭВМ они вообще представляются строгим порядком битов (в пределах размера типа данных). Т.е. однозначно!!! Это раз. Погрешности у целых чисел не накапливается. Это два.

Не забывайте о том, как хранятся ЦЕЛЫЕ (integer) и ВЕЩЕСТВЕННЫЕ (real или float,double) числа. Если Вы найдете в целом типе данных мантиссу, сообщите мне об этом. Я порадую сотрудников ВЦ.

Во-вторых, я уже писал, что термин "некоректный" не означает "неверный", а означает, что задачи такого типа должны решаться либо определенными методами, либо с осторожностью и обоснованностью (прежде всего математически). Я, вроде бы, проблемы, возникающие при малых h обосновал. Но я НИ В ОДНОМ МЕСТЕ НЕ СКАЗАЛ, ЧТО ТАК ВЫЧИСЛЯТЬ ПРОИЗВОДНЫЕ НЕЛЬЗЯ. Их так вычисляют все. А задавшего вопрос, я предостерег от ошибки, которую часто совершают.Правда конечных разностей можно выписать бесконечно много. 

В-третьих, вычисления на ЭВМ всегда приближенные, прежде всего в силу того, что порядок и мантисса числа ограниченны размером регистра, кроме того советую помнить определение вещественного числа. Поэтому всегда речь идет о заданной точности. Думаю, Вам хватит 10^-5..10^-6. Больше для производной нет смысла в силу сказанного выше. И какой тип данных Вы используете.

Напоследок вопрос: меняется ли сумма при перемене мест слагаемых? Кстати, на предыдущую задачу я ответа не получил.

И еще. Пусть заданны 2 ВЕЩЕСТВЕННЫХ числа:
a и b. Как Вы проверите, одинаковы ли они?  

Отвечаю maxim1000.

Понятие некорректности численного вычисления производной и понятие некорректности задачи МФ. Это все же разные вещи.
По-поводу корректности задачи УМФ, скажу проще, для тех, кто не знаком с функциональным анализом и УМФ.
Задача матфизики корректна, если:
1.  Ее решение существует.
2. Оно единственно.
3. Малому изменению параметра соответствует малое изменение решения.
С первыми 2-мя пунктами как в курсе обыкновенных ДУ.
А вот 3-ий и определяет корректность задачи и, если она некорректна, то методы ее решения, что уже как правило не тривиально.
Цитата

как операция, численная производная определена корректно, но само её вычисление представляет собой некорректную задачу (в смысле мат.физики) 

Все таки в смысле вычислительной математики. Полемика разгорелась из-за подмены термина "некорректный" на "неверный". Тут могу лишь посоветовать в толковый словарь почаще заглядывать. 
Кстати, а не сделать ли нам форум по вычислительной математике? 

Это сообщение отредактировал(а) popovda - 16.6.2006, 21:10


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
maxim1000
Дата 16.6.2006, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(popovda @  16.6.2006,  19:58 Найти цитируемый пост)
Полемика разгорелась из-за подмены термина "некорректный" на "неверный". Тут могу лишь посоветовать в толковый словарь почаще заглядывать.

ну не совсем
"некорректность" также используется по отношению к разным определениям, утверждениям
(ещё с мат. анализа помню доказательства корректности некоторых определений, например)
Цитата(popovda @  16.6.2006,  19:58 Найти цитируемый пост)
Все таки в смысле вычислительной математики

ну тогда это - третье использование слова "некорректный" для обозначения понятия smile
хотя если подходить с таких позиций, то любые вычисления с вещественными числами в компьютере некорректны
впрочем, согласен, что в некоторых случаях обращать на это внимание "более необходимо", чем в других
и вычисление производной - тому пример
Цитата(popovda @  16.6.2006,  19:58 Найти цитируемый пост)
Кстати, а не сделать ли нам форум по вычислительной математике?

эти вопросы можно обсуждать здесь - в наше время все вопросы цифровых вычислений тесно связаны с алгоритмами, в которых эти вычисления производятся
если же таких вопросов будет много, тогда можно будет думать о выделении их в отдельный форум 


--------------------
qqq
PM WWW   Вверх
popovda
Дата 17.6.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: 1
Всего: 6



ОК. Подведем итогиsmile 

1. С производной все-таки разобрались. То есть на вопрос ответили. Так что не будем выходить из рамок темы.

2. С терминалогией тоже. Главное, я прошу не забывать, что численный анализ это научная дисциплина со строгими доказательствами. И, кроме того, с чего начинается любой приличный курс по вычмату? С понятия погрешности и значащих цифр.

3. По поводу форума: действительно, можно посмотреть количество обращений.

4. А задачки мои так и остались без ответов. 


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
esperant0
Дата 17.6.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Сумма от порядка вычислений не должна меняться,но на неудачной моделе ЭВМ, она может меняться в зависимости от различных параметров.


Только мне не понятно, почему вы отвергаете модель ЭВМ увеличивающую размер мантисы(точность) по мере надобности.  

Это сообщение отредактировал(а) esperant0 - 17.6.2006, 14:30


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.