Descomposición propia del formalismo continuo Puerta de Hadamard para una cantidad arbitraria de qubits

Tengo un problema en mi simulación. Necesito simular una puerta de Hadamard integrando la ecuación de Schrödinger (evolución temporal).

Esto requiere que construya un operador hamiltoniano relacionado con la puerta de Hadamard y realice una evolución temporal, por lo que también necesitaría valores propios.

Mi problema es que todos los recursos que puedo encontrar sobre puertas cuánticas están en formalismo unitario (tiempo discreto), no logro encontrar recursos útiles para el caso de tiempo continuo, especialmente con valores propios.

De Quantum Computation and Quantum InformationNielsen y Chuang página 83

Por lo tanto, existe una correspondencia biunívoca entre la descripción de la dinámica en tiempo discreto utilizando operadores unitarios y la descripción en tiempo continuo utilizando hamiltonianos.

Simplemente no sé cómo encontrar hamiltoniano relacionado con la puerta de Hadamard.

Encontré algunos ejemplos, como el artículo A Sequence of Quantum Gates, página 5, pero no se amplía a más de un qubit y no menciona la descomposición propia, que se requiere para una evolución temporal eficiente, ya que H se convierte fácilmente en una matriz enorme y es difícil de exponenciar.

Respuestas (1)

Para obtener un hamiltoniano que genere una matriz unitaria (por i), se toma el logaritmo de la matriz unitaria.

mi i H = tu
i H = en tu
H = i en tu

Puede usar herramientas como matlab o scipy para calcular logaritmos de matriz, o hacerlo a mano mediante descomposición propia. Por ejemplo:

>>> import scipy.linalg
>>> scipy.linalg.logm([[1, 1], [1, -1]]).round(1)
array([[ 0.3+0.5j,  0.0-1.1j],
       [ 0.0-1.1j,  0.3+2.7j]])
Valdría la pena añadir a esta respuesta lo siguiente: Sea H = i en tu . Entonces sí λ es un valor propio de tu , entonces i en λ es un valor propio de H . (Dónde en es solo el logaritmo complejo habitual, por supuesto). Además, el vector propio correspondiente de H es el mismo que el vector propio correspondiente de tu . Entonces, si tiene los valores propios en el formalismo unitario, también los tiene automáticamente en el hamiltoniano.
Gracias por la respuesta, pero esperaba más obtener algunos consejos sobre cómo hacerlo analíticamente, por ejemplo, explotar algunas simetrías y repetir patrones dentro de la matriz para que funcione para tamaños arbitrarios y evitar diagonalizar matrices grandes numéricamente.