New to Ocean? The following sections describe how to install Ocean tools, what they are and how they fit together, and give examples of using them to solve hard problems on a D-Wave quantum computer.
Initial Set Up#
The following steps set up your development environment for Ocean:
Installation is not needed if you are using an IDE that implements the Development Containers specification (aka “devcontainers”), whether locally on your system (e.g., VS Code) or cloud-based (e.g., GitHub Codespaces), because you can work in an updated Ocean environment through the Ocean Docker file.
Optionally authorize Ocean to access your Leap account to facilitate token management.
Enable the running problems on D-Wave remote compute resources, including quantum-classical hybrid solvers and the D-Wave quantum processing unit (QPU).
Ocean’s Programming Model#
Learn Ocean software’s workflow for problem solving.
D-Wave Compute Resources#
See how Ocean tools are used with these end-to-end examples.
Because many large, hard problems are best approached with quantum-classical hybrid solvers, a good place to start is with examples of the Beginner-Level Examples: Hybrid Computing section and then learn how to work directly on the quantum computer with examples of the Beginner-Level Examples: Using the QPU section.
Beginner-Level Examples: Hybrid Computing#
Large Map Coloring demonstrates using an out-of-the-box Ocean hybrid solver.
Beginner-Level Examples: Using the QPU#
Map Coloring example solves a more complex constraint satisfaction problem.
Problem With Many Variables builds a hybrid workflow and solver for a large graph problem.
Postprocessing with a Greedy Solver improves samples returned from a QPU by post-processing with a classical greedy algorthim.
D-Wave’s dwave-examples GitHub repo contains many more code examples:
Typically in the form of short code examples you can open in a supported cloud-based IDE or copy (clone) locally and run. For example:
These examples, in a web-based interactive environment that includes documentation and code, are helpful for both walking beginners through the theory and practice of problem solving and explaining complex features. They can also serve as a framework in which to develop your own code. For example:
This guide in the System Documentation introduces the D-Wave quantum computer, provides some key background information on how the system works, and explains how to construct a simple problem that the system can solve.
This guide provides advanced guidance on using D-Wave solvers, in particular QPU solvers. It lists, explains, and demonstrates techniques of problem formulation, minor-embedding, and configuring QPU parameters to optimize performance.
The following Ocean packages have extended introductions:
The introduction to dwave-cloud-client discusses how to configure selection of and communications with solvers.
The introduction to dwave-hybrid explains how to use the Python framework for running and building hybrid samplers.