선형 대수학, 수치 해석, 확률 및 통계
수학 과목을 정리해 보면서 느꼈지만, 블로그에 수식을 넣는 것도 매우 귀찮은 작업으로 시간이 걸린다.
수식의 기입과 수학적 증명을 이해하는데 시간이 너무 걸린다고 느꼈다.
다른 과목(OS, DB, 알고리즘)이 수학이 아니라 컴퓨터 공학에서 더 중요하다고 생각해 수학은 적당히 타협해 나가기로 했다.
증명을 하고 완벽한 이해를 하는 것이 아니라 공식 사용법을 배우고 도중에 생긴 의문점을 중심으로 정리문의 방향을 취했다.
컴퓨터의 수 표현 및 연산
컴퓨터의 실수는 부동 소수점으로 표현되므로, 오차가 발생하는 것은 대부분이 알고 있는 사실일 것이다.
이에 대해서는 컴퓨터 구조, OS, 각 언어를 공부하면서 자주 언급되기 때문에 상세한 설명은 생략한다.
- 부동 소수점 연산(가산, 감산)
– 정규화 : 기존 수 -> 0.xxx * 10^k의 모습으로 표현, 2진수에서는 ( 2^k )
– 지수가 큰 쪽에 소수점을 맞춰준다.
– 가수를 계산합니다.
– 원래 자리에 맞게 반올림하고 정규화하여 저장합니다.
-> 오류 발생(둥근)
- 부동 소수점 연산(곱셈, 나눗셈)
– 정규화
– 가수의 곱셈/제산, 지수끼리는 승산이면 가산하고, 제산이면 감산한다.
– 원래 자리에 맞게 반올림하고 정규화하여 저장합니다.
-> 오류 발생(둥근)
※결합, 분배법칙이 거의 성립하지 않는다.
※계산 순서에 따라 연산 결과가 다를 수 있습니다.
- 두 개의 부동 소수점 비교
– 두 차이가 허용 오차 이내에 있는지 확인하십시오.
ex. 어떤 수식 A와 B가 있다고 가정해 봅시다.
A와 B는 부동 소수점 연산으로 사람이 할 때와 같은 값입니다.
그러나 컴퓨터의 경우 부동 소수점 계산에서 발생하는 오류로 인해 동일하지 않다고 판단 할 수 있습니다.
-> 따라서, if ( A == B ) -> if ( fabs(AB) < eps ) 로 옮겨놓아야 한다.
eps는 컴퓨터의 공차입니다.
오차
- 마무리 오차 ( rounding – off error )
– 컴퓨터로 표현되는 수와 실제 수의 차이
ex. 컴퓨터에서 4자리만 기억하는 경우 12.345는 12.34 또는 12.35로 저장됩니다.
실제 수와는 +-0.005의 오차가 발생한다.
- 절단 오차(truncation error)
– 컴퓨터는 수식 계산에서 “무한 합계”를 계산할 수 없습니다.
따라서, “유한 개”의 합계로 적당히 잘라낸 후 근사값으로 저장한다.
이 때 발생하는 오차는 절단 오차이다.
ex. 테일러 급수
- 오차 계산
- 오차 한계
– 연산 과정 중에 발생하는 오차의 최대값
- 기계 오차
– 시스템이 발생하는 오류의 최대값을 의미합니다.
보통 압실론( ε)로 표시된다.
– 이 오차보다 작은 오차는 시스템이 오차로 인식하지 못한다.
ex. 1+ε/2 와 1 은 시스템에서 같은 수로 인식합니다.
– 기계 오차 찾기
급수(시리즈)
수치 해석에서 급수는 수열의 합계라고 생각하면 된다.
무한수는 무한수열의 합계를 나타냅니다.
- 필요한 급수(=제곱 급수, 파워 시리즈)
- 테일러(Talyor) 급수
– 조건
1) x = c 로 무한 미분이 가능함
2) x = c에서 f(c)에서 무한 미분된 f'(c)까지의 값을 알 수 있어야 한다.
– 결과
1) 원래의 함수를 f(x) 로 하면 f(x) 의 근사 함수를 구할 수 있다.
2) f(x)는 다항식의 합으로 표현될 수 있다.
– 테일러 급수로 표현 가능한 함수
f(x) = sinx , cosx, e^2 등..
https://namu.wiki/w/%ED%85%8C%EC%9D%BC%EB%9F%AC%20%EA%B8%89%EC%88%98/%EB%AA%A9% EB%A1%9D
– Talyor 전개 : Taylor 급수에 의해 어떤 함수를 표현한 것
– 마크로닌 급수(Maclaurin series): Talyor 급수에서 c=0인 경우
- n차 테일러 전개와 n차 근사식
– 테일러 급수에서 원래의 함수를 n차 미분까지의 합으로 표현한 것을 n차 테일러 전개라고 한다.
– 1차부터 차례로 n차 테일러 전개식을 알 수 있다.
여기에서는 그 형태만 기록하고 증명은 하지 않는다.
- n차 근사식 구하기
– f(x) 를 n 다음까지 미분하면서 식을 만든다.
상기 식에 따르면, 2차 근사식은 다음과 같다.
(c=0이라고 가정)
f(x) = f(0) + f'(0) * x + (1/2!
) * f”(0) * x^2
– 위 식을 계산하면 2차 근사식이 됩니다.
여기서 x 값을 대입하면 근사값을 구할 수 있습니다.