수치해석학
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
수치해석학은 컴퓨터를 이용하여 수학적 문제를 해결하는 방법 및 알고리즘을 연구하는 학문이다. 직접법과 반복법, 조건화, 이산화 등의 주요 개념과 반올림 오차, 절단 오차, 이산화 오차 등의 오차를 다룬다. 함수 값 계산, 보간, 외삽, 회귀, 방정식 및 연립 방정식 풀이, 고유값 및 특이값 문제, 최적화, 수치 적분, 미분 방정식 등 다양한 분야를 연구하며, 수치 일기 예보, 우주 궤도 계산, 자동차 충돌 시뮬레이션, 금융 모델링 등 다양한 분야에 응용된다. MATLAB, Python, Mathematica 등 다양한 소프트웨어가 수치해석에 활용되며, 대한민국에서는 대한수학회, 한국계산과학공학회, 한국산업응용수학회 등에서 관련 연구가 진행된다.
더 읽어볼만한 페이지
- 계산과학 - 인공 일반 지능
인공 일반 지능(AGI)은 추론, 지식 표현, 학습 등의 능력을 갖춘 인공지능 시스템을 의미하며, 기아와 빈곤 해결 등의 이점을 제공하지만 통제력 상실과 같은 위험도 존재한다. - 계산과학 - 기호계산
기호계산은 기호를 조작하여 수학적 식을 계산하는 컴퓨터 과학의 한 분야이며, 수치 계산과 대비된다. - 수치해석학 - 수학적 최적화
수학적 최적화는 주어진 집합에서 실수 또는 정수 변수를 갖는 함수의 최댓값이나 최솟값을 찾는 문제로, 변수 종류, 제약 조건, 목적 함수 개수에 따라 다양한 분야로 나뉘며 여러 학문 분야에서 활용된다. - 수치해석학 - 선형대수학
선형대수학은 벡터, 벡터 공간, 행렬 등의 개념으로 선형 방정식과 선형 변환을 연구하는 수학 분야로, 선형성을 활용해 행렬로 표현 및 계산하며, 연립일차방정식 해법, 고유값/고유벡터를 통한 행렬 분석, 벡터 공간의 기저와 차원 등을 다루고 물리학, 공학, 컴퓨터 과학 등 다양한 분야에 응용된다. - 수리물리학 - 라플라스 변환
라플라스 변환은 함수 f(t)를 복소수 s를 사용하여 적분을 통해 다른 함수 F(s)로 변환하는 적분 변환이며, 선형성을 가지고 미분방정식 풀이 등 공학 분야에서 널리 사용된다. - 수리물리학 - 불확정성 원리
불확정성 원리는 1927년 베르너 하이젠베르크가 발표한 양자역학의 기본 원리로, 입자의 위치와 운동량 등 짝을 이루는 물리량들을 동시에 정확하게 측정하는 것이 불가능하며, 두 물리량의 불확정성은 플랑크 상수에 의해 제한된다.
수치해석학 | |
---|---|
개요 | |
분야 | 해석학, 응용수학 |
연구 대상 | 해석적인 방법으로 풀기 어려운 문제의 해를 근사적으로 구하는 알고리즘 연구 |
관련 학문 | 수학, 컴퓨터 과학 |
세부 분야 | |
방정식의 해법 | 비선형 방정식의 해를 구하는 방법 연구 |
선형대수 문제 | 행렬 연산, 고유값 문제 등 선형대수 관련 문제 연구 |
함수 근사 | 복잡한 함수를 간단한 함수로 근사하는 방법 연구 |
미분 방정식 | 미분 방정식의 해를 근사적으로 구하는 방법 연구 |
최적화 | 함수의 최대/최소값을 찾는 방법 연구 |
수치적 미분과 적분 | 미분과 적분을 수치적으로 계산하는 방법 연구 |
최적 제어 | 시스템을 최적화하는 제어 방법 연구 |
데이터 근사 | 주어진 데이터에 가장 적합한 함수를 찾는 방법 연구 |
역사 | |
기원 | 고대 바빌로니아 시대의 제곱근 계산법 (점토판 YBC 7289) |
발전 | 아이작 뉴턴, 라이프니츠, 오일러, 라그랑주 등의 수학자들에 의해 발전 |
응용 분야 | |
과학 및 공학 | 다양한 과학 및 공학 분야의 문제 해결 |
날씨 예측 | 복잡한 기상 모델의 계산 |
재정 분석 | 금융 상품의 가격 결정 및 위험 관리 |
의학 | 의료 영상 처리 및 분석 |
인공지능 | 머신러닝 알고리즘의 학습 |
관련 개념 | |
알고리즘 | 문제를 해결하기 위한 단계별 절차 |
오차 | 근사해와 실제 해의 차이 |
수렴 | 알고리즘이 해에 가까워지는 정도 |
안정성 | 입력 데이터의 작은 변화에 대한 결과의 민감도 |
계산 복잡도 | 알고리즘 실행에 필요한 계산량 |
중요 참고사항 | |
주의사항 | 해석적인 해가 존재하지 않거나 구하기 어려운 경우에 주로 사용 컴퓨터를 이용한 계산이 필수적 알고리즘 선택 및 오차 분석이 중요 |
같이 보기 | |
관련 항목 | 수치해석학의 주제 목록 계산 과학 공학 과학 계산기 대수 |
2. 역사
선형 보간법은 이미 2000년도 더 전에 사용되었다. 뉴턴 방법, 라그랑주 보간, 가우스 소거법, 오일러 방법 등의 명칭에서 알 수 있듯이, 과거의 많은 위대한 수학자들이 수치해석학에 몰두했다.[5] 현대 수치해석학의 기원은 종종 존 폰 노이만과 허먼 골드스타인의 1947년 논문과 관련지어지지만,[8][7] 다른 이들은 현대 수치해석학이 E. T. 휘태커의 1912년 연구로 거슬러 올라간다고 본다.[8]
수치해석학은 현대 컴퓨터가 발명되기 수세기 전부터 존재해 왔으며, 선형 보간법은 이미 2000년도 더 전에 사용되었다.[5] 뉴턴 방법, 라그랑주 보간 다항식, 가우스 소거법, 오일러 방법 등 많은 중요한 알고리즘이 과거 수학자들에 의해 연구되었다. 현대 수치해석학의 기원은 존 폰 노이만과 허먼 골드스타인의 1947년 논문으로 거슬러 올라가지만,[8][7] E. T. 휘태커의 1912년 연구를 기원으로 보기도 한다.[8]
손으로 계산을 용이하게 하기 위해, 보간점과 함수 계수와 같은 데이터의 공식과 표가 담긴 대형 서적이 제작되었다. 이러한 표를 사용하면, 종종 일부 함수에 대해 16자리 이상의 소수점까지 계산된 값을 통해 주어진 공식에 대입할 값을 찾아 특정 함수의 매우 훌륭한 수치적 추정치를 얻을 수 있었다. 이 분야의 대표적인 저작물은 NIST가 편집한 간행물(통칭 “Abramowitz and Stegun”)로, 1000 페이지가 넘는 책으로 매우 많은 수의 일반적으로 사용되는 공식과 함수, 그리고 많은 점에서 그 값들을 담고 있다. 컴퓨터를 사용할 수 있게 되면서 함수 값은 더 이상 유용하지 않지만, 공식의 방대한 목록은 여전히 매우 편리할 수 있다.
기계식 계산기 또한 손 계산을 위한 도구로 개발되었다. 이러한 계산기는 1940년대에 전자 컴퓨터로 발전했으며, 이후 이러한 컴퓨터가 행정 목적으로도 유용하다는 것이 밝혀졌다. 그러나 컴퓨터의 발명은 또한 수치해석학 분야에 영향을 미쳤으며,[5] 이제 더 길고 복잡한 계산을 수행할 수 있게 되었다.
3. 주요 개념
과거에는 손으로 계산을 돕기 위해 공식과 표가 담긴 대형 서적이 제작되었는데, NIST에서 출판한 책이 대표적이다. 이 책은 함수의 값과 공식을 담고 있어 수치적 추정에 유용하게 사용되었다. 기계식 계산기도 손 계산을 위한 도구로 개발되었으며, 1940년대에 전자 컴퓨터로 발전하면서 수치해석학 분야에 큰 영향을 미쳤다.[5] 컴퓨터의 발전으로 더 복잡한 계산이 가능해졌다.
수치해석학 레슬리 폭스 상은 1985년 수학 및 그 응용 연구소에서 제정되었다.
3. 1. 직접법과 반복법
직접법은 유한한 단계 내에서 문제의 해를 계산하는 방법이다. 무한 정밀도 산술로 수행된다면 정확한 답을 제공한다.[9][10][11][12] 가우스 소거법, QR 인수분해를 사용한 선형 방정식 시스템 풀이, 선형 계획법의 단순법 등이 그 예시이다. 실제로는 유한 정밀도가 사용되며, 그 결과는 실제 해에 대한 근사치이다(안정성을 가정).
반복법은 초기 추측값에서 시작하여 극한에서만 정확한 해로 수렴하는 연속적인 근사치를 형성한다.[9][10][11][12] 충분히 정확한 해가 발견되었는지를 결정하기 위해 종종 잔차를 포함하는 수렴 테스트가 지정된다. 무한 정밀 산술을 사용하더라도 이러한 방법은 (일반적으로) 유한한 단계 내에 해에 도달하지 못한다. 뉴턴 방법, 이분법, 자코비 반복법 등이 그 예시이다. 계산 행렬 대수학에서 반복법은 일반적으로 큰 문제에 필요하다.
반복법은 수치 해석에서 직접법보다 더 일반적이다. 일부 방법은 원칙적으로 직접적이지만, 일반적으로 그렇지 않은 것처럼 사용된다. GMRES와 켤레 기울기 방법이 그 예시이다. 이러한 방법의 경우 정확한 해를 얻는 데 필요한 단계 수가 너무 커서 반복법과 동일한 방식으로 근사치를 허용한다.
다음은 직접법과 반복법의 예시이다.
3''x''3 + 4 = 28을 풀어 ''x''의 값을 구하는 문제를 생각해 보자.
3x3 + 4 = 28 | |
4를 뺍니다 | 3x3 = 24 |
3으로 나눕니다 | x3 = 8 |
세제곱근을 취합니다 | x = 2 |
반복법의 경우, ''f''(''x'') = 3''x''3 − 24에 이분법을 적용한다. 초기 값은 ''a'' = 0, ''b'' = 3, ''f''(''a'') = −24, ''f''(''b'') = 57이다.
a | b | 중간값 | f(중간값) |
---|---|---|---|
0 | 3 | 1.5 | −13.875 |
1.5 | 3 | 2.25 | 10.17... |
1.5 | 2.25 | 1.875 | −4.22... |
1.875 | 2.25 | 2.0625 | 2.32... |
이 표에서 해는 1.875와 2.0625 사이에 있다고 결론 내릴 수 있다. 알고리즘은 0.2 미만의 오차로 해당 범위 내의 임의의 숫자를 반환할 수 있다.
3. 2. 조건화
함수 ''f''(''x'') = 1/(''x'' - 1)를 생각해 보자. ''f''(1.1) = 10이고 ''f''(1.001) = 1000이다. 즉, ''x''가 0.1 미만으로 변해도 ''f''(''x'')는 거의 1000만큼 변한다. 따라서 ''x'' = 1 근처에서 ''f''(''x'')를 구하는 것은 조건이 나쁜 문제이다.반대로, 같은 함수 ''f''(''x'') = 1/(''x'' - 1)를 ''x'' = 10 근처에서 계산하는 것은 조건이 좋은 문제이다. 예를 들어 ''f''(10) = 1/9 ≈ 0.111이고 ''f''(11) = 0.1이다. 즉, ''x''가 조금 변하면 ''f''(''x'')도 조금 변한다.
계산 과정에서 생기는 오차는 계산 과정에서 계속 퍼져 나간다. 실제로 계산기나 컴퓨터에서 (부동 소수점 수) 덧셈은 정확하지 않으며, 반복 계산을 하면 계산은 더욱 부정확해진다. 이러한 오차를 연구하면서 수치적 안정성 개념이 생겨났다[57]。어떤 알고리즘이 '수치적으로 안정'하다는 것은, 오차가 발생하고 퍼져나가더라도 계산이 진행되면서 그 오차가 크게 커지지 않는다는 것을 의미한다[57]。이는 문제가 양호 조건인 경우에만 가능하다. 양호 조건이란, 입력 데이터가 약간만 변했을 때, 결과값도 약간만 변하는 성질을 말한다[57]。반대로 문제가 불량 조건이면, 데이터에 포함된 오차는 크게 커진다.
하지만 양호 조건의 문제라도 그것을 푸는 알고리즘이 항상 수치적으로 안정적인 것은 아니다. 수치 해석은 양호 조건의 문제를 푸는 안정적인 알고리즘을 찾기 위해 존재한다. 예를 들어 2의 제곱근(약 1.41421)을 계산하는 것은 양호 조건 문제이다. 이 문제를 푸는 많은 알고리즘은 초기 근사값 ''x''1 부터 시작하여 에 최대한 가까운 값을 구하려고 한다. 예를 들어 ''x''1=1.4로 두고, 더 좋은 근사값을 ''x''2, ''x''3, …로 계산해 나간다. 유명한 알고리즘으로 바빌로니아 제곱근이 있으며, 이 경우의 식은 ''x''''k''+1 = ''xk''/2 + 1/''xk'' 이다. 다른 방법으로, 예를 들어 ''x''''k'' + 1 = (''x''''k''2−2)2 + ''x''''k'' 라는 식을 사용한다고 하자(가칭 Method X 라고 부르자).
두 알고리즘에 대해 ''x''1 = 1.4 와 ''x''1 = 1.42 인 경우의 반복 결과는 아래 표와 같다.
바빌로니아 | 바빌로니아 | Method X | Method X |
---|---|---|---|
x1 = 1.4 | x1 = 1.42 | x1 = 1.4 | x1 = 1.42 |
x2 = 1.4142857... | x2 = 1.41422535... | x2 = 1.4016 | x2 = 1.42026896 |
x3 = 1.414213564... | x3 = 1.41421356242... | x3 = 1.4028614... | x3 = 1.42056... |
... | ... | ||
x1000000 = 1.41421... | x28 = 7280.2284... |
바빌로니아 제곱근은 초기값이 어떻든 빠르게 수렴하지만, Method X는 초기값이 1.4일 때는 수렴이 느리고, 1.42를 초기값으로 하면 발산한다. 따라서 바빌로니아 제곱근은 수치적으로 안정하지만, Method X는 수치적으로 불안정하다.
3. 3. 이산화
연속적인 문제를 유한 차원의 이산적인 문제로 바꾸는 과정을 '''이산화'''라고 한다. 미분 방정식의 해는 함수이지만, 이를 수치적으로 풀기 위해서는 유한한 양의 데이터로 표현해야 한다.[50][51][52][53][54][55] 예를 들어, 2시간 동안 진행된 자동차 경주에서 특정 시점에 속도를 측정하여 전체 주행 거리를 추정하는 경우가 이산화의 예시이다.다음은 자동차 경주에서 2시간 동안 3번 측정한 속도 결과이다.
시간 | 속도(km/h) |
---|---|
0:20 | 140 |
1:00 | 150 |
1:40 | 180 |
이 경우, 0:00부터 0:40까지, 0:40부터 1:20까지, 1:20부터 2:00까지 자동차의 속도가 일정하다고 가정하는 것이 이산화이다. 이를 통해 각 구간의 주행 거리를 계산하고, 전체 주행 거리를 추정할 수 있다. 이는 리만 합을 사용한 일종의 '''수치 적분'''에 해당한다.
4. 오차
수치 해석학에서 오차에 대한 연구는 중요한 부분을 차지한다. 문제의 해를 구하는 과정에서 여러 종류의 오차가 발생할 수 있다.
- '''입력 데이터 오차''': 알고리즘이나 계산 프로그램에 제공되는 입력 데이터 자체가 이미 오차를 포함하고 있는 경우이다. 예를 들어, 입력 데이터가 반올림된 값이거나, 측정이나 관측을 통해 얻어져 확률적인 관측 오차를 포함하는 경우가 있다.
- '''반올림 오차''': 유한한 자릿수의 부동 소수점으로 숫자를 반올림하여 표현하면서 발생하는 오차이다. 예를 들어, 0.1은 2진수로 표현하면 순환 소수가 되므로 유한 자릿수로는 정확하게 나타낼 수 없다. 배정밀도를 이용하여 계산의 정밀도를 높여 반올림 오차의 영향을 줄일 수 있다.
- '''절단 오차''': 무한히 반복해야 참값을 구할 수 있는 계산법을 유한 횟수로 절단하여 근삿값을 얻을 때 발생하는 오차이다. 예를 들어, 무한 급수의 합을 유한 부분합으로 대체하는 경우가 이에 해당한다.
- '''이산화 오차''': 연속적인 문제를 유한한 자유도를 가진 문제로 근사하는 과정에서 발생하는 오차이다. 예를 들어, 미분 방정식을 차분 방정식으로 근사할 때, 테일러 전개의 나머지 항을 무시하면서 이산화 오차가 발생한다. 더 고차의 이산화 근사 방법을 사용하거나, 근사에 사용하는 자유도를 늘려 이산화 오차를 줄일 수 있다.
4. 1. 수치적 안정성
반올림 오차는 유한한 메모리를 가진 기계(모든 실용적인 디지털 컴퓨터가 이에 해당)에서 모든 실수를 정확하게 표현하는 것이 불가능하기 때문에 발생한다. 알고리즘은 어떤 원인에서든 오류가 계산 중에 크게 증가하지 않으면 ''수치적으로 안정''하다고 한다.[13] 이는 문제가 ''양호 조건''일 때 발생하며, 이는 문제 데이터가 약간 변경되더라도 해가 약간만 변경됨을 의미한다.[13]원래 문제와 해당 문제를 해결하는 데 사용된 알고리즘 모두 양호 조건 또는 불량 조건일 수 있으며, 모든 조합이 가능하다. 따라서 양호 조건 문제를 해결하는 알고리즘은 수치적으로 안정하거나 수치적으로 불안정할 수 있다. 수치 해석의 기술은 잘 설정된 수학 문제를 해결하기 위한 안정적인 알고리즘을 찾는 것이다.
오차 연구는 수치 해석의 중요한 분야이다. 계산 과정에서 발생하는 오차는 계산 과정에서 전파된다. 실제로 계산기나 컴퓨터에서의 (부동 소수점 수) 덧셈은 정확하지 않으며, 반복 계산을 하면 계산은 더욱 부정확해진다. 이러한 오차 연구에서 수치적 안정성 개념이 생겨났다.[57] 어떤 알고리즘이 '''수치적으로 안정'''하다는 것은, 오차가 발생·전파될 때 계산이 진행됨에 따라 그 오차가 크게 확대되지 않는다는 것을 의미한다.[57] 이는 문제가 양호 조건인 경우에만 가능하다.[57]
그러나 양호 조건의 문제라도 그것을 푸는 알고리즘이 수치적으로 안정하다고는 할 수 없다. 수치 해석 기술은 양호 조건의 문제를 푸는 안정적인 알고리즘을 찾기 위해 존재한다. 예를 들어, 2의 제곱근 (약 1.41421)의 계산은 양호 조건 문제이다. 이 문제를 푸는 많은 알고리즘은 초기 근사값 ''x''1 부터 시작하여 에 최대한 가까운 값을 구하려고 한다. 즉, ''x''1=1.4로 하여, 더 좋은 근사값을 ''x''2, ''x''3, …로 계산해 나간다. 유명한 알고리즘으로 바빌로니아 제곱근이 있으며, 이 경우의 식은 ''x''''k''+1 = ''xk''/2 + 1/''xk'' 이다. 다른 방법으로, 예를 들어, ''x''''k'' + 1 = (''x''''k''2−2)2 + ''x''''k'' 라는 식을 사용한다고 하자 (가칭 Method X 라고 부르자). 이 두 알고리즘에 대해, ''x''1 = 1.4 와 ''x''1 = 1.42 의 경우의 반복 결과는 아래 표와 같다.
바빌로니아 | 바빌로니아 | Method X | Method X |
---|---|---|---|
x1 = 1.4 | x1 = 1.42 | x1 = 1.4 | x1 = 1.42 |
x2 = 1.4142857... | x2 = 1.41422535... | x2 = 1.4016 | x2 = 1.42026896 |
x3 = 1.414213564... | x3 = 1.41421356242... | x3 = 1.4028614... | x3 = 1.42056... |
... | ... | ||
x1000000 = 1.41421... | x28 = 7280.2284... |
위 표에서 보듯이, 바빌로니아 제곱근은 초기값이 어떻든 빠르게 수렴하지만, Method X는 초기값이 1.4일 때는 수렴이 느리고, 1.42를 초기값으로 하면 발산한다. 따라서, 바빌로니아 제곱근은 수치적으로 안정하지만, Method X는 수치적으로 불안정하다.
5. 연구 분야
수치 해석은 풀고자 하는 문제에 따라 여러 분야로 나뉜다.
분야 | 설명 |
---|---|
함수 값 계산 | 주어진 점에서 함수의 값을 계산한다. 호너 방법을 사용하면 다항식 계산 시 곱셈과 덧셈 횟수를 줄일 수 있다. 부동 소수점 연산으로 인한 반올림 오차를 예측하고 제어해야 한다. |
보간 | 알려진 점들 사이에서 미지의 함수 값을 추정한다. 선형 보간은 함수가 선형으로 변한다고 가정한다. 다항식 보간은 더 정확할 수 있지만 룬게 현상이 발생할 수 있다. 스플라인이나 웨이블릿을 사용하기도 한다. |
외삽 | 알려진 점 바깥쪽에서 미지의 함수 값을 추정한다. |
회귀 | 데이터에 오차가 있음을 고려하여 미지의 함수를 결정한다. 최소 제곱법이 널리 쓰인다. |
방정식 및 연립 방정식 풀이 | 방정식의 해를 계산한다. 선형 방정식계는 가우스 소거법, LU 분해, 촐레스키 분해, QR 분해 등 행렬 분해를 이용한 직접 해법이나, 야코비법, 가우스-자이델법, SOR법, 켤레 기울기법 등 반복 해법으로 푼다. 비선형 방정식은 근 찾기 알고리즘을 사용하며, 뉴턴법이 대표적이다. 선형화도 사용된다. |
고유값 분해 및 특잇값 분해 | 스펙트럼 이미지 압축[18], 통계학의 주성분 분석 등에 활용된다. |
최적화 | 함수가 최대 또는 최소가 되는 점을 찾는다. 제약 조건이 있을 수 있다. 선형 계획법은 함수와 제약 조건이 모두 선형인 경우이며, 심플렉스법이나 내점법으로 푼다. 라그랑주 승수법은 제약 조건을 없애는 데 사용된다. |
수치 적분 | 정적분 값을 구한다.[19] 뉴턴-코츠 공식(심프슨 공식 등), 가우스 구적법[20], 이중 지수 함수형 수치 적분 공식[73][74] 등이 있다. 분할 정복 전략을 사용하며, 고차원에서는 몬테카를로 방법이나 준 몬테카를로 방법[21] 등이 쓰인다. |
미분 방정식 풀이 | 상미분 방정식이나 편미분 방정식의 근사해를 구한다.[22] 편미분 방정식은 이산화하여 유한 차원 문제로 만든 후 푼다.[23] 유한 요소법[24][25][26], 유한 차분법, 유한 체적법[28] 등이 사용되며, 함수 해석학 이론에 기반한다. |
6. 응용 분야
수치 일기 예보: 고도화된 수치해석 방법은 수치 일기 예보를 가능하게 하는 데 필수적이다.[6]
우주선 궤도 계산: 우주선의 궤도를 계산하는 것은 상미분 방정식 시스템의 정확한 수치해를 필요로 한다.[6]
자동차 충돌 시뮬레이션: 자동차 회사는 자동차 충돌 시뮬레이션을 사용하여 차량의 충돌 안전성을 향상시킬 수 있다. 이러한 시뮬레이션은 본질적으로 편미분 방정식을 수치적으로 푸는 것으로 구성된다.[6]
금융: 금융 분야에서 (사모 펀드) 및 기타 금융 기관은 수치해석학의 계량 금융 도구를 사용하여 다른 시장 참여자보다 더 정확하게 주식 및 파생 상품의 가치를 계산하려고 시도한다.[6]
항공: 항공사는 정교한 최적화 알고리즘을 사용하여 항공권 가격, 항공기 및 승무원 배정, 연료 요구량을 결정한다. 역사적으로 이러한 알고리즘은 운용 과학의 중첩 분야 내에서 개발되었다.[6]
보험 계리: 보험 회사는 보험 계리 분석을 위해 수치 프로그램을 사용한다.[6]
7. 소프트웨어
20세기 후반 이후, 다양한 프로그래밍 언어로 수치 해석 알고리즘이 구현되었다.[49] 넷립(Netlib)에는 주로 포트란과 C로 작성된 수치 문제용 소프트웨어 루틴 모음이 있다. 상업용 제품으로는 IMSL 및 NAG 라이브러리가 있으며, 자유 소프트웨어 대안으로는 GNU 과학 라이브러리가 있다.
MATLAB,[29][30][31] TK Solver, S-PLUS, IDL[32]과 같은 인기 있는 수치 계산 응용 프로그램과 FreeMat, Scilab,[33][34] GNU Octave (Matlab과 유사), IT++ (C++ 라이브러리)와 같은 자유-오픈 소스 대안이 있다. 또한 R[35] (S-PLUS와 유사), Julia,[36] 및 NumPy, SciPy[37][38][39] 및 SymPy와 같은 라이브러리를 갖춘 Python과 같은 프로그래밍 언어가 있다. 성능은 벡터 및 행렬 연산은 일반적으로 빠르지만, 스칼라 루프는 속도가 10배 이상 차이가 날 수 있다.[40][41]
Mathematica와 같은 많은 컴퓨터 대수 시스템은 임의 정밀도 산술을 활용하여 더 정확한 결과를 제공할 수 있다.[42][43][44][45]
Excel과 같은 스프레드시트 소프트웨어를 사용하여 수치 해석과 관련된 간단한 문제를 해결할 수도 있다.
8. 관련 학회 및 연구기관 (대한민국)
- 대한수학회
- 한국계산과학공학회
- 한국산업응용수학회
- 이화학연구소 계산과학연구센터(R-CCS)
- 혁신적 하이 퍼포먼스 컴퓨팅 인프라(HPCI)
참조
[1]
웹사이트
Photograph, illustration, and description of the ''root(2)'' tablet from the Yale Babylonian Collection
http://it.stlawu.edu[...]
2006-10-02
[2]
서적
Applied numerical linear algebra
https://epubs.siam.o[...]
SIAM
1997
[3]
서적
Introduction to numerical linear algebra and optimization
Cambridge University Press
1989
[4]
서적
Numerical Linear Algebra
https://books.google[...]
SIAM
1997
[5]
서적
Numerical analysis: Historical developments in the 20th century
https://books.google[...]
Elsevier
2012
[6]
서적
An Introduction to Quantitative Finance
https://books.google[...]
2013
[7]
서적
The Birth of Numerical Analysis
https://books.google[...]
World Scientific
2010
[8]
서적
The Birth of Numerical Analysis
World Scientific
2010
[9]
서적
Iterative methods for sparse linear systems
https://books.google[...]
SIAM
2003
[10]
서적
Applied iterative methods
https://books.google[...]
Courier Corporation
2012
[11]
서적
Iterative methods for the solution of equations
https://books.google[...]
American Mathematical Society
1982
[12]
서적
Iterative methods for solving linear systems
https://books.google[...]
SIAM
1997
[13]
harvnb
2002
[14]
서적
Extrapolation methods: theory and practice
https://books.google[...]
Elsevier
2013
[15]
학술지
Methods of Conjugate Gradients for Solving Linear Systems
https://nvlpubs.nist[...]
1952-12
[16]
서적
Newton's method: An updated approach of Kantorovich's theory
https://books.google[...]
Birkhäuser
2017
[17]
서적
Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms
https://books.google[...]
Springer
2006
[18]
웹사이트
The Singular Value Decomposition and Its Applications in Image Compression
http://online.redwoo[...]
College of the Redwoods
1997
[19]
서적
Methods of numerical integration
https://books.google[...]
Courier Corporation
2007
[20]
MathWorld
Gaussian Quadrature
[21]
서적
Handbook of Computational Economics
Elsevier
1996
[22]
서적
A first course in the numerical analysis of differential equations
https://books.google[...]
Cambridge University Press
2009
[23]
서적
Numerical methods for partial differential equations
https://books.google[...]
Academic Press
2014
[24]
서적
Numerical solution of partial differential equations by the finite element method
https://books.google[...]
Courier Corporation
2012
[25]
서적
The mathematical theory of finite element methods
https://books.google[...]
Springer
2013
[26]
서적
An analysis of the finite element method
https://archive.org/[...]
Wellesley-Cambridge Press
2018
[27]
서적
Finite difference schemes and partial differential equations
https://books.google[...]
SIAM
2004
[28]
서적
Finite Volume Methods for Hyperbolic Problems
https://books.google[...]
Cambridge University Press
2002
[29]
서적
Scientific computing with MATLAB and Octave
https://books.google[...]
Springer
2014
[30]
서적
Solving problems in scientific computing using Maple and Matlab®
https://books.google[...]
Springer
2011
[31]
서적
Mathematical modelling with case studies: a differential equations approach using Maple and MATLAB
CRC Press
2011
[32]
서적
Practical IDL programming
https://books.google[...]
Elsevier
2001
[33]
서적
Engineering and scientific computing with Scilab
Springer
2012
[34]
서적
Digital image processing using SCILAB
https://books.google[...]
Springer
2019
[35]
학술지
R: a language for data analysis and graphics
https://www.stat.auc[...]
1996
[36]
논문
Julia: A Fresh Approach to Numerical Computing
https://epubs.siam.o[...]
2017-01-01
[37]
문서
SciPy: Open source scientific tools for Python
2001
[38]
서적
SciPy and NumPy: an overview for developers
O'Reilly
2012
[39]
서적
Learning SciPy for numerical and scientific computing
Packt
2013
[40]
웹사이트
Speed comparison of various number crunching packages
http://www.sciviews.[...]
2006-10-05
[41]
웹사이트
Comparison of mathematical programs for data analysis
http://www.scientifi[...]
2016-05-18
[42]
서적
Programming in mathematica
https://archive.org/[...]
Addison-Wesley
1997
[43]
서적
The MATHEMATICA® book, version 4
https://books.google[...]
Cambridge University Press
1999
[44]
서적
Applied Mathematica: getting started, getting it done
http://www.gbv.de/dm[...]
Addison-Wesley
1993
[45]
서적
Scientific Computing with Mathematica: Mathematical Problems for Ordinary Differential Equations
https://books.google[...]
Springer
2001
[46]
간행물
計算言語学: 計算言語学の歴史と展望
1986
[47]
서적
社会統計学
丸善
1977
[48]
웹사이트
Photograph, illustration, and description of the ''root(2)'' tablet from the Yale Babylonian Collection
http://it.stlawu.edu[...]
[49]
서적
Numerical analysis: Historical developments in the 20th century
Elsevier
2012
[50]
서적
線形方程式の反復解法
丸善出版
2013
[51]
서적
反復法の数理
朝倉書店
1996
[52]
문서
Iterative methods for sparse linear systems
https://epubs.siam.o[...]
SIAM
2003
[53]
서적
Applied iterative methods
Courier Corporation
2012
[54]
서적
Iterative methods for the solution of equations
American Mathematical Society
1982
[55]
서적
Iterative methods for solving linear systems
SIAM
1997
[56]
서적
JAVAによる流体・熱流動の数値シミュレーション
森北出版
[57]
문서
Accuracy and stability of numerical algorithms
https://epubs.siam.o[...]
SIAM
2002
[58]
서적
Numerical verification methods and computer-assisted proofs for partial differential equations
https://link.springe[...]
Springer
[59]
서적
Validated numerics: a short introduction to rigorous computations
Princeton University Press
2011
[60]
서적
精度保証付き数値計算―コンピュータによる無限への挑戦
日本評論社
1998
[61]
서적
精度保証付き数値計算
コロナ社
2000
[62]
서적
実例で学ぶ精度保証付き数値計算
サイエンス社
2011
[63]
서적
精度保証付き数値計算の基礎
コロナ社
2018
[64]
서적
Numerical methods for special functions
Siam
2007
[65]
서적
Extrapolation methods: theory and practice
Elsevier
2013
[66]
서적
共役勾配法
1977
[67]
서적
Newton's method : an updated approach of Kantorovich's theory
https://lccn.loc.gov[...]
Birkhäuser and Springer
[68]
문서
Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms, Second printed edition
Springer
2006
[69]
논문
導関数を用いない非線形スカラー方程式の高速多倍長数値解法
https://doi.org/10.1[...]
日本応用数理学会
2021
[70]
웹사이트
The Singular Value Decomposition and Its Applications in Image Compression
http://online.redwoo[...]
2006-10-04
[71]
서적
Methods of numerical integration
Courier Corporation
2007
[72]
웹사이트
Gaussian Quadrature
https://mathworld.wo[...]
[73]
간행물
Double exponential formulas for numerical indefinite integration
https://doi.org/10.2[...]
京都大学数理解析研究所
[74]
간행물
数値解析における二重指数関数型変換の最適性
https://doi.org/10.1[...]
日本数学会
[75]
간행물
数値多重積分に関する話題(<特集>数値計算)
https://doi.org/10.1[...]
日本応用数理学会
[76]
간행물
Monte Carlo simulation and numerical integration
https://doi.org/10.1[...]
Elsevier
[77]
서적
偏微分方程式の数値解析
岩波書店
2010
[78]
서적
微分方程式による計算科学入門
共立出版
2004
[79]
서적
偏微分方程式の数値シミュレーション
東京大学出版会
2003
[80]
서적
有限要素法とその応用
岩波書店
1986
[81]
서적
有限要素法概説 [新訂版]
サイエンス社
1999
[82]
서적
有限要素法の数理
培風館
1994
[83]
서적
有限要素法で学ぶ現象と数理 : FreeFem++数理思考プログラミング
https://www.kyoritsu[...]
共立出版
[84]
서적
Finite Volume Methods for Hyperbolic Problems
Cambridge University Press
2002
[85]
서적
Scientific computing with MATLAB and Octave
Berlin: Springer
2006
[86]
서적
Solving problems in scientific computing using Maple and Matlab®
Springer Science & Business Media
2011
[87]
서적
Mathematical modelling with case studies: a differential equations approach using Maple and MATLAB
Chapman and Hall/CRC
2011
[88]
서적
Applied multivariate statistics with SAS software
SAS Institute Inc.
2018
[89]
서적
Using IBM® SPSS® statistics for research methods and social science statistics
Sage Publications
2019
[90]
서적
An IBM® SPSS® Companion to Political Analysis
Cq Press
2019
[91]
서적
Adventures in social research: Data analysis using IBM SPSS statistics
Sage Publications
2018
[92]
서적
Using IBM® SPSS® Statistics: An interactive hands-on approach
Sage Publications
2018
[93]
서적
Data Analysis with IBM SPSS Statistics
Packt Publishing Ltd.
2017
[94]
서적
Practical IDL programming
Elsevier
2001
[95]
서적
Engineering and scientific computing with Scilab
Springer Science & Business Media
2012
[96]
서적
Scilab 入門: フリーソフトで始める数値シミュレーション
CQ出版
2009
[97]
서적
Scilab プログラミング入門
牧野書店
2010
[98]
서적
Digital image processing using SCILAB
Springer International Publishing
2019
[99]
서적
Octaveの精義 - フリーの高機能数値計算ツールを使いこなす
2011
[100]
간행물
R: a language for data analysis and graphics
1996
[101]
간행물
PSPP: a free and open source tool for data analysis
2014
[102]
서적
SciPy: Open source scientific tools for Python
2001
[103]
서적
SciPy and NumPy: an overview for developers
" O'Reilly Media, Inc."
2012
[104]
서적
Learning SciPy for numerical and scientific computing
Packt Publishing Ltd.
2013
[105]
웹사이트
Speed comparison of various number crunching packages
http://www.sciviews.[...]
2006-10-05
[106]
서적
Programming in mathematica
Addison-Wesley Longman Publishing Co., Inc.
1991
[107]
서적
The MATHEMATICA® book, version 4
Cambridge University Press
1999
[108]
서적
Applied Mathematica: getting started, getting it done
Addison-Wesley Longman Publishing Co., Inc.
1993
[109]
서적
Mathematica で絵を描こう
東京電機大学出版局
1998
[110]
서적
Mathematica による金融工学
東京電機大学出版局
2000
[111]
서적
Mathematica で学ぶ振動とダイナミクスの理論
森北出版
2004
[112]
서적
Engineering analysis with Maple/Mathematica
Academic Press
1995
[113]
서적
Mathematicaによる数値計算
共立出版
1995
[114]
서적
Mathematica によるテンソル解析
共立出版
2019
[115]
서적
Scientific Computing with Mathematica: Mathematical Problems for Ordinary Differential Equations; with a CD-ROM
Springer Science & Business Media
2001
[116]
서적
Computational Mathematics with SageMath
SIAM
2018
[117]
서적
Excel で数値計算の解法がわかる本
秀和システム
2009
[118]
서적
Excel で学ぶ信号解析と数値シミュレーション
株式会社 オーム社
2001
[119]
웹인용
2의 제곱근
http://it.stlawu.edu[...]
2012-08-13
[120]
웹사이트
CARPENTRY THEORY: Demonstrate knowledge of setting out a building
http://www.nzqa.govt[...]
The New Zealand Qualification authority
2003-10-17
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com