stringtranslate.com

Método multipolar rápido

El método multipolar rápido ( FMM ) es una técnica numérica que se desarrolló para acelerar el cálculo de fuerzas de largo alcance en el problema de n cuerpos . Para ello, expande la función de Green del sistema mediante una expansión multipolar , que permite agrupar fuentes que se encuentran muy juntas y tratarlas como si fueran una sola fuente. [1]

El FMM también se ha aplicado para acelerar el solucionador iterativo en el método de los momentos (MOM) aplicado a problemas electromagnéticos computacionales . [2] El FMM fue introducido por primera vez de esta manera por Leslie Greengard y Vladimir Rokhlin Jr. [3] y se basa en la expansión multipolar de la ecuación vectorial de Helmholtz . Al tratar las interacciones entre funciones de base lejanas utilizando el FMM, no es necesario almacenar explícitamente los elementos de la matriz correspondientes, lo que resulta en una reducción significativa de la memoria requerida. Si luego se aplica el FMM de manera jerárquica, puede mejorar la complejidad de los productos matriz-vector en un solucionador iterativo desde aritmética finita, es decir, dada una tolerancia , se garantiza que el producto matriz-vector estará dentro de una tolerancia . La dependencia de la complejidad de la tolerancia es , es decir, la complejidad de FMM es . Esto ha ampliado el área de aplicabilidad del MOM a problemas mucho mayores de los que antes eran posibles.

Se dice que el FMM, presentado por Rokhlin Jr. y Greengard, es uno de los diez mejores algoritmos del siglo XX. [4] El algoritmo FMM reduce la complejidad de la multiplicación matriz-vector que involucra un cierto tipo de matriz densa que puede surgir de muchos sistemas físicos.

El FMM también se ha aplicado para tratar eficientemente la interacción de Coulomb en el método Hartree-Fock y los cálculos de la teoría funcional de la densidad en química cuántica .

Bosquejo del algoritmo

Método multipolar rápido: interpolación de un polo en x=3 con un polinomio de Chebyshev de orden 5

En su forma más simple, el método multipolar rápido busca evaluar la siguiente función:

,

donde son un conjunto de polos y son los pesos de los polos correspondientes en un conjunto de puntos con . Esta es la forma unidimensional del problema, pero el algoritmo se puede generalizar fácilmente a múltiples dimensiones y núcleos distintos de .

Ingenuamente, evaluar puntos requiere operaciones. La observación crucial detrás del método multipolar rápido es que si la distancia entre y es lo suficientemente grande, entonces está bien aproximada mediante un polinomio . Específicamente, sean los nodos de orden de Chebyshev y sean los polinomios de base de Lagrange correspondientes . Se puede demostrar que el polinomio de interpolación:

converge rápidamente con orden polinomial, siempre que el polo esté lo suficientemente lejos de la región de interpolación, y . Esto se conoce como "expansión local".

La aceleración del método multipolar rápido se deriva de esta interpolación: siempre que todos los polos estén "lejos", evaluamos la suma sólo en los nodos de Chebyshev con un coste de , y luego la interpolamos en todos los puntos deseados a un costo de :

Dado que , ¿dónde está la tolerancia numérica?, el costo total es .

Para garantizar que los polos estén realmente bien separados, se subdivide recursivamente el intervalo unitario de manera que sólo los polos terminen en cada intervalo. Luego se utiliza la fórmula explícita dentro de cada intervalo y la interpolación para todos los intervalos que están bien separados. Esto no estropea el escalado, ya que se necesitan en la mayoría de los niveles dentro de la tolerancia dada.

Ver también

Referencias

  1. ^ Rokhlin, Vladimir (1985). "Solución Rápida de Ecuaciones Integrales de la Teoría del Potencial Clásica". J. Física Computacional vol. 60, págs. 187-207.
  2. ^ Nader Engheta , William D. Murphy, Vladimir Rokhlin y Marius Vassiliou (1992), “El método multipolar rápido para el cálculo de la dispersión electromagnética”, IEEE Transactions on Antennas and Propagation 40, 634–641.
  3. ^ "El método rápido multipolar". Archivado desde el original el 3 de junio de 2011 . Consultado el 10 de diciembre de 2010 .
  4. ^ Cipra, Barry Arthur (16 de mayo de 2000). "Lo mejor del siglo XX: los editores nombran los 10 algoritmos principales". Noticias SIAM . Sociedad de Matemática Industrial y Aplicada . 33 (4): 2 . Consultado el 27 de febrero de 2019 .

enlaces externos

Software libre