Skip to content

Commit 150ff52

Browse files
authored
Update Guides for Additional Resources folder (#1670)
Closes #1576
1 parent 7060aca commit 150ff52

File tree

5 files changed

+18
-155
lines changed

5 files changed

+18
-155
lines changed

docs/guides/hello-world.ipynb

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,7 @@
2525
"\n",
2626
"To learn about quantum computing in general, visit the [Basics of quantum information course](https://learning.quantum.ibm.com/course/basics-of-quantum-information) in IBM Quantum Learning.\n",
2727
"\n",
28-
"The four steps to writing a quantum program using Qiskit Patterns are:\n",
29-
"\n",
30-
"1. Map the problem to a quantum-native format.\n",
31-
"\n",
32-
"2. Optimize the circuits and operators.\n",
33-
"\n",
34-
"3. Execute using a quantum primitive function.\n",
35-
"\n",
36-
"4. Analyze the results."
28+
"IBM® is committed to the responsible development of quantum computing. Learn more about responsible quantum at IBM, review our responsible quantum principles, and flag responsible quantum computing issues in the [Responsible quantum computing and inclusive tech](/responsible-quantum-computing) topic."
3729
]
3830
},
3931
{
@@ -51,6 +43,16 @@
5143
"raw_mimetype": "text/restructuredtext"
5244
},
5345
"source": [
46+
"The four steps to writing a quantum program using Qiskit patterns are:\n",
47+
"\n",
48+
"1. Map the problem to a quantum-native format.\n",
49+
"\n",
50+
"2. Optimize the circuits and operators.\n",
51+
"\n",
52+
"3. Execute using a quantum primitive function.\n",
53+
"\n",
54+
"4. Analyze the results.\n",
55+
"\n",
5456
"### Step 1. Map the problem to a quantum-native format\n",
5557
"\n",
5658
"In a quantum program, *quantum circuits* are the native format in which to represent quantum instructions, and *operators* represent the observables to be measured. When creating a circuit, you'll usually create a new [`QuantumCircuit`](/api/qiskit/qiskit.circuit.QuantumCircuit#quantumcircuit-class) object, then add instructions to it in sequence."

docs/guides/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ In addition, many open-source projects are part of the broader Qiskit ecosystem.
1313

1414
![All Qiskit pattern steps are shown (Map problem, Optimize for hardware, Execute on hardware, and Post-process results). All steps, except for 'Execute on hardware', use the Qiskit SDK. 'Optimizing for hardware' additionally uses the Qiskit Transpiler Service. 'Executing on hardware' uses only the Qiskit Runtime Service.](/images/qiskit-patterns/patterns.svg)
1515

16+
IBM® is committed to the responsible development of quantum computing. Learn more, review our responsible quantum principles, and flag responsible quantum computing issues in the [Responsible quantum computing and inclusive tech](/responsible-quantum-computing) topic.
1617

1718
## The Qiskit SDK
1819

docs/guides/install-qiskit.mdx

Lines changed: 0 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -231,146 +231,6 @@ Additionally, Qiskit only supports the CPython implementation of the Python lang
231231
- Windows 10 32-bit
232232
</details>
233233

234-
## Qiskit versioning
235-
236-
Qiskit version numbers follow [Semantic Versioning](https://semver.org/).
237-
The version number is comprised of three primary components: the major, minor, and
238-
patch versions. For example, in version number `X.Y.Z`, `X` is the major version,
239-
`Y` is the minor version, and `Z` is the patch version.
240-
241-
Breaking API changes are reserved for major version releases. The **minimum**
242-
period between major version releases is one year. Minor versions introduce
243-
new features and bug fixes without breaking API compatibility, and are
244-
periodically (currently every three months) published for **only** the
245-
current major version. Patch versions provide fixes for bugs identified in
246-
the most recent minor version of each actively supported release series (that is, the
247-
major version). We support at most two release series at a time, which occurs
248-
only during the period of overlap following a new major version release,
249-
described in more detail below.
250-
251-
252-
<details>
253-
<summary id="release-schedule">
254-
Release schedule
255-
</summary>
256-
257-
A tentative release schedule is included below:
258-
259-
![Tentative Qiskit release schedule](/images/guides/install/release_schedule.png)
260-
261-
For an up-to-date release schedule, refer to the Qiskit Github project's [milestones list](https://github.com/Qiskit/qiskit/milestones), which will always contain the current release plan.
262-
263-
With the release of a new major version, the previous major version is supported
264-
for at least six months; only bug and security fixes are accepted during this time and only patch releases are published for this major version. A final
265-
patch version is published when support is dropped, and that release
266-
also documents the end of support for that major version series. A longer
267-
support window is needed for the previous major version as this gives downstream
268-
Qiskit consumers and their users a chance to migrate their code.
269-
Downstream libraries that
270-
depend on Qiskit should not raise their minimum required Qiskit version to a new
271-
major version immediately after its release because the library's user base needs time
272-
to migrate to the new API changes. Having an extended support window
273-
for the previous major Qiskit version gives downstream projects time to ensure
274-
compatibility with the next major version. Downstream projects can provide
275-
support for two release series at a time to give their users a migration path.
276-
277-
For the purposes of semantic versioning, the Qiskit public API is considered
278-
any documented module, class, function, or method that is not marked as private
279-
(with an underscore `_` prefix). However, there can be explicit exceptions made for
280-
specific documented APIs. In such cases, these APIs will be clearly documented
281-
as not being considered stable interfaces yet, and a user-visible warning will be
282-
actively emitted on any use of these unstable interfaces. Additionally, in some
283-
situations, an interface marked as private is considered part of the public
284-
API. Typically this only occurs in two cases: either an abstract interface
285-
definition where subclasses are intended to override/implement a private method
286-
as part of defining an implementation of the interface, or advanced-usage
287-
low-level methods that have stable interfaces but are not considered safe to use,
288-
as the burden is on the user to uphold the class/safety invariants themselves
289-
(the canonical example of this is the `QuantumCircuit._append` method).
290-
291-
The supported Python versions, minimum supported Rust version (for building
292-
Qiskit from source), and any Python package dependencies (including the minimum
293-
supported versions of dependencies) used by Qiskit are not part of the backwards
294-
compatibility guarantees and may change during any release. Only minor or major
295-
version releases will raise minimum requirements for using or building Qiskit
296-
(including adding new dependencies), but patch fixes might include support for
297-
new versions of Python or other dependencies. Usually the minimum version of a
298-
dependency is only increased when older dependency versions go out of support or
299-
when it is not possible to maintain compatibility with the latest release of the
300-
dependency and the older version.
301-
</details>
302-
303-
<details>
304-
<summary id="upgrade-strategy">
305-
Upgrade strategy
306-
</summary>
307-
When a new major version is released, the recommended upgrade path
308-
is to first upgrade to the most recent minor version on the previous major
309-
version. Shortly before a new major version, a final minor version will
310-
be published. This final minor version release `X.Y+1.0.0` is equivalent to
311-
`X.Y.0` but with warnings and deprecations for any API changes that are
312-
made on the new major version series.
313-
314-
For example, immediately proceeding the 1.0.0 release, a 0.46.0 release will be
315-
published. The 0.46.0 release will be equivalent to the 0.45.0 release but with
316-
additional deprecation warnings that document the API changes that were made as
317-
part of the 1.0.0 release. This pattern will be used for any future major
318-
version releases.
319-
320-
Qiskit users should first upgrade to this final minor
321-
version to see any deprecation warnings and adjust their Qiskit
322-
usage before trying a potentially breaking release. The previous
323-
major version will be supported for at least six months to give sufficient time
324-
to upgrade. A typical pattern to manage this is to pin the maximum version to
325-
avoid using the next major release series until you're sure of compatibility.
326-
For example, specifying `qiskit<2` in a requirements file when the current
327-
major Qiskit version is 1 ensures that you're using a version of Qiskit
328-
that doesn't have breaking API changes.
329-
330-
Capping the version less than the next major version
331-
ensures that you see any deprecation warnings before a
332-
major version release.
333-
Without the cap, `pip` installs
334-
the newest version available by default.
335-
336-
The QPY serialization format is backwards-compatible so that a new Qiskit release can always load a QPY
337-
file generated with an earlier release of Qiskit. However, the format isn't forward-compatible so, in principle, it's not possible
338-
to load QPY files generated with a newer version of Qiskit using an older release. To facilitate user migration across major version releases, the (`qiskit.qpy.dump()`](/api/qiskit/qpy#dump) function will always support at least one overlapping version between the `X.0.0` and the `X-1.Y.0` release (where `Y` is the last minor version of
339-
that series). The parameter `qiskit.qpy.dump(..., version=...)` will enable saving QPY format files that can be loaded by both major versions from the newer
340-
release. See more details in [RFC 0020](https://github.com/Qiskit/RFCs/blob/master/0020-release_cycle.md#qpy-support).
341-
</details>
342-
343-
344-
<details>
345-
<summary id="pre-releases">
346-
Pre-releases
347-
</summary>
348-
For each minor and major version release, Qiskit publishes pre-releases that
349-
are compatible with [PEP440](https://peps.python.org/pep-0440/). Typically
350-
these are release candidates of the form `X.Y.0rc1`. The `rc` releases
351-
will have a finalized API surface and are used to test a prospective release.
352-
353-
Note that when one of the PEP440 pre-release suffixes (such as `a`, `b`, or `pre`) are
354-
published, it does not have the same guarantees as an `rc` release, and is
355-
only a preview release. The API might change between these pre-releases
356-
and the final release with that version number. For example, `1.0.0pre1` might have
357-
a different final API than `1.0.0`.
358-
</details>
359-
360-
361-
<details>
362-
<summary id="post-releases">
363-
Post-releases
364-
</summary>
365-
If there are issues with a release's packaging, a post-release might be
366-
issued to correct this. These will follow the form `X.Y.Z.1` where the fourth
367-
integer indicates that it is the first post-release of the `X.Y.Z` release.
368-
For example, the qiskit-terra (the legacy package name for Qiskit) 0.25.2
369-
release had some issue with the sdist package publishing, and a post-release
370-
0.25.2.1 was published that corrected this issue. The code was identical, and
371-
0.25.2.1 only fixed the packaging issue for the release.
372-
</details>
373-
374234
## Next steps
375235

376236
<Admonition type="tip" title="Recommendations">

docs/open-source/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ By making this transformative technology open and accessible, we accelerate inno
1414
As quantum technology evolves, contributions from the open-source [Qiskit ecosystem](https://www.ibm.com/quantum/ecosystem) projects and developers are crucial in shaping its future.
1515

1616
By joining the Qiskit community, you can participate in the development of quantum technologies.
17-
Whether you are a seasoned quantum programmer or beginning your quantum journey, Qiskit provides the support and inspiration needed to push boundaries.
17+
Whether you are a seasoned quantum programmer or taking the first step on your quantum journey, Qiskit provides the support and inspiration needed to push boundaries.
1818
We welcome all kinds of contributions, from code in pull requests to community support on [Slack](/support#qiskit), ensuring everyone can play a role in advancing quantum technology.

docs/responsible-quantum-computing.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@ Our mission statement at IBM&reg; is to be “the catalyst to make the world wor
1212

1313
We define Responsible Quantum Computing as quantum computing that’s aware of its effects. As part of this effort, we crafted five Responsible Quantum Principles for developing and deploying quantum technology that our team follows internally.
1414

15-
**1. Make a positive societal impact.**
15+
### Make a positive societal impact
1616

1717
We are developing a new form of technology. We are doing so because IBM is the catalyst to make the world work better. Therefore, quantum computing, too, should make the world work better by prioritizing use cases that make a positive societal impact.
1818

19-
**2. Explore use cases with foresight.**
19+
### Explore use cases with foresight
2020

2121
Developing a new technology means we may unlock use cases or algorithms that never existed before. We must be prepared for unintended impacts to use cases that seem positive.
2222

23-
**3. Promote our products accurately.**
23+
### Promote our products accurately
2424

2525
As innovators, it is our responsibility to ensure that the world is aware of quantum’s promise, its limitations, and the expected development timeline.
2626

27-
**4. Make consistent principled decisions.**
27+
### Make consistent principled decisions
2828

2929
It is the responsibility of IBM Quantum employees and IBM Quantum leadership alike to uphold these principles. Where decisions come in conflict with these principles, it is the responsibility of leadership to make decisions consistently.
3030

31-
**5. Build a diverse and inclusive quantum community.**
31+
### Build a diverse and inclusive quantum community
3232

3333
IBM Quantum is building a global quantum computing ecosystem. It is our responsibility to create an ecosystem that represents the diversity of the world at large, and be inclusive of people of all backgrounds, experiences, and abilities.
3434

0 commit comments

Comments
 (0)