
Las siguientes tablas enumeran la complejidad computacional de varios algoritmos para operaciones matemáticas comunes .
Aquí, la complejidad se refiere a la complejidad temporal de realizar cálculos en una máquina de Turing de cintas múltiples . [ 1 ] Consulte la notación O grande para obtener una explicación de la notación utilizada.
Nota: Debido a la variedad de algoritmos de multiplicación,A continuación se muestra la complejidad del algoritmo de multiplicación elegido.
Funciones aritméticas
Esta tabla enumera la complejidad de las operaciones matemáticas con números enteros.
En modelos computacionales más robustos, específicamente una máquina de punteros y, por consiguiente, también una máquina de acceso aleatorio de costo unitario, es posible multiplicar dos números de n bits en tiempo O ( n ). [ 6 ]
Funciones algebraicas
Aquí consideramos operaciones sobre polinomios y n denota su grado; para los coeficientes usamos un modelo de costo unitario , ignorando el número de bits en un número. En la práctica, esto significa que asumimos que son enteros de máquina. Para esta secciónindica el tiempo necesario para multiplicar dos polinomios de grado como máximo. [ 7 ] : 242
Funciones especiales
Muchos de los métodos de esta sección se presentan en Borwein y Borwein. [ 8 ]
Funciones elementales
Las funciones elementales se construyen componiendo operaciones aritméticas, la función exponencial (), el logaritmo natural (), funciones trigonométricas (), y sus inversas. La complejidad de una función elemental es equivalente a la de su inversa, ya que todas las funciones elementales son analíticas y, por lo tanto, invertibles mediante el método de Newton. En particular, si alguna de ellasoEn el dominio complejo, si se puede calcular con cierta complejidad, entonces esa complejidad es alcanzable para todas las demás funciones elementales.
Abajo, el tamañoSe refiere al número de dígitos de precisión con los que se debe evaluar la función.
Se desconoce sies la complejidad óptima para funciones elementales. La cota inferior más conocida es la cota trivial. .
Funciones no elementales
Constantes matemáticas
Esta tabla muestra la complejidad del cálculo de aproximaciones a las constantes dadas.dígitos correctos.
teoría de números
En la teoría computacional de números se estudian algoritmos para cálculos teóricos de números .
Álgebra matricial
Las siguientes cifras de complejidad suponen que la aritmética con elementos individuales tiene una complejidad O (1), como es el caso de la aritmética de punto flotante de precisión fija o las operaciones en un campo finito .
En 2005, Henry Cohn , Robert Kleinberg , Balázs Szegedy y Chris Umans demostraron que cualquiera de dos conjeturas diferentes implicaría que el exponente de la multiplicación de matrices es 2. [ 38 ]
Transforma
Los algoritmos para calcular transformadas de funciones (en particular, transformadas integrales ) se utilizan ampliamente en todas las áreas de las matemáticas, especialmente en el análisis y el procesamiento de señales .
Notas
- ↑ Esta forma de tiempo subexponencial es válida para todosUna forma más precisa de la complejidad se puede expresar como:
Referencias
- ^ Schönhage , A.; Grotefeld, AFW; Vetter, E. (1994). Algoritmos rápidos: implementación de una máquina de Turing multicinta . BI Wissenschafts-Verlag. ISBN 978-3-411-16891-0OCLC 897602049
- ↑ Knuth 1997
- ↑ Harvey, D.; Van Der Hoeven, J. (2021). "Multiplicación de enteros en tiempo O (n log n)" (PDF) . Annals of Mathematics . 193 (2): 563– 617. doi : 10.4007/annals.2021.193.2.4 . S2CID 109934776 .
- ↑ Klarreich, Erica (diciembre de 2019). "La multiplicación alcanza el límite de velocidad". Commun. ACM . 63 (1): 11– 13. doi : 10.1145/3371387 . S2CID 209450552 .
- ↑ Burnikel, Christoph; Ziegler, Joaquín (1998). División recursiva rápida . Forschungsberichte des Max-Planck-Instituts für Informatik. Sarrebruck: MPI Informatik Bibliothek & Dokumentation. OCLC 246319574 . MPII-98-1-022.
- ^ Schönhage, Arnold (1980). "Máquinas de modificación de almacenamiento". Revista SIAM de Computación . 9 (3): 490– 508. doi : 10.1137/0209036 .
- 1 2 3 4 por zur Gathen, J.; Gerhard, J. (2013). Álgebra informática moderna (3ª ed.). Prensa de la Universidad de Cambridge. ISBN 9781139856065.
- ↑ Borwein, J.; Borwein, P. (1987). Pi y la media móvil simple: Un estudio en teoría analítica de números y complejidad computacional . Wiley. ISBN 978-0-471-83138-9OCLC 755165897
- ↑ Chudnovsky, David; Chudnovsky, Gregory (1988). «Aproximaciones y multiplicación compleja según Ramanujan». Ramanujan revisitado: Actas de la Conferencia del Centenario . Academic Press. págs. 375–472 . ISBN 978-0-01-205856-5.
- ↑ Brent, Richard P. (2014) [1975]. "Métodos de búsqueda de ceros de precisión múltiple y la complejidad de la evaluación de funciones elementales" . En Traub, JF (ed.). Complejidad computacional analítica . Elsevier. pp. 151–176 . arXiv : 1004.3412 . ISBN 978-1-4832-5789-1.
- 1 2 Richard P. Brent (2020), Los hermanos Borwein, Pi y la AGM , Springer Proceedings in Mathematics & Statistics, vol. 313, arXiv : 1802.07558 , doi : 10.1007/978-3-030-36568-4 , ISBN 978-3-030-36567-7, S2CID 214742997
- ↑ Sorenson, J. (1994). "Dos algoritmos rápidos para el MCD". Journal of Algorithms . 16 (1): 110– 144. doi : 10.1006/jagm.1994.1006 .
- ↑ Crandall, R.; Pomerance, C. (2005). "Algoritmo 9.4.7 (Stehlé-Zimmerman binary-recursive-gcd)" . Números primos: una perspectiva computacional (2.ª ed.). Springer. págs. 471–3 . ISBN 978-0-387-28979-3.
- ↑ Möller N (2008). "Sobre el algoritmo de Schönhage y el cálculo del mcd entero subcuadrático" (PDF) . Matemáticas de la Computación . 77 (261): 589– 607. Bibcode : 2008MaCom..77..589M . doi : 10.1090/S0025-5718-07-02017-0 .
- ↑ Bernstein, DJ "Algoritmos más rápidos para encontrar números no cuadrados módulo enteros en el peor de los casos" .
- ↑ Brent, Richard P.; Zimmermann, Paul (2010). "UnAlgoritmo para el símbolo de Jacobi" . Simposio Internacional de Teoría Algorítmica de Números . Springer. págs. 83–95 . arXiv : 1004.2091 . doi : 10.1007/978-3-642-14518-6_10 . ISBN 978-3-642-14518-6. S2CID 7632655 .
- ↑ Borwein, P. (1985). "Sobre la complejidad del cálculo de factoriales". Journal of Algorithms . 6 (3): 376– 380. doi : 10.1016/0196-6774(85)90006-9 .
- ↑ Lenstra jr., HW ; Pomerance, Carl (2019). "Prueba de primalidad con períodos gaussianos" (PDF) . Journal of the European Mathematical Society . 21 (4): 1229– 69. doi : 10.4171/JEMS/861 . hdl : 21.11116/0000-0005-717D-0 .
- ↑ Tao, Terence (2010). "1.11 La prueba de primalidad AKS" . Un épsilon de espacio, II: Páginas del tercer año de un blog matemático . Estudios de posgrado en matemáticas. Vol. 117. Sociedad Matemática Americana. pp. 82–86 . doi : 10.1090/gsm/117 . ISBN 978-0-8218-5280-4. MR 2780010 .
- ↑ Morain, F. (2007). "Implementación de la versión asintóticamente rápida del algoritmo de prueba de primalidad de curvas elípticas". 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 .
- ↑ Pomerance, Carl ; Selfridge, John L .; Wagstaff, Jr., Samuel S. (julio de 1980). "Los pseudoprimos hasta 25·10⁹ " ( PDF) . Mathematics of Computation . 35 (151): 1003–26 . doi : 10.1090/S0025-5718-1980-0572872-7 . JSTOR 2006210 .
- ↑ Baillie, Robert; Wagstaff, Jr., Samuel S. (octubre de 1980). "Lucas Pseudoprimes" (PDF) . Mathematics of Computation . 35 (152): 1391– 1417. doi : 10.1090/S0025-5718-1980-0583518-6 . JSTOR 2006406. MR 0583518 .
- 1 2 Monier, Louis (1980). "Evaluación y comparación de dos algoritmos eficientes de prueba de primalidad probabilística" . Theoretical Computer Science . 12 (1): 97– 108. doi : 10.1016/0304-3975(80)90007-9 . MR 0582244 .
- ↑ Alman, Josh; Williams, Virginia Vassilevska (2020), "Un método láser refinado y una multiplicación de matrices más rápida", 32.º Simposio Anual ACM-SIAM sobre Algoritmos Discretos (SODA 2021) , págs. 522–539 , arXiv : 2010.05846 , doi : 10.1137/1.9781611976465.32 , ISBN 978-1-61197-646-5, S2CID 222290442
- ↑ Davie, AM; Stothers, AJ (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 (2014), Rompiendo la barrera de Coppersmith-Winograd: Multiplicación de matrices en tiempo O(n 2.373 )
- ↑ Le Gall, François (2014), "Potencias de tensores y multiplicación rápida de matrices", Actas del 39.º Simposio Internacional sobre Computación Simbólica y Algebraica — ISSAC '14 , pág. 23, arXiv : 1401.7714 , Bibcode : 2014arXiv1401.7714L , doi : 10.1145/2608628.2627493 , ISBN 9781450325011, S2CID 353236
- 1 2 Le Gall, François; Urrutia, Floren (2018). "Multiplicación mejorada de matrices rectangulares mediante potencias del tensor de Coppersmith-Winograd". En Czumaj, Artur (ed.). Actas del vigésimo noveno simposio anual ACM-SIAM sobre algoritmos discretos . Sociedad de Matemáticas Industriales y Aplicadas. doi : 10.1137/1.9781611975031.67 . ISBN 978-1-61197-503-1. S2CID 33396059 .
- ↑ Pan, V. (1984). "¿Cómo podemos acelerar la multiplicación de matrices?". SIAM Review . 26 (3): 393– 415. doi : 10.1137/1026076 .
- ↑ Knight, Philip A. (mayo de 1995). "Multiplicación rápida de matrices rectangulares y descomposición QR" . Álgebra lineal y sus aplicaciones . 221 : 69–81 . doi : 10.1016/0024-3795(93)00230-w . ISSN 0024-3795 .
- ↑ Rote, G. (2001). «Algoritmos sin división para el determinante y el pfaffiano: enfoques algebraicos y combinatorios» (PDF) . Matemáticas discretas computacionales . Springer. pp. 119–135 . ISBN 3-540-45506-X.
- ↑ Kaltofen, Erich; Villard, Gilles (2005). "Sobre la complejidad del cálculo de determinantes" . Computational Complexity . 13 ( 3–4 ): 91–130 . doi : 10.1007/s00037-004-0185-3 .
- ↑ Bunch, James R.; Hopcroft, John E. (1974). "Factorización triangular e inversión mediante multiplicación rápida de matrices". Mathematics of Computation . 28 (125): 231– 236. doi : 10.1090/S0025-5718-1974-0331751-8 .
- ^ Fraleigh, JB; Beauregard, RA (1987). Álgebra lineal (3ª ed.). Addison-Wesley. pag. 95.ISBN 978-0-201-15459-7.
- ↑ Preparata, FP; Sarwate, DV (abril de 1978). "Un límite mejorado para procesadores paralelos en la inversión rápida de matrices" . Information Processing Letters . 7 (3): 148– 150. doi : 10.1016/0020-0190(78)90079-0 .
- ↑ Galil, Zvi; Pan, Victor (16 de enero de 1989). "Evaluación paralela del determinante y de la inversa de una matriz" . Information Processing Letters . 30 (1): 148– 150. doi : 10.1016/0020-0190(89)90173-7 ., en el cual elEl plazo se reduce
- ↑ Neiger, Vincent; Pernet, Clément (diciembre de 2021). "Cálculo determinista del polinomio característico en el tiempo de la multiplicación de matrices" . Journal of Complexity . 67. arXiv : 2010.04662 . doi : 10.1016/j.jco.2021.101572 .
- ↑ Cohn, Henry; Kleinberg, Robert; Szegedy, Balazs; Umans, Chris (2005). «Algoritmos de teoría de grupos para la multiplicación de matrices». Actas del 46.º Simposio Anual sobre Fundamentos de la Informática . IEEE. págs. 379–388 . arXiv : math.GR/0511460 . doi : 10.1109/SFCS.2005.39 . ISBN 0-7695-2468-0. S2CID 6429088 .
Lecturas adicionales
- Brent, Richard P.; Zimmermann , Paul (2010). Aritmética computacional moderna . Cambridge University Press. ISBN 978-0-521-19469-3.
- Knuth, Donald Ervin (1997). Algoritmos seminuméricos . El arte de la programación informática . Vol. 2 (3.ª ed.). Addison-Wesley. ISBN 978-0-201-89684-8.
- Algoritmos aritméticos informáticos
- Teoría de la complejidad computacional
- Listas relacionadas con las matemáticas
- Algoritmos de teoría de números
- Problemas sin resolver en informática