Buenas!
Sigo en el Microsoft Tech Summit, asi que es momento de soltar otra píldora sobre algo interesantes aprendido de Microsoft Quantum Development Kit. En el post de hoy, hablare sobre las posibles operaciones que podemos realizar sobre un Qubit.
Pues bien, el post es corto:
La única operación permitida que podemos realizar con Qubits es la comparación (equality).
Esa es la única operación que podemos realizar sobre un Qubit con Q#. En realidad, esto no es tan así, podemos pasar Qubits como parámetros entre operaciones (siempre punteros fijos al mismo objeto), y si queremos modificar el estado de los mismos tenemos que utilizar operaciones propias de Q#.
Por ejemplo si queremos medir el estado de un Qubit, podemos utilizar la operación M()
let measure = M(qubit[0]);
Si, queremos cambiar el valor de zero a uno o viceversa en un Qubit, podemos utilizar la operación X()
X(qubit[0]);
Si, en cambio, queremos aplicar una transformación Hadamard a un Qubit, la operación es H() y la sintaxis seria
H(qubit[0]);
Casi todas las operaciones se pueden encontrar en [Microsoft.Quantum.Primitive]. Personalmente aconsejo leer y comprender un poco sobre cómo funcionan los conceptos de mecánica cuántica antes de comenzar a trabajar con este tipo de compuertas (Pauli Gates)
Happy QCoding!
Saludos @ Microsoft Tech Summit
El Bruno
References
- Microsoft Quantum Development Kit
- Q# Reference, M operation
- Q# Reference, H operation
- El Bruno, Information about Simulators on Microsoft Quantum Development Kit (Do you have 16 TB RAM?)
- El Bruno, Hello QWorld using Microsoft #Quantum Development Kit (fix to build the project) [Updated]
- El Bruno, More information about the Microsoft bet in Quantum Computing
- El Bruno, Quantum Computing, let’s add this one to Artificial Intelligence and Mixed Reality!
Images