수치분화
Numerical differentiation수치 분석에서 수치 분화 알고리즘은 함수의 값과 함수에 대한 다른 지식을 사용하여 수학적 함수 또는 함수 서브루틴의 파생물을 추정한다.
유한차이
가장 간단한 방법은 유한 차이 근사치를 사용하는 것이다.
단순 2점 추정은 점(x, f(x)) 및 (x + h, f(x + h))을 통해 근접한 제분선의 기울기를 계산하는 것이다.[1] 소숫자 h, h는 x의 작은 변화를 나타내며, 양수 또는 음수일 수 있다. 이 선의 경사는
이 표현은 뉴턴의 차이 지수(일차분할차라고도 한다)이다.
이 이차선의 기울기는 접선선의 기울기와 대략 h에 비례하는 양으로 다르다. h가 0에 가까워지면 secant 선의 기울기가 접선 선의 기울기에 접근한다. 따라서 x에서 f의 진정한 파생상품은 이차선이 접선선에 점점 가까워짐에 따라 차분율의 한계에 해당한다.
0을 h로 즉시 대체하면 이0 {\{\ 미확정 형식이므로 파생상품을 직접 계산하는 것은 비합리적일 수 있다.
마찬가지로, 경사도는 위치(x - h)와 x를 사용하여 추정할 수 있었다.
또 다른 2점 공식은 점(x - h, f(x - h) 및 (x + h)를 통해 가까운 세컨트 선의 기울기를 계산하는 것이다. 이 선의 경사는
이 공식은 대칭 차이 인수로 알려져 있다. 이 경우 1차 오차가 취소되므로 라인의 기울기는 h 2 h에 근사적으로 비례하는 양만큼 접선 라인의 기울기와 다르다. 따라서 h의 작은 값의 경우 단측 추정치보다 접선 라인에 대한 더 정확한 근사치가 된다 단, 경사가 x에서 계산되고 있지만 x에서의 함수 값은 관련되지 않는다.
추정 오차는 다음과 같다.
- =- ( )( c) h 2
여기서 은(는) - 과 (와) + 사이의 일부 지점이다 이 오차에는 숫자가 표시되고 계산이 제한된 정밀도로 수행되기 때문에 반올림 오차는 포함되지 않는다.
대칭차인덱스는 TI-82, TI-83, TI-83, TI-84, TI-85를 포함한 다수의 계산기에서 파생상품의 근사치를 구하는 방법으로 사용되며, 모두 h = 0.001과 함께 이 방법을 사용한다.[2][3]
스텝 사이즈
부동 소수점 산술로 함수를 계산할 때 실제로 중요한 고려사항은 스텝 사이즈 선택 h. 너무 작게 선택하면 뺄셈이 큰 반올림 오차를 낳는다. 실제로 모든 유한차이의 공식은 조건이[4] 좋지 않으며, 취소로 인한 h가 충분히 작을 경우 0의 값을 산출한다.[5] 너무 클 경우 제2선 기울기의 계산은 더 정확하게 계산되지만 제2선을 이용한 탄젠트 기울기의 추정치는 더 나쁠 수 있다.[citation needed]
기본적인 중심 차이의 경우, 최적의 단계는 기계 엡실론의 큐브-루트([6]cube-root)이다. x와 x + h에서 평가한 수치파생성식의 경우, 큰 반올림 오차를 생성하지 않고 작은 h에 대한 선택은 x {\x = 0은 아니지만)이며, 여기서 기계 엡실론 ε은 일반적으로 이중 정밀도에 대해 2.2×10의−16 순서가 된다.[7] 최적 정확도를 위해 반올림 오류와 제2의 오차 사이의 균형을 맞추는 h 공식은 다음과[8] 같다.
( ( )= 일 때는 아니지만), 그리고 그것을 사용하기 위해서는 함수에 대한 지식이 필요할 것이다.
단일 정밀도에서 문제는 더 악화된다. 왜냐하면 x는 대표 가능한 부동 소수점일 수 있지만 x + h는 거의 확실하지 않기 때문이다. 즉, (x + h) - x가 h와 같지 않고, 두 기능 평가가 정확히 h와 분리되지 않으며(반올림 또는 잘림) x + h가 가까운 기계 표현 가능 숫자로 변경됨을 의미한다. 이와 관련하여, 대부분의 소수 분수는 이진수로 반복되는 순서(소수 1/3이 소수인 것처럼)이기 때문에, h = 0.1과 같은 겉보기에 둥근 단계는 이진수로 둥근 숫자가 아니라 0.00011001100...2 가능한 접근방식은 다음과 같다.
h := sqrt(eps) * x; xph := x + h; dx := xph : xph - x; 기울기 : (F(xph) - F(x) / dx;
그러나 컴퓨터가 있으면 컴파일러 최적화 설비는 실제 컴퓨터 산술의 세부사항에 주의를 기울이지 못하고 대신 수학의 공리를 적용하여 dx와 h가 동일하다고 추론할 수 있다. C와 유사한 언어의 경우 xph가 휘발성 변수라는 지시는 이를 방지할 것이다.
기타 방법
고차 방법
파생상품에 근사치를 위한 고차방법과 상위파생상품에 대한 방법이 존재한다.
첫 번째 파생상품에 대한 5점 방법(1차원의 5점 스텐실)은 다음과 같다.[9]
여기서 [ - , x+ 2
다른 스텐실 구성과 파생 모델 주문의 경우 유한 차이 계수 계산기는 모든 파생 모델 주문(해법이 존재한다면)의 스텐실에 대해 파생 모델 근사 방법을 생성하는 데 사용할 수 있는 도구다.
상위파생상품
뉴턴의 차이점 지수를 이용해서
다음을 표시할[10] 수 있다(n>0의 경우).
복합변수법
수치적 분화를 위한 고전적 유한차이의 근사치는 조건이 좋지 않다. f 이 (가) x 에 가까운 복잡한 평면의 지점에서 평가할 수 있는 실제 선에서 실제 값을 갖는 홀모형 함수라면 안정적인 방법이 있다 예를 들어,[5] 첫 번째 파생상품은 복합단계 파생상품 공식으로 계산할 수 있다.[11][12][13]
이 공식은 Taylor 시리즈 확장을 통해 얻을 수 있다.
복합단계 파생상품 공식은 1차 파생상품 계산에만 유효하다. 모든 주문의 파생상품을 계산하기 위해 위의 내용을 일반화하면 다중 복합파생상품이 적용되어 다중 복합파생상품이 발생한다.[14] [15] [16]
where the denote the multicomplex imaginary units; . The operator extracts the th component of a multicomplex number 레벨 예: 0( n) }-n}}}}}}}}}}}}이 마지막" 상상의" 성분을 추출한다. 이 방법은 혼합 파생상품(예: 2차 파생상품)에 적용할 수 있다.
다중 복합 산술의 C++ 구현이 가능하다.[17]
일반적으로 모든 순서의 파생상품은 Cauchy의 적분식을 사용하여 계산할 수 있다.[18]
통합이 숫자로 이루어지는 경우.
복잡한 변수를 수치로 분화시키는 것은 1967년 라이너스와 몰러에 의해 시작되었다.[19] 그들의 알고리즘은 고차량의 파생상품에 적용된다.
복잡한 라플라스 변환의 수치 역전에 기초한 방법은 애프레스와 더블너에 의해 개발되었다.[20] 함수의 방법이나 특성에 대한 지식 없이도 사용할 수 있는 알고리즘이 Fornberg에 의해 개발되었다.[4]
미분 4차
차등 사분율은 함수 값의 가중 합계를 사용하여 파생상품의 근사치를 의미한다.[21][22] 차동 사분율은 소음이 많은 데이터에서 파생상품을 계산할 수 있어 실용적이다. 이 이름은 심슨의 방법이나 사다리꼴 법칙과 같은 방법에서 가중 합계가 사용되는 수치적 통합을 의미하는 사분법과 유사하다. 중량 계수를 결정하는 방법에는 사비츠키-골레이 필터와 같은 다양한 방법이 있다. 미분방정식은 부분 미분방정식을 푸는 데 사용된다. 소음이 많은 데이터로부터 파생상품을 계산하는 추가적인 방법이 있다.[23]
참고 항목
참조
- ^ Richard L. Borbled, J. Douglas Fmagers(2000), 수치 분석(7차 에드), Brooks/Cole. ISBN0-534-38216-9.
- ^ Katherine Klippert Merseth (2003). Windows on Teaching Math: Cases of Middle and Secondary Classrooms. Teachers College Press. p. 34. ISBN 978-0-8077-4279-2.
- ^ Tamara Lefcourt Ruby; James Sellers; Lisa Korf; Jeremy Van Horn; Mike Munn (2014). Kaplan AP Calculus AB & BC 2015. Kaplan Publishing. p. 299. ISBN 978-1-61865-686-5.
- ^ a b 분석 기능의 수치적 차별화, B Fornberg – ACM Transactions on Mathemical Software(TOMS), 1981.
- ^ a b 복합 변수를 사용하여 실제 기능의 파생상품을 추정함, W. 스퀴어, G. 트라프 – SIAM RE뷰, 1998.
- ^ 사우어, 티모시(2012년). 수치 분석. 피어슨. 248페이지.
- ^ C장 5.7의 수치적 조리법에 따른다.
- ^ 263 페이지
- ^ 아브라모위츠 & 스테건, 표 25.2.
- ^ Shilov, George. Elementary Real and Complex Analysis.
- ^ Martins, J. R. R. A.; Sturdza, P.; Alonso, J. J. (2003). "The Complex-Step Derivative Approximation". ACM Transactions on Mathematical Software. 29 (3): 245–262. CiteSeerX 10.1.1.141.8002. doi:10.1145/838250.838251. S2CID 7022422.
- ^ 니콜라스 하이암에 의한 차별화
- ^ Cleve Moler가 게시한 MathWorks 블로그의 기사
- ^ "Archived copy" (PDF). Archived from the original (PDF) on 2014-01-09. Retrieved 2012-11-24.
{{cite web}}
: CS1 maint: 타이틀로 보관된 사본(링크) - ^ Lantoine, G.; Russell, R. P.; Dargent, Th. (2012). "Using multicomplex variables for automatic computation of high-order derivatives". ACM Trans. Math. Softw. 38 (3): 1–21. doi:10.1145/2168773.2168774. S2CID 16253562.
- ^ Verheyleweghen, A. (2014). "Computation of higher-order derivatives using the multi-complex step method" (PDF).
- ^ Bell, I. H. (2019). "mcx (multicomplex algebra library)".
- ^ Ablowitz, M. J., Fokas, A. S.,(2003). 복잡한 변수: 도입 및 적용. 케임브리지 대학 출판부. 체크 정리 2.6.2
- ^ Lyness, J. N.; Moler, C. B. (1967). "Numerical differentiation of analytic functions". SIAM J. Numer. Anal. 4 (2): 202–210. doi:10.1137/0704019.
- ^ Abate, J; Dubner, H (March 1968). "A New Method for Generating Power Series Expansions of Functions". SIAM J. Numer. Anal. 5 (1): 102–112. doi:10.1137/0705008.
- ^ 차동 쿼드러처와 엔지니어링 응용: 엔지니어링 응용 프로그램, Chang Shu, Springer, 2000, ISBN 978-1-85233-209-9
- ^ 고급 차동 4중접법, 잉옌 장, CRC 프레스, 2009, ISBN 978-1-4200-8248-7.
- ^ Ahnert, Karsten; Abel, Markus. "Numerical differentiation of experimental data: local versus global methods". Computer Physics Communications. 177 (10): 764–774. doi:10.1016/j.cpc.2007.03.009. ISSN 0010-4655.
외부 링크
![]() | Wikibooks에는 다음과 같은 주제의 책이 있다. 수치 방법 |
- wolfram.com과의 수치적 차이점
- 수치 차별화 리소스: 교과서 노트, PPT, 워크시트, STEM 학부를 위한 수치적 방법에서의 시청각 유튜브 강의
- 네빌 공정을 사용하여 일련의 간단한 다항식 근사로부터 추론하는 함수의 수치적 분화를 위한 포트란 코드.
- NAG 라이브러리 숫자 구분 루틴
- http://graphulator.com 미적분 함수가 있는 온라인 수치 그래프 계산기.
- 부스트. 유한 차이점 및 복합 단계 파생물을 포함한 수학 수치적 차이
- 복잡한 단계 차별화
- SIAM 뉴스의 Nicholas Higham의 차별화
- Findiff Python 프로젝트