author | description | ms.author | ms.date | ms.service | ms.subservice | ms.topic | no-loc | title | uid | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bradben |
A glossary of common terms, actions and objects used in quantum computing. |
v-benbra |
02/01/2021 |
azure-quantum |
qdk |
reference |
|
Quantum computing glossary |
microsoft.quantum.glossary-qdk |
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 Adjoint U
represents
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.
One of four specific maximally entangled quantum states of two qubits. The four states are defined
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.
An operation or function in the Q# language. For more information, see Q# programs
The set of operations that occupy the octants of the Bloch sphere and effect permutations of the Pauli operators. These include the operations
A quantum operation that takes one or more qubits as enablers for the target operation. For more information, see Functor application.
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.
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
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
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.
One of four specific maximally entangled quantum states of two qubits. The four states are defined
How a quantum state changes over time. For more information, see Matrix exponentials.
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
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.
When two states are identical up to a multiple of a complex number
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 H
operation.
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.
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.
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.
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.
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.
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.
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.
A set of three 2 x 2 unitary matrices known as the X
, Y
and Z
quantum operations. The identity matrix,
A method to graphically represent the sequence of gates for simple quantum programs, for example
For more information, see Quantum circuits.
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.
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.
A basic unit of quantum information, analogous to a bit in classical computing. For more information, see The Qubit.
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
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.
The concept in quantum computing that a qubit is a linear combination of two states,
A compilation target that lowers an abstract quantum program towards hardware or simulation. This typically include re-writes for many purposes including gate replacement, encoding for error correction, geometric layout and others. For more information, see Quantum simulators and host applications.
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.
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.
An operator whose inverse is equal to its adjoint, for example,
A custom type that may contain one or more named or anonymous items. For more information, see Type declarations.