code: def do_gate(self, gate: Gate):
          
          unitary = lifted_gate(gate=gate, n_qubits=self.n_qubits)
          self.wf = unitary.dot(self.wf)
          return self
docs: Perform a gate.
  
          :return: ``self`` to support method chaining.