quri_parts.openfermion.utils.add_exp_excitation_gates_trotter_decomposition module#

quri_parts.openfermion.utils.add_exp_excitation_gates_trotter_decomposition.add_exp_excitation_gates_trotter_decomposition(circuit: LinearMappedUnboundParametricQuantumCircuit, excitation_indices: Sequence[Excitation], params: Sequence[Parameter], operator_mapper: Callable[[FermionOperator | InteractionOperator | MajoranaOperator], Operator], coef: float) LinearMappedUnboundParametricQuantumCircuit#

Add parametric Pauli rotation gates as a product of the exponentials of the excitations to the given circuit.

quri_parts.openfermion.utils.add_exp_excitation_gates_trotter_decomposition.create_anti_hermitian_sd_excitation_operator(excitation_indices: tuple[int, int] | tuple[int, int, int, int], operator_mapper: Callable[[FermionOperator | InteractionOperator | MajoranaOperator], Operator]) Operator#

Create an anti-hermitian Operator according to the assigned index.

  • If there are 2 excitation indices (i, a), it creates the Operator for \(c_a^{\dagger} c_i - c_i^{\dagger} c_a\).

  • If there are 4 excitation indices (i, j, b, a), it creates the Operator for \(c_a^{\dagger} c_b^{\dagger} c_j c_i - c_i^{\dagger}c_j^{\dagger} c_b c_a\).