7 votos

Complejidad numérica de diferentes enfoques de la química cuántica

Para el curso introductorio para los estudiantes estoy tratando de recoger la breve visión de los diferentes métodos de la química cuántica y su complejidad numérica. El segundo punto está sorprendentemente mal explicado en todos los libros de texto que he podido encontrar. En el mejor de los casos, es una pequeña nota como

El paso más caro desde el punto de vista computacional en el procedimiento Hartree-Fock es la formación de la parte de dos electrones, $G$ de la matriz de Fock; el cálculo de G requiere $O(n^4)$ pasos, donde $n$ es el número de funciones base (con el cribado integral este coste se aproxima asintóticamente a $O(n^2)$ )

[la fuente es "Computación paralela en química cuántica" por C.L. Janssen, 2008], pero no hay estimaciones para todo métodos discutidos en el libro y tengo problemas para encontrar este tipo de información en otro lugar.

Probablemente, existe una discusión más extensa sobre este punto con más detalles (qué parte del algoritmo limita la complejidad, qué se puede hacer para mejorar la escalabilidad, etc.).

2voto

michaeltwofish Puntos 129

Dado que los distintos métodos de cálculo requieren conocimientos algo diferentes, me parece que, para todos y cada uno de los métodos, la complejidad/coste de cálculo se comenta por separado. Por lo tanto, los detalles exactos deben investigarse tal vez en libros dedicados a un método computacional concreto. Pero, por supuesto, hay algunos expertos en la materia que informan colectivamente de estos datos.

El primero y el más reciente papel He encontrado un párrafo en el que se presentan los datos de los diferentes métodos sin ninguna discusión.

... el escalado de otros métodos populares de la Química Cuántica, que va desde $O(N^4)$ para Hartree Fock (HF) a $O(N^5)$ para el MP2, $O(N^6)$ para MP3, y $O(N^7)$ para MP4, CISD(T) y CCSD(T), sigue haciendo prohibitivas las simulaciones a gran escala.

Hay otro papel Encontré que es relativamente viejo (1996) pero la discusión es más completa y los datos se dan en una tabla muy bien.

enter image description here

0 votos

Bueno, incluso con mis limitados conocimientos veo que la tabla no es demasiado precisa. Y es curioso ver en esta tabla registros como $N$ -- $N^3$ . La diferencia en la escala es fundamental y sería bueno saber cuándo $N$ puede ser alcanzado y cuando no puede.

2voto

ninjamike1211 Puntos 19

Para sus métodos básicos de química cuántica de referencia única en el estado de tierra:

HF: ${\cal O}(N^4)$

DFT: ${\cal O}(N^3)$ o ${\cal O}(N^4)$ con intercambio de HF

MP2: ${\cal O}(N^5)$

CCSD: ${\cal O}(N^6)$

y métodos de estado excitado:

TDHF: ${\cal O}(N^4)$

TDDFT: ${\cal O}(N^3)$ o ${\cal O}(N^4)$

$\mathrm{G}_0\mathrm{W}_0$ : ${\cal O}(N^4)$

GW: ${\cal O}(N^5)$

EOMCCSD: ${\cal O}(N^6)$

Probablemente sea más útil saber por qué estos métodos vienen con las mencionadas escalas de costes. Se trata de identificar el paso limitante del cálculo, que suele ser un tipo de contracción tensorial. Tomemos el ejemplo de Hartree-Fock. El paso más costoso viene de la construcción de la interacción efectiva de un cuerpo, que para un cálculo convencional de cáscara cerrada, se ve así

$$f_{\mu \nu} = 2h_{\mu \nu} + g_{\mu \nu}$$

$$g_{\mu \nu} = \sum_{\rho \sigma} \langle \mu \rho | \nu \sigma \rangle P_{\rho \sigma} - \frac{1}{2}\langle \mu \rho | \sigma \nu \rangle P_{\rho \sigma}$$

Podemos identificar el primer término en $g_{\mu\nu}$ como la interacción de Coulomb y el segundo término como el intercambio. Si uno tuviera que desentrañar la contracción tensorial anterior para ejecutarla utilizando algunos bucles do/for anidados, se necesitaría algo así (utilizando Fortran 90 como sintaxis de ejemplo):

do p = 1,N
    do q = 1,N
       K = 0.0
       J = 0.0
       do r = 1,N
          do s = 1,N
             K = K + V(p,q,r,s) * P(q,s)
             J = J + V(p,q,s,r) * P(q,s)
          end do
        end do
        g(p,q) = 2*K + J
    end do
end do

Claramente, el bucle anterior tiene un gasto computacional que escala como $\mathcal{O}(N^4)$ porque tenemos 4 bucles anidados, cada uno de los cuales va desde $1$ a $N$ . Otro ejemplo que podemos hacer es el CCSD. Si se derivan las ecuaciones CCSD (en forma de espinorbital para simplificar), se encuentra que el término más caro es la llamada contribución del diagrama de escalera $ \frac{1}{4}\sum_{mnef} v_{mn}^{ef} t_{ef}^{ij} t_{ab}^{mn}$ donde $v_{pq}^{rs}$ son las integrales de repulsión antisimétrica de los electrones y $t_{ab}^{ij}$ son las amplitudes de los grupos de 2 cuerpos. Si repitiéramos el procedimiento anterior de desenredar ingenuamente en bucles "do" anidados, se encuentra que el diagrama de escalera tiene un coste que escala como $\mathcal{O}(N^8)$ . ¿Por qué entonces el CCSD aparece como $\mathcal{O}(N^6)$ ? La respuesta es que la contracción del tensor puede dividirse en dos pasos. Si primero se calcula $\chi_{mn}^{ij} = \sum_{ef} v_{mn}^{ef} t_{ef}^{ij}$ esta operación se escala como $\mathcal{O}(N^6)$ . Entonces, se calcula $\sum_{mn} \chi_{mn}^{ij} t_{ab}^{mn}$ que también escala como $\mathcal{O}(N^6)$ . Así, se puede calcular el $\mathcal{O}(N^8)$ contracción a costa de no más de múltiples $\mathcal{O}(N^6)$ operaciones, por lo que el CCSD escala como $\mathcal{O}(N^6)$ ¡! Este tipo de factorizaciones que ahorran tiempo se deducen fácilmente mediante la inspección de la forma diagramática de estas ecuaciones de muchos cuerpos (o, uno puede simplemente mirar las ecuaciones tensoriales directamente, sin embargo, es un poco más difícil de esa manera). La factorización óptima es de suma importancia en cualquier código de química cuántica.

Y también se puede reducir el escalado de MP2, TDHF y HF utilizando el ajuste de densidad y las descomposiciones Cholesky en un orden de magnitud a ${\cal O}(N^4)$ y ${\cal O}(N^3)$ respectivamente. También existen aceleradores del tipo de ajuste de la densidad (denominados hipercontracción tensorial por mínimos cuadrados, o LS-THC) que pueden aplicarse a los clústeres acoplados y que reducen la escala de CCSD a ${\cal O}(N^4)$ que es probablemente lo mejor que se puede conseguir. Ciertamente, todos los métodos pueden ver reducida su escala de forma drástica si se introduce algún tipo de localización de orbitales, ya que la empinada escala de la química cuántica proviene del hecho de que incluso los átomos alejados entre sí, por ejemplo en los extremos opuestos de una molécula, acaban interactuando porque la base de MO estándar utilizada está deslocalizada. Sin embargo, la localización tiene el alto coste de perder la ortonormalidad, por lo que generalmente es difícil de implementar. En realidad, una clase de métodos muy prometedores son los de compresión de rangos, como la descomposición de Cholesky, ya que se puede reducir de forma muy robusta el tiempo necesario para las contracciones tensoriales que limitan la velocidad, a la vez que se tiene un error muy controlable y sistemático, algo que no tienen la mayoría de los otros enfoques de "escalado rápido".

0voto

7uc Puntos 36

La siguiente figura muestra la complejidad numérica de diferentes métodos de cálculo de la estructura electrónica.

enter image description here

Para más detalles puede visitar este enlace.

Aquí hay un excelente sitio web para la química computacional.

0 votos

La cifra es incorrecta. Por ejemplo, la complejidad de la DFT puede alcanzar "casi" $O(N)$ en algunas implementaciones (siesta, pulpo). Y es $O(N^2)$ o "ligeramente mejor" en la mayoría de las implementaciones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X