수치해석 관련 정보 부탁드립니다.
![익명 사용자의 이미지 익명 사용자의 이미지](/files/bluemarine_logo.png)
글쓴이: 익명 사용자 / 작성시간: 월, 2005/05/02 - 12:28오전
안녕하세요, 인터넷 검색하다가 이 곳에 오게 되었습니다.
저는 프로그램은 초보 수준입니다.
수학을 전공했는데, 현재 금융수학과 관련된 수치해석 프로그램을 작성하고있습니다. 여러사람들이 사용하는 프로그램이라기 보다 저를 비롯한 몇몇 관련자들만 사용하는 프로그램입니다.
주로 작성하는 프로그램 내용은 Heat Equation푸는 것과 Monte-Carlo 시뮬레이션 쪽이라서, 행렬 및 해찾기 문제 등입니다. 내용은 간단한데 아시다시피 루프 등의 반복작업이 많아서 시간이 많이 걸리는 편이라 신경이 쓰입니다.
한 예로 워낙 제가 무식한지라 처음 프로그램을 작성했을 때는 10분 걸리는 것이 이리저리 바꾸다 보니 나중에는 몇십초가 안걸리더군요.
지금은 속도때문에 3차원 PDE푸는 것은 엄두도 못 내고 있습니다.
제게 도움이 될만한 자료나 사이트 및 조언을 바라는 마음에 염치없이 글을 올립니다.
감사합니다.
Forums:
사용해 본적은 없는데 이런게 있군요...GSL - GNU Scient
사용해 본적은 없는데 이런게 있군요...
GSL - GNU Scientific Library
http://www.gnu.org/software/gsl/
금융공학쪽 방정식들이 heat transfer eqation 쪽과 거의
금융공학쪽 방정식들이 heat transfer eqation 쪽과 거의 흡사한 형태라는 얘기를 들은 적이 있는데 사실인가봅니다. :)
일단 어떤 언어와 컴파일러를 쓰고 계시나요? 저도 수치해석을 잘은 모르지만 속도가 그리 크게 문제가 되지 않는다면 Matlab을 쓰는 것이 행렬 계산쪽에서 루프문을 간편히 없앨 수 있으며 여러가지 toolbox를 가져다 쓸 수 있기 때문에 편리합니다. 하지만 pde 얘기까지 나오는 것을 보니 문제가 간단하지 않을 것 같습니다만...
Monte Carlo 시뮬레이션 쪽이라면... 통계학 샘플링 쪽을 말씀하시는 건가요? 이 경우도 Matlab쪽이 toolbox나 직접 솔루션을 만들기가 편리하다고 알고 있습니다. (요즘 통계 전공하시는 분들은 Stata나 Gnu-R을 많이 쓰시는 것 같더군요.) 일단은 Matlab으로 접근을 해 보시고 속도 문제가 심각할 경우라면 다른 솔루션을 이용해서 hardcore numerical analysis 코딩으로 들어가는 것이 좋지 않을까 싶습니다.
"I conduct to live,
I live to compose."
--- Gustav Mahler
Heat Transfer Equation을 해석하는 것도 아주 심플한 방
Heat Transfer Equation을 해석하는 것도 아주 심플한 방법부터, 소위말하는 병렬처리까지 도입하는 여러가지 방법이 있는데, 일단 기본적인 수치해석책에는 이러한 내용이 잘 나오지 않습니다.
시간이 되신다면, 다음의 책 앞부분을 보시면 다양한 수렴가속방법 등이 나와있읍니다.
Computational Fluid Dynamics, vol 1-2, Hoffmann and Chiang
이책이 굉장히 초보자가 읽기 편한 책으로 되어 있고, 저 책에서 vol1의 chapter 5까지 정도만 보더라도, Heat Transfer Equation정도는 풀수 있을겁니다.
대부분의 Heat Transfer Equation은 행렬연산이라고 해도, tri-diagonal 형태(2D의 경우는 penta-diagonal)로 나타나게 되므로, 이를 풀기위한 특별한 matrix solver가 널려 있읍니다. 이럴 경우에 흔히 수학라이브러리에서 제공하는 sparse matrix solver 등등으로 풀면 괜히 시간만 더 걸릴 가능성도 농후합니다.
그리고, 최근에는 각종 수치해석기법을 금융공학에 적용하여 최대한 빨리 이윤을 계산하고자하는 시도가 널리 이루어지고 있는 것으로 알고 있고, Monte-Carlo시물레이션과 같은 경우는 distributed computing을 통해서 여래대의
컴퓨터에서 해를 구하고자 하는 경우도 많더군요.
잘은 모르지만, Mente-Carlo 말고도 최적화해를 구하는 다양한 확률/통계적인 방법이 있는 것으로 아는데 이를 금융공학에 적용해보는 것도 괜찮은 시도가 될 듯합니다.
윗글 제가 썼읍니다.
윗글 제가 썼읍니다.
--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러
[quote="MyCluster"]윗글 제가 썼읍니다.[/quote]
멋져요! :o
제가 아는 분이 금융공학 프로젝트를 진행하는 것을 얼핏 보았는데, 수치해
제가 아는 분이 금융공학 프로젝트를 진행하는 것을 얼핏 보았는데, 수치해석 라이브러리로 IMSL http://www.vni.com/products/imsl/ 을 쓰시더군요. 주로 최적화 기능을 썼던것 같습니다. IMSL을 만드는 Visual Numerics 사에서 Financial Solution도 따로 제공하고 있습니다. 물론 상용입니다. C/C#/Java/Fortran 등으로 제공합니다.