La primera aplicación del DMRG, realizada 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. [ ¿cuando? ] Este modelo había sido propuesto por Kenneth G. Wilson como prueba para cualquier nuevo método de grupo de renormalización , porque todos fallaron con este simple problema. [ ¿cuando? ] El DMRG superó los problemas de los métodos de grupo de renormalización anteriores conectando 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 usando la matriz de densidad para identificar los estados más importantes a mantenerse al final de cada paso. Después del é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 dimensión de Hilbert 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 y variacional que reduce los grados de libertad efectivos a aquellos más importantes para un estado objetivo. El estado que más nos interesa es el estado fundamental .
Después de un ciclo de calentamiento [ definición necesaria ] , el método divide el sistema en dos subsistemas o bloques, que no necesitan tener tamaños iguales, y dos sitios intermedios. Durante el calentamiento se ha elegido un conjunto de estados representativos para el bloque. Este conjunto de bloques de la izquierda + dos sitios + bloques de la derecha se conoce como supermanzana . Ahora se puede encontrar un candidato para el estado fundamental del superbloque, que es una versión reducida del sistema completo. Puede que tenga 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 en crecimiento alcanza su tamaño máximo, el otro comienza a crecer en su lugar. Cada vez que volvemos a la situación original (tamaños iguales), decimos que se ha completado un barrido . Normalmente, unos pocos barridos son suficientes para obtener una precisión de una parte en 10 10 para una red 1D.
El barrido de DMRG.
Guía de implementación
Una implementación práctica del algoritmo DMRG es un trabajo largo [ opinión ] . Algunos de los principales trucos computacionales son estos:
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 solo el estado fundamental, el estado fundamental del superbloque se obtiene mediante un algoritmo iterativo como el algoritmo de diagonalización de matrices de Lanczos. Otra opción es el método Arnoldi , especialmente cuando se trata de matrices no hermitianas.
El algoritmo de Lanczos suele comenzar con la mejor suposició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 suposición razonable y, por lo tanto, funciona significativamente mejor que un vector inicial aleatorio en el siguiente paso de DMRG.
En sistemas con simetrías, es posible que hayamos conservado números cuánticos, 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 cables cuánticos . También se ha ampliado para trabajar con gráficos de árbol y ha encontrado aplicaciones en el estudio de dendrímeros . Para sistemas 2D con una de las dimensiones mucho mayor que la otra, DMRG también es preciso y ha demostrado ser útil en el estudio de escaleras.
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 cada red unidimensional invariante traslacionalmente .
Simular una cadena infinita, comenzando con cuatro sitios. El primero es el sitio de bloques , el último el sitio de bloques del universo y los restantes son los sitios agregados , el de la derecha se agrega al sitio de bloques del universo y el otro al sitio de bloques.
El espacio de Hilbert para el sitio único está con la base . Con esta base los operadores de giro 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.
bloquear: , , , , ,
sitio izquierdo: , , , ,
sitio derecho: , , , ,
universo: , , , , ,
En el punto inicial, los cuatro espacios de Hilbert son equivalentes a , todos los operadores de giro son equivalentes a , y y . En las siguientes iteraciones, esto sólo es válido para los sitios izquierdo y derecho.
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 del sitio izquierdo y los tres operadores de espín del sitio derecho, que siempre son matrices. La matriz hamiltoniana del superbloque (la cadena), que en la primera iteración tiene sólo cuatro sitios, está formada por estos operadores. En el modelo antiferromagnético S=1 de Heisenberg, el hamiltoniano es:
Estos operadores viven en el espacio de estados del superbloque: , la base es . Por ejemplo: (convención):
El hamiltoniano en la forma DMRG es (establecemos ):
Los operadores son matrices, por ejemplo:
Paso 2: Diagonalizar el superbloque hamiltoniano
En este punto se debe elegir el estado propio del hamiltoniano para el cual se calculan algunos observables , este es el estado objetivo . Al principio puedes elegir el estado fundamental y usar algún algoritmo avanzado para encontrarlo, uno de estos se describe en:
Este paso es la parte del algoritmo que consume más tiempo.
Si es el estado objetivo, el valor esperado de varios operadores se puede medir en este punto usando .
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:
Diagonalice y forme la matriz , cuyas filas son los vectores propios asociados con los valores propios más grandes de . Así está formado por los estados propios más significativos de la matriz de densidad reducida. Tu eliges mirando el parámetro : .
Paso 4: Nuevos operadores de bloques y de bloques universales
Forme la representación matricial de operadores para el sistema compuesto de bloque y sitio izquierdo, y para el sistema compuesto de sitio derecho y bloque universo, por ejemplo:
Ahora, forme las representaciones matriciales de los operadores nuevo bloque y universo-bloque, forme un nuevo bloque cambiando la base con la transformación , por ejemplo:
El algoritmo se detiene con éxito cuando el observable converge a algún valor.
Ansatz del producto Matrix
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 productos matriciales (MPS). Estos son estados de la forma
donde están los valores de, por ejemplo, el componente z del espín en una cadena de espín, y A si son matrices de dimensión arbitraria m . Como m → ∞, la representación se vuelve exacta. Esta teoría fue expuesta por S. Rommer y S. Ostlund en [1].
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, es decir , donde la primera (segunda) entrada de estos kets corresponde al espín arriba (abajo). electrón. En química cuántica, (para un dado ) y (para un dado ) se eligen tradicionalmente como matrices de filas y columnas, respectivamente. De esta manera, el resultado es un valor escalar y la operación de seguimiento es innecesaria. es el número de sitios (básicamente los orbitales) utilizados en la simulación.
Las matrices en MPS ansatz no son únicas; se pueden, por ejemplo, insertar en medio de , luego definir y , y el estado permanecerá sin cambios. 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
para todos , (2) forma normalizada a la derecha, cuando
para todos , y (3) forma canónica mixta cuando existen matrices normalizadas por la izquierda y por la derecha entre las matrices en el MPS ansatz anterior .
El objetivo del cálculo DMRG es entonces resolver los elementos de cada una de las matrices. Para ello se han ideado los denominados algoritmos de un sitio y de dos sitios. En el algoritmo de un sitio, sólo una matriz (un sitio) cuyos elementos se resuelven a la vez. Dos sitios simplemente significa que primero se contraen (multiplican) dos matrices en una sola matriz y luego se resuelven sus elementos. Se propone el algoritmo de dos sitios 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 valores propios ordinario. Sin canonicalización, se tratará de un problema de valores propios generalizado.
Extensiones
En 2004, se desarrolló el método de diezmado de bloques en 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 una computadora cuántica . 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].
Otras lecturas
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
Blanco, Steven R.; Huse, David A. (1 de agosto de 1993). "Estudio de grupo de renormalización numérica de estados propios bajos de la cadena antiferromagnética S = 1 de Heisenberg". Revisión física B. 48 (6). Sociedad Estadounidense de Física (APS): 3844–3852. Código bibliográfico : 1993PhRvB..48.3844W. doi : 10.1103/physrevb.48.3844. ISSN 0163-1829. PMID 10008834.
Software relacionado
The Matrix Product Toolkit: un conjunto gratuito de herramientas GPL para manipular estados de productos de matrices finitas e infinitas escritas 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 Quantum Monte Carlo escritos en C++ [16]
DMRG++: una implementación gratuita de DMRG escrita en C++ [17]
Biblioteca ITensor (Intelligent Tensor): una biblioteca gratuita para realizar cálculos DMRG basados en tensores y estados de productos matriciales escritos en C++ [18]
OpenMPS: una implementación DMRG de código abierto basada en Matrix Product States escrita en Python/Fortran2003. [19]
Programa Snake DMRG: programa DMRG, tDMRG y DMRG de temperatura finita de código abierto escrito en C++ [20]
CheMPS2: código DMRG de código abierto (GPL) adaptado por espín 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++ .
^ Nakatani, Naoki (2018), "Estados de productos de matrices y algoritmo de grupo de renormalización de matrices de densidad", 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, ISBN978-0-12-409547-2, recuperado 2021-04-21