ó
    Óz	i  ã                   ó6   • S r SSKJr  SSKJr   " S S\5      rg)zZExact synthesis of operator evolution via (exponentially expensive) matrix exponentiation.é    )ÚQuantumCircuité   )ÚEvolutionSynthesisc                   ó   • \ rS rSrSrS rSrg)ÚMatrixExponentialé   ak  Exact operator evolution via matrix exponentiation and unitary synthesis.

This class synthesis the exponential of operators by calculating their exponentially-sized
matrix representation and using exact matrix exponentiation followed by unitary synthesis
to obtain a circuit. This process is not scalable and serves as comparison or benchmark
for small systems.
c                 ó(  • SSK Jn  UR                  nUR                  n[	        U[
        5      (       d  UR                  5       nO[        S U 5       5      n[        US   R                  5      nU" XT5      nUR                  XvR                  5        U$ )Nr   )ÚHamiltonianGatec              3   ó@   #   • U  H  oR                  5       v •  M     g 7f)N)Ú	to_matrix)Ú.0Úops     Úe/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/synthesis/evolution/matrix_synthesis.pyÚ	<genexpr>Ú/MatrixExponential.synthesize.<locals>.<genexpr>(   s   é € Ð<²)¨BŸ™Ÿ˜²)ùs   ‚)Ú'qiskit.circuit.library.hamiltonian_gater
   ÚoperatorÚtimeÚ
isinstanceÚlistr   Úsumr   Ú
num_qubitsÚappendÚqubits)ÚselfÚ	evolutionr
   Ú	operatorsr   ÚmatrixÚevolution_circuitÚgates           r   Ú
synthesizeÚMatrixExponential.synthesize   s   € åKð ×&Ñ&ˆ	Ø~‰~ˆä˜)¤T×*Ñ*Ø×(Ñ(Ó*‰FäÑ<±)Ó<Ó<ˆFô +¨9°Q©<×+BÑ+BÓCÐÙ˜vÓ,ˆØ× Ñ  ×'?Ñ'?Ô@à Ð ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r!   Ú__static_attributes__r$   r#   r   r   r      s   † ñõ!r#   r   N)r)   Úqiskit.circuit.quantumcircuitr   Úevolution_synthesisr   r   r$   r#   r   Ú<module>r-      s   ðñ aå 8å 3ô!Ð*õ !r#   