def get_qumat_example_final_state_vector()

in testing/qumat_helpers.py [0:0]


def get_qumat_example_final_state_vector(backend_config: dict, initial_state_ket_str: BinaryString = "000"):
    n_qubits = len(initial_state_ket_str)
    assert n_qubits == 3, print("The current qumat testing example is strictly 3 qubits")

    qumat_instance = QuMat(backend_config)

    qumat_instance.create_empty_circuit(num_qubits=3)
    initial_state = create_np_computational_basis_state(initial_state_ket_str)
    qumat_instance.circuit.initialize(initial_state, range(n_qubits))

    qumat_instance.apply_hadamard_gate(qubit_index=1)
    qumat_instance.apply_cnot_gate(control_qubit_index=1, target_qubit_index=2)
    qumat_instance.apply_hadamard_gate(qubit_index=0)
    qumat_instance.apply_pauli_z_gate(qubit_index=0)
    qumat_instance.apply_cnot_gate(control_qubit_index=0, target_qubit_index=1)
    qumat_instance.apply_hadamard_gate(qubit_index=0)

    state_vector = qumat_instance.get_final_state_vector()

    return state_vector