Найдите и обоснуйте наилучший способ упростить выражение sqrt(a^2 + b^2 + 2ab cos(theta)) в задачах геометрии, включая случаи, когда theta близко к pi или 0
Коротко: это длина суммы двух векторов (закон косинусов). Лучшие упрощения, приближения и приёмы численной устойчивости: 1) Геометрическая интерпретация (закон косинусов, длина суммы): d=a2+b2+2abcosθ
d=\sqrt{a^2+b^2+2ab\cos\theta} d=a2+b2+2abcosθ
— это длина вектора u+vu+vu+v, если ∣u∣=a, ∣v∣=b|u|=a,\ |v|=b∣u∣=a,∣v∣=b и угол между ними θ\thetaθ. 2) Полезные алгебраические представления (выбирать в зависимости от θ\thetaθ): d=(a+b)2−2ab(1−cosθ)иd=(a−b)2+2ab(1+cosθ).
d=\sqrt{(a+b)^2-2ab(1-\cos\theta)} \qquad\text{и}\qquad d=\sqrt{(a-b)^2+2ab(1+\cos\theta)}. d=(a+b)2−2ab(1−cosθ)иd=(a−b)2+2ab(1+cosθ).
Первое удобно при θ≈0\theta\approx 0θ≈0 (малое вычитание из (a+b)2(a+b)^2(a+b)2), второе — при θ≈π\theta\approx\piθ≈π (малое добавление к (a−b)2(a-b)^2(a−b)2). 3) Малые отклонения (разложения): - Для θ\thetaθ малого (cosθ≈1−θ2/2\cos\theta\approx1-\theta^2/2cosθ≈1−θ2/2, ε=abθ2\varepsilon=ab\theta^2ε=abθ2): d=(a+b)2−ε≈(a+b)−ε2(a+b)=(a+b)−ab θ22(a+b)+O(θ4).
d=\sqrt{(a+b)^2-\varepsilon}\approx (a+b)-\frac{\varepsilon}{2(a+b)}=(a+b)-\frac{ab\,\theta^2}{2(a+b)}+O(\theta^4). d=(a+b)2−ε≈(a+b)−2(a+b)ε=(a+b)−2(a+b)abθ2+O(θ4).
- Для θ=π−φ\theta=\pi-\varphiθ=π−φ с малым φ\varphiφ (cosθ≈−1+φ2/2\cos\theta\approx-1+\varphi^2/2cosθ≈−1+φ2/2): d≈∣a−b∣+ab φ22∣a−b∣+O(φ4).
d\approx |a-b|+\frac{ab\,\varphi^2}{2|a-b|}+O(\varphi^4). d≈∣a−b∣+2∣a−b∣abφ2+O(φ4). 4) Численная устойчивость (рекомендации): - Вычислять как длину вектора через hypot, это обычно наиболее устойчиво: d=hypot(a+bcosθ, bsinθ)=(a+bcosθ)2+(bsinθ)2.
d=\operatorname{hypot}\bigl(a+b\cos\theta,\; b\sin\theta\bigr)=\sqrt{(a+b\cos\theta)^2+(b\sin\theta)^2}. d=hypot(a+bcosθ,bsinθ)=(a+bcosθ)2+(bsinθ)2.
- При желании точно вычислить малую разность s−ds-ds−d (где s=a+bs=a+bs=a+b и d=s2−εd=\sqrt{s^2-\varepsilon}d=s2−ε) пользуйтесь формулой s−d=εs+d,
s-d=\frac{\varepsilon}{s+d}, s−d=s+dε,
чтобы избежать потери значащих цифр (аналогично при θ≈π\theta\approx\piθ≈π с s′=∣a−b∣s'=|a-b|s′=∣a−b∣ и ε′=2ab(1+cosθ)\varepsilon'=2ab(1+\cos\theta)ε′=2ab(1+cosθ)). Вывод: в геометрии используйте закон косинусов/интерпретацию как длину суммы векторов; для аналитических приближений — разложения при малых θ\thetaθ или при θ\thetaθ около π\piπ; для численных вычислений — формулы с (a±b)2(a\pm b)^2(a±b)2 в правильной форме и реализацию через hypot\operatorname{hypot}hypot или приведённую формулу для избежания вычитания близких величин.
1) Геометрическая интерпретация (закон косинусов, длина суммы):
d=a2+b2+2abcosθ d=\sqrt{a^2+b^2+2ab\cos\theta}
d=a2+b2+2abcosθ — это длина вектора u+vu+vu+v, если ∣u∣=a, ∣v∣=b|u|=a,\ |v|=b∣u∣=a, ∣v∣=b и угол между ними θ\thetaθ.
2) Полезные алгебраические представления (выбирать в зависимости от θ\thetaθ):
d=(a+b)2−2ab(1−cosθ)иd=(a−b)2+2ab(1+cosθ). d=\sqrt{(a+b)^2-2ab(1-\cos\theta)}
\qquad\text{и}\qquad
d=\sqrt{(a-b)^2+2ab(1+\cos\theta)}.
d=(a+b)2−2ab(1−cosθ) иd=(a−b)2+2ab(1+cosθ) . Первое удобно при θ≈0\theta\approx 0θ≈0 (малое вычитание из (a+b)2(a+b)^2(a+b)2), второе — при θ≈π\theta\approx\piθ≈π (малое добавление к (a−b)2(a-b)^2(a−b)2).
3) Малые отклонения (разложения):
- Для θ\thetaθ малого (cosθ≈1−θ2/2\cos\theta\approx1-\theta^2/2cosθ≈1−θ2/2, ε=abθ2\varepsilon=ab\theta^2ε=abθ2):
d=(a+b)2−ε≈(a+b)−ε2(a+b)=(a+b)−ab θ22(a+b)+O(θ4). d=\sqrt{(a+b)^2-\varepsilon}\approx (a+b)-\frac{\varepsilon}{2(a+b)}=(a+b)-\frac{ab\,\theta^2}{2(a+b)}+O(\theta^4).
d=(a+b)2−ε ≈(a+b)−2(a+b)ε =(a+b)−2(a+b)abθ2 +O(θ4). - Для θ=π−φ\theta=\pi-\varphiθ=π−φ с малым φ\varphiφ (cosθ≈−1+φ2/2\cos\theta\approx-1+\varphi^2/2cosθ≈−1+φ2/2):
d≈∣a−b∣+ab φ22∣a−b∣+O(φ4). d\approx |a-b|+\frac{ab\,\varphi^2}{2|a-b|}+O(\varphi^4).
d≈∣a−b∣+2∣a−b∣abφ2 +O(φ4).
4) Численная устойчивость (рекомендации):
- Вычислять как длину вектора через hypot, это обычно наиболее устойчиво:
d=hypot(a+bcosθ, bsinθ)=(a+bcosθ)2+(bsinθ)2. d=\operatorname{hypot}\bigl(a+b\cos\theta,\; b\sin\theta\bigr)=\sqrt{(a+b\cos\theta)^2+(b\sin\theta)^2}.
d=hypot(a+bcosθ,bsinθ)=(a+bcosθ)2+(bsinθ)2 . - При желании точно вычислить малую разность s−ds-ds−d (где s=a+bs=a+bs=a+b и d=s2−εd=\sqrt{s^2-\varepsilon}d=s2−ε ) пользуйтесь формулой
s−d=εs+d, s-d=\frac{\varepsilon}{s+d},
s−d=s+dε , чтобы избежать потери значащих цифр (аналогично при θ≈π\theta\approx\piθ≈π с s′=∣a−b∣s'=|a-b|s′=∣a−b∣ и ε′=2ab(1+cosθ)\varepsilon'=2ab(1+\cos\theta)ε′=2ab(1+cosθ)).
Вывод: в геометрии используйте закон косинусов/интерпретацию как длину суммы векторов; для аналитических приближений — разложения при малых θ\thetaθ или при θ\thetaθ около π\piπ; для численных вычислений — формулы с (a±b)2(a\pm b)^2(a±b)2 в правильной форме и реализацию через hypot\operatorname{hypot}hypot или приведённую формулу для избежания вычитания близких величин.