Microsoft.Quantum.Canon

Operations

AdiabaticStateEnergyUnitary

Warning

Deprecated Please use @"microsoft.quantum.simuilation.pnormalized".

AndLadder

Performs a controlled 'AND ladder' on the target qubits.

This applies a unitary given by the following map on computational basis vectors: $$ \begin{align} \ket{x_1, \dots, x_n} \ket{y_1, \dots, y_{n - 1}} \mapsto \ket{x_1, \dots, x_n} \ket{ y_1 \oplus (x_1 \land x_2), \dots, y_{n - 1} \oplus (x_1 \land x_2 \land \cdots \land x_{n - 1} }, \end{align} $$ where $\ket{x_1, \dots, x_n}$ refers to the computational basis states of controls, and where $\ket{y_1, \dots, y_{n - 1}}$ refers to the computational basis states of targets.

ApplyDiagonalUnitary

Applies an array of complex phases to numeric basis states of a register of qubits.

That is, this implements the diagonal unitary operation $U$ that applies a complex phase $e^{i \theta_j}$ on the $n$-qubit number state $\ket{j}$.

$U = \sum^{2^n-1}_{j=0}e^{i\theta_j}\ket{j}\bra{j}$.

ApplyFermionicSWAP

Applies the Fermionic SWAP.

ApplyIf

Applies an operation conditioned on a classical bit.

ApplyIfA

Applies a adjointable operation conditioned on a classical bit.

ApplyIfC

Applies a controllable operation conditioned on a classical bit.

ApplyIfCA

Applies a unitary operation conditioned on a classical bit.

ApplyIfElseB

Applies one of two operations, depending on the value of a classical bit.

ApplyIfElseBA

Applies one of two adjointable operations, depending on the value of a classical bit.

ApplyIfElseBC

Applies one of two controllable operations, depending on the value of a classical bit.

ApplyIfElseBCA

Applies one of two unitary operations, depending on the value of a classical bit.

ApplyIfElseR

Applies one of two operations, depending on the value of a classical result.

ApplyIfElseRA

Applies one of two adjointable operations, depending on the value of a classical result.

ApplyIfElseRC

Applies one of two controllable operations, depending on the value of a classical result.

ApplyIfElseRCA

Applies one of two unitary operations, depending on the value of a classical result.

ApplyIfOne

Applies an operation conditioned on a classical result value being one.

ApplyIfOneA

Applies an adjointable operation conditioned on a classical result value being one.

ApplyIfOneC

Applies a controllable operation conditioned on a classical result value being one.

ApplyIfOneCA

Applies a unitary operation conditioned on a classical result value being one.

ApplyIfZero

Applies an operation conditioned on a classical result value being zero.

ApplyIfZeroA

Applies an adjointable operation conditioned on a classical result value being zero.

ApplyIfZeroC

Applies a controllable operation conditioned on a classical result value being zero.

ApplyIfZeroCA

Applies a unitary operation conditioned on a classical result value being zero.

ApplyMultiControlledC

Applies a multiply controlled version of a singly controlled operation. The modifier C indicates that the single-qubit operation is controllable.

ApplyMultiControlledCA

Applies a multiply controlled version of a singly controlled operation. The modifier CA indicates that the single-qubit operation is controllable and adjointable.

ApplyPauli

Given a multi-qubit Pauli operator, applies the corresponding operation to a register.

ApplyPauliFromBitString

Applies a Pauli operator on each qubit in an array if the corresponding bit of a Boolean array matches a given input.

ApplyQuantumFourierTransform

Performs the Quantum Fourier Transform on a quantum register containing an integer in the little-endian representation.

ApplyQuantumFourierTransformBE

Warning

Deprecated This operation has been removed.

ApplyQuantumFourierTransformLE
ApplyReversedOpBigEndian

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpBE".

ApplyReversedOpBigEndianA

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpBEA".

ApplyReversedOpBigEndianC

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpBEC".

ApplyReversedOpBigEndianCA

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpBEC".

ApplyReversedOpLittleEndian

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpLE".

ApplyReversedOpLittleEndianA

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpLEA".

ApplyReversedOpLittleEndianC

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpLEC".

ApplyReversedOpLittleEndianCA

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ApplyReversedOpLEC".

ApplyRippleCarryComparatorBE

Warning

Deprecated This operation has been removed.

ApplyRippleCarryComparatorLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.CompareUsingRippleCarry".

ApplyToEach

Applies a single-qubit operation to each element in a register.

ApplyToEachA

Applies a single-qubit operation to each element in a register. The modifier A indicates that the single-qubit operation is adjointable.

ApplyToEachC

Applies a single-qubit operation to each element in a register. The modifier C indicates that the single-qubit operation is controllable.

ApplyToEachCA

Applies a single-qubit operation to each element in a register. The modifier CA indicates that the single-qubit operation is controllable and adjointable.

ApplyToEachIndex

Applies a single-qubit operation to each indexed element in a register.

ApplyToEachIndexA

Applies a single-qubit operation to each indexed element in a register. The modifier A indicates that the single-qubit operation is adjointable.

ApplyToEachIndexC

Applies a single-qubit operation to each indexed element in a register. The modifier C indicates that the single-qubit operation is controllable.

ApplyToEachIndexCA

Applies a single-qubit operation to each indexed element in a register. The modifier CA indicates that the single-qubit operation is adjointable and controllable.

ApplyToFirstQubit

Applies an operation to the first qubit in the register.

ApplyToFirstQubitA

Applies an operation to the first qubit in the register. The modifier A indicates that the operation is adjointable.

ApplyToFirstQubitC

Applies operation op to the first qubit in the register. The modifier C indicates that the operation is controllable.

ApplyToFirstQubitCA

Applies operation op to the first qubit in the register. The modifier CA indicates that the operation is controllable and adjointable.

ApplyToFirstThreeQubits

Applies an operation to the first three qubits in the register.

ApplyToFirstThreeQubitsA

Applies an operation to the first three qubits in the register. The modifier A indicates that the operation is adjointable.

ApplyToFirstThreeQubitsC

Applies an operation to the first three qubits in the register. The modifier C indicates that the operation is controllable.

ApplyToFirstThreeQubitsCA

Applies an operation to the first three qubits in the register. The modifier CA indicates that the operation is controllable and adjointable.

ApplyToFirstTwoQubits

Applies an operation to the first two qubits in the register.

ApplyToFirstTwoQubitsA

Applies an operation to the first two qubits in the register. The modifier A indicates that the operation is adjointable.

ApplyToFirstTwoQubitsC

Applies an operation to the first two qubits in the register. The modifier C indicates that the operation is controllable.

ApplyToFirstTwoQubitsCA

Applies an operation to the first two qubits in the register. The modifier CA indicates that the operation is controllable and adjointable.

ApplyToPartition

Applies a pair of operations to a given partition of a register into two parts.

ApplyToPartitionA

Applies a pair of operations to a given partition of a register into two parts. The modifier A indicates that the operation is adjointable.

ApplyToPartitionC

Applies a pair of operations to a given partition of a register into two parts. The modifier C indicates that the operation is controllable.

ApplyToPartitionCA

Applies a pair of operations to a given partition of a register into two parts. The modifier CA indicates that the operation is controllable and adjointable.

ApplyToSubregister

Applies an operation to a subregister of a register, with qubits specified by an array of their indices.

ApplyToSubregisterA

Applies an operation to a subregister of a register, with qubits specified by an array of their indices. The modifier A indicates that the operation is adjointable.

ApplyToSubregisterC

Applies an operation to a subregister of a register, with qubits specified by an array of their indices. The modifier C indicates that the operation is controllable.

ApplyToSubregisterCA

Applies an operation to a subregister of a register, with qubits specified by an array of their indices. The modifier CA indicates that the operation is controllable and adjointable.

ApplyWith

Given two operations, applies one as conjugated with the other.

ApplyWithA

Given two operations, applies one as conjugated with the other.

ApplyWithC
ApplyWithCA

Given two operations, applies one as conjugated with the other.

ApplyWithInputTransformation

Given an operation that accepts some input, a function that returns an output compatible with that operation, and an input to that function, applies the operation using the function to transform the input to a form expected by the operation.

ApplyWithInputTransformationA

Given an operation that accepts some input, a function that returns an output compatible with that operation, and an input to that function, applies the operation using the function to transform the input to a form expected by the operation.

ApplyWithInputTransformationC

Given an operation that accepts some input, a function that returns an output compatible with that operation, and an input to that function, applies the operation using the function to transform the input to a form expected by the operation.

ApplyWithInputTransformationCA

Given an operation that accepts some input, a function that returns an output compatible with that operation, and an input to that function, applies the operation using the function to transform the input to a form expected by the operation.

ApproximateQFT

Apply the Approximate Quantum Fourier Transform (AQFT) to a quantum register.

AssertHighestBit

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.AssertMostSignificantBit".

AssertLessThanPhaseLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.AssertPhaseLessThan".

AssertPhase

Asserts that the phase of an equal superposition state has the expected value.

Specifically, asserts that the phase $\phi$ of a quantum state that may be expressed as $\frac{e^{i t}}{\sqrt{2}}(e^{i\phi}\ket{0} + e^{-i\phi}\ket{1})$ for some arbitrary real t has the expected value.

AssertProbIntBE

Warning

Deprecated This operation has been removed.

CNOTChain

Computes the parity of an array of qubits in-place.

It follows the pattern $\ket{q_0} \ket{q_0 \oplus q_1} \ket{q_0 \oplus q_1 \oplus q_2} \cdots$.

CNOTChainTarget

Computes the parity of an array of qubits into a target qubit.

If the array is initially in the state $\ket{q_0} \ket{q_1} \cdots \ket{q_{\text{target}}}$, the final state is given by $\ket{q_0} \ket{q_1 \oplus q_0} \cdots \ket{q_{n - 1} \oplus \cdots \oplus q_0 \oplus q_{\text{target}}}$.

CopyMostSignificantBitLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.CopyMostSignificantBit".

CX

Applies the controlled-X (CX) gate to a pair of qubits.

$$ \begin{align} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{align}, $$ where rows and columns are organized as in the quantum concepts guide.

CY

Applies the controlled-Y (CY) gate to a pair of qubits.

$$ \begin{align} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -i \\ 0 & 0 & i & 0 \end{align}, $$ where rows and columns are organized as in the quantum concepts guide.

CZ

Applies the controlled-Z (CZ) gate to a pair of qubits.

$$ \begin{align} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 \end{align}, $$ where rows and columns are organized as in the quantum concepts guide.

Delay

Applies a given operation with a delay.

DelayA

Applies a given operation with a delay.

DelayC

Applies a given operation with a delay.

DelayCA

Applies a given operation with a delay.

HY

Applies the Y-basis analog to the Hadamard transformation that interchanges the Z and Y axes.

The Y Hadamard transformation $H_Y = S H$ on a single qubit is:

\begin{align} H_Y \mathrel{:=} \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ i & -i \end{bmatrix}. \end{align}

InPlaceXorBE

Warning

Deprecated This operation has been removed.

InPlaceXorLE

Warning

Deprecated Please use @"Microsoft.Quantum.Measurement.ApplyXorInPlace".

IntegerIncrementLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.IncrementByInteger".

IntegerIncrementPhaseLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.IncrementPhaseByInteger".

IterateThroughCartesianPower

Iterates a variable, say arr, through Cartesian product [ 0, bound - 1 ] × [ 0, bound - 1 ] × [ 0, bound - 1 ] and calls op(arr) for every element of the Cartesian product

IterateThroughCartesianProduct

Iterates a variable, say arr, through a Cartesian product [ 0, bounds[0]-1 ] × [ 0, bounds[1]-1 ] × [ 0, bounds[Length(bounds)-1]-1 ] and calls op(arr) for every element of the Cartesian product

MeasureIntegerBE

Warning

Deprecated This operation has been removed.

ModularAddProductLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.MultiplyAndAddByModularInteger".

ModularAddProductPhaseLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.MultiplyAndAddPhaseByModularInteger".

ModularIncrementLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.ModularIncrementByInteger".

ModularIncrementPhaseLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.IncrementPhaseByModularInteger".

ModularMultiplyByConstantLE

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.MultiplyByModularInteger".

MultiplexOperations

Applies an array of operations controlled by an array of number states.

That is, applies Multiply-controlled unitary operation $U$ that applies a unitary $V_j$ when controlled by $n$-qubit number state $\ket{j}$.

$U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.

MultiplexOperationsBruteForceFromGenerator

Applies multiply-controlled unitary operation $U$ that applies a unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.

$U = \sum^{N-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.

MultiplexOperationsFromGenerator

Applies a multiply-controlled unitary operation $U$ that applies a unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.

$U = \sum^{N-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.

MultiplexPauli

Applies a Pauli rotation conditioned on an array of qubits.

This applies the multiply-controlled unitary operation $U$ that performs rotations by angle $\theta_j$ about single-qubit Pauli operator $P$ when controlled by the $n$-qubit number state $\ket{j}$.

$U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes e^{i P \theta_j}$.

MultiplexZ

Applies a Pauli Z rotation conditioned on an array of qubits.

This applies the multiply-controlled unitary operation $U$ that performs rotations by angle $\theta_j$ about single-qubit Pauli operator $Z$ when controlled by the $n$-qubit number state $\ket{j}$.

$U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes e^{i Z \theta_j}$.

NoOp

Performs the identity operation (no-op) on an argument.

QFT

Performs the Quantum Fourier Transform on a quantum register containing an integer in the big-endian representation.

QFTLE

Performs the Quantum Fourier Transform on a quantum register containing an integer in the little-endian representation.

RAll0

Performs a phase shift operation.

$R=\boldone-(1-e^{i \phi})\ket{0\cdots 0}\bra{0\cdots 0}$.

RAll1

Performs a phase shift operation.

$R=\boldone-(1-e^{i \phi})\ket{1\cdots 1}\bra{1\cdots 1}$.

SwapReverseRegister

Uses SWAP gates to Reversed the order of the qubits in a register.

With

Warning

Deprecated Please use @"Microsoft.Quantum.Canon.ApplyWith".

WithA

Warning

Deprecated Please use @"Microsoft.Quantum.Canon.ApplyWithA".

WithC

Warning

Deprecated Please use @"Microsoft.Quantum.Canon.ApplyWithC".

WithCA

Warning

Deprecated Please use @"Microsoft.Quantum.Canon.ApplyWithCA".

Functions

AsQubitArray

Warning

Deprecated This function has been removed.

AssertAlmostEqual

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.NearEqualityFactD" instead.

AssertAlmostEqualTol

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.EqualityWithinToleranceFact" instead.

AssertBoolArrayEqual

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.AllEqualityFactB" instead.

AssertBoolEqual

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.EqualityFactB" instead.

AssertIntEqual

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.EqualityFactI" instead.

AssertResultEqual

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.EqualityFactR" instead.

BigEndianToLittleEndian

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.BigEndianAsLittleEndian".

Bind

Warning

Deprecated Please use Bound.

BindA

Warning

Deprecated Please use BoundA.

BindC

Warning

Deprecated Please use BoundC.

BindCA

Warning

Deprecated Please use BoundCA.

BitSize

Warning

Deprecated Please use BitSizeI.

BoolArrFromPositiveInt

Warning

Deprecated Please use IntAsBoolArray.

BoolArrFromResultArr

Warning

Deprecated Please use ResultArrayAsBoolArray.

BoolFromResult

Warning

Deprecated Please use ResultAsBool.

Bound

Given an array of operations acting on a single input, produces a new operation that performs each given operation in sequence.

BoundA

Given an array of operations acting on a single input, produces a new operation that performs each given operation in sequence. The modifier A indicates that all operations in the array are adjointable.

BoundC

Given an array of operations acting on a single input, produces a new operation that performs each given operation in sequence. The modifier C indicates that all operations in the array are controllable.

BoundCA

Given an array of operations acting on a single input, produces a new operation that performs each given operation in sequence. The modifier CA indicates that all operations in the array are adjointable and controllable.

CControlled

Given an operation op, returns a new operation which applies the op if a classical control bit is true. If false, nothing happens.

CControlledA

Given an operation op, returns a new operation which applies the op if a classical control bit is true. If false, nothing happens. The modifier A indicates that the operation is adjointable.

CControlledC

Given an operation op, returns a new operation which applies the op if a classical control bit is true. If false, nothing happens. The modifier C indicates that the operation is controllable.

CControlledCA

Given an operation op, returns a new operation which applies the op if a classical control bit is true. If false, nothing happens. The modifier CA indicates that the operation is controllable and adjointable.

Compose

Generates the composition of two functions.

That is, given two functions $f$ and $g$, returns a new function representing $f \circ g$.

ConjugatedBy

Given outer and inner operations, returns a new operation that conjugates the inner operation by the outer operation.

ConjugatedByA

Given outer and inner operations, returns a new operation that conjugates the inner operation by the outer operation.

ConjugatedByC

Given outer and inner operations, returns a new operation that conjugates the inner operation by the outer operation.

ConjugatedByCA

Given outer and inner operations, returns a new operation that conjugates the inner operation by the outer operation.

ContinuedFractionConvergent

Warning

Deprecated Please use ContinuedFractionConvergentI.

ControlledOnBitString

Returns a unitary operator that applies an oracle on the target register if the control register state corresponds to a specified bit mask.

ControlledOnInt

Returns a unitary operator that applies an oracle on the target register if the control register state corresponds to a specified positive integer.

CurriedOp

Returns a curried version of an operation on two inputs.

That is, given an operation with two inputs, this function applies Curry's isomorphism $f(x, y) \equiv f(x)(y)$ to return an operation of one input which returns an operation of one input.

CurryOp

Warning

Deprecated Please use CurriedOp.

DecomposeIntoTimeStepsCA

Returns an operation implementing the Trotter–Suzuki integrator for a given operation.

Delayed

Returns an operation that applies given operation with given argument.

DelayedA

Returns an operation that applies given operation with given argument.

DelayedC

Returns an operation that applies given operation with given argument.

DelayedCA

Returns an operation that applies given operation with given argument.

EmbedPauli

Given a single-qubit Pauli operator and the index of a qubit, returns a multi-qubit Pauli operator with the given single-qubit operator at that index and PauliI at every other index.

ExpMod

Warning

Deprecated Please use ExpModI.

ExtendedGCD

Warning

Deprecated Please use ExtendedGreatestCommonDivisorI.

Filter

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.Filtered" instead.

ForAll

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.All" instead.

ForAny

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.Any" instead.

Fst

Given a pair, returns its first element.

GCD

Warning

Deprecated Please use GreatestCommonDivisorI.

Ignore

Ignores the output of an operation or function.

IntAbs

Warning

Deprecated This function has been removed.

IntArrayFromRange

Warning

Deprecated Please use RangeAsIntArray.

IntMax

Warning

Deprecated This function has been removed.

InverseMod

Warning

Deprecated Please use InverseModI.

IsCoprime

Warning

Deprecated Please use GreatestCommonDivisorI.

IsResultOne

Tests if a given Result value is equal to One.

IsResultZero

Tests if a given Result value is equal to Zero.

LittleEndianToBigEndian

Warning

Deprecated Please use @"Microsoft.Quantum.Arithmetic.LittleEndianAsBigEndian".

Map

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.Mapped" instead.

MapIndex

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.MappedByIndex" instead.

Modulus

Warning

Deprecated Please use ModulusI.

MultiplexerBruteForceFromGenerator

Returns a multiply-controlled unitary operation $U$ that applies a unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.

$U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.

MultiplexerFromGenerator

Returns a multiply-controlled unitary operation $U$ that applies a unitary $V_j$ when controlled by n-qubit number state $\ket{j}$.

$U = \sum^{2^n-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.

NearEqualityFact

Warning

Deprecated Please use @"Microsoft.Quantum.Diagnostics.NearEqualityFactD" instead.

OperationPow

Raises an operation to a power.

That is, given an operation representing a gate $U$, returns a new operation $U^m$ for a power $m$.

OperationPowA

Raises an operation to a power. The modifier A indicates that the operation is adjointable.

That is, given an operation representing a gate $U$, returns a new operation $U^m$ for a power $m$.

OperationPowC

Raises an operation to a power. The modifier C indicates that the operation is controllable.

That is, given an operation representing a gate $U$, returns a new operation $U^m$ for a power $m$.

OperationPowCA

Raises an operation to a power. The modifier A indicates that the operation is controllable and adjointable.

That is, given an operation representing a gate $U$, returns a new operation $U^m$ for a power $m$.

Pad

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.Padded" instead.

PauliFromBitString

Warning

Deprecated Please use BoolArrayAsPauli.

PNormalize

Warning

Deprecated Please use PNormalized.

PositiveIntFromBoolArr

Warning

Deprecated Please use BoolArrayAsInt.

PositiveIntFromResultArr

Warning

Deprecated Please use @"microsoft.quantum.canon.resultarrayasint".

RestrictedToSubregister

Restricts an operation to an array of indices of a register, i.e., a subregister.

RestrictedToSubregisterA

Restricts an operation to an array of indices of a register, i.e., a subregister. The modifier A indicates that the operation is adjointable.

RestrictedToSubregisterC

Restricts an operation to an array of indices of a register, i.e., a subregister. The modifier C indicates that the operation is controllable.

RestrictedToSubregisterCA

Restricts an operation to an array of indices of a register, i.e., a subregister. The modifier CA indicates that the operation is controllable and adjointable.

RestrictToSubregister

Warning

Deprecated Please use RestrictedToSubregister.

RestrictToSubregisterA

Warning

Deprecated Please use RestrictedToSubregisterA.

RestrictToSubregisterC

Warning

Deprecated Please use RestrictedToSubregisterC.

RestrictToSubregisterCA

Warning

Deprecated Please use RestrictedToSubregisterCA.

ResultArrFromBoolArr

Warning

Deprecated Please use ResultArrayAsBoolArray.

ResultAsInt

Warning

Deprecated Please use ResultArrayAsInt.

ResultFromBool

Warning

Deprecated Please use BoolAsResult.

Reverse

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.Reversed" instead.

Snd

Given a pair, returns its second element.

SplitArray

Warning

Deprecated Please use @"Microsoft.Quantum.Arrays.Partitioned" instead.

StackCapacity

Retrieves the capacity of a ResultStack.

StackLength

Retrieves the number of elements stored in a ResultStack.

StackNew

Creates a new empty ResultStack with given capacity.

StackPeek

Retrieves the topmost element of a ResultStack.

StackPop

Removes the topmost element from a ResultStack.

StackPush

Pushes a new element onto a ResultStack.

ToOperation

Warning

Deprecated Please use FunctionAsOperation.

TransformedOperation

Given a function and an operation, returns a new operation whose input is transformed by the given function.

TransformedOperationA

Given a function and an operation, returns a new operation whose input is transformed by the given function.

TransformedOperationC

Given a function and an operation, returns a new operation whose input is transformed by the given function.

TransformedOperationCA

Given a function and an operation, returns a new operation whose input is transformed by the given function.

UncurriedOp

Given a function which returns operations, returns a new operation which takes both inputs as a tuple.

UncurriedOpA

Given a function which returns operations, returns a new operation which takes both inputs as a tuple. The modifier A indicates that the operations are adjointable.

UncurriedOpC

Given a function which returns operations, returns a new operation which takes both inputs as a tuple. The modifier C indicates that the operations are controllable.

UncurriedOpCA

Given a function which returns operations, returns a new operation which takes both inputs as a tuple. The modifier CA indicates that the operations are controllable and adjointable.

UncurryOp

Warning

Deprecated Please use UncurriedOp.

UncurryOpA

Warning

Deprecated Please use UncurriedOpA.

UncurryOpC

Warning

Deprecated Please use UncurriedOpC.

UncurryOpCA

Warning

Deprecated Please use UncurriedOpCA.

WeightOnePaulis

Returns an array of all weight-1 Pauli operators on a given number of qubits.

XOR

This computes the exclusive-OR of two bits.

User Defined Types

CCNOTop

The signature type of CCNOT gate.

ResultStack

A last-in-first-out stack of Result variables. The stack consists of an integer capacity, a stack pointer and a Result array.