diff --git a/.github/ISSUE_TEMPLATE/provider-update.yml b/.github/ISSUE_TEMPLATE/provider-update.yml index d612fa83c3..a447cb940b 100644 --- a/.github/ISSUE_TEMPLATE/provider-update.yml +++ b/.github/ISSUE_TEMPLATE/provider-update.yml @@ -23,7 +23,6 @@ body: - qiskit.org - Transpile - qiskit.org - Sample a Bell State - qiskit.org - Run VQE - - qiskit.org/providers/ - Other (include where in the next field) validations: required: true diff --git a/README.md b/README.md index 940887a1ab..dd52df830b 100644 --- a/README.md +++ b/README.md @@ -37,20 +37,21 @@ Qiskit is an open-source quantum computing software development framework for le Ecosystem ยท Documentation - ยท - Providers
## Table of Contents +- [Table of Contents](#table-of-contents) - [๐Ÿš€ Get Up and Running](#-get-up-and-running) - [๐Ÿ’ป Technology Used](#-technology-used) - [๐Ÿญ Content Generation](#-content-generation) + - [๐Ÿฅธ Mocking content](#-mocking-content) - [๐Ÿท๏ธ Naming Conventions](#๏ธ-naming-conventions) + - [Nuxt Components](#nuxt-components) - [โœ๏ธ How to Contribute](#๏ธ-how-to-contribute) -- [๐Ÿ—“ Open Backlog](#-open-backlog) +- [๐Ÿ—“ Open backlog](#-open-backlog) - [๐Ÿ‘ฉโ€๐Ÿ’ป Maintainers](#-maintainers) - [๐Ÿ”— Connect with Qiskit](#-connect-with-qiskit) diff --git a/components/Home/Capabilities/HomeCapabilities.vue b/components/Home/Capabilities/HomeCapabilities.vue index 4701543bed..49224672cd 100644 --- a/components/Home/Capabilities/HomeCapabilities.vue +++ b/components/Home/Capabilities/HomeCapabilities.vue @@ -62,7 +62,7 @@ const capabilities: QiskitCapability[] = [ "Qiskit helps users schedule and run quantum programs on a variety of local simulators and cloud-based quantum processors. It supports several quantum hardware designs, such as superconducting qubits and trapped ions.", thumbnailResource: "/images/library/chip-01.png", link: { - url: "/providers", + url: "https://qiskit.github.io/ecosystem/#providers", label: "See all providers", segment: { cta: "transpile-to-any-hardware", diff --git a/components/Home/Providers/HomeProviders.vue b/components/Home/Providers/HomeProviders.vue deleted file mode 100644 index acf7943bbb..0000000000 --- a/components/Home/Providers/HomeProviders.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - diff --git a/components/Home/Providers/HomeProvidersCode.vue b/components/Home/Providers/HomeProvidersCode.vue deleted file mode 100644 index 1fbf4104e9..0000000000 --- a/components/Home/Providers/HomeProvidersCode.vue +++ /dev/null @@ -1,97 +0,0 @@ - - - - - diff --git a/components/Home/Providers/HomeProvidersList.vue b/components/Home/Providers/HomeProvidersList.vue deleted file mode 100644 index 75895d0a0d..0000000000 --- a/components/Home/Providers/HomeProvidersList.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - - diff --git a/components/Providers/Accordion/ProvidersAccordion.vue b/components/Providers/Accordion/ProvidersAccordion.vue deleted file mode 100644 index fb1bd76f35..0000000000 --- a/components/Providers/Accordion/ProvidersAccordion.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - diff --git a/components/Providers/Accordion/ProvidersAccordionContent.vue b/components/Providers/Accordion/ProvidersAccordionContent.vue deleted file mode 100644 index 8bfddd7178..0000000000 --- a/components/Providers/Accordion/ProvidersAccordionContent.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/components/Providers/ProvidersToc.vue b/components/Providers/ProvidersToc.vue deleted file mode 100644 index 7656b39605..0000000000 --- a/components/Providers/ProvidersToc.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/components/Ui/UiIntroductoryContent.vue b/components/Ui/UiIntroductoryContent.vue deleted file mode 100644 index d36d03a561..0000000000 --- a/components/Ui/UiIntroductoryContent.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - diff --git a/content/providers/list/1.primitives.yaml b/content/providers/list/1.primitives.yaml deleted file mode 100644 index 7ab32dc9bb..0000000000 --- a/content/providers/list/1.primitives.yaml +++ /dev/null @@ -1,79 +0,0 @@ -description: Services or software packages that provide native support to Qiskit Primitives. - Qiskit Primitives provide a set of interfaces for performing operations such as - sampling (Sampler) and estimating (Estimator) that forms the fundamental building - blocks of quantum algorithm development. -id: primitives -providers: -- codeExamples: - - fullCode: |- - from qiskit_ibm_runtime import QiskitRuntimeService, Sampler - - # Get the API token in https://quantum-computing.ibm.com/account - service = QiskitRuntimeService(channel="ibm_quantum", token="MY_IBM_QUANTUM_TOKEN") - backend = service.backend("ibm_perth") - sampler = Sampler(session=backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sampling Bell Circuit - runMethod: sampler - description: Qiskit Runtime is a quantum computing service and programming model - that allows users to optimize workloads and efficiently execute them on quantum - systems at scale. The programming model extends the existing interface in Qiskit - with a set of new primitive programs. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/qiskit_ibm_runtime/ - installation: |- - pip install qiskit - pip install qiskit-ibm-runtime - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-ibm-runtime - title: IBM Qiskit Runtime - websiteCta: - label: Website - url: https://quantum-computing.ibm.com/lab/docs/iql/runtime/ -- codeExamples: - - fullCode: |- - from qiskit_aer.primitives import Sampler - sampler = Sampler() - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sampling Bell Circuit - runMethod: sampler - description: Aer is a high performance simulator for quantum circuits that includes - noise models. - docsCta: - label: Docs - url: https://qiskit.org/ecosystem/aer/ - installation: |- - pip install qiskit - pip install qiskit-aer - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-aer - title: Aer - websiteCta: - label: null - url: null -title: Native Primitives diff --git a/content/providers/list/2.hardware.yaml b/content/providers/list/2.hardware.yaml deleted file mode 100644 index a54ffd40c3..0000000000 --- a/content/providers/list/2.hardware.yaml +++ /dev/null @@ -1,235 +0,0 @@ -description: Cloud services that allow users to execute quantum programs in specialized - hardware that leverages quantum mechanical phenomena for quantum computation. -id: hardware -providers: -- codeExamples: - - fullCode: |- - from qiskit_aqt_provider import AQTProvider - provider = AQTProvider('ACCESS_TOKEN') - backend = provider.get_backend('offline_simulator_no_noise') - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: AQT provides access to Calcium trapped-ion quantum devices. - docsCta: - label: Docs - url: https://qiskit-community.github.io/qiskit-aqt-provider/ - installation: |- - pip install qiskit-aqt-provider - sourceCta: - label: GitHub - url: https://github.com/qiskit-community/qiskit-aqt-provider/ - title: AQT - websiteCta: - label: Website - url: https://www.aqt.eu/qc-systems/ -- codeExamples: - - fullCode: |- - from qiskit_ibm_provider import IBMProvider - - # Get the API token in https://quantum-computing.ibm.com/account - provider = IBMProvider(token="MY_IBM_QUANTUM_TOKEN") - backend = provider.get_backend("ibm_nairobi") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: IBM Quantum offers both open and premium access to a wide variety of - quantum systems. All quantum systems deployed by IBM Quantum are based on superconducting - qubit technology, as the control and scalability of this technology pave a clear - path to achieving quantum advantage with these systems. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/qiskit_ibm_provider/ - installation: |- - pip install qiskit - pip install qiskit-ibm-provider - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-ibm-provider - title: IBM Quantum - websiteCta: - label: Website - url: https://quantum-computing.ibm.com/services?services=systems -- codeExamples: - - fullCode: |- - from qiskit_ionq import IonQProvider - provider = IonQProvider("MY_IONQ_TOKEN") - backend = provider.get_backend("ionq_qpu") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: IonQ offers access to Ytterbium trapped-ion quantum computers with - high gate fidelity, long coherence time and all-to-all connectivity. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/ionq/ - installation: |- - pip install qiskit - pip install qiskit-ionq - sourceCta: - label: GitHub - url: https://github.com/Qiskit-Partners/qiskit-ionq - title: IonQ - websiteCta: - label: Website - url: https://ionq.com/ -- codeExamples: - - fullCode: |- - from qiskit_iqm import IQMProvider - provider = IQMProvider(iqm_server_url) - backend = provider.get_backend() - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: IQM offers access to gate-model based superconducting qubits quantum - systems. - docsCta: - label: Docs - url: https://iqm-finland.github.io/qiskit-on-iqm/ - installation: |- - pip install qiskit - pip install qiskit-iqm - sourceCta: - label: GitHub - url: https://github.com/iqm-finland/qiskit-on-iqm - title: IQM - websiteCta: - label: Website - url: https://www.meetiqm.com/ -- codeExamples: - - fullCode: |- - from qiskit_quantinuum import Quantinuum - Quantinuum.save_account("username@company.com") - backend = Quantinuum.get_backend("deadhead") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Quantinuum provides access to Ytterbium trapped-ion systems with high-fidelity, - fully connected qubits, and the ability to perform mid-circuit measurement. - docsCta: - label: Docs - url: https://github.com/qiskit-community/qiskit-quantinuum-provider/blob/master/examples/QuantinuumExample.ipynb - installation: |- - pip install qiskit - pip install qiskit-quantinuum-provider - sourceCta: - label: GitHub - url: https://github.com/qiskit-community/qiskit-quantinuum-provider - title: Quantinuum - websiteCta: - label: Website - url: https://www.quantinuum.com/ -- codeExamples: - - fullCode: |- - from qiskit_rigetti import RigettiQCSProvider - provider = RigettiQCSProvider() - backend = provider.get_backend("Aspen-11") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Rigetti offers access to universal, gate-model machines based on tunable - superconducting qubits. - docsCta: - label: Docs - url: https://qiskit-rigetti.readthedocs.io/en/latest/ - installation: |- - pip install qiskit - pip install qiskit-rigetti - sourceCta: - label: GitHub - url: https://github.com/rigetti/qiskit-rigetti - title: Rigetti - websiteCta: - label: Website - url: https://www.rigetti.com/ -title: Quantum Hardware diff --git a/content/providers/list/3.local-simulators.yaml b/content/providers/list/3.local-simulators.yaml deleted file mode 100644 index 8b052e104c..0000000000 --- a/content/providers/list/3.local-simulators.yaml +++ /dev/null @@ -1,155 +0,0 @@ -description: Software packages that allow users to simulate quantum programs in your - local computer. -id: local-simulators -providers: -- codeExamples: - - fullCode: |- - from qiskit_aer import AerSimulator - backend = AerSimulator() - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Aer is a high performance simulator for quantum circuits that includes - noise models. - docsCta: - label: Docs - url: https://qiskit.org/ecosystem/aer/ - installation: |- - pip install qiskit - pip install qiskit-aer - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-aer - title: Aer - websiteCta: - label: null - url: null -- codeExamples: - - fullCode: |- - from mqt import ddsim - provider = ddsim.DDSIMProvider() - backend = provider.get_backend('qasm_simulator') - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: MQT DDSIM is a quantum circuit simulator based on decision diagrams - written in C++. - docsCta: - label: Docs - url: https://ddsim.readthedocs.io/en/latest/ - installation: |- - pip install qiskit - pip install mqt.ddsim - sourceCta: - label: GitHub - url: https://github.com/cda-tum/ddsim - title: MQT DDSIM - websiteCta: - label: Website - url: https://www.cda.cit.tum.de/research/quantum_simulation/ -- codeExamples: - - fullCode: |- - from cusvaer.backends import StatevectorSimulator - backend = StatevectorSimulator() - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: NVIDIA cuStateVec is a high-performance library dedicated to operations - with state vectors for expressing quantum algorithms. - docsCta: - label: Docs - url: https://docs.nvidia.com/cuda/cuquantum/latest/custatevec/index.html - installation: |- - pip install qiskit - conda install -c conda-forge custatevec - sourceCta: - label: GitHub - url: https://github.com/NVIDIA/cuQuantum - title: NVIDIA cuStateVec - websiteCta: - label: Website - url: https://developer.nvidia.com/cuquantum-sdk -- codeExamples: - - fullCode: |- - from quac_qiskit import Quac - backend = Quac.get_backend("fake_vigo_density_simulator") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: QuaC is a parallel time dependent open quantum systems solver. - docsCta: - label: Docs - url: https://github.com/0tt3r/QuaC-qiskit/tree/master/examples/demos - installation: |- - pip install qiskit - git clone https://github.com/0tt3r/QuaC-qiskit - cd QuaC-qiskit - pip install . - sourceCta: - label: GitHub - url: https://github.com/0tt3r/QuaC-qiskit - title: QuaC - websiteCta: - label: Website - url: https://0tt3r.github.io/QuaC/ -title: Local Simulators diff --git a/content/providers/list/4.cloud-simulators.yaml b/content/providers/list/4.cloud-simulators.yaml deleted file mode 100644 index 065137e322..0000000000 --- a/content/providers/list/4.cloud-simulators.yaml +++ /dev/null @@ -1,121 +0,0 @@ -description: Cloud services that allow you to simulate quantum programs in high performance - computers. -id: cloud-simulators -providers: -- codeExamples: - - fullCode: |- - from qiskit_ibm_provider import IBMProvider - - # Get the API token in https://quantum-computing.ibm.com/account - provider = IBMProvider(token="MY_IBM_QUANTUM_TOKEN") - backend = provider.get_backend("simulator_statevector") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: IBM Quantum features a collection of high-performance simulators for - prototyping quantum circuits and algorithms, and exploring their performance under - realistic device noise models. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/qiskit_ibm_provider/ - installation: |- - pip install qiskit - pip install qiskit-ibm-provider - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-ibm-provider - title: IBM Quantum - websiteCta: - label: Website - url: https://quantum-computing.ibm.com/services/resources?tab=simulators -- codeExamples: - - fullCode: |- - from qiskit_ionq import IonQProvider - provider = IonQProvider("MY_IONQ_TOKEN") - backend = provider.get_backend("ionq_simulator") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: The IonQ Quantum Cloud providers 29-qubit cloud simulator. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/ionq/ - installation: |- - pip install qiskit - pip install qiskit-ionq - sourceCta: - label: GitHub - url: https://github.com/Qiskit-Partners/qiskit-ionq - title: IonQ - websiteCta: - label: Website - url: https://ionq.com/resources/the-value-of-classical-quantum-simulators -- codeExamples: - - fullCode: |- - from qiskit_rigetti import RigettiQCSProvider - provider = RigettiQCSProvider() - backend = provider.get_simulator(num_qubits=5, noisy=True) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: The Rigetti Quantum Virtual Machine is a wavefunction simulation of - unitary evolution with classical control flow and shared quantum classical memory. - docsCta: - label: Docs - url: https://qiskit-rigetti.readthedocs.io/en/latest/ - installation: |- - pip install qiskit - pip install qiskit-rigetti - sourceCta: - label: GitHub - url: https://github.com/rigetti/qiskit-rigetti - title: Rigetti Quantum Virtual Machine (QVM) - websiteCta: - label: Website - url: https://www.rigetti.com/applications/qvm -title: Cloud Simulators diff --git a/content/providers/list/5.multi-platforms.yaml b/content/providers/list/5.multi-platforms.yaml deleted file mode 100644 index ec231794b8..0000000000 --- a/content/providers/list/5.multi-platforms.yaml +++ /dev/null @@ -1,245 +0,0 @@ -description: Cloud services that allow you to connect with several quantum services - from different vendors. -id: multi-platforms -providers: -- codeExamples: - - fullCode: |- - from qiskit_braket_provider import AWSBraketProvider - provider = AWSBraketProvider() - - # QuEra Aquila is a 256-qubit quantum processor based on - # programmable arrays of neutral Rubidium atoms - backend = provider.backends("Aquila") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Amazon Braket is a fully managed quantum computing service designed - to help speed up scientific research and software development for quantum computing. - docsCta: - label: Docs - url: https://qiskit-community.github.io/qiskit-braket-provider/ - installation: |- - pip install qiskit - pip install qiskit_braket_provider - sourceCta: - label: GitHub - url: https://github.com/qiskit-community/qiskit-braket-provider - title: Amazon Braket - websiteCta: - label: Website - url: https://aws.amazon.com/braket/ -- codeExamples: - - fullCode: |- - from azure.quantum.qiskit import AzureQuantumProvider - provider = AzureQuantumProvider(resource_id="MY_RESOURCE_ID",location="MY_LOCATION") - backend = provider.get_backend("quantinuum.qpu.h1-2") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Azure Quantum is the cloud quantum computing service of Azure, with - a diverse set of quantum solutions and technologies. - docsCta: - label: Docs - url: https://aka.ms/AQ/Qiskit/QuickStart - installation: |- - pip install qiskit - pip install "azure-quantum[qiskit]" - sourceCta: - label: null - url: null - title: Azure Quantum - websiteCta: - label: Website - url: https://aka.ms/aq -- codeExamples: - - fullCode: |- - from gaqqie_door import QiskitGaqqie - # rewrite to the endpoint URL of the user API - url = "https://.execute-api..amazonaws.com/" - QiskitGaqqie.enable_account(url) - backend = QiskitGaqqie.get_backend("qiskit_simulator") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Gaqqie is an open-source quantum computer cloud platform. - docsCta: - label: Docs - url: https://github.com/gaqqie/gaqqie/blob/main/docs/document.pdf - installation: |- - pip install qiskit - pip install gaqqie-door - sourceCta: - label: GitHub - url: https://github.com/gaqqie/gaqqie - title: Gaqqie - websiteCta: - label: Website - url: null -- codeExamples: - - fullCode: |- - from qiskit_qcware import QcwareProvider - provider = QcwareProvider() - backend = provider.get_backend('forge_statevector') - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: QC Ware Forge is an unique and efficient turn-key algorithms for data - scientists and powerful circuit building blocks for quantum engineers. - docsCta: - label: Docs - url: https://github.com/qcware/qiskit_qcware/blob/master/notebooks/basic_demo.ipynb - installation: |- - pip install qiskit - pip install qiskit-qcware - sourceCta: - label: GitHub - url: https://github.com/qcware/qiskit_qcware - title: QC Ware Forge - websiteCta: - label: Website - url: https://forge.qcware.com/ -- codeExamples: - - fullCode: |- - import strangeworks - from strangeworks_qiskit import StrangeworksProvider - - # get your API key from the Strangeworks Portal - strangeworks.authenticate(api_key="your-api-key") - provider = StrangeworksProvider() - - # Xanadu Borealis is a photonic quantum computer with a programmable loop-based - # interferometer with over 216 squeezed-state qubits - backend = provider.get_backend("borealis") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: Strangeworks is the ultimate collaboration of hardware, software, education, - and service providers, working to develop and test quantum and future compute - technologies. - docsCta: - label: Docs - url: https://strangeworks.github.io/strangeworks-qiskit/ - installation: |- - pip install qiskit - pip install strangeworks-qiskit - sourceCta: - label: GitHub - url: null - title: Strangeworks - websiteCta: - label: Website - url: https://strangeworks.com/ -- codeExamples: - - fullCode: |- - from qiskit_superstaq import SuperstaQProvider - provider = SuperstaQProvider("MY_SUPERSTAQ_TOKEN") - backend = provider.get_backend("aws_sv1_simulator") - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - - # Run the circuit and get result - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - print(counts) - name: Transpile and run - runMethod: backend - description: SuperstaQ is a hardware-agnostic software platform that connects applications - to quantum computers from IBM Quantum, IonQ, and Rigetti. - docsCta: - label: Docs - url: null - installation: |- - pip install qiskit - pip install qiskit-superstaq - sourceCta: - label: GitHub - url: https://github.com/Infleqtion/client-superstaq - title: SuperstaQ - websiteCta: - label: Website - url: https://www.super.tech/about-superstaq/ -title: Multi-platforms diff --git a/content/providers/quick-start/data.yaml b/content/providers/quick-start/data.yaml deleted file mode 100644 index 2369ca6037..0000000000 --- a/content/providers/quick-start/data.yaml +++ /dev/null @@ -1,1481 +0,0 @@ -- codeExamples: - - fullCode: |- - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, basis_gates=['sx', 'rz', 'cx']) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit.primitives import Sampler - sampler = Sampler() - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit.primitives import Estimator - estimator = Estimator() - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Run quantum circuits and algorithms using Qiskit as a stand-alone tool - with its reference implementations of simulators. - docsCta: - label: Docs - url: https://qiskit.org/documentation/ - installation: pip install qiskit - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit - title: Qiskit (with built-in simulator) - websiteCta: - label: Website - url: https://qiskit.org/ -- codeExamples: - - fullCode: |- - from qiskit_ibm_provider import IBMProvider - - # Get the API token in https://quantum-computing.ibm.com/account - provider = IBMProvider(token="MY_IBM_QUANTUM_TOKEN") - backend = provider.get_backend("ibm_nairobi") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_ibm_runtime import QiskitRuntimeService, Sampler - - # Get the API token in https://quantum-computing.ibm.com/account - service = QiskitRuntimeService(channel="ibm_quantum", token="MY_IBM_QUANTUM_TOKEN") - backend = service.backend("ibm_perth") - sampler = Sampler(session=backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_ibm_runtime import QiskitRuntimeService, Estimator - - # Get the API token in https://quantum-computing.ibm.com/account - service = QiskitRuntimeService(channel="ibm_quantum", token="MY_IBM_QUANTUM_TOKEN") - backend = service.backend("ibm_perth") - estimator = Estimator(session=backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: IBM Quantum offers both open and premium access to a wide variety of - quantum systems. All quantum systems deployed by IBM Quantum are based on superconducting - qubit technology, as the control and scalability of this technology pave a clear - path to achieving quantum advantage with these systems. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/qiskit_ibm_provider/ - installation: |- - pip install qiskit - pip install qiskit-ibm-provider qiskit-ibm-runtime - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-ibm-provider - title: IBM Quantum - websiteCta: - label: Website - url: https://quantum-computing.ibm.com/ -- codeExamples: - - fullCode: |- - from qiskit_aer import AerSimulator - backend = AerSimulator() - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_aer.primitives import Sampler - sampler = Sampler() - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_aer.primitives import Estimator - estimator = Estimator() - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Aer is a high performance simulator for quantum circuits that includes - noise models. - docsCta: - label: Docs - url: https://qiskit.org/ecosystem/aer/ - installation: |- - pip install qiskit - pip install qiskit-aer - sourceCta: - label: GitHub - url: https://github.com/Qiskit/qiskit-aer - title: Aer - websiteCta: - label: null - url: null -- codeExamples: - - fullCode: |- - from qiskit_braket_provider import AWSBraketProvider - provider = AWSBraketProvider() - - # QuEra Aquila is a 256-qubit quantum processor based on - # programmable arrays of neutral Rubidium atoms - backend = provider.backends("Aquila") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_braket_provider import AWSBraketProvider - from qiskit.primitives import BackendSampler - provider = AWSBraketProvider() - - # QuEra Aquila is a 256-qubit quantum processor based on - # programmable arrays of neutral Rubidium atoms - backend = provider.backends("Aquila") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_braket_provider import AWSBraketProvider - from qiskit.primitives import BackendEstimator - provider = AWSBraketProvider() - - # QuEra Aquila is a 256-qubit quantum processor based on - # programmable arrays of neutral Rubidium atoms - backend = provider.backends("Aquila") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Amazon Braket is a fully managed quantum computing service designed - to help speed up scientific research and software development for quantum computing. - docsCta: - label: Docs - url: https://qiskit-community.github.io/qiskit-braket-provider/ - installation: |- - pip install qiskit - pip install qiskit_braket_provider - sourceCta: - label: GitHub - url: https://github.com/qiskit-community/qiskit-braket-provider - title: Amazon Braket - websiteCta: - label: Website - url: https://aws.amazon.com/braket/ -- codeExamples: - - fullCode: |- - from qiskit_aqt_provider import AQTProvider - provider = AQTProvider('ACCESS_TOKEN') - backend = provider.get_backend('offline_simulator_no_noise') - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_aqt_provider import AQTProvider - from qiskit_aqt_provider.primitives import AQTSampler - provider = AQTProvider('ACCESS_TOKEN') - backend = provider.get_backend('offline_simulator_no_noise') - sampler = AQTSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_aqt_provider import AQTProvider - from qiskit_aqt_provider.primitives import AQTEstimator - provider = AQTProvider('ACCESS_TOKEN') - backend = provider.get_backend('offline_simulator_no_noise') - estimator = AQTEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: AQT provides access to Calcium trapped-ion quantum devices. - docsCta: - label: Docs - url: https://qiskit-community.github.io/qiskit-aqt-provider/ - installation: |- - pip install qiskit-aqt-provider - sourceCta: - label: GitHub - url: https://github.com/qiskit-community/qiskit-aqt-provider/ - title: AQT - websiteCta: - label: Website - url: https://www.aqt.eu/qc-systems/ -- codeExamples: - - fullCode: |- - from azure.quantum.qiskit import AzureQuantumProvider - provider = AzureQuantumProvider(resource_id="MY_RESOURCE_ID",location="MY_LOCATION") - backend = provider.get_backend("quantinuum.qpu.h1-2") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from azure.quantum.qiskit import AzureQuantumProvider - from qiskit.primitives import BackendSampler - provider = AzureQuantumProvider(resource_id="MY_RESOURCE_ID",location="MY_LOCATION") - backend = provider.get_backend("quantinuum.qpu.h1-2") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from azure.quantum.qiskit import AzureQuantumProvider - from qiskit.primitives import BackendEstimator - provider = AzureQuantumProvider(resource_id="MY_RESOURCE_ID",location="MY_LOCATION") - backend = provider.get_backend("quantinuum.qpu.h1-2") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Azure Quantum is the cloud quantum computing service of Azure, with - a diverse set of quantum solutions and technologies. - docsCta: - label: Docs - url: https://aka.ms/AQ/Qiskit/QuickStart - installation: |- - pip install qiskit - pip install "azure-quantum[qiskit]" - sourceCta: - label: null - url: null - title: Azure Quantum - websiteCta: - label: Website - url: https://aka.ms/aq -- codeExamples: - - fullCode: |- - from gaqqie_door import QiskitGaqqie - - # rewrite to the endpoint URL of the user API - url = "https://.execute-api..amazonaws.com/" - QiskitGaqqie.enable_account(url) - backend = QiskitGaqqie.get_backend("qiskit_simulator") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from gaqqie_door import QiskitGaqqie - from qiskit.primitives import BackendSampler - - # rewrite to the endpoint URL of the user API - url = "https://.execute-api..amazonaws.com/" - QiskitGaqqie.enable_account(url) - backend = QiskitGaqqie.get_backend("qiskit_simulator") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from gaqqie_door import QiskitGaqqie - from qiskit.primitives import BackendEstimator - - # rewrite to the endpoint URL of the user API - url = "https://.execute-api..amazonaws.com/" - QiskitGaqqie.enable_account(url) - backend = QiskitGaqqie.get_backend("qiskit_simulator") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Gaqqie is an open-source quantum computer cloud platform. - docsCta: - label: Docs - url: https://github.com/gaqqie/gaqqie/blob/main/docs/document.pdf - installation: |- - pip install qiskit - pip install gaqqie-door - sourceCta: - label: GitHub - url: https://github.com/gaqqie/gaqqie - title: Gaqqie - websiteCta: - label: Website - url: null -- codeExamples: - - fullCode: |- - from qiskit_ionq import IonQProvider - provider = IonQProvider("MY_IONQ_TOKEN") - backend = provider.get_backend("ionq_qpu") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_ionq import IonQProvider - from qiskit.primitives import BackendSampler - provider = IonQProvider("MY_IONQ_TOKEN") - backend = provider.get_backend("ionq_qpu") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_ionq import IonQProvider - from qiskit.primitives import BackendEstimator - provider = IonQProvider("MY_IONQ_TOKEN") - backend = provider.get_backend("ionq_qpu") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: IonQ offers access to Ytterbium trapped-ion quantum computers with - high gate fidelity, long coherence time and all-to-all connectivity. - docsCta: - label: Docs - url: https://qiskit.org/documentation/partners/ionq/ - installation: |- - pip install qiskit - pip install qiskit-ionq - sourceCta: - label: GitHub - url: https://github.com/Qiskit-Partners/qiskit-ionq - title: IonQ - websiteCta: - label: Website - url: https://ionq.com/ -- codeExamples: - - fullCode: |- - from qiskit_iqm import IQMProvider - provider = IQMProvider(iqm_server_url) - backend = provider.get_backend() - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_iqm import IQMProvider - from qiskit.primitives import BackendSampler - provider = IQMProvider(iqm_server_url) - backend = provider.get_backend() - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_iqm import IQMProvider - from qiskit.primitives import BackendEstimator - provider = IQMProvider(iqm_server_url) - backend = provider.get_backend() - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: IQM offers access to gate-model based superconducting qubits quantum - systems. - docsCta: - label: Docs - url: https://iqm-finland.github.io/qiskit-on-iqm/ - installation: |- - pip install qiskit - pip install qiskit-iqm - sourceCta: - label: GitHub - url: https://github.com/iqm-finland/qiskit-on-iqm - title: IQM - websiteCta: - label: Website - url: https://www.meetiqm.com/ -- codeExamples: - - fullCode: |- - from mqt import ddsim - provider = ddsim.DDSIMProvider() - backend = provider.get_backend('qasm_simulator') - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from mqt import ddsim - from qiskit.primitives import BackendSampler - provider = ddsim.DDSIMProvider() - backend = provider.get_backend('qasm_simulator') - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from mqt import ddsim - from qiskit.primitives import BackendEstimator - provider = ddsim.DDSIMProvider() - backend = provider.get_backend('qasm_simulator') - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: MQT DDSIM is a quantum circuit simulator based on decision diagrams - written in C++. - docsCta: - label: Docs - url: https://ddsim.readthedocs.io/en/latest/ - installation: |- - pip install qiskit - pip install mqt.ddsim - sourceCta: - label: GitHub - url: https://github.com/cda-tum/ddsim - title: MQT DDSIM - websiteCta: - label: Website - url: https://www.cda.cit.tum.de/research/quantum_simulation/ -- codeExamples: - - fullCode: |- - from cusvaer.backends import StatevectorSimulator - backend = StatevectorSimulator() - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from cusvaer.backends import StatevectorSimulator - from qiskit.primitives import BackendSampler - backend = StatevectorSimulator() - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from cusvaer.backends import StatevectorSimulator - from qiskit.primitives import BackendEstimator - backend = StatevectorSimulator() - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: NVIDIA cuStateVec is a high-performance library dedicated to operations - with state vectors for expressing quantum algorithms. - docsCta: - label: Docs - url: https://docs.nvidia.com/cuda/cuquantum/latest/custatevec/index.html - installation: |- - pip install qiskit - conda install -c conda-forge custatevec - sourceCta: - label: GitHub - url: https://github.com/NVIDIA/cuQuantum - title: NVIDIA cuStateVec - websiteCta: - label: Website - url: https://developer.nvidia.com/cuquantum-sdk -- codeExamples: - - fullCode: |- - from qiskit_qcware import QcwareProvider - provider = QcwareProvider() - backend = provider.get_backend('forge_statevector') - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_qcware import QcwareProvider - from qiskit.primitives import BackendSampler - provider = QcwareProvider() - backend = provider.get_backend('forge_statevector') - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_qcware import QcwareProvider - from qiskit.primitives import BackendEstimator - provider = QcwareProvider() - backend = provider.get_backend('forge_statevector') - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: QC Ware Forge is an unique and efficient turn-key algorithms for data - scientists and powerful circuit building blocks for quantum engineers. - docsCta: - label: Docs - url: https://github.com/qcware/qiskit_qcware/blob/master/notebooks/basic_demo.ipynb - installation: |- - pip install qiskit - pip install qiskit-qcware - sourceCta: - label: GitHub - url: https://github.com/qcware/qiskit_qcware - title: QC Ware Forge - websiteCta: - label: Website - url: https://forge.qcware.com/ -- codeExamples: - - fullCode: |- - from quac_qiskit import Quac - backend = Quac.get_backend("fake_vigo_density_simulator") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from quac_qiskit import Quac - from qiskit.primitives import BackendSampler - backend = Quac.get_backend("fake_vigo_density_simulator") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from quac_qiskit import Quac - from qiskit.primitives import BackendEstimator - backend = Quac.get_backend("fake_vigo_density_simulator") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: QuaC is a parallel time dependent open quantum systems solver. - docsCta: - label: Docs - url: https://github.com/0tt3r/QuaC-qiskit/tree/master/examples/demos - installation: |- - pip install qiskit - git clone https://github.com/0tt3r/QuaC-qiskit - cd QuaC-qiskit - pip install . - sourceCta: - label: GitHub - url: https://github.com/0tt3r/QuaC-qiskit - title: QuaC - websiteCta: - label: Website - url: https://0tt3r.github.io/QuaC/ -- codeExamples: - - fullCode: |- - from qiskit_quantinuum import Quantinuum - Quantinuum.save_account("username@company.com") - backend = Quantinuum.get_backend("deadhead") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_quantinuum import Quantinuum - from qiskit.primitives import BackendSampler - Quantinuum.save_account("username@company.com") - backend = Quantinuum.get_backend("deadhead") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_quantinuum import Quantinuum - from qiskit.primitives import BackendEstimator - Quantinuum.save_account("username@company.com") - backend = Quantinuum.get_backend("deadhead") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Quantinuum provides access to Ytterbium trapped-ion systems with high-fidelity, - fully connected qubits, and the ability to perform mid-circuit measurement. - docsCta: - label: Docs - url: https://github.com/qiskit-community/qiskit-quantinuum-provider/blob/master/examples/QuantinuumExample.ipynb - installation: |- - pip install qiskit - pip install qiskit-quantinuum-provider - sourceCta: - label: GitHub - url: https://github.com/qiskit-community/qiskit-quantinuum-provider - title: Quantinuum - websiteCta: - label: Website - url: https://www.quantinuum.com/ -- codeExamples: - - fullCode: |- - from qiskit_rigetti import RigettiQCSProvider - provider = RigettiQCSProvider() - backend = provider.get_backend("Aspen-11") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_rigetti import RigettiQCSProvider - from qiskit.primitives import BackendSampler - provider = RigettiQCSProvider() - backend = provider.get_backend("Aspen-11") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_rigetti import RigettiQCSProvider - from qiskit.primitives import BackendEstimator - provider = RigettiQCSProvider() - backend = provider.get_backend("Aspen-11") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Rigetti offers access to universal, gate-model machines based on tunable - superconducting qubits. - docsCta: - label: Docs - url: https://qiskit-rigetti.readthedocs.io/en/latest/ - installation: |- - pip install qiskit - pip install qiskit-rigetti - sourceCta: - label: GitHub - url: https://github.com/rigetti/qiskit-rigetti - title: Rigetti - websiteCta: - label: Website - url: https://www.rigetti.com/ -- codeExamples: - - fullCode: |- - import strangeworks - from strangeworks_qiskit import StrangeworksProvider - - # get your API key from the Strangeworks Portal - strangeworks.authenticate(api_key="your-api-key") - provider = StrangeworksProvider() - - # Xanadu Borealis is a photonic quantum computer with a programmable loop-based - # interferometer with over 216 squeezed-state qubits - backend = provider.get_backend("borealis") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - import strangeworks - from qiskit.primitives import BackendSampler - from strangeworks_qiskit import StrangeworksProvider - - # get your API key from the Strangeworks Portal - strangeworks.authenticate(api_key="your-api-key") - provider = StrangeworksProvider() - - # Xanadu Borealis is a photonic quantum computer with a programmable loop-based - # interferometer with over 216 squeezed-state qubits - backend = provider.get_backend("borealis") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - import strangeworks - from qiskit.primitives import BackendEstimator - from strangeworks_qiskit import StrangeworksProvider - - # get your API key from the Strangeworks Portal - strangeworks.authenticate(api_key="your-api-key") - provider = StrangeworksProvider() - - # Xanadu Borealis is a photonic quantum computer with a programmable loop-based - # interferometer with over 216 squeezed-state qubits - backend = provider.get_backend("borealis") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: Strangeworks is the ultimate collaboration of hardware, software, education, - and service providers, working to develop and test quantum and future compute - technologies. - docsCta: - label: Docs - url: https://strangeworks.github.io/strangeworks-qiskit/ - installation: |- - pip install qiskit - pip install strangeworks-qiskit - sourceCta: - label: GitHub - url: null - title: Strangeworks - websiteCta: - label: Website - url: https://strangeworks.com/ -- codeExamples: - - fullCode: |- - from qiskit_superstaq import SuperstaQProvider - provider = SuperstaQProvider("MY_SUPERSTAQ_TOKEN") - backend = provider.get_backend("aws_sv1_simulator") - - # Build circuit - from qiskit.circuit.library import QuantumVolume - circuit = QuantumVolume(5) - - # Transpile circuit - from qiskit import transpile - transpiled_circuit = transpile(circuit, backend) - transpiled_circuit.draw() - name: Transpile - runMethod: backend - - fullCode: |- - from qiskit_superstaq import SuperstaQProvider - from qiskit.primitives import BackendSampler - provider = SuperstaQProvider("MY_SUPERSTAQ_TOKEN") - backend = provider.get_backend("aws_sv1_simulator") - sampler = BackendSampler(backend) - - # Build circuit - from qiskit import QuantumCircuit - circuit = QuantumCircuit(2, 2) - circuit.h(0) - circuit.cx(0,1) - circuit.measure([0,1], [0,1]) - - # Run the circuit and get result distribution - job = sampler.run(circuit) - quasi_dist = job.result().quasi_dists[0] - print(quasi_dist) - name: Sample a Bell State - runMethod: sampler - - fullCode: |- - from qiskit_superstaq import SuperstaQProvider - from qiskit.primitives import BackendEstimator - provider = SuperstaQProvider("MY_SUPERSTAQ_TOKEN") - backend = provider.get_backend("aws_sv1_simulator") - estimator = BackendEstimator(backend) - - # Specify problem hamiltonian - from qiskit.quantum_info import SparsePauliOp - - hamiltonian = SparsePauliOp.from_list([ - ("II", -1.052373245772859), - ("IZ", 0.39793742484318045), - ("ZI", -0.39793742484318045), - ("ZZ", -0.01128010425623538), - ("XX", 0.18093119978423156) - ]) - - # Define VQE ansatz, initial point and cost function - from qiskit.circuit.library import TwoLocal - ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz") - initial_point = initial_point = [0] * 8 - - def cost_function(params, ansatz, hamiltonian, estimator): - energy = estimator.run(ansatz, hamiltonian, parameter_values=params).result().values[0] - return energy - - # Run VQE using SciPy minimizer routine - from scipy.optimize import minimize - result = minimize(cost_function, initial_point, args=(ansatz, hamiltonian, estimator), method="cobyla") - - # Print minimum eigenvalue - print(result.fun) - name: Run VQE - runMethod: estimator - description: SuperstaQ is a hardware-agnostic software platform that connects applications - to quantum computers from IBM Quantum, IonQ, and Rigetti. - docsCta: - label: Docs - url: null - installation: |- - pip install qiskit - pip install qiskit-superstaq - sourceCta: - label: GitHub - url: https://github.com/SupertechLabs/qiskit-superstaq - title: SuperstaQ - websiteCta: - label: Website - url: https://www.super.tech/about-superstaq/ diff --git a/pages/index.vue b/pages/index.vue index c7590c8f96..a892bb8375 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -60,7 +60,6 @@ - diff --git a/pages/providers.vue b/pages/providers.vue deleted file mode 100644 index 1891402daf..0000000000 --- a/pages/providers.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - - - diff --git a/tests/providers.spec.ts b/tests/providers.spec.ts deleted file mode 100644 index 397e6546ea..0000000000 --- a/tests/providers.spec.ts +++ /dev/null @@ -1,109 +0,0 @@ -import * as fs from "fs/promises"; -import * as path from "path"; -import { describe, test } from "vitest"; -import { parse } from "yaml"; -import { Provider, ProvidersSection } from "~/types/providers"; - -describe("list", async () => { - const contentFilesPath = "content/providers/list"; - - const resolvedContentFilesPath = path.resolve( - process.cwd(), - contentFilesPath - ); - - const contentFiles = await fs.readdir(resolvedContentFilesPath); - - test("at least one content file exists", () => { - if (contentFiles.length === 0) { - throw new Error(`No content files found in ${contentFilesPath}`); - } - }); - - test("content files are valid", async () => { - for (const contentFile of contentFiles) { - const resolvedContentFilePath = path.resolve( - resolvedContentFilesPath, - contentFile - ); - - const contentFileContent = await fs.readFile( - resolvedContentFilePath, - "utf-8" - ); - - const parsedContent = parse(contentFileContent); - - if (typeof parsedContent !== "object") { - throw new TypeError(`Content file ${contentFile} is not valid`); - } - - type KeysOfProvidersSection = keyof ProvidersSection; - - const expectedProperties: KeysOfProvidersSection[] = [ - "id", - "title", - "description", - "providers", - ]; - - const parsedContentProperties = Object.keys(parsedContent); - - for (const expectedProperty of expectedProperties) { - if (!parsedContentProperties.includes(expectedProperty)) { - throw new Error( - `Content file ${contentFile} is missing the ${expectedProperty} property` - ); - } - } - } - }); -}); - -describe("quick-start", () => { - const contentFilePath = "content/providers/quick-start/data.yaml"; - - const resolvedContentFilePath = path.resolve(process.cwd(), contentFilePath); - - test("content file exists", async () => { - try { - await fs.access(resolvedContentFilePath); - } catch (err) { - throw new Error(`Required file ${contentFilePath} does not exist`); - } - }); - - test("content file is valid", async () => { - const contentFileContent = await fs.readFile( - resolvedContentFilePath, - "utf-8" - ); - - const parsedContent = parse(contentFileContent); - - if (typeof parsedContent !== "object") { - throw new TypeError(`Content file ${contentFilePath} is not valid`); - } - - type KeysOfProviderParsedContent = keyof Provider; - - const expectedProperties: KeysOfProviderParsedContent[] = [ - "title", - "description", - "installation", - "codeExamples", - ]; - - for (const parsedContentItem of parsedContent) { - const parsedContentProperties = Object.keys(parsedContentItem); - - for (const expectedProperty of expectedProperties) { - if (!parsedContentProperties.includes(expectedProperty)) { - throw new Error( - `Content file ${contentFilePath} is missing the ${expectedProperty} property` - ); - } - } - } - }); -}); diff --git a/types/providers.ts b/types/providers.ts deleted file mode 100644 index 34d534f5b6..0000000000 --- a/types/providers.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { TextLink } from "~/types/links"; - -export interface ProviderCodeExample { - name: string; - runMethod: string; - fullCode: string; -} - -export interface Provider { - title: string; - description: string; - installation: string; - websiteCta?: TextLink; - docsCta?: TextLink; - sourceCta?: TextLink; - codeExamples: ProviderCodeExample[]; -} - -export interface ProviderParsedContent extends Provider { - // From @nuxt/content ParsedContent interface - body: any; -} - -export interface ProvidersSection { - /** The identifier of the section */ - id: string; - /** The visible title of the section */ - title: string; - /** The visible description of the section */ - description: string; - /** Where we want to go to get more info of the section */ - providers: Provider[]; -} - -export interface TableOfContentEntry { - /** The visible name of the link */ - title: string; - /** Id of the section we want to jump to */ - sectionId: string; - /** Use when the link is on secondary level */ - isSecondary?: boolean; -}