Espacio de nombres Microsoft.Quantum.Canon

Advertencia

Esta documentación hace referencia al QDK clásico, que se ha reemplazado por el QDK moderno.

https://aka.ms/qdk.api Consulte la documentación de la API para el QDK moderno.

Operaciones

Nombre Resumen
AndLadder Realiza una "ESCALERA AND" controlada en un registro de cúbits de destino.
ApplyAnd Invierte un cúbit de destino determinado si y solo si ambos cúbits de control están en el estado 1, utilizando medidas para realizar la operación adyacente.
ApplyCCNOTChain Implementa una cascada de puertas CCNOT controladas en los bits correspondientes de dos registros de cúbits, actuando en el siguiente cúbit de uno de los registros. A partir de los cúbits situados en la posición 0 de ambos registros como controles, CCNOT se aplica al cúbit en la posición 1 del registro de destino y, a continuación, controlado por los cúbits en la posición 1 que actúa sobre el cúbit en la posición 2 del registro de destino, etc., finalizando con una acción en el cúbit de destino en la posición Length(nQubits)-1.
ApplyCNOTChain Calcula la paridad de un registro de cúbits en contexto.
ApplyCNOTChainWithTarget Calcula la paridad de una matriz de cúbits en un cúbit de destino.
ApplyControlledOnBitString Aplica una operación unitaria en el registro de destino, controlada en un estado especificado por una máscara de bits determinada.
ApplyControlledOnInt Aplica una operación unitaria en el registro de destino si el estado del registro de control corresponde a un entero no negativo especificado.
ApplyDiagonalUnitary Aplica una matriz de fases complejas a los estados numéricos de un registro de cúbits.
ApplyFermionicSWAP Aplica el INTERCAMBIO fermiónico.
ApplyIf Aplica una operación condicionada en un bit clásico.
ApplyIfA Aplica una operación adyacente condicionada en un bit clásico.
ApplyIfC Aplica una operación controlable condicionada en un bit clásico.
ApplyIfCA Aplica una operación unitaria condicionada a un bit clásico.
ApplyIfElseB Aplica una de las dos operaciones, según el valor de un bit clásico.
ApplyIfElseBA Aplica una de las dos operaciones adyacentes, según el valor de un bit clásico.
ApplyIfElseBC Aplica una de las dos operaciones controlables, según el valor de un bit clásico.
ApplyIfElseBCA Aplica una de las dos operaciones unitarias, según el valor de un bit clásico.
ApplyIfElseR Aplica una de las dos operaciones, según el valor de un resultado clásico.
ApplyIfElseRA Aplica una de las dos operaciones adyacentes, según el valor de un resultado clásico.
ApplyIfElseRC Aplica una de las dos operaciones controlables, según el valor de un resultado clásico.
ApplyIfElseRCA Aplica una de las dos operaciones unitarias, según el valor de un resultado clásico.
ApplyIfOne Aplica una operación condicionada a que un valor de resultado clásico sea uno.
ApplyIfOneA Aplica una operación adyacente condicionada a que un valor de resultado clásico sea uno.
ApplyIfOneC Aplica una operación controlable condicionada a que un valor de resultado clásico sea uno.
ApplyIfOneCA Aplica una operación unitaria condicionada a que un valor de resultado clásico sea uno.
ApplyIfZero Aplica una operación condicionada a un valor de resultado clásico que es cero.
ApplyIfZeroA Aplica una operación adyacente condicionada a que un valor de resultado clásico sea cero.
ApplyIfZeroC Aplica una operación controlable condicionada a que un valor de resultado clásico sea cero.
ApplyIfZeroCA Aplica una operación unitaria condicionada a que un valor de resultado clásico sea cero.
ApplyLowDepthAnd Invierte un cúbit de destino determinado si y solo si ambos cúbits de control están en el estado 1, con profundidad T 1, utilizando medidas para realizar la operación adyacente.
ApplyMultiControlledC Aplica una versión controlada de multiplicación de una operación controlada por singly. El modificador C indica que la operación de un solo cúbit es controlable.
ApplyMultiControlledCA Aplica una versión controlada de multiplicación de una operación controlada por singly. El modificador CA indica que la operación de un solo cúbit es controlable y adyacente.
ApplyOpRepeatedlyOver Aplica la misma operación a través de un registro de cúbit varias veces.
ApplyOpRepeatedlyOverA Aplica la misma operación a través de un registro de cúbit varias veces.
ApplyOpRepeatedlyOverC Aplica la misma operación a través de un registro de cúbit varias veces.
ApplyOpRepeatedlyOverCA Aplica la misma operación a través de un registro de cúbit varias veces.
ApplyP Dado un operador Pauli de un solo cúbit, aplica la operación correspondiente a un solo cúbit.
ApplyPauli Dado un operador Pauli de varios cúbits, aplica la operación correspondiente a un registro.
ApplyPauliFromBitString Aplica un operador Pauli en cada cúbit de una matriz si el bit correspondiente de una matriz booleana coincide con una entrada determinada.
ApplyQuantumFourierTransform Realiza la transformación de Quantum Fourier en un registro cuántico que contiene un entero en la representación little-endian.
ApplyReversedOpBigEndianA > [! ADVERTENCIA]
ApplyReversedOpBigEndianC > [! ADVERTENCIA]
ApplyReversedOpBigEndianCA > [! ADVERTENCIA]
ApplyReversedOpLittleEndianA > [! ADVERTENCIA]
ApplyReversedOpLittleEndianC > [! ADVERTENCIA]
ApplyReversedOpLittleEndianCA > [! ADVERTENCIA]
ApplyRippleCarryComparatorLE > [! ADVERTENCIA]
ApplySeriesOfOps Aplica una lista de operaciones y sus destinos secuencialmente en una matriz.
ApplySeriesOfOpsA Aplica una lista de operaciones y sus destinos secuencialmente en una matriz. (Contiguo)
ApplySeriesOfOpsC Aplica una lista de operaciones y sus destinos secuencialmente en una matriz. (Controlado)
ApplySeriesOfOpsCA Aplica una lista de operaciones y sus destinos secuencialmente en una matriz. (Contiguo + Controlado)
ApplyToEach Aplica una operación de un solo cúbit a cada elemento de un registro.
ApplyToEachA Aplica una operación de un solo cúbit a cada elemento de un registro. El modificador A indica que la operación de un solo cúbit es adyacente.
ApplyToEachC Aplica una operación de un solo cúbit a cada elemento de un registro. El modificador C indica que la operación de un solo cúbit es controlable.
ApplyToEachCA Aplica una operación de un solo cúbit a cada elemento de un registro. El modificador CA indica que la operación de un solo cúbit es controlable y adyacente.
ApplyToEachIndex Aplica una operación de un solo cúbit a cada elemento indizado de un registro.
ApplyToEachIndexA Aplica una operación de un solo cúbit a cada elemento indizado de un registro. El modificador A indica que la operación de un solo cúbit es adyacente.
ApplyToEachIndexC Aplica una operación de un solo cúbit a cada elemento indizado de un registro. El modificador C indica que la operación de un solo cúbit es controlable.
ApplyToEachIndexCA Aplica una operación de un solo cúbit a cada elemento indizado de un registro. El modificador CA indica que la operación de un solo cúbit es adyacente y controlable.
ApplyToElement Aplica una operación a un elemento determinado de una matriz.
ApplyToElementA Aplica una operación a un elemento determinado de una matriz.
ApplyToElementC Aplica una operación a un elemento determinado de una matriz.
ApplyToElementCA Aplica una operación a un elemento determinado de una matriz.
ApplyToFirstQubit Aplica una operación al primer cúbit del registro.
ApplyToFirstQubitA Aplica una operación al primer cúbit del registro. El modificador A indica que la operación es adyacente.
ApplyToFirstQubitC Aplica la operación op al primer cúbit del registro. El modificador C indica que la operación es controlable.
ApplyToFirstQubitCA Aplica la operación op al primer cúbit del registro. El modificador CA indica que la operación es controlable y adyacente.
ApplyToFirstThreeQubits Aplica una operación a los tres primeros cúbits del registro.
ApplyToFirstThreeQubitsA Aplica una operación a los tres primeros cúbits del registro. El modificador A indica que la operación es adyacente.
ApplyToFirstThreeQubitsC Aplica una operación a los tres primeros cúbits del registro. El modificador C indica que la operación es controlable.
ApplyToFirstThreeQubitsCA Aplica una operación a los tres primeros cúbits del registro. El modificador CA indica que la operación es controlable y adyacente.
ApplyToFirstTwoQubits Aplica una operación a los dos primeros cúbits del registro.
ApplyToFirstTwoQubitsA Aplica una operación a los dos primeros cúbits del registro. El modificador A indica que la operación es adyacente.
ApplyToFirstTwoQubitsC Aplica una operación a los dos primeros cúbits del registro. El modificador C indica que la operación es controlable.
ApplyToFirstTwoQubitsCA Aplica una operación a los dos primeros cúbits del registro. El modificador CA indica que la operación es controlable y adyacente.
ApplyToHead Aplica una operación al primer elemento de una matriz.
ApplyToHeadA Aplica una operación al primer elemento de una matriz.
ApplyToHeadC Aplica una operación al primer elemento de una matriz.
ApplyToHeadCA Aplica una operación al primer elemento de una matriz.
ApplyToMost Aplica una operación a todos los elementos excepto al último elemento de una matriz.
ApplyToMostA Aplica una operación a todos los elementos excepto al último elemento de una matriz.
ApplyToMostC Aplica una operación a todos los elementos excepto al último elemento de una matriz.
ApplyToMostCA Aplica una operación a todos los elementos excepto al último elemento de una matriz.
ApplyToPartition Aplica un par de operaciones a una partición determinada de un registro en dos partes.
ApplyToPartitionA Aplica un par de operaciones a una partición determinada de un registro en dos partes. El modificador A indica que la operación es adyacente.
ApplyToPartitionC Aplica un par de operaciones a una partición determinada de un registro en dos partes. El modificador C indica que la operación se puede controlar.
ApplyToPartitionCA Aplica un par de operaciones a una partición determinada de un registro en dos partes. El modificador CA indica que la operación es controlable y adyacente.
ApplyToRest Aplica una operación a todo, pero al primer elemento de una matriz.
ApplyToRestA Aplica una operación a todo, pero al primer elemento de una matriz.
ApplyToRestC Aplica una operación a todo, pero al primer elemento de una matriz.
ApplyToRestCA Aplica una operación a todo, pero al primer elemento de una matriz.
ApplyToSubregister Aplica una operación a una subregión de un registro, con cúbits especificados por una matriz de sus índices.
ApplyToSubregisterA Aplica una operación a una subregión de un registro, con cúbits especificados por una matriz de sus índices. El modificador A indica que la operación es adyacente.
ApplyToSubregisterC Aplica una operación a una subregión de un registro, con cúbits especificados por una matriz de sus índices. El modificador C indica que la operación se puede controlar.
ApplyToSubregisterCA Aplica una operación a una subregión de un registro, con cúbits especificados por una matriz de sus índices. El modificador CA indica que la operación es controlable y adyacente.
ApplyToTail Aplica una operación al último elemento de una matriz.
ApplyToTailA Aplica una operación al último elemento de una matriz.
ApplyToTailC Aplica una operación al último elemento de una matriz.
ApplyToTailCA Aplica una operación al último elemento de una matriz.
ApplyWith Dadas dos operaciones, se aplica una como conjugada con la otra.
ApplyWithA Dadas dos operaciones, se aplica una como conjugada con la otra.
ApplyWithC Dadas dos operaciones, se aplica una como conjugada con la otra.
ApplyWithCA Dadas dos operaciones, se aplica una como conjugada con la otra.
ApplyWithInputTransformation Dada una operación que acepta alguna entrada, una función que devuelve una salida compatible con esa operación y una entrada a esa función, aplica la operación mediante la función para transformar la entrada en un formulario esperado por la operación.
ApplyWithInputTransformationA Dada una operación que acepta alguna entrada, una función que devuelve una salida compatible con esa operación y una entrada a esa función, aplica la operación mediante la función para transformar la entrada en un formulario esperado por la operación.
ApplyWithInputTransformationC Dada una operación que acepta alguna entrada, una función que devuelve una salida compatible con esa operación y una entrada a esa función, aplica la operación mediante la función para transformar la entrada en un formulario esperado por la operación.
ApplyWithInputTransformationCA Dada una operación que acepta alguna entrada, una función que devuelve una salida compatible con esa operación y una entrada a esa función, aplica la operación mediante la función para transformar la entrada en un formulario esperado por la operación.
ApproximateQFT Aplique la transformación cuántica aproximada de Fourier (AQFT) a un registro cuántico.
ApproximatelyApplyDiagonalUnitary Aplica una matriz de fases complejas a estados numéricos de base de un registro de cúbits, truncando ángulos de rotación pequeños según una tolerancia determinada.
ApproximatelyMultiplexPauli Aplica una rotación de Pauli condicionada en una matriz de cúbits, truncando ángulos de rotación pequeños según una tolerancia determinada.
ApproximatelyMultiplexZ Aplica un giro de Pauli Z condicionado en una matriz de cúbits, truncando ángulos de rotación pequeños según una tolerancia determinada.
AssertHighestBit > [! ADVERTENCIA]
AssertLessThanPhaseLE > [! ADVERTENCIA]
AssertPhase > [! ADVERTENCIA]
CNOTChain > [! ADVERTENCIA]
CNOTChainTarget > [! ADVERTENCIA]
CX Aplica la puerta controlled-X (CX) a un par de cúbits.
CY Aplica la puerta controlada-Y (CY) a un par de cúbits.
CZ Aplica la puerta controlled-Z (CZ) a un par de cúbits.
CascadeCCNOT > [! ADVERTENCIA]
CascadeCNOT > [! ADVERTENCIA]
Delay Aplica una operación determinada con un retraso.
DelayA Aplica una operación determinada con un retraso.
DelayC Aplica una operación determinada con un retraso.
DelayCA Aplica una operación determinada con un retraso.
HY Aplica la analogía Y a la transformación Hadamard que intercambia los ejes Z e Y.
InPlaceMajority > [! ADVERTENCIA]
InPlaceXorBE > [! ADVERTENCIA]
InPlaceXorLE > [! ADVERTENCIA]
IntegerIncrementLE > [! ADVERTENCIA]
IntegerIncrementPhaseLE > [! ADVERTENCIA]
IterateThroughCartesianPower Aplica una operación para cada índice de la potencia cartesiana de un intervalo entero.
IterateThroughCartesianProduct Aplica una operación para cada índice del producto cartesiano de varios rangos.
ModularAddProductLE > [! ADVERTENCIA]
ModularAddProductPhaseLE > [! ADVERTENCIA]
ModularIncrementLE > [! ADVERTENCIA]
ModularIncrementPhaseLE > [! ADVERTENCIA]
ModularMultiplyByConstantLE > [! ADVERTENCIA]
MultiplexOperations Aplica una matriz de operaciones controladas por una matriz de estados numéricos.
MultiplexOperationsBruteForceFromGenerator Aplica la operación unitaria controlada por multiplicación $U$ que aplica una $V_j$ unitaria cuando se controla mediante el estado de número de n bits cuánticos $\ket{j}$.
MultiplexOperationsFromGenerator Aplica una operación unitaria controlada por multiplicación $U$ que aplica una $V_j$ unitaria cuando se controla mediante el estado de número de n bits cuánticos $\ket{j}$.
MultiplexPauli Aplica una rotación de Pauli condicionada en una matriz de cúbits.
MultiplexZ Aplica un giro de Pauli Z condicionado en una matriz de cúbits.
Noop Realiza la operación de identidad (sin operación) en un argumento.
PermuteQubits Permuta cúbits mediante la operación SWAP.
QFT Realiza la transformación de Quantum Fourier en un registro cuántico que contiene un entero en la representación big-endian.
QFTLE Realiza la transformación de Quantum Fourier en un registro cuántico que contiene un entero en la representación little-endian.
RAll0 Gira el estado de todos los ceros por una fase determinada.
RAll1 Gira el estado all-ones por una fase determinada.
Repetir Repite una operación un número determinado de veces.
RepeatA Repite una operación un número determinado de veces.
RepeatC Repite una operación un número determinado de veces.
RepeatCA Repite una operación un número determinado de veces.
SwapReverseRegister Usa puertas SWAP para invertir el orden de los cúbits en un registro.

Functions

Nombre Resumen
BigEndianToLittleEndian > [! ADVERTENCIA]
Bound Dada una matriz de operaciones que actúan en una sola entrada, genera una nueva operación que realiza cada operación determinada en secuencia.
BoundA Dada una matriz de operaciones que actúan en una sola entrada, genera una nueva operación que realiza cada operación determinada en secuencia. El modificador A indica que todas las operaciones de la matriz son adyacentes.
BoundC Dada una matriz de operaciones que actúan en una sola entrada, genera una nueva operación que realiza cada operación determinada en secuencia. El modificador C indica que todas las operaciones de la matriz son controlables.
BoundCA Dada una matriz de operaciones que actúan en una sola entrada, genera una nueva operación que realiza cada operación determinada en secuencia. El modificador CA indica que todas las operaciones de la matriz son adyacentes y controlables.
CControlled Dada una operación de operación, devuelve una nueva operación que aplica la operación si un bit de control clásico es true. Si falsees , no sucede nada.
CControlledA Dada una operación de operación, devuelve una nueva operación que aplica la operación si un bit de control clásico es true. Si falsees , no sucede nada. El modificador A indica que la operación es adyacente.
CControlledC Dada una operación de operación, devuelve una nueva operación que aplica la operación si un bit de control clásico es true. Si falsees , no sucede nada. El modificador C indica que la operación es controlable.
CControlledCA Dada una operación de operación, devuelve una nueva operación que aplica la operación si un bit de control clásico es true. Si falsees , no sucede nada. El modificador CA indica que la operación es controlable y adyacente.
Compose Devuelve la composición de dos funciones.
ConjugatedBy Dadas las operaciones externas e internas, devuelve una nueva operación que conjuga la operación interna por la operación externa.
ConjugatedByA Dadas las operaciones externas e internas, devuelve una nueva operación que conjuga la operación interna por la operación externa.
ConjugatedByC Dadas las operaciones externas e internas, devuelve una nueva operación que conjuga la operación interna por la operación externa.
ConjugatedByCA Dadas las operaciones externas e internas, devuelve una nueva operación que conjuga la operación interna por la operación externa.
ControlledOnBitString Devuelve una operación unitaria que aplica un oráculo en el registro de destino si el estado del registro de control corresponde a una máscara de bits especificada.
ControlledOnInt Devuelve un operador unitario que aplica un oráculo en el registro de destino si el estado del registro de control corresponde a un entero no negativo especificado.
CurriedOp Devuelve una versión consultada de una operación en dos entradas.
CurriedOpA Devuelve una versión consultada de una operación en dos entradas.
CurriedOpC Devuelve una versión consultada de una operación en dos entradas.
CurriedOpCA Devuelve una versión consultada de una operación en dos entradas.
DecomposeIntoTimeStepsCA > [! ADVERTENCIA]
DecomposedIntoTimeStepsCA Devuelve una operación que implementa el integrador Trotter-Suzuki para una operación determinada.
Delayed Devuelve una operación que aplica una operación determinada con un argumento determinado.
DelayedA Devuelve una operación que aplica una operación determinada con un argumento determinado.
DelayedC Devuelve una operación que aplica una operación determinada con un argumento determinado.
DelayedCA Devuelve una operación que aplica una operación determinada con un argumento determinado.
EmbedPauli Dado un operador Pauli de un solo cúbit y el índice de un cúbit, devuelve un operador Pauli de varios cúbits con el operador de un solo cúbit dado en ese índice y PauliI en cada otro índice.
Fst Dado un par, devuelve su primer elemento.
Omitir Omite la salida de una operación o función.
IsRangeEmpty Devuelve true si y solo si el intervalo de entrada está vacío.
IsResultOne Comprueba si un valor result determinado es igual a One.
IsResultZero Comprueba si un valor result determinado es igual a Zero.
LittleEndianToBigEndian > [! ADVERTENCIA]
MultiplexerBruteForceFromGenerator Devuelve una operación unitaria controlada por multiplicación $U$ que aplica una $V_j$ unitaria cuando se controla mediante el estado de número de n bits cuánticos $\ket{j}$.
MultiplexerFromGenerator Devuelve una operación unitaria controlada por multiplicación $U$ que aplica una $V_j$ unitaria cuando se controla mediante el estado de número de n bits cuánticos $\ket{j}$.
OperationPow Eleva una operación a una potencia.
OperationPowA Eleva una operación a una potencia. El modificador A indica que la operación es adyacente.
OperationPowC Eleva una operación a una potencia. El modificador C indica que la operación se puede controlar.
OperationPowCA Eleva una operación a una potencia. El modificador A indica que la operación es controlable y adyacente.
RestrictedToSubregister Restringe una operación a una matriz de índices de un registro, es decir, un subregistro.
RestrictedToSubregisterA Restringe una operación a una matriz de índices de un registro, es decir, un subregistro. El modificador A indica que la operación es adyacente.
RestrictedToSubregisterC Restringe una operación a una matriz de índices de un registro, es decir, un subregistro. El modificador C indica que la operación se puede controlar.
RestrictedToSubregisterCA Restringe una operación a una matriz de índices de un registro, es decir, un subregistro. El modificador CA indica que la operación es controlable y adyacente.
SinglyControl Dada una operación controlable, devuelve una versión controlada de esa operación que acepta exactamente un cúbit de control.
SinglyControlA Dada una operación controlable, devuelve una versión controlada de esa operación que acepta exactamente un cúbit de control.
Snd Dado un par, devuelve su segundo elemento.
TransformedOperation Dada una función y una operación, devuelve una nueva operación cuya entrada se transforma mediante la función especificada.
TransformedOperationA Dada una función y una operación, devuelve una nueva operación cuya entrada se transforma mediante la función especificada.
TransformedOperationC Dada una función y una operación, devuelve una nueva operación cuya entrada se transforma mediante la función especificada.
TransformedOperationCA Dada una función y una operación, devuelve una nueva operación cuya entrada se transforma mediante la función especificada.
UncurriedOp Dada una función que devuelve operaciones, devuelve una nueva operación que toma ambas entradas como una tupla.
UncurriedOpA Dada una función que devuelve operaciones, devuelve una nueva operación que toma ambas entradas como una tupla. El modificador A indica que las operaciones son adyacentes.
UncurriedOpC Dada una función que devuelve operaciones, devuelve una nueva operación que toma ambas entradas como una tupla. El modificador C indica que las operaciones son controlables.
UncurriedOpCA Dada una función que devuelve operaciones, devuelve una nueva operación que toma ambas entradas como una tupla. El modificador CA indica que las operaciones son controlables y adyacentes.
WeightOnePaulis Devuelve una matriz de todos los operadores de Pauli weight-1 en un número determinado de cúbits.
XOR > [! ADVERTENCIA]

Tipos definidos por el usuario

Nombre Resumen
CCNOTop Tipo de firma de puerta CCNOT.