FermionCircuitSolver.__call__

FermionCircuitSolver.__call__(circuit)

Performs the simulation of the circuit: Each operator is converted into a sparse matrix over the basis and is then exponentiated to get the unitary of the gate. All these unitaries are multiplied to give the total unitary of the circuit. Applying this to the initial state yields the final state of the circuit, from which we sample a number shots of shots (if specified).

Parameters:

circuit (QuantumCircuit) – A quantum circuit with gates described by second quantized generators

Returns:

dict{‘unitary’np.array((dimension, dimension)),

’statevector’: np.array((dimension, 1)), ‘counts’: dict{string: int}}

Return type:

output

Raises:
  • QiskitColdAtomError

    • If one of the generating Hamiltonians is not hermitian which would lead to non-unitary time evolution. - If the dimension of the Hilbert space is larger than the max. dimension.

  • NotImplementedError

    • If ignore_barriers is False.