Articulo de referencia

Grupo de renormalización de la matriz de densidad

El grupo de renormalización de la matriz de densidad ( DMRG ) es una técnica numérica variacional ideada para obtener la física de baja energía de sistemas cuánticos de muchos c...

El grupo de renormalización de la matriz de densidad ( DMRG ) es una técnica numérica variacional ideada para obtener la física de baja energía de sistemas cuánticos de muchos cuerpos con alta precisión. Como método variacional , DMRG es un algoritmo eficiente que intenta encontrar la función de onda del estado del producto de matriz de energía más baja de un hamiltoniano. Fue inventado en 1992 por Steven R. White y actualmente es el método más eficiente para sistemas unidimensionales. [1]

Historia

La primera aplicación del DMRG, por Steven R. White y Reinhard Noack, fue un modelo de juguete : encontrar el espectro de una partícula de espín 0 en una caja 1D. [ ¿cuándo? ] Este modelo había sido propuesto por Kenneth G. Wilson como una prueba para cualquier nuevo método de grupo de renormalización , porque todos fallaron con este simple problema. [ ¿cuándo? ] El DMRG superó los problemas de los métodos de grupo de renormalización anteriores al conectar dos bloques con los dos sitios en el medio en lugar de simplemente agregar un solo sitio a un bloque en cada paso, así como al usar la matriz de densidad para identificar los estados más importantes que se deben mantener al final de cada paso. Después de tener éxito con el modelo de juguete , el método DMRG se probó con éxito en el modelo cuántico de Heisenberg .

Principio

El principal problema de la física cuántica de muchos cuerpos es el hecho de que el espacio de Hilbert crece exponencialmente con el tamaño. En otras palabras, si se considera una red, con algún espacio de Hilbert de dimensión en cada sitio de la red, entonces el espacio de Hilbert total tendría dimensión , donde es el número de sitios en la red. Por ejemplo, una cadena de  espín 1/2 de longitud L tiene 2 L grados de libertad. El DMRG es un método iterativo , variacional que reduce los grados de libertad efectivos a los más importantes para un estado objetivo. El estado en el que uno está más interesado es el estado fundamental . d {\estilo de visualización d} d norte Estilo de visualización d^{N}} norte {\estilo de visualización N}

Después de un ciclo de calentamiento [ se necesita una definición ] , el método divide el sistema en dos subsistemas o bloques, que no necesitan tener el mismo tamaño, y dos sitios intermedios. Se ha elegido un conjunto de estados representativos para el bloque durante el calentamiento. Este conjunto de bloques izquierdos + dos sitios + bloques derechos se conoce como el superbloque . Ahora se puede encontrar un candidato para el estado fundamental del superbloque, que es una versión reducida del sistema completo. Puede tener una precisión bastante pobre, pero el método es iterativo y mejora con los pasos siguientes.

Descomposición del sistema en bloques izquierdo y derecho, según DMRG.

El estado fundamental candidato que se ha encontrado se proyecta en el subespacio de Hilbert para cada bloque utilizando una matriz de densidad , de ahí el nombre. De este modo, se actualizan los estados relevantes para cada bloque. [ se necesita más explicación ]

Ahora uno de los bloques crece a expensas del otro y se repite el procedimiento. Cuando el bloque que crece alcanza el tamaño máximo, el otro empieza a crecer en su lugar. Cada vez que volvemos a la situación original (igualdad de tamaños), decimos que se ha completado un barrido . Normalmente, bastan unos pocos barridos para obtener una precisión de una pieza en 10 10 para una red unidimensional.

La barrida del DMRG.

Guía de implementación

La implementación práctica del algoritmo DMRG es un trabajo extenso [ opinión ] . Algunos de los principales trucos computacionales son los siguientes:

  • Dado que el tamaño del hamiltoniano renormalizado suele ser del orden de unos pocos o decenas de miles, mientras que el estado propio buscado es simplemente el estado fundamental, el estado fundamental para el superbloque se obtiene mediante un algoritmo iterativo, como el algoritmo de Lanczos de diagonalización de matrices. Otra opción es el método de Arnoldi , especialmente cuando se trabaja con matrices no hermíticas.
  • El algoritmo de Lanczos suele empezar con la mejor estimación de la solución. Si no hay ninguna estimación disponible, se elige un vector aleatorio. En DMRG, el estado fundamental obtenido en un determinado paso de DMRG, adecuadamente transformado, es una estimación razonable y, por lo tanto, funciona significativamente mejor que un vector de inicio aleatorio en el siguiente paso de DMRG.
  • En sistemas con simetrías, es posible que tengamos números cuánticos conservados, como el espín total en un modelo de Heisenberg. Es conveniente encontrar el estado fundamental dentro de cada uno de los sectores en los que se divide el espacio de Hilbert.

Aplicaciones

El DMRG se ha aplicado con éxito para obtener las propiedades de baja energía de las cadenas de espín: modelo de Ising en un campo transversal, modelo de Heisenberg , etc., sistemas fermiónicos, como el modelo de Hubbard , problemas con impurezas como el efecto Kondo , sistemas de bosones , y la física de puntos cuánticos unidos con hilos cuánticos . También se ha extendido al trabajo sobre grafos de árboles , y ha encontrado aplicaciones en el estudio de dendrímeros . Para sistemas 2D con una de las dimensiones mucho mayor que la otra, el DMRG también es preciso, y ha demostrado ser útil en el estudio de escaleras.

El método se ha ampliado para estudiar la física estadística del equilibrio en 2D y para analizar fenómenos de no equilibrio en 1D.

El DMRG también se ha aplicado al campo de la química cuántica para estudiar sistemas fuertemente correlacionados.

Ejemplo: Modelo cuántico de Heisenberg

Consideremos un algoritmo DMRG "infinito" para la cadena cuántica antiferromagnética de Heisenberg. La receta se puede aplicar para cualquier red unidimensional invariante en la traslación . S = 1 {\estilo de visualización S=1}

DMRG es una técnica de grupo de renormalización porque ofrece un truncamiento eficiente del espacio de Hilbert de sistemas cuánticos unidimensionales.

Punto de partida

Para simular una cadena infinita, se empieza con cuatro sitios. El primero es el sitio del bloque , el último el sitio del bloque del universo y los restantes son los sitios agregados , el de la derecha se agrega al sitio del bloque del universo y el otro al sitio del bloque.

El espacio de Hilbert para el sitio único es con la base . Con esta base los operadores de espín son , y para el sitio único. Para cada bloque, los dos bloques y los dos sitios, existe su propio espacio de Hilbert , su base ( ) y sus propios operadores donde yo {\displaystyle {\mathfrak {H}}} { | S , S el } { | 1 , 1 , | 1 , 0 , | 1 , 1 } {\displaystyle \{|S,S_{z}\rangle \}\equiv \{|1,1\rangle ,|1,0\rangle ,|1,-1\rangle \}} S incógnita Estilo de visualización S_{x} S y Estilo de visualización S_{y}} S el Estilo de visualización S_ {z}} yo b {\displaystyle {\mathfrak {H}}_{b}} { | el i } {\displaystyle \{|w_{i}\rangle \}} i : 1 oscuro ( yo b ) {\displaystyle i:1\puntos \dim({\mathfrak {H}}_{b})} Oh b : yo b yo b {\displaystyle O_{b}:{\mathfrak {H}}_{b}\rightarrow {\mathfrak {H}}_{b}}

  • bloquear: , , , , , yo B {\displaystyle {\mathfrak {H}}_{B}} { | u i } {\displaystyle \{|u_{i}\rangle \}} H B {\displaystyle H_{B}} S x B {\displaystyle S_{x_{B}}} S y B {\displaystyle S_{y_{B}}} S z B {\displaystyle S_{z_{B}}}
  • lado izquierdo: , , , , H l {\displaystyle {\mathfrak {H}}_{l}} { | t i } {\displaystyle \{|t_{i}\rangle \}} S x l {\displaystyle S_{x_{l}}} S y l {\displaystyle S_{y_{l}}} S z l {\displaystyle S_{z_{l}}}
  • sitio derecho: , , , , H r {\displaystyle {\mathfrak {H}}_{r}} { | s i } {\displaystyle \{|s_{i}\rangle \}} S x r {\displaystyle S_{x_{r}}} S y r {\displaystyle S_{y_{r}}} S z r {\displaystyle S_{z_{r}}}
  • universo: , , , , , H U {\displaystyle {\mathfrak {H}}_{U}} { | r i } {\displaystyle \{|r_{i}\rangle \}} H U {\displaystyle H_{U}} S x U {\displaystyle S_{x_{U}}} S y U {\displaystyle S_{y_{U}}} S z U {\displaystyle S_{z_{U}}}

En el punto de partida, los cuatro espacios de Hilbert son equivalentes a , todos los operadores de espín son equivalentes a , y y . En las siguientes iteraciones, esto solo es cierto para los sitios izquierdo y derecho. H {\displaystyle {\mathfrak {H}}} S x {\displaystyle S_{x}} S y {\displaystyle S_{y}} S z {\displaystyle S_{z}} H B = H U = 0 {\displaystyle H_{B}=H_{U}=0}

Paso 1: Formar la matriz hamiltoniana para el superbloque

Los ingredientes son los cuatro operadores de bloque y los cuatro operadores de bloque de universo, que en la primera iteración son matrices , los tres operadores de espín de sitio izquierdo y los tres operadores de espín de sitio derecho, que siempre son matrices. La matriz hamiltoniana del superbloque (la cadena), que en la primera iteración tiene solo cuatro sitios, está formada por estos operadores. En el modelo antiferromagnético de Heisenberg S=1 el hamiltoniano es: 3 × 3 {\displaystyle 3\times 3} 3 × 3 {\displaystyle 3\times 3}

H S B = J i , j S x i S x j + S y i S y j + S z i S z j {\displaystyle \mathbf {H} _{SB}=-J\sum _{\langle i,j\rangle }\mathbf {S} _{x_{i}}\mathbf {S} _{x_{j}}+\mathbf {S} _{y_{i}}\mathbf {S} _{y_{j}}+\mathbf {S} _{z_{i}}\mathbf {S} _{z_{j}}}

Estos operadores viven en el espacio de estados del superbloque: , la base es . Por ejemplo: (convención): H S B = H B H l H r H U {\displaystyle {\mathfrak {H}}_{SB}={\mathfrak {H}}_{B}\otimes {\mathfrak {H}}_{l}\otimes {\mathfrak {H}}_{r}\otimes {\mathfrak {H}}_{U}} { | f = | u | t | s | r } {\displaystyle \{|f\rangle =|u\rangle \otimes |t\rangle \otimes |s\rangle \otimes |r\rangle \}}

| 1000 0 | f 1 = | u 1 , t 1 , s 1 , r 1 | 100 , 100 , 100 , 100 {\displaystyle |1000\dots 0\rangle \equiv |f_{1}\rangle =|u_{1},t_{1},s_{1},r_{1}\rangle \equiv |100,100,100,100\rangle }

| 0100 0 | f 2 = | u 1 , t 1 , s 1 , r 2 | 100 , 100 , 100 , 010 {\displaystyle |0100\dots 0\rangle \equiv |f_{2}\rangle =|u_{1},t_{1},s_{1},r_{2}\rangle \equiv |100,100,100,010\rangle }

El hamiltoniano en la forma DMRG es (fijamos ): J = 1 {\displaystyle J=-1}

H S B = H B + H U + i , j S x i S x j + S y i S y j + S z i S z j {\displaystyle \mathbf {H} _{SB}=\mathbf {H} _{B}+\mathbf {H} _{U}+\sum _{\langle i,j\rangle }\mathbf {S} _{x_{i}}\mathbf {S} _{x_{j}}+\mathbf {S} _{y_{i}}\mathbf {S} _{y_{j}}+\mathbf {S} _{z_{i}}\mathbf {S} _{z_{j}}}

Los operadores son matrices , por ejemplo: ( d 3 3 d ) × ( d 3 3 d ) {\displaystyle (d*3*3*d)\times (d*3*3*d)} d = dim ( H B ) dim ( H U ) {\displaystyle d=\dim({\mathfrak {H}}_{B})\equiv \dim({\mathfrak {H}}_{U})}

f | H B | f u , t , s , r | H B I I I | u , t , s , r {\displaystyle \langle f|\mathbf {H} _{B}|f'\rangle \equiv \langle u,t,s,r|H_{B}\otimes \mathbb {I} \otimes \mathbb {I} \otimes \mathbb {I} |u',t',s',r'\rangle }

S x B S x l = S x B I I S x l I I I I = S x B S x l I I {\displaystyle \mathbf {S} _{x_{B}}\mathbf {S} _{x_{l}}=S_{x_{B}}\mathbb {I} \otimes \mathbb {I} S_{x_{l}}\otimes \mathbb {I} \mathbb {I} \otimes \mathbb {I} \mathbb {I} =S_{x_{B}}\otimes S_{x_{l}}\otimes \mathbb {I} \otimes \mathbb {I} }

Paso 2: Diagonalizar el hamiltoniano del superbloque

En este punto, debe elegir el estado propio del hamiltoniano para el que se calculan algunos observables , este es el estado objetivo . Al principio, puede elegir el estado fundamental y utilizar algún algoritmo avanzado para encontrarlo, uno de ellos se describe en:

Este paso es la parte del algoritmo que requiere más tiempo.

Si es el estado objetivo, el valor esperado de varios operadores se puede medir en este punto usando . | Ψ = Ψ i , j , k , w | u i , t j , s k , r w {\displaystyle |\Psi \rangle =\sum \Psi _{i,j,k,w}|u_{i},t_{j},s_{k},r_{w}\rangle } | Ψ {\displaystyle |\Psi \rangle }

Paso 3: Reducir la matriz de densidad

Forme la matriz de densidad reducida para los dos primeros sistemas de bloques, el bloque y el sitio izquierdo. Por definición, es la matriz: ρ {\displaystyle \rho } ( d 3 ) × ( d 3 ) {\displaystyle (d*3)\times (d*3)} ρ i , j ; i , j k , w Ψ i , j , k , w Ψ i , j , k , w {\displaystyle \rho _{i,j;i',j'}\equiv \sum _{k,w}\Psi _{i,j,k,w}\Psi _{i',j',k,w}^{*}}

Diagonalizar y formar la matriz , cuyas filas son los vectores propios asociados a los mayores valores propios de . Por lo tanto, está formada por los estados propios más significativos de la matriz de densidad reducida. Se elige mirando el parámetro : . ρ {\displaystyle \rho } m × ( d 3 ) {\displaystyle m\times (d*3)} T {\displaystyle T} m {\displaystyle m} m {\displaystyle m} e α {\displaystyle e_{\alpha }} ρ {\displaystyle \rho } T {\displaystyle T} m {\displaystyle m} P m α = 1 m e α {\displaystyle P_{m}\equiv \sum _{\alpha =1}^{m}e_{\alpha }} 1 P m 0 {\displaystyle 1-P_{m}\cong 0}

Paso 4: Nuevos operadores de bloques y de bloques de universo

Formar la representación matricial de los operadores para el sistema compuesto de bloque y sitio izquierdo, y para el sistema compuesto de sitio derecho y bloque-universo, por ejemplo: ( d 3 ) × ( d 3 ) {\displaystyle (d*3)\times (d*3)}

H B l = H B I + S x B S x l + S y B S y l + S z B S z l {\displaystyle H_{B-l}=H_{B}\otimes \mathbb {I} +S_{x_{B}}\otimes S_{x_{l}}+S_{y_{B}}\otimes S_{y_{l}}+S_{z_{B}}\otimes S_{z_{l}}}

S x B l = I S x l {\displaystyle S_{x_{B-l}}=\mathbb {I} \otimes S_{x_{l}}}

H r U = I H U + S x r S x U + S y r S y U + S z r S z U {\displaystyle H_{r-U}=\mathbb {I} \otimes H_{U}+S_{x_{r}}\otimes S_{x_{U}}+S_{y_{r}}\otimes S_{y_{U}}+S_{z_{r}}\otimes S_{z_{U}}}

S x r U = S x r I {\displaystyle S_{x_{r-U}}=S_{x_{r}}\otimes \mathbb {I} }

Ahora, forme las representaciones matriciales del nuevo bloque y los operadores universo-bloque, forme un nuevo bloque cambiando la base con la transformación , por ejemplo: En este punto la iteración finaliza y el algoritmo vuelve al paso 1. m × m {\displaystyle m\times m} T {\displaystyle T} H B = T H B l T S x B = T S x B l T {\displaystyle {\begin{matrix}&H_{B}=TH_{B-l}T^{\dagger }&S_{x_{B}}=TS_{x_{B-l}}T^{\dagger }\end{matrix}}}

El algoritmo se detiene con éxito cuando el observable converge a algún valor.

Ejemplo de producto matricial

El éxito del DMRG para sistemas 1D está relacionado con el hecho de que es un método variacional dentro del espacio de estados de producto de matriz (MPS). Estos son estados de la forma

| Ψ = s 1 s N Tr ( A s 1 A s N ) | s 1 s N {\displaystyle |\Psi \rangle =\sum _{s_{1}\cdots s_{N}}\operatorname {Tr} (A^{s_{1}}\cdots A^{s_{N}})|s_{1}\cdots s_{N}\rangle }

donde son los valores del componente eg z del espín en una cadena de espín, y A s i son matrices de dimensión arbitraria  m . Cuando m  → ∞, la representación se vuelve exacta. Esta teoría fue expuesta por S. Rommer y S. Ostlund en [1]. s 1 s N {\displaystyle s_{1}\cdots s_{N}}

En la aplicación de la química cuántica, representa las cuatro posibilidades de proyección del número cuántico de espín de los dos electrones que pueden ocupar un solo orbital, por lo tanto , donde la primera (segunda) entrada de estos kets corresponde al electrón de espín hacia arriba (hacia abajo). En química cuántica, (para un determinado ) y (para un determinado ) se eligen tradicionalmente como matrices de fila y columna, respectivamente. De esta manera, el resultado de es un valor escalar y la operación de traza es innecesaria. es el número de sitios (básicamente los orbitales) utilizados en la simulación. s i {\displaystyle s_{i}} s i = | 00 , | 10 , | 01 , | 11 {\displaystyle s_{i}=|00\rangle ,|10\rangle ,|01\rangle ,|11\rangle } A s 1 {\displaystyle A^{s_{1}}} s i {\displaystyle s_{i}} A s N {\displaystyle A^{s_{N}}} s N {\displaystyle s_{N}} A s 1 A s N {\displaystyle A^{s_{1}}\ldots A^{s_{N}}} N {\displaystyle N}

Las matrices en el ansatz MPS no son únicas, se puede, por ejemplo, insertar en el medio de , luego definir y , y el estado permanecerá inalterado. Esta libertad de calibre se emplea para transformar las matrices en una forma canónica. Existen tres tipos de forma canónica: (1) forma normalizada a la izquierda, cuando B 1 B {\displaystyle B^{-1}B} A s i A s i + 1 {\displaystyle A^{s_{i}}A^{s_{i+1}}} A ~ s i = A s i B 1 {\displaystyle {\tilde {A}}^{s_{i}}=A^{s_{i}}B^{-1}} A ~ s i + 1 = B A s i + 1 {\displaystyle {\tilde {A}}^{s_{i+1}}=BA^{s_{i+1}}}

s i ( A ~ s i ) A ~ s i = I {\displaystyle \sum _{s_{i}}\left({\tilde {A}}^{s_{i}}\right)^{\dagger }{\tilde {A}}^{s_{i}}=I}

para todos , (2) forma normalizada a la derecha, cuando i {\displaystyle i}

s i A ~ s i ( A ~ s i ) = I {\displaystyle \sum _{s_{i}}{\tilde {A}}^{s_{i}}\left({\tilde {A}}^{s_{i}}\right)^{\dagger }=I}

para todos , y (3) forma canónica mixta cuando existen matrices normalizadas tanto a la izquierda como a la derecha entre las matrices en el ansatz MPS anterior . i {\displaystyle i} N {\displaystyle N}

El objetivo del cálculo DMRG es entonces resolver los elementos de cada una de las matrices. Los llamados algoritmos de un sitio y de dos sitios se han ideado para este propósito. En el algoritmo de un sitio, solo se resuelve una matriz (un sitio) cuyos elementos a la vez. Dos sitios simplemente significa que primero se contraen (multiplican) dos matrices en una sola matriz, y luego se resuelven sus elementos. El algoritmo de dos sitios se propone porque el algoritmo de un sitio es mucho más propenso a quedar atrapado en un mínimo local. Tener el MPS en una de las formas canónicas anteriores tiene la ventaja de hacer que el cálculo sea más favorable: conduce al problema de valor propio ordinario. Sin la canonización, uno se enfrentará a un problema de valor propio generalizado. A s i {\displaystyle A^{s_{i}}}

Extensiones

En 2004 se desarrolló el método de decimación de bloques con evolución temporal para implementar la evolución en tiempo real de los estados de los productos matriciales. La idea se basa en la simulación clásica de un ordenador cuántico . Posteriormente, se ideó un nuevo método para calcular la evolución en tiempo real dentro del formalismo DMRG (véase el artículo de A. Feiguin y SR White [2].

En los últimos años se han presentado algunas propuestas para extender el método a 2D y 3D, ampliando la definición de los estados del producto matricial. Véase este artículo de F. Verstraete e I. Cirac , [3].

Lectura adicional

  • El artículo original, de SR White, [4] o [5]
  • Un libro de texto sobre DMRG y sus orígenes: https://www.springer.com/gp/book/9783540661290
  • Una amplia revisión, por Karen Hallberg , [6].
  • Dos revisiones de Ulrich Schollwöck, una que analiza la formulación original [7] y otra en términos de estados de productos matriciales [8]
  • Tesis doctoral de Javier Rodríguez Laguna [9].
  • Una introducción a DMRG y su extensión dependiente del tiempo [10].
  • Una lista de publicaciones electrónicas del DMRG en arxiv.org [11].
  • Un artículo de revisión sobre DMRG para la química cuántica ab initio [12].
  • Un vídeo de introducción sobre DMRG para la química cuántica ab initio [13].
  • White, Steven R.; Huse, David A. (1993-08-01). "Estudio numérico de grupos de renormalización de estados propios de baja altitud de la cadena antiferromagnética S=1 de Heisenberg". Physical Review B . 48 (6). American Physical Society (APS): 3844–3852. Bibcode :1993PhRvB..48.3844W. doi :10.1103/physrevb.48.3844. ISSN  0163-1829. PMID  10008834.
  • The Matrix Product Toolkit: un conjunto de herramientas GPL gratuito para manipular estados de productos matriciales finitos e infinitos escrito en C++ [14]
  • Uni10: una biblioteca que implementa numerosos algoritmos de redes tensoriales (DMRG, TEBD, MERA, PEPS ...) en C++
  • Powder with Power: una distribución gratuita de código DMRG dependiente del tiempo escrito en Fortran [15] Archivado el 4 de diciembre de 2017 en Wayback Machine
  • El Proyecto ALPS: una distribución gratuita de código DMRG independiente del tiempo y códigos Monte Carlo cuánticos escritos en C++ [16]
  • DMRG++: una implementación libre de DMRG escrita en C++ [17]
  • La biblioteca ITensor (Intelligent Tensor): una biblioteca gratuita para realizar cálculos DMRG basados ​​en estados de tensores y productos de matriz escritos en C++ [18]
  • OpenMPS: una implementación DMRG de código abierto basada en Matrix Product States escrita en Python/Fortran2003. [19]
  • Programa DMRG de Snake: programa DMRG de código abierto, tDMRG y DMRG de temperatura finita escrito en C++ [20]
  • CheMPS2: código DMRG adaptado al espín y de código abierto (GPL) para química cuántica ab initio escrito en C++ [21]
  • Bloque: marco DMRG de código abierto para química cuántica y modelos hamiltonianos. Admite SU(2) y simetrías generales no abelianas. Escrito en C++.
  • Bloque 2: Una implementación paralela eficiente de DMRG, DMRG dinámico, tdDMRG y DMRG de temperatura finita para modelos y química cuántica. Escrito en Python / C++ .

Véase también

Referencias

  1. ^ Nakatani, Naoki (2018), "Algoritmo de grupo de renormalización de matriz de densidad y estados de producto de matriz", Módulo de referencia en química, ciencias moleculares e ingeniería química , Elsevier, doi :10.1016/b978-0-12-409547-2.11473-8, ISBN 978-0-12-409547-2, consultado el 21 de abril de 2021
Retrieved from "https://en.wikipedia.org/w/index.php?title=Density_matrix_renormalization_group&oldid=1246424606"