Машинная арифметика в рациональных чисел. Лекция №4. Часть 1

Содержание

Слайд 2

8080, 8 разр, 2 МГц 8086, 16 разр, 4-10 МГц Pentium,

8080, 8 разр, 2 МГц

8086, 16 разр, 4-10 МГц

Pentium, 32 разр,

60-233 МГц

Рост разрядности и тактовой частоты процессоров по годам

Гипотеза: Технологические трудности создания процессоров высокой разрядности

Слайд 3

Вычитание близких друг другу по величине чисел

Вычитание близких друг другу по величине чисел

Слайд 4

Аппроксимация производной

Аппроксимация производной

Слайд 5

Вычитание близких друг другу по величине чисел int n = 1;

Вычитание близких друг другу по величине чисел

int n = 1;

double x = 1.0, h = 1.0;
double deriv = Math.Cos(x), diffquo, error;
Console.WriteLine(deriv);
while(n <= 20) {
h = h / 10;
diffquo = (Math.Sin(x + h) - Math.Sin(x)) / h; /* производная */
error = Math.Abs(deriv - diffquo);
//Console.WriteLine("h={0},diff={1}, error={2}",h, diffquo, error);
Console.WriteLine(error);
n++;
}
Слайд 6

Вычитание близких друг другу по величине чисел x = 1.0, h

Вычитание близких друг другу по величине чисел

x = 1.0, h =

1.0

Использование слишком большого h дает большую ошибку дискретизации, для малых h потерю точности. Для функции f (x) = sin (х) при x = 1,
лучший выбор h составляет примерно 10 ~ 8, приблизительно квадратный корень машинного эпсилона.

Слайд 7

Вычитание близких друг другу по величине чисел

Вычитание близких друг другу по величине чисел

Слайд 8

Аппроксимация производной Для больших значений h ошибка уменьшается примерно в 10

Аппроксимация производной

Для больших значений h ошибка уменьшается примерно в 10 раз

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

Ошибка дискретизации O (h)

Слайд 9

Аппроксимация производной

Аппроксимация производной

Слайд 10

Обусловленность вычислительных задач

Обусловленность вычислительных задач

Слайд 11

Обусловленность вычислительных задач

Обусловленность вычислительных задач

Слайд 12

Обусловленность вычислительных задач Величина kf (x) называется числом обусловленности f в

Обусловленность вычислительных задач

Величина kf (x) называется числом обусловленности f в точке

x. Она измеряет приблизительно насколько увеличивается относительная ошибка округления в x при вычислении f(x).
Слайд 13

Обусловленность вычислительных задач Полезное эмпирическое правило. Чтобы оценить количество цифр, с

Обусловленность вычислительных задач

Полезное эмпирическое правило.
Чтобы оценить количество цифр, с которым согласуется

y^ = f (x^) с y = f (x)
требуется вычесть: log10(kf(x))
от приблизительного количества цифр, с которым x = round (x) совпадает с x, т. е.7 при использовании одинарной точности IEEE или 16 при использовании двойной точности IEEE. Предполагается, что f дважды непрерывно дифференцируема и что x и f (x) находятся в нормализованном диапазоне системы с плавающей точкой.

Поскольку оценка числа обусловленности f в x требует сначала оценки производная f '(x), число обусловленности не помогает нам решить нашу исходную проблема вычисления f(x). Оценка числа условия
сложнее, чем оценка функции, однако дает нам
понимание трудностей, которые могут возникнуть, когда мы оцениваем f при определенных значениях x.

Слайд 14

Пример обусловленности Упражнение Определить число обусловленности функции g(x) = x/10, h(x)

Пример обусловленности

Упражнение
Определить число обусловленности функции
g(x) = x/10, h(x) = x

- 10
и обсудить для каких x, если таковые имеются, kg (x) или kh (x) велики.
Слайд 15

Плохо обусловленная система x = 331.7; y = 5.000 x = 298.6; y = 4.5

Плохо обусловленная система

x = 331.7; y = 5.000

x = 298.6; y

= 4.5
Слайд 16

Плохо обусловленная система x y 0

Плохо обусловленная система

x

y

0

Слайд 17

Обусловленность

Обусловленность

Слайд 18

Упражнения Упражнение 1 Упражнение 2

Упражнения

Упражнение 1

Упражнение 2

Слайд 19

Обусловленность Задача считается хорошо обусловленной, если небольшие погрешности операндов приводят к

Обусловленность

Задача считается хорошо обусловленной, если небольшие погрешности операндов приводят к небольшим

изменением результатов и наоборот плохо обусловленной, если малые изменения исходных данных вызывает резкие изменения результатов. Оценка обусловленности задачи иногда в литературе называют анализом чувствительности.
Обратный анализ ошибок округления имеет отношение и применяется к алгоритму решения задачи, а анализ чувствительности к самой задаче.
Алгоритм решения вычислительной задачи обратно устойчив, если результат является точным решением слабо возмущенной задачи, т.е. обратно устойчивый алгоритм способен достаточно точно решать хорошо обусловленные задачи.
Слайд 20

Полусумматор

Полусумматор

Слайд 21

Сумматор со сквозным переносом S = A+B+p p S +11111 11111 _______

Сумматор со сквозным переносом

S = A+B+p

p

S

+11111
11111
_______