3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

複素数平面における円束についての大学入試数学

Posted at

はじめに

ある2点を通る円の方程式を求めるのは難しい。分かりやすい解法としては、円の方程式に2点の座標を代入して連立させる方法である。しかし、もっと良い方法がある。それを今回は紹介すると同時に、複素数平面上で以下のような円束を描写することを目的とする。

円束_複素数.png

ただし、上記の円束の題材は以下の京大の数学入試問題である。

したがって、今回の記事の内容が理解できれば、題材となる証明問題もスムーズに解くことができる。

2点を通る方程式

円や直線に限らず、2つの陰関数で表現できる図形$f(x,y)=0,g(x,y)=0$が存在するとき、以下のことが成立するとする。

f(x_1,y_1)=g(x_1,y_1)=0

つまり2つの曲線は定点$(x_1,y_1)$を通るとすると、

実数$k$を用いて、以下の事が成立する。

f(x_1,y_1)+kg(x_1,y_1)=0

つまり、陰関数

f(x,y)+kg(x,y)=0

は、2つの曲線の交点を通る曲線となる。

プログラム

そこで、$\gamma=x+jy$とした複素数平面上において以下の2つの曲線の交点を通る曲線を考える。

|\gamma|^2-1=0,\frac{\gamma-\bar{\gamma}}{2j}=0

とすると、2つの陰関数の交点をとおる陰関数は以下のように表すことができる。

(|\gamma|^2-1)+k \frac{\gamma-\bar{\gamma}}{2j}=0

したがって、

k=-\frac{2j(|\gamma|^2-1)}{\gamma-\bar{\gamma}}

コード

さて、上記の考えをもとにして、以下のようなPythonのプログラムを考える。

python. circle_com.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math

n=200
L=3.0
x = np.linspace(-L, L, n)
y = np.linspace(-L, L, n)
X, Y = np.meshgrid(x, y)
Z = np.zeros((n, n))



for i in range(n):
  for p in range(n):
    gamma=X[i][p]+1j*Y[i][p]
    Z[i][p]=np.log((abs(-2j*(abs(gamma)**2-1)/(gamma-gamma.conjugate()))))

plt.contourf(X, Y, Z, cmap='jet')
plt.colorbar()
plt.savefig("円束_複素数.png")
plt.show()

円束_複素数.png

このように、上手く円束を描写することができているということが分かる。

まとめ

今回は、複素数平面上における円束の描写をPythonを用いて表現してみた。具体的には、実数$k$を用いることで2つの曲線(円と直線)に共通な点を通る円の描写を行うことができた。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?