Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

qiskit.chemistry.components.variational_forms.UVCC

class UVCC(num_qubits, basis, degrees, reps=1, excitations=None, initial_state=None, qubit_mapping='direct', num_time_slices=1, shallow_circuit_concat=True)

GitHub

This trial wavefunction is a Unitary Vibrational Coupled-Cluster Single and Double excitations variational form. For more information, see Ollitrault Pauline J., Chemical science 11 (2020): 6842-6855.

Parameters

  • num_qubits (int) – number of qubits
  • basis (List[int]) – Is a list defining the number of modals per mode. E.g. for a 3 modes system with 4 modals per mode basis = [4,4,4]
  • degrees (List[int]) – degree of excitation to be included (for single and double excitations degrees=[0,1])
  • reps (int) – number of replica of basic module
  • excitations (Optional[List[List[List[int]]]]) – The excitations to be included in the circuit. If not provided the default is to compute all singles and doubles.
  • initial_state (Optional[InitialState]) – An initial state object.
  • qubit_mapping (str) – the qubits mapping type. Only ‘direct’ is supported at the moment.
  • num_time_slices (int) – parameters for dynamics.
  • shallow_circuit_concat (bool) – indicate whether to use shallow (cheap) mode for circuit concatenation

__init__

__init__(num_qubits, basis, degrees, reps=1, excitations=None, initial_state=None, qubit_mapping='direct', num_time_slices=1, shallow_circuit_concat=True)

Parameters

  • num_qubits (int) – number of qubits
  • basis (List[int]) – Is a list defining the number of modals per mode. E.g. for a 3 modes system with 4 modals per mode basis = [4,4,4]
  • degrees (List[int]) – degree of excitation to be included (for single and double excitations degrees=[0,1])
  • reps (int) – number of replica of basic module
  • excitations (Optional[List[List[List[int]]]]) – The excitations to be included in the circuit. If not provided the default is to compute all singles and doubles.
  • initial_state (Optional[InitialState]) – An initial state object.
  • qubit_mapping (str) – the qubits mapping type. Only ‘direct’ is supported at the moment.
  • num_time_slices (int) – parameters for dynamics.
  • shallow_circuit_concat (bool) – indicate whether to use shallow (cheap) mode for circuit concatenation

Methods

__init__(num_qubits, basis, degrees[, reps, …])type num_qubitsint
compute_excitation_lists(basis, degrees)Compute the list with all possible excitation for given orders
construct_circuit(parameters[, q])Construct the variational form, given its parameters.
excitations_in_qubit_format()Gives the list of excitation indexes in terms of qubit indexes rather
get_entangler_map(map_type, num_qubits[, offset])returns entangler map
validate_entangler_map(entangler_map, num_qubits)validate entangler map

Attributes

num_parametersNumber of parameters of the variational form.
num_qubitsNumber of qubits of the variational form.
parameter_boundsParameter bounds.
preferred_init_pointsReturn preferred init points.
setting
support_parameterized_circuitWhether or not the sub-class support parameterized circuit.

compute_excitation_lists

static compute_excitation_lists(basis, degrees)

Compute the list with all possible excitation for given orders

Parameters

  • basis (List[int]) – Is a list defining the number of modals per mode. E.g. for a 3 modes system with 4 modals per mode basis = [4,4,4]
  • degrees (List[int]) – degree of excitation to be included (for single and double excitations degrees=[0,1])

Return type

List[List[int]]

Returns

List of excitation indexes in terms of modes and modals

Raises

ValueError – If excitation degree is greater than size of basis

construct_circuit

construct_circuit(parameters, q=None)

Construct the variational form, given its parameters.

Parameters

  • parameters (Union[ndarray, List[Parameter], ParameterVector]) – circuit parameters
  • q (Optional[QuantumRegister]) – Quantum Register for the circuit.

Return type

QuantumCircuit

Returns

Quantum Circuit a quantum circuit with given parameters

Raises

  • ValueError – the number of parameters is incorrect.
  • ValueError – if num_qubits has not been set and is still None

excitations_in_qubit_format

excitations_in_qubit_format()

Gives the list of excitation indexes in terms of qubit indexes rather

than in modes and modals

Return type

List[List[int]]

Returns

List of excitation indexes

get_entangler_map

static get_entangler_map(map_type, num_qubits, offset=0)

returns entangler map

num_parameters

Number of parameters of the variational form.

Returns

An integer indicating the number of parameters.

Return type

int

num_qubits

Number of qubits of the variational form.

Returns

An integer indicating the number of qubits.

Return type

int

parameter_bounds

Parameter bounds.

Returns

A list of pairs indicating the bounds, as (lower, upper). None indicates an unbounded parameter in the corresponding direction. If None is returned, problem is fully unbounded.

Return type

list

preferred_init_points

Return preferred init points.

If an initial state is provided then the variational form may provide back this set of parameters which when used on the variational form should result in the overall state being that defined by the initial state

setting

support_parameterized_circuit

Whether or not the sub-class support parameterized circuit.

Returns

indicate the sub-class support parameterized circuit

Return type

boolean

validate_entangler_map

static validate_entangler_map(entangler_map, num_qubits)

validate entangler map

Was this page helpful?
Report a bug or request content on GitHub.