수학 연산의 계산 복잡성
Computational complexity of mathematical operations다음 표는 일반적인 수학 연산을 위한 다양한 알고리즘의 계산 복잡성을 나타낸다.
여기서 복잡성은 멀티테이프 튜링 기계에서 계산을 수행하는 시간의 복잡성을 가리킨다.[1] 사용된 표기법에 대한 설명은 큰 O 표기법을 참조하십시오.
참고: 다양한 곱셈 알고리즘으로 인해 아래 ) 은 선택한 곱셈 알고리즘의 복잡성을 나타낸다.
산술 함수
작전 | 입력 | 출력 | 알고리즘. | 복잡성 |
---|---|---|---|---|
덧셈 | 의 n -자리 숫자, N 및 N | + - 자리 번호 | 휴대품 포함 학교부록 추가 | |
뺄셈 | 의 n -자리 숫자, N 및 N | + - 자리 번호 | 차입으로 교재 뺄셈 | |
곱하기 | 두 의 n -자리 숫자 | 의 -자리 번호 | 학교책 긴 곱하기 | |
카라츠바 알고리즘 | ||||
3방향 톰-쿡 곱하기 | ||||
-way Toom-Cook 곱하기 | ||||
혼합 레벨 톰-쿡(Knuth 4.3.3-T)[2] | ||||
쇤네게-스트라센 알고리즘 | ||||
총통의 알고리즘[3] | ||||
하비호벤 알고리즘[4][5] | ||||
나누기 | 두 의 n -자리 숫자 | 의 n -자리 숫자 | 교내 장분할 | |
버니켈-지글러 분할-금융[6] 부문 | ||||
뉴턴-랩슨 사단 | ||||
제곱근 | 의 n -자리 숫자 | 의 n -자리 숫자 | 뉴턴의 방법 | |
모듈형 지수 | 두 의 n -자리 정수 및 -bit 지수 | 의 n - 자리 정수 | 반복 곱하기 및 감소 | |
제곱에 의한 지수화 | ||||
몽고메리 축소를 통한 지수화 |
대수 함수
작전 | 입력 | 출력 | 알고리즘. | 복잡성 |
---|---|---|---|---|
다항식 평가 | 크기 계수가 있는 도 n 의 단일 다항식 | 한 개의 고정 크기 번호 | 직접평가 | |
호너의 방법 | ||||
다항식 gcd([ 또는 [ 초과 | 고정 크기 정수 계수를 갖는 도 의 두 다항식 | 최대 의 도 다항식 하나 | 유클리드 알고리즘 | |
고속 유클리드 알고리즘(Lehmer)[7] |
특수 기능
이 절의 많은 방법들은 Borwein & Borwein에서 주어진다.[8]
기본 함수
기본 함수는 산술 연산, 지수 함수( 자연 로그( 삼각 함수(, 및 그 반대로 구성된다. 모든 기본 함수는 뉴턴의 방법에 의해 해석되고 따라서 반전될 수 있기 때문에, 기본 함수의 복잡성은 그 역 함수의 복잡성과 동등하다. 특히 복잡한 도메인에 있는 또는 중 하나를 복잡하게 계산할 수 있다면, 그 복잡성은 다른 모든 기본 기능에 대해 달성할 수 있다.
아래 n n 은 함수를 평가할 정밀도의 자릿수를 가리킨다.
알고리즘. | 적용가능성 | 복잡성 |
---|---|---|
Taylor 시리즈; 반복된 인수 감소(예: ( x)=[ ( ) }}) 및 직접 합계 | ||
테일러 시리즈; FFT 기반 가속 | ||
Taylor 영상 시리즈, 이진 분할 + 비트 버스트 알고리즘[9] | ||
산술-기하계 평균 반복[10] |
( ( n) ) 이 (가) 기본 기능에 대한 최적의 복잡성인지는 알려져 있지 않다. 가장 잘 알려진 하한은 사소한 바인딩 Ω ( (
비원소함수
함수 | 입력 | 알고리즘. | 복잡성 |
---|---|---|---|
감마함수 | -자리 숫자 | 불완전한 감마 함수의 직렬 근사치 | |
고정합리수 | 초기하계 열 | ||
/ m 정수. | 산술-기하계 평균 반복 | ||
초기하 함수 | -자리 숫자 | (Borwein & Borwein에서 설명한 바와 같이) | |
고정합리수 | 초기하계 열 |
수학적 상수
이 표는 주어진 상수에 대한 계산의 복잡성을 정확한 숫자에 제공한다.
상수 | 알고리즘. | 복잡성 |
---|---|---|
황금비율, | 뉴턴의 방법 | |
2, 의 제곱근 | 뉴턴의 방법 | |
오일러 번호, | 지수함수에 대한 Taylor 시리즈의 이진 분할 | |
뉴턴의 자연 로그 반전 | ||
Pi, | 마친 공식에서 아크탄 계열의 2진 분할 | [11] |
가우스-레젠드르 알고리즘 | [11] | |
오일러의 상수, | 스위니의 방법(지수 적분 측면에서 근사치) |
수 이론
숫자 이론 계산을 위한 알고리즘은 계산 번호 이론에서 연구된다.
작전 | 입력 | 출력 | 알고리즘. | 복잡성 |
---|---|---|---|---|
최대공통점 | 두 의 n - 자리 정수 | 최대 의{\자리 수를 가진 정수 | 유클리드 알고리즘 | |
이진 GCD 알고리즘 | ||||
좌우 k-ary 이진 GCD 알고리즘[12] | ||||
슈틸레-짐머만 알고리즘[13] | ||||
쇤네게는 유클리드 강하 알고리즘을 제어[14] | ||||
자코비 기호 | 두 의 n - 자리 정수 | - 또는 | 쇤네게는 유클리드 강하 알고리즘을[15] 제어 | |
슈틸레-짐머만 알고리즘[16] | ||||
요인 | 보다 작은 양의 정수 | 1 ) m - 자리 정수 | 상향식 곱셈 | |
이진 분할 | ||||
의 주요 요인 지수 | ( logm ) 로그 m ) O( m[17] [1] | |||
원시성 검정 | - 자리 정수 | 참 또는 거짓 | AKS 원시성 검정 | ) 또는[18][19] + [20][21] ( 3) Agrawal의 추측을 가정한다 |
타원 곡선 원시성 증명 | 휴리스틱하게[22] | |||
바일리-PSW 원시성 검정 | [23][24] | |||
밀러-라빈 원시성 검정 | [25] | |||
솔로바이-스트라센 원시성 검정 | [25] | |||
정수 인자화 | b -비트 입력 정수 | 요인 집합 | 일반수 필드 체 | [nb 1] |
쇼어 알고리즘 | O( 3) 양자 컴퓨터에 |
행렬 대수
다음의 복잡도 수치는 고정밀 부동 소수점 산술이나 유한장 연산의 경우와 마찬가지로 개별 원소가 있는 산술은 복잡도 O(1)를 갖는다고 가정한다.
작전 | 입력 | 출력 | 알고리즘. | 복잡성 |
---|---|---|---|---|
행렬 곱하기 | 두 의 n n 행렬 | 하나의 행렬 | 학교책 매트릭스 곱하기 | |
스트라센 알고리즘 | ||||
코퍼스미스-위노그라드 알고리즘(은하 알고리즘) | ||||
최적화된 CW 유사 알고리즘[26][27][28][29](은하 알고리즘) | ||||
행렬 곱하기 | 의 n× {\ 행렬과 1 행렬 | p | 학교책 매트릭스 곱하기 | |
행렬 곱하기 | 하나의 × {\ \}\rceil k \rceil \ 행렬 1개(일부 k | 하나의 행렬 | 에 제공된 알고리즘 | )+ ) 여기서 ) 에 대한 상한이 주어진다. |
행렬 반전* | 하나의 행렬 | 하나의 행렬 | 가우스-요르단 제거 | |
스트라센 알고리즘 | ||||
코퍼스미스-위노그라드 알고리즘 | ||||
최적화된 CW 유사 알고리즘 | ||||
단수 값 분해 | 1 행렬 | 1 행렬, 1 행렬 하나의 행렬 | 비다이각화 및 QR 알고리즘 | ( ) |
1 행렬, 하나의 행렬, & 하나의 행렬 | 비다이각화 및 QR 알고리즘 | ( ) | ||
결정인자 | 하나의 행렬 | 한자리 숫자 | 라플라스 확장 | |
무분할 알고리즘[31] | ||||
LU 분해 | ||||
바리스 알고리즘 | ||||
빠른 행렬 곱하기[32] | ||||
백 치환 | 삼각행렬 | 솔루션 | 백 치환[33] |
2005년에 헨리 콘, 로버트 클라인버그, 발라즈 스제게디, 크리스 우만스는 두 가지 다른 추측 중 하나가 행렬 곱셈의 지수가 2라는 것을 암시할 것이라는 것을 보여주었다.[34]
변환
함수 변환 계산 알고리즘(특히 적분 변환)은 수학의 모든 영역, 특히 분석과 신호 처리에서 널리 사용된다.
작전 | 입력 | 출력 | 알고리즘. | 복잡성 |
---|---|---|---|---|
이산 푸리에 변환 | 크기 n n}의 유한 데이터 시퀀스 | 복잡한 숫자의 집합 | 고속 푸리에 변환 |
메모들
- ^ This form of sub-exponential time is valid for all . A more precise form of the complexity can be given as
참조
- ^ a b A. Shönhage, A.F.W. Groteld, E. Better: 빠른 알고리즘—멀티테이프 튜링 머신 구현, BI Wissenschafts-Verlag, Mannheim, 1994
- ^ D. 크누스. 컴퓨터 프로그래밍의 기술 제2권. 제3판, 애디슨-웨슬리 1997.
- ^ 마르틴 총통 빠른 정수 곱하기 [https://web.archive.org/web/20130425232048/http://www.cse.psu.edu/~furer/Paper/mult.pdf 웨이백머신에 2013-04-25 보관. 2007년 6월 11일-13일 미국 캘리포니아주 샌디에이고에서 열린 제39회 연산 이론 ACM 연례 심포지엄의 진행 상황, 페이지 55-67.
- ^ David Harvey, Joris van der Hoeven 정수 곱하기 시간 O(n log n). (2019).
- ^ 에리카 클라라이치, 2019년 곱셈이 제한속도에 도달하다. 코뮌. ACM 63, 1(2019년 12월), 11–13. doi:10.1145/3371387
- ^ 크리스토프 버니켈과 요아힘 지글러 고속 재귀사단 임 스타드왈드, D-사아브루켄 1998.
- ^ "Fast Euclidean algorithm".
- ^ J. Borwein & P. Borwein. Pi와 AGM: 수치해석과 계산 복잡성에 관한 연구 존 와일리 1987.
- ^ 데이빗과 그레고리 추드노브스키. 라마누잔에 따른 근사 및 복잡한 곱셈. Ramanujan은 1988년 학술지에 재방문했다. 페이지 375–472.
- ^ 리처드 P. 브렌트, 다중 정밀 제로 탐색 방법 및 기초 기능 평가의 복잡성: 분석적 계산 복잡성(J. F. Traub, ed.)), Academic Press, New York, 1975, 151–176.
- ^ a b Richard P. Brent (2020), The Borwein Brothers, Pi and the AGM, Springer Proceedings in Mathematics & Statistics, 313, arXiv:1802.07558, doi:10.1007/978-3-030-36568-4, ISBN 978-3-030-36567-7, S2CID 214742997
- ^ J. Sorenson. (1994). "Two Fast GCD Algorithms". Journal of Algorithms. 16 (1): 110–144. doi:10.1006/jagm.1994.1006.
- ^ R. 크랜달 & C. 포머런스. Prime Numbers – 계산적 관점. Springer 2005의 Second Edition.
- ^ Möller N (2008). "On Schönhage's algorithm and subquadratic integer gcd computation" (PDF). Mathematics of Computation. 77 (261): 589–607. Bibcode:2008MaCom..77..589M. doi:10.1090/S0025-5718-07-02017-0.
- ^ Bernstein D J. "Faster Algorithms to Find Non-squares Modulo Worst-case Integers".
- ^ Richard P. Brent; Paul Zimmermann (2010). "An algorithm for the Jacobi symbol". arXiv:1004.2091 [cs.DS].
- ^ Borwein, P. (1985). "On the complexity of calculating factorials". Journal of Algorithms. 6 (3): 376–380. doi:10.1016/0196-6774(85)90006-9.
- ^ H. W. Lenstra Jr.와 Carl Pomerance, "가우스 시기의 기본성 시험", 2005년 7월 20일 예비 버전.
- ^ H. W. 렌스트라 주니어와 칼 포머런스, 2011년 4월 12일판 "웨이백 기계에 보관된 2012-02-25 가우스 기간을 사용한 기본성 테스트".
- ^ Tao, Terence (2010). "1.11 The AKS primality test". An epsilon of room, II: Pages from year three of a mathematical blog. Graduate Studies in Mathematics. 117. Providence, RI: American Mathematical Society. pp. 82–86. doi:10.1090/gsm/117. ISBN 978-0-8218-5280-4. MR 2780010.
- ^ Lenstra, Jr., H.W.; Pomerance, Carl (December 11, 2016). "Primality testing with Gaussian periods" (PDF). Cite 저널은 필요로 한다.
journal=
(도움말) - ^ Morain, F. (2007). "Implementing the asymptotically fast version of the elliptic curve primality proving algorithm". Mathematics of Computation. 76 (257): 493–505. arXiv:math/0502097. Bibcode:2007MaCom..76..493M. doi:10.1090/S0025-5718-06-01890-4. MR 2261033. S2CID 133193.
- ^ Carl Pomerance; John L. Selfridge; Samuel S. Wagstaff, Jr. (July 1980). "The pseudoprimes to 25·109" (PDF). Mathematics of Computation. 35 (151): 1003–1026. doi:10.1090/S0025-5718-1980-0572872-7. JSTOR 2006210.
- ^ Robert Baillie; Samuel S. Wagstaff, Jr. (October 1980). "Lucas Pseudoprimes" (PDF). Mathematics of Computation. 35 (152): 1391–1417. doi:10.1090/S0025-5718-1980-0583518-6. JSTOR 2006406. MR 0583518.
- ^ a b Monier, Louis (1980). "Evaluation and comparison of two efficient probabilistic primality testing algorithms". Theoretical Computer Science. 12 (1): 97–108. doi:10.1016/0304-3975(80)90007-9. MR 0582244.
- ^ Alman, Josh; Williams, Virginia Vassilevska (2020), "A Refined Laser Method and Faster Matrix Multiplication", 32nd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2021), arXiv:2010.05846
- ^ Davie, A.M.; Stothers, A.J. (2013), "Improved bound for complexity of matrix multiplication", Proceedings of the Royal Society of Edinburgh, 143A (2): 351–370, doi:10.1017/S0308210511001648, S2CID 113401430
- ^ Vassilevska Williams, Virginia (2011), Breaking the Coppersmith-Winograd barrier (PDF)
- ^ Le Gall, François (2014), "Powers of tensors and fast matrix multiplication", Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation - ISSAC '14, p. 23, arXiv:1401.7714, Bibcode:2014arXiv1401.7714L, doi:10.1145/2608628.2627493, ISBN 9781450325011, S2CID 353236
- ^ a b Le Gall, François; Urrutia, Floren (2018). "Improved Rectangular Matrix Multiplication using Powers of the Coppersmith-Winograd Tensor". In Czumaj, Artur (ed.). Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics (SIAM). doi:10.1137/1.9781611975031.67. ISBN 978-1-61197-503-1. S2CID 33396059.
- ^ http://page.mi.fu-berlin.de/rote/Papers/pdf/Division-free+algorithms.pdf
- ^ Aho, Alfred V.; Hopcroft, John E.; Ullman, Jeffrey D. (1974), The Design and Analysis of Computer Algorithms, Addison-Wesley, Theorem 6.6, p. 241
- ^ J. B. Faleigh와 R. A. Beauregard, "선형 대수학", Addison-Wesley 출판사, 1987, 페이지 95.
- ^ 헨리 콘, 로버트 클라인버그, 발라즈 스제기디, 크리스 우만스. 매트릭스 곱셈을 위한 그룹-이론적 알고리즘. arXiv:math.GR/0511460. 2005년 10월 23-25일 피츠버그, PA, IEEE 컴퓨터 소사이어티 제 46회 컴퓨터 과학 재단 심포지엄의 진행, 페이지 379–388.
추가 읽기
- Brent, Richard P.; Zimmermann, Paul (2010). Modern Computer Arithmetic. Cambridge University Press. ISBN 978-0-521-19469-3.
- Knuth, Donald Ervin (1997). The Art of Computer Programming. Volume 2: Seminumerical Algorithms (3rd ed.). Addison-Wesley. ISBN 978-0-201-89684-8.