Изменения

Перейти к: навигация, поиск

Представление чисел с плавающей точкой

725 байт добавлено, 09:15, 16 декабря 2011
Погрешность предиката "левый поворот"
== Погрешность предиката "левый поворот" ==
{{Утверждение
|statement=
Пусть <tex> D </tex> - множество всех чисел с плавающей точкой с операциями <tex> \oplus, \ominus, \otimes. \forall a, b \in D: </tex>
* <tex> a \oplus b = (a + b) (1 + \delta), |\delta| \leq
\varepsilon_m </tex>,
* <tex> a \ominus b = (a - b) (1 + \delta), |\delta| \leq \varepsilon_m </tex>,
* <tex> a \otimes b = ab (1 + \delta), |\delta| \leq \varepsilon_m </tex>.
}}
 
{{Утверждение
|statement=
<tex> \forall a, b, c \in D^2, \tilde{v} = (b_x - a_x) \times (c_y - a_y) - (b_y - a_y) \times (c_x - a_x) </tex>
<tex> \exists \tilde{\epsilon} \in D: </tex>
# <tex> \tilde{v} > \tilde{\epsilon} \Rightarrow (b - a) \times (c - a) > 0 </tex>
# <tex> \tilde{v} < -\tilde{\epsilon} \Rightarrow (b - a) \times (c - a) < 0 </tex>
}}
 
=== Постановка задачи ===
Найти <tex> \varepsilon(a, b, c) = \varepsilon: |(b \ominus a) \otimes (c \ominus a)| > \varepsilon \Rightarrow a, b, c </tex> не лежат на одной прямой.
<tex> \epsilon \leq \tilde{\epsilon} \leq \tilde{\epsilon} (1 + 4 \varepsilon_m + 10 \varepsilon_m^2 + 20 \varepsilon_m^3 + \cdots) (4 \varepsilon_m + 6 \varepsilon_m^2 + 4 \varepsilon_m^3 + \varepsilon_m^4) </tex>
 
<tex> \tilde{\epsilon} < 8 \varepsilon_m \tilde{\epsilon} </tex>
=== Ответ ===
<tex dpi="180"> \varepsilon(a, b, c) = 2 tilde{\epsilon} < 8 \varepsilon_m (|b_x - a_x||c_y - a_y| + |b_y - a_y||c_x - a_x|) \tilde{\epsilon} </tex>
== Ссылки ==
Анонимный участник

Навигация