Azure Quantum glossary

Adjoint

The complex conjugate transpose of an operation. For operations that implement a unitary operator, the adjoint is the inverse of the operation and is indicated by a dagger symbol. For example, if the operation U represents the unitary operator $U$, then Adjoint U represents $U^\dagger$. For more information, see Functor application.

Auxiliary qubit

A qubit that serves as temporary memory for a quantum computer and is allocated and de-allocated as needed. Sometimes referred to as an ancilla. For more information, see Multiple qubits.

Azure Active Directory (AAD) / Microsoft Identity Platform

Azure’s identity service, used to implement access control and authentication to resources. The names Azure Active Directory and Microsoft Identity Platform are interchangeable For more information, see Azure Active Directory.

Azure Managed Application (AMA) / Managed Application

A type of application offered to end customers in Azure through the Azure Marketplace. For more information, see Azure managed applications.

Azure Marketplace

A storefront for cloud-based software in Azure. For more information, see Azure Marketplace.

Azure Quantum

Microsoft’s quantum service for Azure, enabling customers access to quantum solutions from both Microsoft providers and partner providers.

Azure Resource Manager (ARM)

Azure’s deployment and management service. For more information, see Azure Resource Manager.

Bell state

One of four specific maximally entangled quantum states of two qubits. The four states are defined $\ket{\beta_{ij}} = (\mathbb{I} \otimes X^iZ^j) (\ket{00} + \ket{11}) / \sqrt{2}$. A Bell state is also known as an EPR pair.

Bloch sphere

A graphical representation of a single-qubit quantum state as a point in a three-dimensional unit sphere. For more information, see Visualizing Qubits and Transformations using the Bloch Sphere.

Callable

An operation or function in the Q# language. For more information, see Q# programs

Clifford group

The set of operations that occupy the octants of the Bloch sphere and effect permutations of the Pauli operators. These include the operations $X$, $Y$, $Z$, $H$ and $S$.

Controlled

A quantum operation that takes one or more qubits as enablers for the target operation. For more information, see Functor application.

Dirac Notation

A symbolic shorthand that simplifies the representation of quantum states, also called bra-ket notation. The bra portion represents a row vector, for example $\bra{A} = \begin{bmatrix} A{_1} & A{_2} \end{bmatrix}$ and the ket portion represents a column vector, $\ket{B} = \begin{bmatrix} B{_1} \\ B{_2} \end{bmatrix}$. For more information, see Dirac Notation.

Eigenvalue

The factor by which the magnitude of an eigenvector of a given transformation is changed by the application of the transformation. Given a square matrix $M$ and an eigenvector $v$, then $Mv = cv$, where $c$ is the eigenvalue and can be a complex number of any argument. For more information, see Advanced matrix concepts.

Eigenvector

A vector whose direction is unchanged by a given transformation and whose magnitude is changed by a factor corresponding to that vector's eigenvalue. Given a square matrix $M$ and an eigenvalue $c$, then $Mv = cv$, where $v$ is an eigenvector of the matrix and can be a complex number of any argument. For more information, see Advanced matrix concepts.

Entanglement

Quantum particles, such as qubits, can be connected or entangled such that they cannot be described independently from each other. Their measurement results are correlated even when they are separated infinitely far away. Entanglement is essential to measuring the state of a qubit. For more information, see Advanced matrix concepts.

EPR pair

One of four specific maximally entangled quantum states of two qubits. The four states are defined $\ket{\beta_{ij}} = (\mathbb{1} \otimes X^iZ^j) (\ket{00} + \ket{11}) / \sqrt{2}$. An EPR pair is also known as a Bell state

Evolution

How a quantum state changes over time. For more information, see Matrix exponentials.

Function

A type of subroutine in the Q# language that is purely deterministic. While functions are used within quantum algorithms, they cannot act on qubits or call operations. For more information, see Q# programs

Gate

A legacy term for certain intrinsic quantum operations, based on the concept of classical logic gates. A quantum circuit is a network of gates, based on the similar concept of classical logic circuits.

Global phase

When two states are identical up to a multiple of a complex number $e^{i\phi}$, they are said to differ up to a global phase. Unlike local phases, global phases cannot be observed through any measurment. For more information, see The Qubit.

Hadamard

The Hadamard operation (also referred to as the Hadamard gate or transform) acts on a single qubit and puts it in an even superposition of $\ket{0}$ or $\ket{1}$ if the qubit is initially in the $\ket{0}$ state. In Q#, this operation is applied by the pre-defined H operation.

Immutable

A variable whose value cannot be changed. An immutable variable in Q# is created using the let keyword. To declare variables that can be changed, use the mutable keyword to declare and the set keyword to modify the value.

Job

A program, problem, or application, submitted to Azure Quantum for processing by an Azure Quantum provider.

Measurement

A manipulation of a qubit (or set of qubits) that yields the result of an observation, in effect obtaining a classical bit. For more information, see The Qubit.

Mutable

A variable whose value may be changed after it is created. A mutable variable in Q# is declared using the mutable keyword and modified using the set keyword. Variables created with the let keyword are immutable and their value cannot be changed.

Namespace

A label for a collection of related names (for example, operations, functions, and user-defined types). For instance the namespace Microsoft.Quantum.Preparation labels all of the symbols defined in the standard library that help with preparing initial states.

Operation

The basic unit of quantum computation in Q#. It is roughly equivalent to a function in C, C++ or Python, or a static method in C# or Java. For more information, see Q# programs.

Oracle

A subroutine that provides data-dependent information to a quantum algorithm at runtime. Typically, the goal is to provide a superposition of outputs corresponding to inputs that are in superposition. For more information, see Oracles.

Partial application

Calling a function or operation without all the required inputs. This returns a new callable that only needs the missing parameters (indicated by an underscore) to be supplied during a future application. For more information, see Partial application.

Pauli operators

A set of three 2 x 2 unitary matrices known as the X, Y and Z quantum operations. The identity matrix, $I$, is often included in the set as well. $I = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}$, $X = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}$, $Y = \begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}$, $Z = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}$. For more information, see Single-qubit operations.

Provider

A component in Azure Quantum that provides the ability to run jobs on selected targets. Providers may be made available by Microsoft or by third-party partners.

Quantum circuit diagram

A method to graphically represent the sequence of gates for simple quantum programs, for example

Sample circuit diagram.

For more information, see Quantum circuits.

Quantum Development Kit (QDK)

Microsoft’s software development kit for developing quantum applications in the Azure Quantum service. The QDK contains Q#, Microsoft's programming language for quantum computing, along with Q# libraries, samples and tutorials. It also contains developer APIs for running jobs on the Azure Quantum service. For more information, see the Microsoft QDK Documentation.

Quantum-inspired optimization (QIO)

The emulation of quantum algorithms on classical computing hardware to find optimal solutions to complex problems. For more information, see What is quantum-inspired optimization?.

Quantum-inspired optimization problem

A problem expressed using the Python optimization library and solved using Azure Quantum. Problems may be expressed as PUBOs (Polynomial Unconstrained Binary Optimization) or Ising forms. For more information, see Binary optimization.

Quantum libraries

Collections of operations, functions and user-defined types for creating Q# programs. The Standard library is installed by default. Other libraries available are the Chemistry library, the Numerics library and the Machine learning library.

Quantum program

In the scope of Azure Quantum, a program written in Q# that targets a provider in the Azure Quantum service.

Quantum state

The precise state of an isolated quantum system, from which measurement probabilities can be extracted. In quantum computing, the quantum simulator uses this information to simulate how qubits respond to operations. For more information, see The Qubit.

Qubit

A basic unit of quantum information, analogous to a bit in classical computing. For more information, see The Qubit.

Repeat-until-success

A concept often used in quantum algorithms that consists of repeatedly applying a computation until a certain condition is satisfied. When the condition is not satisfied, often a fixup is required before retrying by entering the next iteration. For more information, see the Q# user guide

Standard libraries

Operations, functions and user-defined types that are installed along with the Q# compiler during installation. The standard library implementation is agnostic with respect to target machines. For more information, see Standard libraries.

Superposition

The concept in quantum computing that a qubit is a linear combination of two states, $\ket{0}$ and $\ket{1}$, until it is measured. For more information, see Understanding quantum computing.

Target machine

Specific hardware or simulator exposed by a provider that can be used to run jobs on Azure Quantum. Customers select which target they would like to use to run a particular job. For example, a three-qubit machine, a six-qubit machine, and a full-state simulator may each be targets.

Teleportation

A method for regenerating data, or the quantum state, of one qubit from one place to another without physically moving the qubit, using entanglement and measurement. For more information, see Quantum circuits and the respective kata at Quantum Katas.

Tuple

A collection of comma-separated values that acts as a single value. The type of a tuple is defined by the types of values it contains. In Q#, tuples are immutable and can be nested, contain arrays, or used in an array. For more information, see Tuples.

Unitary operator

An operator whose inverse is equal to its adjoint, for example, $UU^{\dagger} = \id$.

User-defined type

A custom type that may contain one or more named or anonymous items. For more information, see Type declarations.