はじめに
高校数学の数学2の領域の問題は、一般的に難しく奥が深い傾向がある。というのは、時には三角関数や相加・相乗平均、微積分といった総合力が試され、必要条件や十分条件といった論理の理解も必要だからである。そこで、今回の記事は、円の方程式を用いた不等式の問題を考え、Pythonを用いて感覚的に不等式の理解をすることを目的とする。
問題
$x,y$を実数とするとき、以下の命題を証明せよ。
(図を用いずに考えるとどうなるか??)
x^2+y^2<1 \Rightarrow x+y<\sqrt{2}
参照元は以下の通りである。
図を用いれば、線計画法や三角関数を用いた解法などが考えられると思うが今回は、不等式の式変形で証明していこうと思う。
まず、題意より
0\le x^2+y^2=(x+y)^2-2xy<1
が成立する。$x,y$は実数なので$(x+y)^2>0$より、
-\frac{1}{2}<xy<\frac{(x+y)^2}{2}
となる。これを満たす$x,y$は以下の3パターンしか存在しない。
(1)$x,y$のいずれかが正でいずれかが負である場合
ここでは、対称性より$x>0,y<0$の場合のみを考える。
-\frac{1}{2}<xy<0
が成立するので、
0\le x^2+y^2=(x+y)^2-2xy<1
から、
(x+y)^2<1+2xy<1
したがって、
-1<x+y<1
(2)x=0もしくはy=0のとき
x=0のときを考える。
x^2+y^2<1
なので、$-1<y<1$が成立する。
したがって、
-1<x+y<1
(3)$x,y>0$のとき
0<y<\sqrt{1-x^2}(0<x<1)
は必然的に成立する。
したがって、$0<x<1$が成立しているという条件のもとで、
0<x+y<x+\sqrt{1-x^2}(0<x<1)
が成立する。つまり、$k=x+\sqrt{1-x^2}$という正の実数$k$の最大値を求めれば$x+y$を上から不等式ではさみ込むことができる。
k-x=\sqrt{1-x^2}
より、両辺を2乗して整理すると、
f(x)=2x^2-2kx+(k^2-1)=0
となる。この$x$に対する二次方程式が$0<x<1$の範囲で解を持てば良い。
この場合、(a)(b)2つのパターンが考えられる。
(a)0<x<1の中に2つの解(重解を含む)が存在する
(b)0<x<1の中に1つの解が存在する
(a)についてまずは考える、
上式の二次方程式の判別式$D$は以下のように表すことができる。
D/4=-k^2+2 \ge 0
ゆえに、
-\sqrt{2}\le k\le \sqrt{2}
また、$f(0)=k^2-1,f(1)=(k-1)^2\ge 0$であるので、
中間値の定理より$f(0)=k^2-1\ge 0$と二次関数の軸の条件$0<\frac{k}{2}<1$を満たす必要性がある。
したがって、$1<k<\sqrt{2}$が条件を満たす領域である。
(2)について$f(0)\le 0$と$k>0より$0<k<1$となる。
したがって(1)(2)をまとめると、$0<k<\sqrt{2}$となる。
ゆえに、$x+y<\sqrt{2}$であることが分かる。
プログラム
そこで、このことを確かめるために、以下のようなプログラムを作成した。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import japanize_matplotlib
import math
r=np.linspace(0,1,100)
theta=np.linspace(0,2*np.pi,100)
r,theta=np.meshgrid(r,theta)
x=r*np.cos(theta)
y=r*np.sin(theta)
# plt.contourf(x,y,r,cmap='jet')
# plt.colorbar()
# plt.show()
z=x+y
plt.xlabel("x")
plt.ylabel("y")
plt.contourf(x,y,z,cmap='jet')
plt.colorbar(label="z=x+y")
plt.title("領域の不等式")
plt.savefig("領域の不等式.png")
plt.show()
これを実行すると以下のようなグラフが出力される。
まとめ
今回は、数学2の領域と不等式の問題を解いた。この分野は論理性や微積分など自分の持っている知識をフルに活かせば様々な別解が無数に存在する面白い分野である。