정의역이 \mathbb{R}\\{0\}이라서?
그딴 얘기를 하려고 글을 싼게 아니다
자 봐라
수학쟁이들은 모르는 현실.webp
보이지?
이게 수학쟁이들이 생각 못하는 신기한 차이임
저 이상한 계단은 double precision floating point 때문에 생기는 문제임.
그 전에 일단 저 그래프는 desmos에서 그려졌고, 병1신 그자체인 geogebra(이하 병1신) 에서는 얻을 수 없는 결과라는걸 미리 말해둠(병1신에서는 그래프가 사라짐)
'실수'는 완비순서체이지만 컴퓨터는 그걸 한정된 비트로 표현해야 함.
CS에선 이 간극응ㄹ '배정밀도 부동소수점' (double precision floating point) 같은 표준으로 메웠지만, 앞의 짤이 그 caveat임.
ieee754가 표현할 수 없는 범위 중 하나인 0에 아주 가까운 영역에서 일어나는 일임.
0에 가까운 숫자들은 '비정규화된 수'(subnormal number)로 처리하는데,
이때 표현 가능한 가장 작은 양수가 S_0 = 2^-1074이고, 대략 4.94066 * 10^-324 정도.
이보다 작은 양수는 0 아니면 S_0의 배수로 처리된다.
이제 x^2 값은 어떻게 처리되는지가 핵심인데,
x^2의 실제 값을 계산한 뒤에, 이걸 S_0 배수로 반올림하는데, 기준은 이렇다
1. x^2 실제 값이 S_0/2 (2.47033 * 10^-324) 보다 작으면 0
2. S_0/2 ≤ x^2 < 3*S_0/2 이면 S_0
3. 3S_0/2 ≤ x^2 < 5S_0/2 이면 2*S_0
이런 식.
믿지 못하는 놈들을 위해 다시 찍어보면
(1.571727 * 10^-162, 0).
x_1 = 1.571727 * 10^-162.
x_1^2 ~= (1.571727 * 10^-162)^2 ~= 2.470325759 * 10^-324.
S_0/2 ~= 2.470328229 * 10^-324 보다 작으므로 x_1^2은 0
y_1 = (반올림된 x_1^2) / x_1 = 0 / x_1 = 0.
(1.571728 * 10^-162, 3.143456 * 10^-162).
x_2 = 1.571728 * 10^-162.
x_2^2 ~= (1.571728 * 10^-162)^2 ~= 2.470332052 * 10^-324.
S_0/2 ~= 2.470328229 * 10^-324 보다 크고
3S_0/2 ~= 7.41098 * 10^-324 보단 작으니, x_2^2은 S_0.
그럼 y_2 = (반올림된 x_2^2) / x_2 = S_0 / x_2) = (4.940656458412465 * 10^-324) / (1.571728 * 10^-162) ~= 3.14345985 * 10^-162
주어진 y_2 값 3.143456 * 10^-162은 2 * x_2 = 2 * 1.571728 * 10^-162 = 3.143456 * 10^-162 와 (표시된 자릿수까지) 정확히 같음.
나머지 부분들은 지루하고 현학적이므로 생략
그래서 저 계단 모양은?
1. x값이 작을 때 (x^2 < S_0/2 동안) x^2이 0으로 취급돼서 y=0 (첫 번째 수평 구간).
2. x가 커져서 x^2이 S_0/2를 넘으면 (S_0/2 ≤ x^2 < 3*S_0/2 구간), x^2은 S_0로 반올림, 그래프는 y = S_0/x 곡선을 따름(첫 번째 꺾임).
3. x가 더 커져 x^2이 3S_0/2를 넘으면 (3S_0/2 ≤ x^2 < 5S_0/2 구간), x^2은 2S_0로 반올림, 그래프는 y = 2S_0/x 곡선을 따름.
나머지 kS_0/x에 대한 설명으로 반올림되는 x의 구간이 점점 좁아진다는 말은
지루하고 현학적이므로 생략
수학도들 입만 벌리면 지가 플라톤의 세계에서 사는듯이 말하는거 보고
진짜 차이 안나는지 써봄.
끝
ㅈㄴ 퍼거같음 - dc App
그니깐 요약하자면 계산량 딸려서 대충 근사치쓰다가 찐빠낸다는 소리아냐?
수치는 이론의 근사일뿐 이론 그 자체의 의미를 모두 담지 못함
2점
좋은 글이라고 생각은 한다만 결국 컴퓨터의 한계땜에 저리된단거아님? 갠적으로 누가뭐래도 우선시 해야할건 이론같음
잘했어
플랑크 상수보다 작은데 저 정도는 봐줘
이유는 없고 딴소리 하는거 아닌가 그냥 컴퓨터의 한계때문에 저렇게 된다는거잖아
중학생임?
사실 x가 0으로 갈때 x의 극한도 0이 아님. 왜냐면 아무리 0에 가까워도 x는 0이랑 최소표현값만큼 다르거든
지오지브라는 쓰지 않고 말해야지
혹시 바보임?ㅋㅋㅋ
완장 요새 아주 빠져가지고 이딴 개소리도 그냥 내비두네. 갤 관리 안해? 갤 버리고 마갤 새로 팔거야?
뭐 느그 콤퓨타 세상 가서 노세요~ 보다는 그래도 성의 글인데 이런 것도 있구나 하고 내버려두는게 좋지 않을까? 내가 니 맘대로 해줘야 돼?
근데 이게 무슨 의미임..? 수학보단 컴퓨터 과학에 가까운거 같은뎅 뭐를 반박하고 싶은거? 아니면 뭐를 주장하고 싶은거? 진짜 모르겠음
컴퓨터가 계산못해서 근사해줘야해요 ㅠㅠ 를 길게도 써놨네. 진지해서 어이가없노ㅋㅋ
컴퓨터과학도 수학이야 이놈아 - dc App
컴퓨터 한계로 못 나타낸다는 거잖아ㅋㅋㅋ
흔한 병신새끼네
IEEE 754 부동소숫점 이야기는 수치해석 배웠으면 1강에 배우는 내용인데 혼자 무슨 대단한 내용이라도 알고 있는 양 ㅅㅂ ㅋㅋ;ㅋ;ㅋㅋ