はじめに
30年前の1991年の京都大学の理系の後期試験の問題です。
空間に原点を始点とする長さ1のベクトルa,b,cがある。aとbのなす角をγ,bとcのなす角をα,cとaのなす角をβとするとき,次の関係が成り立つことを示。また,ここで等号が成立するのはどんな場合か。
0≦cos2α+cos2β+cos2γ−2cosαcosβcosγ≦1
この問題を証明していきます。
証明
★=cos2α+cos2β+cos2γ−2cosαcosβcosγとする。
証明前半
★=(cosα−cosβcosγ)2−cos2βcos2γ+cos2β+cos2γ=(cosα−cosβcosγ)2+cos2β(1−cos2γ)+cos2γ=(cosα−cosβcosγ)2+cos2βsin2γ+cos2γ≧0
∴cos2α+cos2β+cos2γ−2cosαcosβcosγ≧0
等号は
cosα=cosβcosγ∧cosβsinγ=0∧cosγ=0
すなわち,
α=β=γ=2π
のときに限り成立します。
証明後半
1−★=1−(cosα−cosβcosγ)2−cos2βsin2γ−cos2γ=sin2γ−(cosα−cosβcosγ)2−cos2βsin2γ=sin2βsin2γ−(cosα−cosβcosγ)2=(sinβsinγ+cosα−cosβcosγ)(sinβsinγ−cosα+cosβcosγ)=(cosα−cos(β+γ))(cos(β−γ)−cosα)=(−2sin2α+β+γsin2α−β−γ)(−2sin2β−γ+αsin2β−γ−α)=4sin2α+β+γsin2−α+β+γsin2α−β+γsin2α+β−γ=♡
ここで,α,β,γについて条件を考えます。
3つのベクトルのなす角の条件
まず,ベクトルのなす角なので,
0≦α≦π,0≦β≦π,0≦γ≦π⋯(1)
展開図を考えると,
α+β+γ≦2π⋯(2)
α≦β+γ,β≦γ+α,γ≦α+β⋯(3)
(1),(2)より,
0≦2α+β+γ≦π⋯(4)
∴sin2α+β+γ≧0
(3),(4)より,
0≦2−α+β+γ=2α+β+γ−α≦π−α
∴sin2−α+β+γ≧0
同様に
0≦2α−β+γ=2α+β+γ−β≦π−β
∴sin2α−β+γ≧0
0≦2α+β−γ=2α+β+γ−γ≦π−γ
∴sin2α+β−γ≧0
以上より,♡≧0となります。
等号は
α=β=γ=0∨α+β+γ=2π∨−α+β+γ=0∨α−β+γ=0∨α+β−γ=0
のときに限り成立します。(これらは3つのベクトルが1次独立ではない,すなわち,3つのベクトルが同一平面上にあるときといえます。)
考察
3つのベクトルのなす角の条件は(2),(3)の
α+β+γ≦2π,α≦β+γ,β≦γ+α,γ≦α+β
を満たせばよい事がわかりました。この連立不等式は正四面体の内部(境界を含む)を表します。
本当にこれでよいのか,証明方法もちょっと不明だったので,次のように調べることにしました。
Juliaを使って点をプロット
空間内の3つのベクトルをランダムに作り,なす角(α,β,γ)を空間にプロットして,どのような範囲に存在するかを見てみます。正四面体の内部を充填するように配置されれば予想は正しいと考えられます。
plotlyjs()
を用いて空間にプロットすると,グリグリ動かす事ができます。
まずはパッケージを
関数を作成
214個の点をプロットしてみる。

結論
バッチリです!
Discussion