Closed jaeunkim closed 1 year ago
Thank you for this detailed report. This is actually another realization of a recurring issue. If you add: "hmax": dt
to solver_options
in your JAX code, it will work properly.
See my response to https://github.com/Qiskit-Extensions/qiskit-dynamics/issues/238 for an explanation.
Thank you @DanPuzzuoli for pointing me to the explanation. Now I understand what was going on. Moreover, adding "hmax": dt
solved the problem 😊
Informations
What is the current behavior?
Running the FineDrag experiment provided by Qiskit Experiments with a dynamic backend with JAX results in a faulty datapoint that's almost zero. The faulty datapoint is always the first datapoint. This ruins the subsequent curve fitting, because the sinusoidal fitting function assumes that its offset (called
base
) is the average between the maximum and the minimum datapoint. Although all the datapoint should be around 0.5, the average becomes 0.25 due to this outlying faulty datapoint that's almost zero. The problem doesn't occur if you configure the Dynamics solver without JAX.FineDrag
class from Qiskit Experiments: https://qiskit.org/ecosystem/experiments/stubs/qiskit_experiments.library.characterization.FineDrag.htmlErrorAmplificationAnalysis
. Variablebase
is set to a wrong number in the method _generate_fit_guesses() https://qiskit.org/ecosystem/experiments/_modules/qiskit_experiments/curve_analysis/standard_analysis/error_amplification_analysis.html#ErrorAmplificationAnalysisResult with JAX
Result without JAX
Steps to reproduce the problem
setup JAX
What is the expected behavior?
The result with JAX should be the same with the result without JAX.
Suggested solutions