qml.labs.resource_estimation.CompactHamiltonian

class CompactHamiltonian(method_name, **params)[source]

Bases: object

A 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 include num_orbitals and num_fragments.

    • For thc(), parameters include num_orbitals and tensor_rank.

    • For vibrational(), parameters include num_modes, grid_size and taylor_degree.

    • For vibronic(), parameters include num_modes, num_states, grid_size and taylor_degree.

Returns:

An instance of CompactHamiltonian

Return type:

CompactHamiltonian

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}

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:

CompactHamiltonian

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:

CompactHamiltonian

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:

CompactHamiltonian

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:

CompactHamiltonian