# D-Wave Ocean Software Documentation#

Ocean software is a suite of tools D-Wave Systems provides on the D-Wave GitHub repository for solving hard problems with quantum computers.

The Concepts tab defines and describes Ocean concepts and terminology, such as the following:

Quadratic models are polynomials with one or two variables per term. A simple example of a quadratic model is, \(Ax + By + Cxy\) where \(A\), \(B\), and \(C\) are constants. Single-variable terms—\(Ax\) and \(By\) here—are linear with the constant biasing the term’s variable. Two-variable terms—\(Cxy\) here—are quadratic with a relationship between the variables. …

*Samplers* are processes that sample from low energy states
of a problem’s objective function. A BQM sampler
samples from low energy states in models such as those defined
by an Ising equation or a Quadratic Unconstrained Binary
Optimization (QUBO) problem and returns an iterable of samples,
in order of increasing energy.
…

To solve an arbitrarily posed binary quadratic problem directly
on a D-Wave system requires mapping, called *minor embedding*,
to the QPU Topology of the system’s quantum processing
unit (QPU).
…

The Getting Started tab walks you through installing and beginning to use Ocean tools, including:

Initial Set Up explains how you set up your development environment.

Ocean’s Programming Model describes Ocean’s workflow for problem solving.

D-Wave Compute Resources describes Ocean’s samplers.

Examples provides tutorial usage examples.

Further Learning links to additional resources.

The CLI tab introduces the dwave executable, installed with the SDK, that provides an interactive command line interface (CLI) for setting up and configuring your development environment.

For example, the `dwave ping`

command tests communications
with the quantum computer configured using the `dwave setup`

or `dwave config`

commands.

The example below, for a Bash Unix shell, pings only QPU solvers.

```
$ dwave ping --client qpu
Using endpoint: https://cloud.dwavesys.com/sapi
Using solver: DW_2000Q_6
Submitted problem ID: 34f773f7-77dc-7fa5-a7d5-7e397d90fc4a
Wall clock time:
* Solver definition fetch: 1888.499 ms
* Problem submit and results fetch: 1038.042 ms
* Total: 2926.541 ms
QPU timing:
* post_processing_overhead_time = 307.0 us
* qpu_access_overhead_time = 1185.96 us
* qpu_access_time = 10995.04 us
* qpu_anneal_time_per_sample = 20.0 us
* qpu_delay_time_per_sample = 20.54 us
* qpu_programming_time = 10756.1 us
* qpu_readout_time_per_sample = 198.4 us
* qpu_sampling_time = 238.94 us
* total_post_processing_time = 307.0 us
```

The Packages tab lists and summarizes all the SDK packages, such as these:

Quadratic models: BQM, CQM.

Classical algorithms for solving binary quadratic models.

D-Wave samplers and composites.

Framework for building hybrid samplers.

## Index and D-Wave Links#

Index: Index for this site.

Leap: Sign up for Leap quantum cloud service, which gives you immediate, secure access to D-Wave quantum and hybrid solvers, as well as a wealth of information to help you get started creating quantum applications.

System Documentation: Here you will find information such as

Getting Started with the System—An introduction to D-Wave’s quantum computers, their hardware and how they work.

Solver Properties and Parameters—Description of properties and parameters for of D-Wave’s quantum computers and Leap’s quantum-classical hybrid solvers.

Problem-Solving Handbook—Information and references on formulating problems and best practices in quantum computing.