Cost function¶
When solving a variational method, the quantum state is computed by
imposing constraints on properties of the spin state set by
target_molecule
and number of electrons. Specifically, it is useful
in the following situations
To impose a constraint on the ground/excited state of a molecule that conserves the number of electrons
To find the energy level of an excited state with a specific spin quantum number
To find the excited states that are orthogonal to all the eigenstates in the lower energy levels
Type¶
The following methods are available:
NONE: No additional cost function except energy term (Default)
SIMPLE: Use the cost function defined as below
As shown in the following equation, we add the penalty term \(\mathcal{L}_{\mathrm{penalty}}\) to the cost function to impose a constraint on the spin quantum number and the number of electrons in the quantum state.
where \(w_i\) is weight and \(\hat{O}_i\) is an observable that is constrained by the penalty term to be \(o_i\).
Common options¶
When you one of the following solver
:
VQE
SSVQE
MCVQE
VQD
you can specify the following options in common.
s2_number_weight
: the weight \(w_i\) given to the constraint for \(\langle{S}^2\rangle\)sz_number_weight
: the weight \(w_i\) given to the constraint for \(\langle{S}_z\rangle\)particle_number_weight
: the weight \(w_i\) given to the constraint for the number of electrons \(\langle \hat{N}_{tot} \rangle\).
Input example¶
"cost_function": {
"type": "SIMPLE",
"s2_number_weight": 10,
"sz_number_weight": 10,
"particle_number_weight": 10
}
SSVQE options¶
Options when SSVQE is selected with solver
:
SSVQE_weights
This is the weight \(w_i\) in the cost function of SSVQE algorithm \(\mathcal{L}_{\mathrm{energies}}\). ({\(|\psi_0(\vec{\theta})\rangle, ..., |\psi_{k-1}(\vec{\theta})\rangle\)} are orthogonal quantum states here)
Input example¶
"cost_function": {
"type": "SIMPLE",
"SSVQE_weights": [4.0, 1.0]
}
VQD options¶
Options available when VQD is selected as a solver
:
One of the following fields must be set:
overlap_weights
overlap_weight
Weights \(w_i\) in the penalty term for wave function overlaps \(\mathcal{L}_{\mathrm{overlap}}\) added to VQD algorithm cost function (\(\psi_{i}(\vec{\theta_i}\)) is an eigenstate on a level lower than \(k\)’)
overlap_weights
must be given as a list of values of the same size
as the number of excited states, while overlap_weight
must be given
as a single value, in which case the weight of the each overlap penalty
term is given the same value.
Input example¶
"cost_function": {
"type": "SIMPLE",
"overlap_weights": [4.0, 1.0]
}
"cost_function": {
"type": "SIMPLE",
"overlap_weight": 4.0
}