| 약수의 합에 따른 자연수의 분류 Classification of numbers by their divisor sums | ||||
| {{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin:-5px -1px -11px; word-break: keep-all" | <colbgcolor=#c1a470><colcolor=#fff> 자기 자신과의 비교 | 과잉수 | 완전수 | 부족수 |
| 일부의 합 사슬 | <colbgcolor=#000> 주기 1 | <colbgcolor=#fff,#1c1d1f> 주기 2 | <colbgcolor=#ddd,#333> 주기 3 이상 | |
| 진약수의 합 | 완전수 | 친화수 | 사교수 | |
| 비자명 진약수의 합 | 준완전수 | 혼약수 | 준사교수 | |
| 기타 | 반완전수 | 괴짜수 | 불가촉 수 | |
| 친구수 | 초완전수 | 태완전수 | }}}}}}}}} | |
1. 개요
1.1. 함수의 이름 표기
이 함수의 이름은 고대 그리스 문자에서 특수한 경우에만 사용되던 Digamma를 사용하였다.[1]1.2. 이용
수학적으로 쓰일 일은 없는 함수이지만, 완전수와 관련된 난제들, 즉 "홀수 완전수는 존재하는가?" 와 같은 문제들과 같은 흐름을 가지고 있는 함수이다. 하지만(함수는 다음과 같이 표기한다:
[math(Ϝ(x) = \displaystyle\sum_{d|x}^{}\dfrac 1d = 2x-1)]
대충 무슨 뜻이냐면 :
[math(x)]의 약수의 역수의 합이 [math(2x-1)]가 된다.
그리고 그 내용을 나는 [math(Ϝ(x))]에 담겠다.
정도가 되겠다.그리고 그 내용을 나는 [math(Ϝ(x))]에 담겠다.
문제 형식으로 하자면 다음과 같다:
1. 다음 함수 [math(Ϝ(x))]를 만족하는 [math(x)]의 값은?
<보기>
함수 [math(Ϝ(x))]는 다음과 같이 정의한다 : [math(Ϝ(x) = \displaystyle\sum_{d|x}^{}\dfrac 1d = 2x-1)]
예시로 한번 숫자를 찾아보겠다.
일단 완전수인 6[2]을 예시로 하자면:
1, 2, 3, 6을 역수로 표현하였을 때 각각
[math(\dfrac 11, \dfrac 12, \dfrac 13, \dfrac 16)]가 되는데, 그것들을 더하면 2가 된다.[3]
그러므로 6은 [math(x)]의 값이 될 수 없다.
2. 그래프
복소평면에서 근사적으로 확장한 결과를 프로그래밍 언어로 나타냈을 때는 이렇게 짤 수 있다:[4]- 복소평면 그래프 출력 코드 예시 【 펼치기 · 접기 】
#!syntax py # Second function: F(z) = sum(1/d for d|z) # Approximate divisor sum for complex numbers by using integer real parts # Restrict the real part to integers for divisor calculation real_int = np.arange(-10, 11, 1) # Integer range for real part imag_int = np.arange(-10, 11, 1) # Integer range for imaginary part real_grid, imag_grid = np.meshgrid(real_int, imag_int) z_discrete = real_grid + 1j * imag_grid # Function to calculate divisor sum for integers def divisor_sum(n): if n == 0: # Divisor sum not defined for 0 return 0 divisors = [d for d in range(1, abs(int(n)) + 1) if n % d == 0] return sum(1 / d for d in divisors) # Apply the divisor sum to real parts only (as an approximation) F_z_discrete = np.vectorize(divisor_sum)(np.real(z_discrete).astype(int)) # Plot the approximation fig, ax = plt.subplots(figsize=(8, 6)) c = ax.contourf(real_grid, imag_grid, F_z_discrete, levels=50, cmap='inferno') fig.colorbar(c, ax=ax) ax.set_title("Approximation of F(z) = sum(1/d for d|z) using Re(z)") ax.set_xlabel("Re(z)") ax.set_ylabel("Im(z)") plt.show()
[1] 고대 그리스어에서 쓰이던 문자로, 특수한 경우에서만 사용되었다. '6'을 뜻한다.[2] 6은 진약수가 1, 2, 3이고, 그것을들 더하였을 때 6이 나오므로 완전수가 맞다.[3] ([math(\dfrac {12}{6})])[4] 약수에 기반한 합으로 정의되어 있어서 이를 복소수 영역으로 확장하려면 추가적인 해석이 필요하기 때문에 완벽한 결과가 나오지 못할 수 있음.