![]() |
|
|
![]()
|
|
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
а можно поподробней? в чем некорректность? Модератор: Эта тема выделена из 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 Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: 1 Всего: 6 |
Хотя бы в том, что на эвм одно и то же вещественное число представимо в 3-х видах:
a = 1 - точное значение Приближенное вещественное число на ЭВМ x = 0.(9) ; 1.00000000....0; 1.00000000.......1 Это во-первых, а во-вторых: при вычислении производных на ЭВМ бывают разные казусы, связанные с неправильной аппроксимацией призводной для конкретной задачи. Ведь все дифференциальные уравнения представляются через конечные разности. А вот будет ли сама аппроксимация устойчивой - это вопрос зачастую нетривиальный. Адресую к "Теории разностных схем" Годунова или Рябенького. -------------------- С уважением, Попов Д.А. |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
спасибо, я учил численный анализ. Только я не понял связи между вашим утверждением и объяснением. Уточните утверждение, и термин некорректная. Вы в своем объяснении ссылаетесь к конкретнй модели ЭВМ, на которую вы не ссылаетесь в утверждении. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: 1 Всего: 6 |
Ну, во-первых, не конкретной модели ЭВМ, а к любой модели. Во-вторых, чтобы не быть голословным, поищу какой-нибудь пример (попроще) в запасниках, иллюстрирующих некорректность производной. Для начала скажу следующее: попробуйте взять численную производную кусочно-гладкой функции и сравните с аналитическим значением.
-------------------- С уважением, Попов Д.А. |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: 1 Всего: 6 |
Итак, даю достаточно подробное математическое доказательство некорректности взятия численной производной. Если Вы изучали вычислительную математику, то вопросов не возникнет. Ответ дан на примере экспоненты, так же показано, как найти оптимальный h для данного типа данных. См. прикрепленный файл
Это сообщение отредактировал(а) popovda - 15.6.2006, 21:23 Присоединённый файл ( Кол-во скачиваний: 8 )
UncorrectDiff.doc 72,50 Kb-------------------- С уважением, Попов Д.А. |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
праивильно ли я вас понял, что вы утверждаете, что в любой модели ЭВМ, эпсилон фиксирован и не адаптируется?
-------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
а в математике любое целое число представимо в двух видах, значит она тоже некорректна? -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
ничего кроме утверждения "вычисления на компьютере проводятся с погрешностью" эти выкладки не доказывают численная производная, как понятие, не имеет никакого отношения к компьютерам, это - просто разность на шаг сетки некорректна она только в случае h=0 а то, что компьютерные вычисления производятся с погрешностью, так это да, никто не спорит, и рекомендации не брать h слишком маленьким полностью справедливы -------------------- qqq |
|||
|
||||
| popovda |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: 1 Всего: 6 |
Отвечаю на вопрос по данной полемике. Мне довелось быть дипломником д.ф.-м.н., профессора из ВЦ РАН, который на вычислительной математике собаку съел. И слушать его спецкурсы. Этот человек меня научил очень многому и в своих знаниях я уверен. Поэтому:
1.
2.
"Теория без практики мертва, а практика без теории слепа." Если аналитическое и численное значения производной не совпадают, то это и есть некорректность операции дифференцирования на ЭВМ. То есть требуются дополнительные ограничения и подходы. Как раз этот пример и иллюстрирует, во-первых, к каким последствиям может привести незнание (точнее, непонимание) вычислительных погрешностей, во-вторых, не цепляйтесь к термину "некорректная" - это не означает, что такой подход не применим, нужны методы. В данном случае простые. Но ведь некорректные задачи математической физики - сложные задачи - решают, и успешно. Только методы надо использовать СПЕЦИАЛЬНЫЕ. 3. По поводу машинного нуля - эпсилона - он для конкретной машины фиксирован. Подумайте, как его определить (в какую отрицательную степень надо возвести 10 (мы же в 10-ой с.сч. работаем), чтобы на ЭВМ это число обратилось в 0). 4. Задачка на понимание: чем численно решать систему из N линейных уравнений и почему? N>10^3 Это сообщение отредактировал(а) popovda - 16.6.2006, 16:10 -------------------- С уважением, Попов Д.А. |
||||
|
|||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Но ведь и в математике 1=0.(9) Поэтому, ваше утверждение "хотя бы ....." мне не понятно. 2) У меня такой вопрос, корректна ли программа выдающая правильные точечные значения производной, но не выполняющяя стремление к нолю предела ошибки. Цель программы вычислять точечные значения производной. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 -------------------- С уважением, Попов Д.А. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
ну не совсем "некорректность" также используется по отношению к разным определениям, утверждениям (ещё с мат. анализа помню доказательства корректности некоторых определений, например) ну тогда это - третье использование слова "некорректный" для обозначения понятия хотя если подходить с таких позиций, то любые вычисления с вещественными числами в компьютере некорректны впрочем, согласен, что в некоторых случаях обращать на это внимание "более необходимо", чем в других и вычисление производной - тому пример эти вопросы можно обсуждать здесь - в наше время все вопросы цифровых вычислений тесно связаны с алгоритмами, в которых эти вычисления производятся если же таких вопросов будет много, тогда можно будет думать о выделении их в отдельный форум -------------------- qqq |
|||
|
||||
| popovda |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: 1 Всего: 6 |
ОК. Подведем итоги
1. С производной все-таки разобрались. То есть на вопрос ответили. Так что не будем выходить из рамок темы. 2. С терминалогией тоже. Главное, я прошу не забывать, что численный анализ это научная дисциплина со строгими доказательствами. И, кроме того, с чего начинается любой приличный курс по вычмату? С понятия погрешности и значащих цифр. 3. По поводу форума: действительно, можно посмотреть количество обращений. 4. А задачки мои так и остались без ответов. -------------------- С уважением, Попов Д.А. |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Сумма от порядка вычислений не должна меняться,но на неудачной моделе ЭВМ, она может меняться в зависимости от различных параметров.
Только мне не понятно, почему вы отвергаете модель ЭВМ увеличивающую размер мантисы(точность) по мере надобности. Это сообщение отредактировал(а) esperant0 - 17.6.2006, 14:30 -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |