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 false es , 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 false es , 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 false es , 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 false es , 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. |