Skip to content
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

Docs updates2 #2574

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

Docs updates2 #2574

wants to merge 15 commits into from

Conversation

assafb
Copy link
Contributor

@assafb assafb commented Jan 15, 2025

No description provided.

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@qiskit-bot
Copy link
Contributor

Thanks for contributing to Qiskit documentation!

Before your PR can be merged, it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. Thanks! 🙌

One or more of the following people are relevant to this code:

Copy link
Collaborator

@pandasa123 pandasa123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few notes @assafb, but looking forward to these updates

@@ -229,25 +229,35 @@
"\n",
"| Option | Choices | Description | Default |\n",
"| -----| -----------| -------- | ------- |\n",
"| `estimate_time_only` | True / False | Specifies whether to execute the mitigation process or only get QPU time estimation. Please note that the QPU time estimation process does not consume QPU time.| False|\n",
"| `estimate_time_only` | `\"analytical\"` / `\"empirical\"` | When set, the QESEM job will only calculate the QPU time estimation. Please see description below for more details.| |\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@assafb, what is the default? analytical?

Copy link
Contributor Author

@assafb assafb Jan 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pandasa123 when a user setד this flag then a value is mandatory. When this flag is not set, then the function executes the circuit with QESEM

"\n",
"<Admonition type=\"caution\">The QPU time estimation changes from one backend to another. Therefore, when executing the QESEM function, make sure to run it on the same backend that was selected when obtaining the QPU time estimation. </Admonition>\n",
"\n",
"<Admonition type=\"note\">QESEM will end its run when it reaches the target precision or when it reaches `max_execution_time`, whichever comes first. </Admonition>\n",
"\n",
"- `max_execution_time`: Allows you to limit the QPU time, specified in seconds, to be used for the entire QESEM process. Since the final QPU time required to reach the target accuracy is determined dynamically during the QESEM job, this parameter enables you to limit the cost of the experiment. If the dynamically-determined QPU time is shorter than the time allocated by the user, this parameter will not affect the experiment. The `max_execution_time` parameter is particularly useful in cases where the analytical time estimate provided by QESEM before the job starts is too pessimistic and the user wants to initiate a mitigation job anyway. After the time limit it reached, QESEM stops sending new circuits. Circuits that have already been sent continue running (so the total time may surpass the limit by up to 30 minutes), and the user receives the processed results from the circuits that ran up to that point. If you want to apply a QPU time limit shorter than the analytical time estimate, consult with Qedma to obtain an estimate for the accuracy achievable within the time limit.\n",
"- `estimate_time_only` - This flag enables users to obtain an estimate for the QPU time required to execute the circuit with QESEM. If it is set to `\"analytical\"`, an upper bound of the QPU time is calculated without consuming any QPU usage. This estimation has a 30-minute resolution (e.g., 30 minutes, 60 minutes, 90 minutes, etc.). It is typically pessimistic, and can only be obtained for single Pauli observables or sums of Paulis without intersecting supports (e.g. Z0+Z1). It is primarily useful for comparing the complexity levels of different parameters provided by the user (circuit, accuracy, etc.).\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By resolution, do you mean that the estimation precision is in increments of 30 minutes?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pandasa123 yes. I'm open to other suggestions for phrasing it better :)

"\n",
"<Admonition type=\"caution\">The QPU time estimation changes from one backend to another. Therefore, when executing the QESEM function, make sure to run it on the same backend that was selected when obtaining the QPU time estimation. </Admonition>\n",
"\n",
"<Admonition type=\"note\">QESEM will end its run when it reaches the target precision or when it reaches `max_execution_time`, whichever comes first. </Admonition>\n",
"\n",
"- `max_execution_time`: Allows you to limit the QPU time, specified in seconds, to be used for the entire QESEM process. Since the final QPU time required to reach the target accuracy is determined dynamically during the QESEM job, this parameter enables you to limit the cost of the experiment. If the dynamically-determined QPU time is shorter than the time allocated by the user, this parameter will not affect the experiment. The `max_execution_time` parameter is particularly useful in cases where the analytical time estimate provided by QESEM before the job starts is too pessimistic and the user wants to initiate a mitigation job anyway. After the time limit it reached, QESEM stops sending new circuits. Circuits that have already been sent continue running (so the total time may surpass the limit by up to 30 minutes), and the user receives the processed results from the circuits that ran up to that point. If you want to apply a QPU time limit shorter than the analytical time estimate, consult with Qedma to obtain an estimate for the accuracy achievable within the time limit.\n",
"- `estimate_time_only` - This flag enables users to obtain an estimate for the QPU time required to execute the circuit with QESEM. If it is set to `\"analytical\"`, an upper bound of the QPU time is calculated without consuming any QPU usage. This estimation has a 30-minute resolution (e.g., 30 minutes, 60 minutes, 90 minutes, etc.). It is typically pessimistic, and can only be obtained for single Pauli observables or sums of Paulis without intersecting supports (e.g. Z0+Z1). It is primarily useful for comparing the complexity levels of different parameters provided by the user (circuit, accuracy, etc.).\n",
"To obtain a more accurate QPU time estimation, set this flag to `\"empirical\"`. Although this option requires running a small number of circuits, it provides a much tighter QPU time estimation. This estimation has a 5-minute resolution (e.g., 20 minutes, 25 minutes, 30 minutes, etc.).\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm guessing this is a Batch workload to perform an empirical estimation? Is there a rough idea of how much the estimate might cost a user? Is this doing noise sampling or more?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants