Qiskit / documentation

The documentation content home for https://docs.quantum.ibm.com.
https://docs.quantum.ibm.com
Apache License 2.0
38 stars 68 forks source link

Install instructions Hello World does not work with Fakebackend #1125

Closed Sieglinde-IBMQuantum closed 5 months ago

Sieglinde-IBMQuantum commented 6 months ago

URL to the relevant documentation

The link to hello world on this page https://docs.quantum.ibm.com/start

takes you to https://docs.quantum.ibm.com/start/hello-world with the code that did not work using Qiskit 1.0

Select all that apply

Describe the fix.

# !!!COMMENTED CHANGES USING !!! AND CAPS IN THE ORIGINAL CODE BELOW

# Construct the Estimator instance we want to use.

# If you did not previously save your credentials, use the following line instead:
# service = QiskitRuntimeService(channel="ibm_quantum", token="<MY_IBM_QUANTUM_TOKEN>")
service = QiskitRuntimeService()

# Run on the least-busy backend you have access to
#backend = service.least_busy(simulator=False, operational=True)

# Use the following code instead if you want to run on a simulator:
# !!! USED DIFFERENT FAKE BACKEND 
from qiskit_ibm_runtime.fake_provider import FakeManilaV2
backend = FakeManilaV2()

# !!!ADDING THIS LINE IN ATTEMPT TO SOLVE OBERVABLE ERROR
num_qubits = None

estimator = Estimator(backend)
estimator.options.resilience_level = 1
estimator.options.default_shots = 5000

# Convert to an ISA circuit and layout-mapped observables.
# !!!ADDED num_qubits into observables like

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)
observables = [
    observable.apply_layout(isa_circuit.layout,num_qubits) for observable in observables
]
frankharkins commented 6 months ago

@Sieglinde-IBMQuantum to confirm, did you get the following error when you just uncommented the lines

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[3], line 14
     11 from qiskit_ibm_runtime.fake_provider import FakeCairoV2
     12 backend = FakeCairoV2()
---> 14 estimator = Estimator(backend)
     15 estimator.options.resilience_level = 1
     16 estimator.options.default_shots = 5000

File ~/Documents/documentation/.venv/lib/python3.11/site-packages/qiskit_ibm_runtime/estimator.py:132, in EstimatorV2.__init__(self, backend, session, options)
    130 BaseEstimatorV2.__init__(self)
    131 Estimator.__init__(self)
--> 132 BasePrimitiveV2.__init__(self, backend=backend, session=session, options=options)
    134 if self._service._channel_strategy == "q-ctrl":
    135     raise NotImplementedError("EstimatorV2 is not supported with q-ctrl channel strategy.")

File ~/Documents/documentation/.venv/lib/python3.11/site-packages/qiskit_ibm_runtime/base_primitive.py:121, in BasePrimitiveV2.__init__(self, backend, session, options)
    115 self._service = (
    116     QiskitRuntimeService()
    117     if QiskitRuntimeService.global_service is None
    118     else QiskitRuntimeService.global_service
    119 )
    120 if self._service.channel != "ibm_cloud":
--> 121     raise ValueError(
    122         "A backend or session must be specified when not using ibm_cloud channel."
    123     )

ValueError: A backend or session must be specified when not using ibm_cloud channel.
frankharkins commented 6 months ago

I wonder if this is a bug in qiskit-ibm-runtime; I also get the same error trying the code from the Local testing mode page.

Fixed by upgrading to qiskit-ibm-runtime==0.22; the Hello world examples also works correctly for me with that version.

Sieglinde-IBMQuantum commented 6 months ago

@frankharkins When I download the hello world, and comment out the online backend to use the fake backend:

---------------------------------------------------------------------------
BasicProviderError                        Traceback (most recent call last)
Cell In[8], [line 16](vscode-notebook-cell:?execution_count=8&line=16)
     [12](vscode-notebook-cell:?execution_count=8&line=12) job = estimator.run([(isa_circuit, observables)])
     [14](vscode-notebook-cell:?execution_count=8&line=14) # This is the result of the entire submission.  We submitted one Pub,
     [15](vscode-notebook-cell:?execution_count=8&line=15) # so this contains one inner result (and some metadata of its own).
---> [16](vscode-notebook-cell:?execution_count=8&line=16) job_result = job.result()
     [18](vscode-notebook-cell:?execution_count=8&line=18) # This is the result from our single pub, which had five observables,
     [19](vscode-notebook-cell:?execution_count=8&line=19) # so contains information on all five.
     [20](vscode-notebook-cell:?execution_count=8&line=20) pub_result = job.result()[0]

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/primitive_job.py:51](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/primitive_job.py:51), in PrimitiveJob.result(self)
     [49](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/primitive_job.py:49) def result(self) -> ResultT:
     [50](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/primitive_job.py:50)     self._check_submitted()
---> [51](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/primitive_job.py:51)     return self._future.result()

File [/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:446](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:446), in Future.result(self, timeout)
    [444](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:444)     raise CancelledError()
    [445](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:445) elif self._state == FINISHED:
--> [446](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:446)     return self.__get_result()
    [447](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:447) else:
    [448](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:448)     raise TimeoutError()

File [/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:391](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:391), in Future.__get_result(self)
    [389](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:389) if self._exception:
    [390](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:390)     try:
--> [391](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:391)         raise self._exception
    [392](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:392)     finally:
    [393](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:393)         # Break a reference cycle with the exception in self._exception
    [394](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/_base.py:394)         self = None

File [/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:58](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:58), in _WorkItem.run(self)
     [55](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:55)     return
     [57](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:57) try:
---> [58](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:58)     result = self.fn(*self.args, **self.kwargs)
     [59](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:59) except BaseException as exc:
     [60](https://file+.vscode-resource.vscode-cdn.net/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/concurrent/futures/thread.py:60)     self.future.set_exception(exc)

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:151](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:151), in BackendEstimatorV2._run(self, pubs)
    [150](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:150) def _run(self, pubs: list[EstimatorPub]) -> PrimitiveResult[PubResult]:
--> [151](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:151)     return PrimitiveResult([self._run_pub(pub) for pub in pubs])

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:151](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:151), in <listcomp>(.0)
    [150](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:150) def _run(self, pubs: list[EstimatorPub]) -> PrimitiveResult[PubResult]:
--> [151](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:151)     return PrimitiveResult([self._run_pub(pub) for pub in pubs])

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:169](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:169), in BackendEstimatorV2._run_pub(self, pub)
    [167](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:167)     param_index = bc_param_ind[index]
    [168](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:168)     param_obs_map[param_index].update(bc_obs[index].keys())
--> [169](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:169) expval_map = self._calc_expval_paulis(circuit, parameter_values, param_obs_map, shots)
    [171](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:171) # calculate expectation values (evs) and standard errors (stds)
    [172](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:172) evs = np.zeros_like(bc_param_ind, dtype=float)

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:202](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:202), in BackendEstimatorV2._calc_expval_paulis(self, circuit, parameter_values, param_obs_map, shots)
    [199](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:199)     circuits.extend(new_circuits)
    [201](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:201) # run circuits
--> [202](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:202) result, metadata = _run_circuits(
    [203](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:203)     circuits, self._backend, shots=shots, seed_simulator=self._options.seed_simulator
    [204](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:204) )
    [206](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:206) # postprocessing results
    [207](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/qiskit/primitives/backend_estimator_v2.py:207) expval_map: dict[tuple[tuple[int, ...], str], tuple[float, float]] = {}

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/backend_estimator.py:75](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/backend_estimator.py:75), in _run_circuits(circuits, backend, **run_options)
     [73](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/backend_estimator.py:73)     result = [x.result() for x in jobs]
     [74](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/backend_estimator.py:74) else:
---> [75](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/backend_estimator.py:75)     result = [backend.run(circuits, **run_options).result()]
     [76](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/primitives/backend_estimator.py:76) return result, metadata

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:364](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:364), in FakeBackendV2.run(self, run_input, **options)
    [362](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:362)     self._setup_sim()
    [363](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:363) self.sim._options = self._options
--> [364](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:364) job = self.sim.run(circuits, **options)
    [365](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:365) return job

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:499](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:499), in BasicSimulator.run(self, run_input, **backend_options)
    [497](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:497) self._set_options(qobj_config=qobj_options, backend_options=backend_options)
    [498](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:498) job_id = str(uuid.uuid4())
--> [499](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:499) job = BasicProviderJob(self, job_id, self._run_job(job_id, qobj))
    [500](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:500) return job

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:512](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:512), in BasicSimulator._run_job(self, job_id, qobj)
    [502](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:502) def _run_job(self, job_id: str, qobj: QasmQobj) -> Result:
    [503](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:503)     """Run experiments in qobj
    [504](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:504) 
    [505](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:505)     Args:
   (...)
    [510](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:510)         Result object
    [511](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:511)     """
--> [512](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:512)     self._validate(qobj)
    [513](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:513)     result_list = []
    [514](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:514)     self._shots = qobj.config.shots

File [~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:729](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:729), in BasicSimulator._validate(self, qobj)
    [727](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:727) max_qubits = self.MAX_QUBITS_MEMORY
    [728](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:728) if n_qubits > max_qubits:
--> [729](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:729)     raise BasicProviderError(
    [730](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:730)         f"Number of qubits {n_qubits} is greater than maximum ({max_qubits}) "
    [731](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:731)         f'for "{self.name}".'
    [732](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:732)     )
    [733](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:733) for experiment in qobj.experiments:
    [734](https://file+.vscode-resource.vscode-cdn.net/Users/sieglinde/Downloads/~/Documents/2024_03_Qiskit/lib/python3.9/site-packages/qiskit/providers/basic_provider/basic_simulator.py:734)     name = experiment.header.name

BasicProviderError: 'Number of qubits 27 is greater than maximum (24) for "basic_simulator".'
Sieglinde-IBMQuantum commented 6 months ago

@frankharkins For completeness I installed everything new, last week, including Qskit1.0 in a virtual environment, so my runtime is already at qiskit-ibm-runtime==0.22;

The last error message: _BasicProviderError: 'Number of qubits 27 is greater than maximum (24) for "basicsimulator".'

seems to say that the current version of the "hello world" is using a fake backend that is too large or missing settings that allow it to run. I saw in the fake.bakend documentation that there is a function variable "num_qubits" but that does not appear in the hello world description.

When I replace the Fake backend with less qubits (specifically, FakeManilaV2) in the current version of Hello World I get the following output after step 3:

/Users/pathtovirtualenvironment/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/local_service.py:243: UserWarning: Options {'default_shots': 5000} have no effect in local testing mode. warnings.warn(f"Options {options_copy} have no effect in local testing mode.") /Users/pathtovirtualenvironment/lib/python3.9/site-packages/qiskit_ibm_runtime/fake_provider/fake_backend.py:360: RuntimeWarning: Aer not found using BasicAer and no noise warnings.warn("Aer not found using BasicAer and no noise", RuntimeWarning)

And this error after step 4:


AttributeError Traceback (most recent call last) Cell In[5], line 8 5 data = observables_labels 6 values = pub_result.data.evs ----> 8 errors = pub_result.data.ensemble_standard_error 10 plt.errorbar(observables_labels, values, yerr=errors, fmt="o")

AttributeError: 'DataBin' object has no attribute 'ensemble_standard_error'

frankharkins commented 5 months ago

@Sieglinde-IBMQuantum thanks! @kaelynj is working on some updates to this page in #1158 which should hopefully fix this.