추천할 만한 C++ 용 수치해석책있나요?

pynoos의 이미지

C 도 괜찮습니다만,

알아달라는 사람이 요즘 C++에 재미를 느낀다하네요..

미국에 있는 학교를 다니고 있어서 원서면 좋겠습니다.

daybreak의 이미지

Amazon 기준으로
1. numerical methods c++ 라는 주제어로 검색했을때 3권,
2. numerical analysis c++ 라는 주제어로 검색했을때 9권,

2의 결과에 1이 포함되어있고
2의 결과에는 제목이 같고 미디어만 다른 것이 중복되어 있는것으로 보아서
선택의 폭이 정말 좁은 것 같습니다.

특히 numerical analysis/methods 모두 특별히 oop 패러다임을 가지고
접근할 필요가 없기 때문에 c++에 대한 서적이 별로 없다고 봅니다.

따라서 amazon 검색 결과 중에서 하나를 고르시던지, 아니면
c를 대상으로 하는 책을 보시는 것이 좋을 것 같습니다.

cdpark의 이미지

"Numerical Recipes in C++". 수치해석의 bible 격인 책의 C++ 버젼입니다. Fortran의 탈을 얼마나 벗었는지는 모르겠습니다만...

fx2000의 이미지

수치해석이란 학문이...

수학적인 문제에 컴퓨터를 이용하기 위해 발전된 학문인가요?

아님 거꾸로 컴퓨터분야의 문제를 수학적으로 풀기위해 발전된

학문인가요?

컴과생에게 수치해석이란 학문의 필요성이 어느정도인지 궁금합니다~

(선형대수나 확률통계만큼 중요한 것인지..--a)

방학때 따로 공부해야 될까요?

그럼...꾸벅.~

세상은 견고하고 삶은 유희가 아니다...

aero의 이미지

수치해석은

수학적인 계산에 컴퓨터를 적용하기 위해 발전한거라고 볼 수 있죠
컴퓨터의 기원이 군사적 목적의 발사체의 궤도를 추적하기 위해서
나온걸 보면은 알 수 있죠.
일반 순수전산이 이산화된 대상을 주로 다루는데 반해
수치해석은 기본이 복잡한 수식이 기본이 되다 보니 이런 문제를
해석적으로 풀어낸다는건 불가능할때가 많습니다.
그래서 그런 문제들을 이산화 시켜서 컴퓨터에 적용할 수 있는 모델로
바꾼 다음 실제 수긍할 만한 근사치의 해를 얻어내게 되지요.

근래 수치해석이라하면 FEM, CFD가 대표적인데 이건 연속된 물질의
작용을 일정한 공간으로 나누고 이산화시키면 결국해 근사해를 구하기
위한 식은 몇만 by 몇만은 가볍게 넘겨버리는 Matrix(행렬)형태로
나타나게 됩니다.

이런 행렬식을 푸는건 컴퓨터가 하기 딱 좋은 단순 반복 노가다 작업이고
행렬의 성질이 부분부분 독립적으로 연산할 건덕지가 많기 때문에
요즘은 PVM,MPI등 라이브러리를 사용해서 병렬처리,클러스트링등을
해서 빨리 풀어내는 방법이 많이 연구 되지요.

수치해석분야에는 아직 fortran이 많이 쓰이는데 이건 컴퓨터의 태동과
함께 지금까지 수십년간 개발되고 안정화된 코드들이 많기 때문이고
fortran언의의 구조상 최적화라던지 속도면에서는 아직까지 다른 언어들에
대해서 뛰어나다고 할 수 있기 때문입니다.

요즘은 다른 언어들도 수치해석 분야에 많이 적용되는거 같은데 실제로
이산화된 모델을 계산하는 solve과정 보다는 모델을 구성하기 위한
pre-processing 단계와 해석된 결과를 시각화 하기위한 post-processing
분야에 더 집중되는거 같습니다. 여기에는 객체지향의 관점을 적용하기
딱좋거든요. 연속체를 독립된 도메인으로 나누면 그 하나하나 요소가 객체라고
볼 수 있으니...

주절주절 써봤습니다. :)