def make_excitation_gate(self, indices, angle, control=None, assume_real=True, **kwargs):
    '\n        Initialize a fermionic excitation gate defined as\n\n        .. math::\n            e^{-i\\frac{a}{2} G}\n        with generator defines by the indices [(p0,q0),(p1,q1),...]\n        .. math::\n            G = i(\\prod_{k} a_{p_k}^\\dagger a_{q_k} - h.c.)\n\n        Parameters\n        ----------\n            indices:\n                List of tuples that define the generator\n            angle:\n                Numeric or hashable type or tequila objective\n            control:\n                List of possible control qubits\n            assume_real:\n                Assume that the wavefunction will always stay real.\n                Will reduce potential gradient costs by a factor of 2\n        '
    generator = self.make_excitation_generator(indices=indices, remove_constant_term=(control is None))
    p0 = self.make_excitation_generator(indices=indices, form='P0', remove_constant_term=(control is None))
    return QCircuit.wrap_gate(FermionicGateImpl(angle=angle, generator=generator, p0=p0, transformation=type(self.transformation).__name__.lower(), assume_real=assume_real, control=control, **kwargs))
Initialize a fermionic excitation gate defined as

.. math::
    e^{-i\frac{a}{2} G}
with generator defines by the indices [(p0,q0),(p1,q1),...]
.. math::
    G = i(\prod_{k} a_{p_k}^\dagger a_{q_k} - h.c.)

Parameters
----------
    indices:
        List of tuples that define the generator
    angle:
        Numeric or hashable type or tequila objective
    control:
        List of possible control qubits
    assume_real:
        Assume that the wavefunction will always stay real.
        Will reduce potential gradient costs by a factor of 2
def make_excitation_gate(self, indices, angle, control=None, assume_real=True, **kwargs):
    '\n        Initialize a fermionic excitation gate defined as\n\n        .. math::\n            e^{-i\\frac{a}{2} G}\n        with generator defines by the indices [(p0,q0),(p1,q1),...]\n        .. math::\n            G = i(\\prod_{k} a_{p_k}^\\dagger a_{q_k} - h.c.)\n\n        Parameters\n        ----------\n            indices:\n                List of tuples that define the generator\n            angle:\n                Numeric or hashable type or tequila objective\n            control:\n                List of possible control qubits\n            assume_real:\n                Assume that the wavefunction will always stay real.\n                Will reduce potential gradient costs by a factor of 2\n        '
    generator = self.make_excitation_generator(indices=indices, remove_constant_term=(control is None))
    p0 = self.make_excitation_generator(indices=indices, form='P0', remove_constant_term=(control is None))
    return QCircuit.wrap_gate(FermionicGateImpl(angle=angle, generator=generator, p0=p0, transformation=type(self.transformation).__name__.lower(), assume_real=assume_real, control=control, **kwargs))