Buenas!
Cuando creamos un fichero de Q# (extension .qs) el mismo suele estar definido por un Namespace y luego definir una serie de Namespaces que serán utilizados en nuestras operaciones
Usualmente se ve asi
Los 2 namespaces que por defecto se agregan desde el template son
open Microsoft.Quantum.Primitive;
Este namespace da acceso a operaciones básicas como las Hadamard Gates, CNOT Gates, etc. que son útiles para definir circuitos en operaciones cuánticas. La implementación de estas operaciones depende de la máquina de destino. Esto es importante ya que tendremos que tener en cuenta el proceso en un simulador o en X Quantum Computer.
open Microsoft.Quantum.Canon;
El espacio de nombres Canon contiene muchas funciones útiles para crear circuitos más grandes, combinatorios y utilidades genéricas. La implementación de las operaciones en el Canon es independiente de la máquina de destino, ya que se construyen en la parte superior de las operaciones primitivas.
Happy QCoding!
Saludos @ Toronto
El Bruno
References
- Microsoft Quantum Development Kit
- Q# Reference, M operation
- Q# Reference, H operation
- Q# Reference, MResetZ operation
- Q# Reference, Reset operation
- Q# Reference, ResetAll operation
My Posts
- El Bruno, Releasing Qubits using Reset() and ResetAll() in Q#
- El Bruno, Using MResetZ() to reset Qubits in Q#
- El Bruno, Qubit operations in Q#
- 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!