23장 : 다항식 (Polynomial)


이번장 부터는 수치해석(Numerical Analysis)의 기본적인 주제들을 살펴볼 겁니다.

수치해석은 컴퓨터가 가진 뛰어난 연산 능력을 활용하여 복잡한 수학적 문제들을 반복적인 방법으로 풀어내는 것입니다.  현실 세계에서 부닥치는 많은 수학적 문제들은 수치해석이 아니면 풀지 못하는 것들입니다.

그래서 수치해석은 공학, 기초 과학, 통계학 그리고 요즘 뜨고 있는 머신러닝, 빅 데이터 처리 등에 적극 활용되고 있습니다.  다소 수학적인 풀이가 있어 어렵게 느껴지지만, 증명하기 보다는 이해하고 활용하는데 촛점을 맞춘다면 넘지 못할 벽이 아닙니다.

이번 장에서는 다항식(Polynomial)에 관련된 여러가지 문제들을 살펴볼 것입니다.  다항식을 모델링하고, 다항식의 사칙 연산, 미적분, 효율적인 계산법 그리고 라그랑쥬(Lagrange) 보간법에 대해서 살펴볼 것입니다.

강의 자료



강의 동영상

23.0 다항식(Polynomial) - 시작 : 이 장에서는 수치해석이 무엇인지 알아보고, 다항식을 어떻게 모델링할 수 있는지, 그리고 그를 이용하여 기본적인 연산을 구현해 보며, 마지막으로 라그랑주 보간법에 대해서 알아볼 것입니다.



23.1 수치해석의 개념 : 컴퓨터의 어원은 계산기에서 나왔습니다. 계산에 뛰어난 능력을 가진 컴퓨터를 이용하여 수학 문제를 푸는 것을 수치해석이라고 합니다.  하지만 컴퓨터가 숫자를 표현하는 방식에서 기원한 오차 문제를 이해해야 합니다.



23.2 다항식의 모델링 :  다항식의 개념을 살펴보고 그것을 어떻게 모델링할 수 있는지 구현해 봅니다.



23.3 다항식의 사칙연산 : 다항식의 대수적인 사칙연산을 어떻게 구현할 수 있는지 살펴 봅니다.  C++의 연산자 오버로딩을 사용해 보았습니다.



23.4 다항식의 미적분 : 다항식의 미분과 적분은 정의에 따라 간단하게 구현할 수 있습니다.



23.5 다항식의 계산 : 다항식의 미지수에 구체적인 수치를 넣어 계산하는 방법을 알아 봅니다.  X의 N승을 구하기 위해 간단한 방법을 사용해도 되지만, Divide and Conquer와 Horner의 법칙을 이용하여 효율적으로 계산하는 법을 알아봅니다.



23.6 라그랑주 보간법 : 라그랑주 보간법(Lagrange Interpolation)은 N+1개의 주어진 점을 지나는 N차의 다항식을 구하는 문제입니다.  기하학적으로 보면 여러개의 점을 지나는 부드러운 곡선을 구하는 것이라 통계학이나 컴퓨터 그래픽스에서 많이 활용됩니다.  라그랑주 보간법을 이해하고 그것을 구현해 봅니다.



23.9 : 다항식 - 결론 : 다항식의 모델링과 그것을 이용하여 관련된 여러가지 문제들을 풀어 보았습니다.  이제 수치해석의 첫걸음을 떼었을 뿐입니다.




관련글 |
  - C++로 배우는 알고리즘
  - 22장 : 방향 그래프 (Directed Graph)
  - 24장 : 행렬 (Matrix)

댓글 없음:

댓글 쓰기

인기글