Articulo de referencia

Método pseudoespectral

Los métodos pseudoespectrales [ 1 ] , también conocidos como métodos de representación de variables discretas (DVR), son una clase de métodos numéricos utilizados en matemáticas...

Los métodos pseudoespectrales [ 1 ] , también conocidos como métodos de representación de variables discretas (DVR), son una clase de métodos numéricos utilizados en matemáticas aplicadas y computación científica para la solución de ecuaciones diferenciales parciales . Están estrechamente relacionados con los métodos espectrales , pero complementan la base con una base pseudoespectral adicional, que permite la representación de funciones en una cuadrícula de cuadratura . Esto simplifica la evaluación de ciertos operadores y puede acelerar considerablemente el cálculo cuando se utilizan algoritmos rápidos como la transformada rápida de Fourier .

Motivación con un ejemplo concreto

Consideremos el problema de valor inicial.

itψ(incógnita,t)=[2incógnita2+V(incógnita)]ψ(incógnita,t),ψ(t0)=ψ0{\displaystyle i{\frac {\partial }{\partial t}}\psi (x,t)={\Bigl [}-{\frac {\partial ^{2}}{\partial x^{2}}}+V(x){\Bigr ]}\psi (x,t),\qquad \qquad \psi (t_{0})=\psi _{0}}

con condiciones periódicasψ(incógnita+1,t)=ψ(incógnita,t){\displaystyle \psi (x+1,t)=\psi (x,t)}Este ejemplo específico es la ecuación de Schrödinger para una partícula en un potencialV(incógnita){\displaystyle V(x)}, pero la estructura es más general. En muchas ecuaciones diferenciales parciales prácticas, se tiene un término que involucra derivadas (como una contribución de energía cinética) y una multiplicación por una función (por ejemplo, un potencial).

En el método espectral, la soluciónψ{\displaystyle \psi }se expande en un conjunto adecuado de funciones base, por ejemplo ondas planas,

ψ(incógnita,t)=12πnortedonorte(t)mi2πinorteincógnita.{\displaystyle \psi (x,t)={\frac {1}{\sqrt {2\pi }}}\sum _{n}c_{n}(t)e^{2\pi inx}.}

La inserción e igualación de coeficientes idénticos produce un conjunto de ecuaciones diferenciales ordinarias para los coeficientes,

iddtdonorte(t)=(2πnorte)2donorte+kVnortekdok,{\displaystyle i{\frac {d}{dt}}c_{n}(t)=(2\pi n)^{2}c_{n}+\sum _{k}V_{nk}c_{k},}

donde los elementosVnortek{\displaystyle V_{nk}}se calculan mediante la transformada de Fourier explícita

Vnortek=01V(incógnita) mi2πi(knorte)incógnitadincógnita.{\displaystyle V_{nk}=\int _{0}^{1}V(x)\ e^{2\pi i(kn)x}dx.}

La solución se obtendría entonces truncando la expansión anorte{\displaystyle N}funciones base y encontrar una solución para ladonorte(t){\displaystyle c_{n}(t)}En general, esto se realiza mediante métodos numéricos , como los métodos de Runge-Kutta . Para las soluciones numéricas, el lado derecho de la ecuación diferencial ordinaria debe evaluarse repetidamente en diferentes pasos de tiempo. En este punto, el método espectral tiene un problema importante con el término potencial.V(incógnita){\displaystyle V(x)}.

En la representación espectral, la multiplicación con la funciónV(incógnita){\displaystyle V(x)}se transforma en una multiplicación vector-matriz, que escala comonorte2{\displaystyle N^{2}}Además, los elementos de la matrizVnortek{\displaystyle V_{nk}}Es necesario evaluarlos explícitamente antes de poder resolver la ecuación diferencial para los coeficientes, lo que requiere un paso adicional.

En el método pseudoespectral, este término se evalúa de manera diferente. Dados los coeficientesdonorte(t){\displaystyle c_{n}(t)}, una transformada discreta de Fourier inversa produce el valor de la funciónψ{\displaystyle \psi }en puntos discretos de la cuadrículaincógnitaj=2πj/norte{\displaystyle x_{j}=2\pi j/N}En estos puntos de la cuadrícula, la función se multiplica entonces,ψ(incógnitai,t)=V(incógnitai)ψ(incógnitai,t){\displaystyle \psi '(x_{i},t)=V(x_{i})\psi (x_{i},t)}y el resultado transformado de Fourier de nuevo. Esto produce un nuevo conjunto de coeficientes.donorte(t){\displaystyle c'_{n}(t)}que se utilizan en lugar del producto de matrizkVnortekdok(t){\displaystyle \sum _ {k}V_ {nk}c_ {k} (t)}.

Se puede demostrar que ambos métodos tienen una precisión similar. Sin embargo, el método pseudoespectral permite el uso de una transformada rápida de Fourier, que escala comoO(nortelnnorte){\displaystyle O(N\ln N)}y, por lo tanto, es significativamente más eficiente que la multiplicación de matrices. Además, la funciónV(incógnita){\displaystyle V(x)}puede utilizarse directamente sin evaluar ninguna integral adicional.

Discusión técnica

De forma más abstracta, el método pseudoespectral se ocupa de la multiplicación de dos funciones.V(incógnita){\displaystyle V(x)}yF(incógnita){\displaystyle f(x)}como parte de una ecuación diferencial parcial. Para simplificar la notación, se omite la dependencia temporal. Conceptualmente, consta de tres pasos:

  1. F(incógnita),F~(incógnita)=V(incógnita)F(incógnita){\displaystyle f(x),{\tilde {f}}(x)=V(x)f(x)}se expanden en un conjunto finito de funciones base (este es el método espectral ).
  2. Para un conjunto dado de funciones base, se busca una cuadratura que convierta los productos escalares de estas funciones base en una suma ponderada sobre los puntos de la cuadrícula.
  3. El producto se calcula multiplicandoV,F{\displaystyle V,f}en cada punto de la cuadrícula.

Expansión en base

Las funcionesF,F~{\displaystyle f,{\tilde {f}}}puede expandirse en una base finita{ϕnorte}norte=0,,norte{\displaystyle \{\phi _{n}\}_{n=0,\ldots ,N}}como

F(incógnita)=norte=0nortedonorteϕnorte(incógnita){\displaystyle f(x)=\sum _{n=0}^{N}c_{n}\phi _{n}(x)}
F~(incógnita)=norte=0nortedo~norteϕnorte(incógnita){\displaystyle {\tilde {f}}(x)=\sum _{n=0}^{N}{\tilde {c}}_{n}\phi _{n}(x)}

Para simplificar, supongamos que la base es ortogonal y normalizada,ϕnorte,ϕmetro=δnortemetro{\displaystyle \langle \phi _{n},\phi _{m}\rangle =\delta _{nm}}utilizando el producto internoF,gramo=abF(incógnita)gramo(incógnita)¯dincógnita{\displaystyle \langle f,g\rangle =\int _{a}^{b}f(x){\overline {g(x)}}dx}con límites apropiadosa,b{\displaystyle a,b}Los coeficientes se obtienen entonces mediante

donorte=F,ϕnorte{\displaystyle c_{n}=\langle f,\phi _{n}\rangle }
do~norte=F~,ϕnorte{\displaystyle {\tilde {c}}_{n}=\langle {\tilde {f}},\phi _{n}\rangle }

Un poco de cálculo da como resultado entonces

do~norte=metro=0norteVnortemetrodometro{\displaystyle {\tilde {c}}_{n}=\sum _{m=0}^{N}V_{n-m}c_{m}}

conVnortemetro=Vϕmetro,ϕnorte{\displaystyle V_{n-m}=\langle V\phi _{m},\phi _{n}\rangle }. Esto constituye la base del método espectral. Para distinguir la base delϕnorte{\displaystyle \phi _{n}}A partir de la base de cuadratura, la expansión a veces se denomina Representación de Base Finita (RBF).

Cuadratura

Para una base dada{ϕnorte}{\displaystyle \{\phi _{n}\}}y número denorte+1{\displaystyle N+1}funciones base, uno puede intentar encontrar una cuadratura, es decir, un conjunto denorte+1{\displaystyle N+1}puntos y pesos tales que

ϕnorte,ϕmetro=i=0nortewiϕnorte(incógnitai)ϕmetro(incógnitai)¯norte,metro=0,,norte{\displaystyle \langle \phi _{n},\phi _{m}\rangle =\sum _{i=0}^{N}w_{i}\phi _{n}(x_{i}){\overline {\phi _{m}(x_{i})}}\qquad \qquad n,m=0,\ldots ,N}

Ejemplos especiales son la cuadratura gaussiana para polinomios y la transformada discreta de Fourier para ondas planas. Cabe destacar que los puntos de la cuadrícula y los pesos,incógnitai,wi{\displaystyle x_{i},w_{i}}son una función de la base y del númeronorte{\displaystyle N}.

La cuadratura permite una representación numérica alternativa de la función.F(incógnita),F~(incógnita){\displaystyle f(x),{\tilde {f}}(x)}a través de su valor en los puntos de la cuadrícula. Esta representación a veces se denomina Representación de Variables Discretas (DVR) y es completamente equivalente a la expansión en la base.

F(incógnitai)=norte=0nortedonorteϕnorte(incógnitai){\displaystyle f(x_{i})=\sum _{n=0}^{N}c_{n}\phi _{n}(x_{i})}
donorte=F,ϕnorte=i=0nortewiF(incógnitai)ϕnorte(incógnitai)¯{\displaystyle c_{n}=\langle f,\phi _{n}\rangle =\sum _{i=0}^{N}w_{i}f(x_{i}){\overline {\phi _{n}(x_{i})}}}

Multiplicación

La multiplicación con la funciónV(incógnita){\displaystyle V(x)}Luego se realiza en cada punto de la cuadrícula,

F~(incógnitai)=V(incógnitai)F(incógnitai).{\displaystyle {\tilde {f}}(x_{i})=V(x_{i})f(x_{i}).}

Esto generalmente introduce una aproximación adicional. Para ver esto, podemos calcular uno de los coeficientes.do~norte{\displaystyle {\tilde {c}}_{n}}:

do~norte=F~,ϕnorte=iwiF~(incógnitai)ϕnorte(incógnitai)¯=iwiV(incógnitai)F(incógnitai)ϕnorte(incógnitai)¯{\displaystyle {\tilde {c}}_{n}=\langle {\tilde {f}},\phi _{n}\rangle =\sum _{i}w_{i}{\tilde {f}}(x_{i}){\overline {\phi _{n}(x_{i})}}=\sum _{i}w_{i}V(x_{i})f(x_{i}){\overline {\phi _{n}(x_{i})}}}

Sin embargo, utilizando el método espectral, el mismo coeficiente seríado~norte=VF,ϕnorte{\displaystyle {\tilde {c}}_{n}=\langle Vf,\phi _{n}\rangle }El método pseudoespectral introduce así la aproximación adicional.

VF,ϕnorteiwiV(incógnitai)F(incógnitai)ϕnorte(incógnitai)¯.{\displaystyle \langle Vf,\phi _{n}\rangle \approx \sum _{i}w_{i}V(x_{i})f(x_{i}){\overline {\phi _{n}(x_{i})}}.}

Si el productoVF{\displaystyle Vf}puede representarse con el conjunto finito dado de funciones base, la ecuación anterior es exacta debido a la cuadratura elegida.

Esquemas pseudoespectrales especiales

El método de Fourier

Si se cumplen condiciones de contorno periódicas con período[0,L]{\displaystyle [0,L]}se imponen al sistema, las funciones base pueden generarse mediante ondas planas,

ϕnorte(incógnita)=1Lmiiknorteincógnita{\displaystyle \phi _{n}(x)={\frac {1}{\sqrt {L}}}e^{-\imath k_{n}x}}

conknorte=(1)nortenorte/22π/L{\displaystyle k_{n}=(-1)^{n}\lceil n/2\rceil 2\pi /L}, dónde{\displaystyle \lceil \cdot \rceil }es la función techo .

La cuadratura para un corte ennortemáximo=norte{\displaystyle n_{\text{max}}=N}viene dada por la transformada discreta de Fourier . Los puntos de la cuadrícula están igualmente espaciados,incógnitai=iΔincógnita{\displaystyle x_{i}=i\Delta x}con espaciadoΔincógnita=L/(norte+1){\displaystyle \Delta x=L/(N+1)}y los pesos constantes sonwi=Δincógnita{\displaystyle w_{i}=\Delta x}.

Para la discusión del error, tenga en cuenta que el producto de dos ondas planas es nuevamente una onda plana .ϕa+ϕb=ϕdo{\displaystyle \phi _{a}+\phi _{b}=\phi _{c}}condoa+b{\displaystyle c\leq a+b}. Por lo tanto, cualitativamente, si las funcionesF(incógnita),V(incógnita){\displaystyle f(x),V(x)}puede representarse con suficiente precisión connorteF,norteV{\displaystyle N_{f},N_{V}}funciones base, el método pseudoespectral da resultados precisos sinorteF+norteV{\displaystyle N_{f}+N_{V}}Se utilizan funciones base.

Una expansión en ondas planas a menudo tiene una calidad deficiente y necesita muchas funciones base para converger. Sin embargo, la transformación entre la expansión de base y la representación de la cuadrícula se puede realizar utilizando una transformada rápida de Fourier , que escala favorablemente comonortelnnorte{\displaystyle N\ln N}En consecuencia, las ondas planas son una de las expansiones más comunes que se encuentran con los métodos pseudoespectrales.

Polinomios

Otra expansión común es en polinomios clásicos. Aquí se utiliza la cuadratura gaussiana , que establece que siempre se pueden encontrar pesos.wi{\displaystyle w_{i}}y puntosincógnitai{\displaystyle x_{i}}de tal manera que

abw(incógnita)pag(incógnita)dincógnita=i=0nortewipag(incógnitai){\displaystyle \int _{a}^{b}w(x)p(x)dx=\sum _{i=0}^{N}w_{i}p(x_{i})}

se cumple para cualquier polinomiopag(incógnita){\displaystyle p(x)}de grado2norte+1{\displaystyle 2N+1}o menos. Normalmente, la función de pesow(incógnita){\displaystyle w(x)}y rangosa,b{\displaystyle a,b}se eligen para un problema específico y conducen a una de las diferentes formas de la cuadratura. Para aplicar esto al método pseudoespectral, elegimos funciones base.ϕnorte(incógnita)=w(incógnita)PAGnorte(incógnita){\displaystyle \phi _{n}(x)={\sqrt {w(x)}}P_{n}(x)}, conPAGnorte{\displaystyle P_{n}}siendo un polinomio de gradonorte{\displaystyle n}con la propiedad

abw(incógnita)PAGnorte(incógnita)PAGmetro(incógnita)dincógnita=δmetronorte.{\displaystyle \int _{a}^{b}w(x)P_{n}(x)P_{m}(x)dx=\delta _{mn}.}

En estas condiciones, elϕnorte{\displaystyle \phi _{n}}forman una base ortonormal con respecto al producto escalarF,gramo=abF(incógnita)gramo(incógnita)¯dincógnita{\displaystyle \langle f,g\rangle =\int _{a}^{b}f(x){\overline {g(x)}}dx}Esta base, junto con los puntos de cuadratura, puede utilizarse posteriormente para el método pseudoespectral.

Para la discusión del error, tenga en cuenta que siF{\displaystyle f}está bien representado pornorteF{\displaystyle N_{f}}funciones básicas yV{\displaystyle V}está bien representado por un polinomio de gradonorteV{\displaystyle N_{V}}, su producto puede expandirse en el primeronorteF+norteV{\displaystyle N_{f}+N_{V}}funciones base, y el método pseudoespectral dará resultados precisos para esa cantidad de funciones base.

Estos polinomios aparecen de forma natural en varios problemas estándar. Por ejemplo, el oscilador armónico cuántico se expande idealmente en polinomios de Hermite , y los polinomios de Jacobi se pueden usar para definir las funciones de Legendre asociadas que suelen aparecer en problemas de rotación.

Véase también

Notas

  1. Orszag, Steven A. (septiembre de 1972). "Comparación de la aproximación pseudoespectral y espectral". Estudios en Matemáticas Aplicadas . 51 (3): 253– 259. doi : 10.1002/sapm1972513253 .

Referencias

  • Orszag, Steven A. (1969). "Métodos numéricos para la simulación de la turbulencia". Física de fluidos . 12 (12): II-250. doi : 10.1063/1.1692445 .
  • Gottlieb, David; Orszag, Steven A. (1989). Análisis numérico de métodos espectrales  : teoría y aplicaciones (5.ª  ed. impresa). Filadelfia, Pensilvania: Society for Industrial and Applied Mathematics. ISBN 978-0898710236.
  • Hesthaven, Jan S.; Gottlieb, Sigal ; Gottlieb, David (2007). Métodos espectrales para problemas dependientes del tiempo (1.ª ed. publicada  ). Cambridge [ua]: Cambridge Univ. Press. ISBN 9780521792110.
  • Jie Shen, Tao Tang y Li-Lian Wang (2011) "Métodos espectrales: algoritmos, análisis y aplicaciones" (Springer Series in Computational Mathematics, vol. 41, Springer), ISBN 354071040X.
  • Trefethen, Lloyd N. (2000). Métodos espectrales en MATLAB (3.ª ed. reimpresa  ). Filadelfia, Pa: SIAM. ISBN 978-0-89871-465-4.
  • Fornberg, Bengt (1996). Guía práctica de métodos pseudoespectrales . Cambridge: Cambridge University Press. ISBN 9780511626357.
  • Boyd, John P. (2001). Métodos espectrales de Chebyshev y Fourier (2.ª ed.,  ed. revisada). Mineola, NY: Dover Publications. ISBN 978-0486411835.
  • Funaro, Daniele (1992). Aproximación polinomial de ecuaciones diferenciales . Berlín: Springer-Verlag. ISBN 978-3-540-46783-0.
  • de Frutos, Javier; Novo, Julia (enero de 2000). "Un método de elementos espectrales para las ecuaciones de Navier-Stokes con mayor precisión". SIAM Journal on Numerical Analysis . 38 (3): 799– 819. doi : 10.1137/S0036142999351984 .
  • Claudio, Canuto; M. Yousuff, Hussaini; Alfio, Quarteroni ; Thomas A., Zang (2006). Fundamentos de métodos espectrales en dominios únicos . Berlín: Springer-Verlag. ISBN 978-3-540-30726-6.
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). «Sección 20.7. Métodos espectrales» . Numerical Recipes: The Art of Scientific Computing (3.ª  ed.). Nueva York: Cambridge University Press. ISBN 978-0-521-88068-8.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Pseudo-spectral_method&oldid=1362490806 "