Solver#

This section is about setting up a variational optimization algorithm for finding the quantum state.

Type#

You can choose from the following algorithms.

PROPERTY_EVAL does not perform variational calculations with VQE, but only evaluates molecular properties. These eigensolver algorithms support orbital optimization method [Miz20].

Skip Parameter Optimization#

You can use this boolean option to skip parameter optimization.

Orbital Optimization#

  • type: Two types of orbital optimization methods, namely STATE_AVERAGED and STATE_SPECIFIC, can be selected. If NONE is chosen, eigensolver without orbital optimization is run.

  • weights: The weight of state-average can be specified as a list. If not given, equal weighting is applied.

  • conv_tol: Convergence energy threshold of OO-VQE calculation, used after every cycle of VQE parameter optimization and orbital optimization. Default is 1e-7.

  • conv_tol_grad: Convergence gradient threshold of OO-VQE calculation, used after every cycle of VQE parameter optimization and orbital optimization. Default is squared root of conv_tol.

  • max_cycle_macro: Max number of macro iterations (cycles of a set of VQE parameter optimization and orbital optimization) in OO-VQE calculation. Default is 50.

  • max_cycle_micro: Max number of micro iterations (cycles for orbital optimization) in each macro iteration. Depending on systems, increasing this value might reduce the total macro iterations. Generally, 2 - 5 steps should be enough. Default is 3.

  • initial_oovqe_molecular_orbital: Initial guess of molecular orbital for orbital optimization.

    • mo_coeff: coefficients of the basis function for each molecular orbital (inner list: coefficients of the basis function for each molecular orbital, outer list: molecular orbitals).

Notes#

  • You cannot use VQE when excited states are to be solved.

  • You cannot use MCVQE for a system with a periodic boundary condition.

  • You cannot use skip_parameter_optimization with MCVQE, orbital_optimization.

  • orbital_optimization is avaliable only with molecules.

  • The following types of chemical property are not available when type of orbital_optimization is other than NONE:

    • dipole_moment

    • transition_dipole_moment

    • oscillator_strength

    • hessian

    • vibrational_analysis

  • HAMILTONIAN_NUMERICAL gradient is not available when type of orbital_optimization is other than NONE.

References#

[Per14] “A variational eigenvalue solver on a quantum processor”, A. Peruzzo et. al., Nature Communications, 5:4213, (2014)

[Nak19] “Subspace-search variational quantum eigensolver for excited states”, K. M. Nakanishi, K. Mitarai, and K. Fujii, Phys. Rev. Research 1, 033062 (2019).

[Par19] “Quantum Computation of Electronic Transitions Using a Variational Quantum Eigensolver”, R. M. Parrish et al. “Quantum Computation of Electronic Transitions Using a Variational Quantum Eigensolver”, Phys. Rev. Lett. 122, 230401 (2019).

[Hig19] “Variational Quantum Computation of Excited States”, O. Higgott, D. Wang, and S. Brierley, Quantum 3, 156 (2019).

[Jon19] “Variational quantum algorithms for discovering Hamiltonian spectra”, T. Jones et al., Phys. Rev. A 99, 062304 (2019). .

[Miz20] “Orbital optimized unitary coupled cluster theory for quantum computer”, W. Mizukami et al., Phys. Rev. Research 2, 033421 (2020).

Input example#

"solver": {
   "type": "VQE"
 }
"solver": {
   "type": "VQD",
   "skip_parameter_optimization": false,
   "orbital_optimization": {
     "type": "STATE_SPECIFIC",
     "conv_tol": 1e-6,
     "conv_tol_grad": 1e-3,
     "max_cycle_macro": 50,
     "max_cycle_micro": 3
   },
   "initial_oovqe_molecular_orbital":
     "mo_coeff": [
        [
          0.5445586947820809,
          1.2620659398031695
        ],
        [
          0.5445586947820809,
          -1.2620659398031695
        ]
     ]
 }