Участник:System29a/Вычисление погрешностей — различия между версиями
System29a (обсуждение | вклад) |
Rybak (обсуждение | вклад) м (надо различать epsilon и varepsilon) |
||
Строка 7: | Строка 7: | ||
Проблема — операции связанные с числами с плавающей точкой нифига не точны. Мы хотим оценить сверху эту самую неточность. В данном случае речь идёт об оценке знака векторного произведения. | Проблема — операции связанные с числами с плавающей точкой нифига не точны. Мы хотим оценить сверху эту самую неточность. В данном случае речь идёт об оценке знака векторного произведения. | ||
− | 19 слайд презенташки — тут даны определения операций с соответствующими погрешностями, которые собственно делает компьютер . <tex>\delta</tex> — погрешность конкретной операции, она различная для каждой операции, но мы её можем оценить как <tex>|\delta| \le \ | + | 19 слайд презенташки — тут даны определения операций с соответствующими погрешностями, которые собственно делает компьютер . <tex>\delta</tex> — погрешность конкретной операции, она различная для каждой операции, но мы её можем оценить как <tex>|\delta| \le \varepsilon</tex>. |
Смотрим следующее утверждение. Тут задается операция векторного произведения для трех точек, как она рассчитывается в компьютере. Мы же хотим оценить эталонные вычисления (операции будут не в кружочках). | Смотрим следующее утверждение. Тут задается операция векторного произведения для трех точек, как она рассчитывается в компьютере. Мы же хотим оценить эталонные вычисления (операции будут не в кружочках). |
Текущая версия на 01:02, 28 января 2012
Короче, смотрите, всё не так сложно как кажется.
Первый и главный совет — почитайте презенташку Антона и посмотрите видео! Очень жаль, что лекториум именно в этот момент переезжает.
Ну дык вот.
Проблема — операции связанные с числами с плавающей точкой нифига не точны. Мы хотим оценить сверху эту самую неточность. В данном случае речь идёт об оценке знака векторного произведения.
19 слайд презенташки — тут даны определения операций с соответствующими погрешностями, которые собственно делает компьютер .
— погрешность конкретной операции, она различная для каждой операции, но мы её можем оценить как .Смотрим следующее утверждение. Тут задается операция векторного произведения для трех точек, как она рассчитывается в компьютере. Мы же хотим оценить эталонные вычисления (операции будут не в кружочках).
Для начала выделим достаточное условие. Мы утверждаем, что если TODO: запилите рисунок, где есть 0, ось X, и на ней описанный шар!
, то этого достаточно для того, чтобы у и был одинаковый знак. Проверяется это непосредственно, эта штука должна быть эквивалентна тому утверждению, что одномерный шар радиуса с центром в точке не пересекался с нулём. Нарисуйте картинку и всё осознаете.Окей, у нас есть подобное условие. теперь раскроем
по нашим определениям. Следующим шагом будет раскрытие знаков в кружочке (смотрите 23 слайд).Следующий переход (на том же 23 слайде) скорей всего вам не понятен. Поясню, выражение
перегруппировали таким образом, чтобы с помощью правил и мы смогли оценить сверху именно таким образом, каким он там оценён.Заметим, что выражение, обозванное в презенташке как
, вычисляется в операциях не компьютерных, а абсолютных. Это плохо, мы не умеем вычислять абсолютно :) Следующий шаг — оцениваем это выражение сверху в модели floating-point(кружочки!). Собственно, там куча промежуточных вычислений, которые я не могу пока привести. И в итоге (смотрите презентацию!) мы получим оценку погрешности вычисления нашей штуки.
TODO: пилить эту штуку до удобоваримого состояния.