Что означает нахождение пределов усеченного значения?

#math #truncation #approximate

#математика #усечение #приблизительный

Вопрос:

X_hat является приближением X. Оно задается X_t , усечением X с использованием t бит.

Найдите пределы X_t / X.

X_hat и X_t представлены в двоичном формате с плавающей запятой. Из моего понимания:

 If t = 3 and X_hat = 1, X_t = 1.01
 

1/1 = 1 — это верхний предел? Как насчет нижнего предела?

Ответ №1:

Следующее предполагает, что вопрос касается значащих битов (для примера в десятичном 3141592 формате будет усечено до 3 значащих цифр 3140000 , а усечено до 5 значащих цифр 3141500 ). Поскольку вопрос касается относительной ошибки, не имеет значения, есть ли или где десятичная точка, поэтому можно предположить без потери общности, что числа являются целыми числами.

Если X = 0 тогда X̂ = X = 0 и X̂ / X не определено.

В противном случае, если 0 < X < 2^(t-1) then X имеет не более t-1 значащих битов, а усечение остается X неизменным, поэтому X̂ = X и X̂ / X = 1 .

В противном случае if X >= 2^(t-1) then X может быть записан как X = 2^n q r where n >= 0 , 2^(t-1) <= q < 2^t и 0 <= r < 2^n . Крайние левые t биты X равны q , поэтому усечение X до t значащих битов равно X̂ = 2^n q .

Затем X̂ / X = 2^n q / (2^n q r) = 1 - 1 / (1 r / (2^n q)) . Выражение уменьшается r и увеличивается q , что в сочетании с r < 2^n и q >= 2^(t-1) дает нижнюю границу:

 X̂ / X  >  2^(n t-1) / (2^(n t-1)   2^n)
       =  1 - 1 / (1   2^(t-1))
 

Для фиксированного n > 0 точная нижняя граница, полученная из r <= 2^n - 1 и q >= 2^(t-1) , равна:

 X̂ / X  >=  2^(n t-1) / (2^(n t-1)   2^n - 1)
        =  1 - (2^n - 1) / (2^(n t-1)   2^n - 1)
        =  1 - 1 / (1   2^(n t-1) / (2^n - 1))
        =  1 - 1 / (1   2^(t-1) / (1 - 1 / 2^n))
 

Эта нижняя граница достигается для X = 2^(n t-1) 2^n - 1 соответствующего X̂ = 2^(n t-1) . В пределе n → ∞ оно сводится к нижней границе, независимой от n полученной на предыдущем шаге.