qml.labs.resource_estimation.CompactHamiltonian¶
- class CompactHamiltonian(method_name, **params)[source]¶
Bases:
objectA compact representation for the Hamiltonian of a quantum system.
- Parameters:
method_name (str) – The name of the method used to construct the Hamiltonian. The available methods are cdf, thc, vibrational, and vibronic.
**params (Any) –
Keyword arguments specific to the chosen construction method,
For
cdf(), parameters includenum_orbitalsandnum_fragments.For
thc(), parameters includenum_orbitalsandtensor_rank.For
vibrational(), parameters includenum_modes,grid_sizeandtaylor_degree.For
vibronic(), parameters includenum_modes,num_states,grid_sizeandtaylor_degree.
- Returns:
An instance of CompactHamiltonian
- Return type:
Example
The resources for trotterization of THC Hamiltonian can be extracted as:
>>> import pennylane.labs.resource_estimation as plre >>> compact_ham = plre.CompactHamiltonian.thc(num_orbitals=8, tensor_rank=40) >>> trotter_thc = plre.ResourceTrotterTHC(compact_ham, num_steps=100, order=2) >>> res = plre.estimate(trotter_thc) >>> print(res) --- Resources: --- Total qubits: 80 Total gates : 3.960E+7 Qubit breakdown: clean qubits: 0, dirty qubits: 0, algorithmic qubits: 80 Gate breakdown: {'T': 3.638E+7, 'S': 9.699E+5, 'Z': 6.466E+5, 'Hadamard': 6.466E+5, 'CNOT': 9.553E+5}
Methods
cdf(num_orbitals, num_fragments)Constructs a compressed double factorized Hamiltonian instance
thc(num_orbitals, tensor_rank)Constructs a tensor hypercontracted Hamiltonian instance
vibrational(num_modes, grid_size, taylor_degree)Constructs a vibrational Hamiltonian instance
vibronic(num_modes, num_states, grid_size, ...)Constructs a vibronic Hamiltonian instance
- classmethod cdf(num_orbitals, num_fragments)[source]¶
Constructs a compressed double factorized Hamiltonian instance
- Parameters:
num_orbitals (int) – number of spatial orbitals
num_fragments (int) – number of fragments in the compressed double factorization (CDF) representation
- Returns:
An instance of CompactHamiltonian initialized with CDF parameters.
- Return type:
- classmethod thc(num_orbitals, tensor_rank)[source]¶
Constructs a tensor hypercontracted Hamiltonian instance
- Parameters:
num_orbitals (int) – number of spatial orbitals
tensor_rank (int) – tensor rank of two-body integrals in the tensor hypercontracted (THC) representation
- Returns:
An instance of CompactHamiltonian initialized with THC parameters.
- Return type:
- classmethod vibrational(num_modes, grid_size, taylor_degree)[source]¶
Constructs a vibrational Hamiltonian instance
- Parameters:
num_modes (int) – number of vibrational modes
grid_size (int) – number of grid points used to discretize each mode
taylor_degree (int) – degree of the Taylor expansion used in the vibrational representation
- Returns:
An instance of CompactHamiltonian initialized with vibrational Hamiltonian parameters.
- Return type:
- classmethod vibronic(num_modes, num_states, grid_size, taylor_degree)[source]¶
Constructs a vibronic Hamiltonian instance
- Parameters:
num_modes (int) – number of vibronic modes
num_states (int) – number of vibronic states
grid_size (int) – number of grid points used to discretize each mode
taylor_degree (int) – degree of the Taylor expansion used in the vibronic representation
- Returns:
An instance of CompactHamiltonian initialized with vibronic Hamiltonian parameters.
- Return type: