-
Notifications
You must be signed in to change notification settings - Fork 365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix init of EstimatorV2 and SamplerV2 #2120
Conversation
qiskit_aer/primitives/sampler_v2.py
Outdated
@@ -98,6 +98,12 @@ def __init__( | |||
self._seed = seed | |||
|
|||
self._options = Options(**options) if options else Options() | |||
if "method" not in self.options.backend_options: | |||
method = ( | |||
"density_matrix" if "noise_model" in self.options.backend_options else "automatic" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this mean that noise simulation always use "density_matrix" in sampler?
qiskit_aer/primitives/sampler_v2.py
Outdated
"density_matrix" if "noise_model" in self.options.backend_options else "automatic" | ||
) | ||
ops = dict(method=method) | ||
self.options.backend_options.update(ops) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
self.options.backend_options.update({method: method})
may be simpler.
if "method" not in self.options.backend_options: | ||
method = ( | ||
"density_matrix" if "noise_model" in self.options.backend_options else "automatic" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this line necessary? Shouldn't we just let AerSimulator set the method if it's not specified? It should default to automatic
, which should be smart enough to choose density_matrix
if noise_model
is specified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed this so now method=automatic
is set by default and #2117 is fixed
* fix init of EstimatorV2 and SamplerV2 to handle method * add release note * fix from_backend and example in README * remove setting density_matrix
* release 0.14.2 * Disable test shot_branching on MacOS (#2143) * remove test_shot_branching * disable sho_branching tests on MacOS * fix test * fix test * format * fix test_shot_branching * fix test_runtime_parameterization * fix tests for the latest Qiskit (#2138) * Remove qiskit aer translation stage (#2142) This commit removes the qiskit aer translation plugin. This was added as a workaround for a Qiskit/qiskit#11351. This has been fixed in Qiskit since 0.45.2 and is no longer necessary. The mechanism by which the workaround worked was unsound in practice as it was mutating the target and also explicitly using private attributes of the Target. This is causing real issues now as it only worked by assuming the target wasn't shared between passmanagers which is never guaranteed. Similarly the reliance on internal private attributes of the Target class will cause issues in the future when the target internals change (see Qiskit/qiskit#12292). This commit opts to remove the plugin in its entirity as it's no longer necessary and actively causing issues with Qiskit 1.1 and transpiling targeting aer backends with >1 circuit. As it's private internal detail there isn't a release note. Fixes Qiskit/qiskit#12425 Fixes #2141 * Fix issue 2084 again (#2119) * Fix issue 2084 again * format * fix test * fix test * Always hook omp functions in Mac (#2128) * always hook omp functions in Mac * fix recent test failures with the latest qiskit --------- Co-authored-by: Jun Doi <doichan@jp.ibm.com> * Add simulator_metadata in metadata of SamplerV2 (#2109) Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com> * Fix cuStateVec_enable option (#2146) * Fix cuStateVec_enable option * fix function name * Add support for rotation gates (#2147) * add rotation gates * add cr* gates to operations.hpp * fix test for stabilkize/extended-stabilizer * fix test again * Fix deterministic measure of stabilizer (#2132) * Fix deterministic measure of stabilizer * fix accumulation in loop * format --------- Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com> * Fix init of EstimatorV2 and SamplerV2 (#2120) * fix init of EstimatorV2 and SamplerV2 to handle method * add release note * fix from_backend and example in README * remove setting density_matrix * Fix deploy.yml (#2110) Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com> Co-authored-by: Luciano Bello <bel@zurich.ibm.com> * Add support for ECR gate to MPS (#2137) * Add support for ECR gate * replace is not to != * fix release note * Fix ecr implementation for stabilizer/extended-stabilizer * Handle gates with ctrl_stete=0 (#2148) * handle cx gate with ctrl_stete=0 * add handling *_o0, add test for cx_o0 * format * fix test * fix test * fix test cx * fix to handle multiple control states * fix ctrl_state * format * resolve conflict again * fix aer_compiler * fix random seed (#2151) Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com> * Move delay gate to custom instructions (#2153) --------- Co-authored-by: Matthew Treinish <mtreinish@kortar.org> Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com> Co-authored-by: Luciano Bello <bel@zurich.ibm.com> Co-authored-by: Takashi Imamichi <31178928+t-imamichi@users.noreply.github.com>
Summary
Fixes #2117
Details and comments
This PR fixes init function of EstimatorV2 and SamplerV2 to store
method
option inself.options.backend_options
ifmethod
is not specified as input parameter