Creación y visualización de circuitos con circuit editor

circuit editor es una característica del Kit de desarrollo de Quantum (QDK) que proporciona una interfaz gráfica donde puede crear, editar y visualizar diagramas de circuitos cuánticos dentro de los Q# proyectos. Puede usar los circuitos que construya directamente en sus Q# programas como operaciones invocables.

Cómo acceder a circuit editor

Para empezar a trabajar con circuit editor, siga estos pasos:

  1. Cree un nuevo Q# proyecto en VS Code o abra un proyecto existente.
  2. Cree un nuevo archivo de circuito con la extensión .qsc.
  3. Abra el archivo de circuito en VS Code.

circuit editor es la vista predeterminada para .qsc archivos.

Funciones de circuit editor

Esto es lo que puede hacer con el circuit editor:

Característica Cómo usar
Expandir el panel Visualizador de estado Haga clic en Visualización de estado para expandir el panel del Visualizador de estado y ver el estado cuántico resultante de la ejecución del circuito. El panel muestra la densidad de probabilidad y la fase para cada estado base. Puede usar el Cuadro de herramientas para editar el circuito y ver las actualizaciones del panel en tiempo real.
Insertar un elemento de circuito Haga clic y arrastre el elemento desde el cuadro de herramientas al diagrama del circuito.
Quitar un elemento de circuito Haga clic y arrastre el elemento fuera del diagrama del circuito. O bien, haga clic con el botón derecho en el elemento y elija Eliminar en el menú contextual.
Mover un elemento de circuito Haga clic y arrastre el elemento a una nueva ubicación en el diagrama del circuito.
Copiar un elemento de circuito Mantenga presionada la tecla Ctrl mientras hace clic y arrastra el elemento a una nueva ubicación en el diagrama del circuito.
Adición de un cúbit Coloque un elemento del cuadro de herramientas en un nuevo cable en el diagrama de circuitos. O bien, mueva un elemento existente a una nueva conexión en el diagrama.
Quitar un cúbit Haga clic y arrastre el icono de cúbit fuera del diagrama del circuito. El cúbit inferior se elimina automáticamente al quitar todos los elementos del circuito de ese cúbit.
Reorganizar el orden de cúbits Haga clic y arrastre los iconos de cúbit en el diagrama del circuito.
Agregar un control a una puerta Haga clic con el botón derecho en el icono de puerta, elija Agregar control en el menú contextual y, a continuación, elija el cable de cúbit de control.
Quitar un control de una puerta Haga clic con el botón derecho en el icono de puerta, elija Quitar control en el menú contextual y, a continuación, seleccione el icono del control que desea quitar. También puede hacer clic con el botón derecho en el icono de control directamente y elegir Quitar control o arrastrar el icono de control fuera del diagrama.
Convertir una puerta a su adyacente Haga clic con el botón derecho en el icono de la puerta y elija Alternar adyacente en el menú contextual.
Definición de un argumento para una puerta Cuando se coloca una puerta que requiere un argumento, aparece un cuadro de mensaje. Escriba un número o expresión en el cuadro de solicitud. Para actualizar el argumento, haga clic con el botón derecho en la puerta y elija Editar argumento. O bien, haga clic con el botón izquierdo en el texto del argumento en el icono de la puerta.

Cómo utilizar circuitos de circuit editor en proyectos de Q#

Los archivos de circuito con extensión .qsc definen operaciones a las que puedes hacer referencia desde el código Q# en el mismo proyecto Q#. Los circuitos de los archivos .qsc aparecen como cualquier otra operación Q# y son compatibles con el servicio de lenguaje de Q# con características como finalizaciones, ayuda de firma y definición de go-to.

El archivo de circuito define un espacio de nombres que procede del nombre de archivo, de manera similar a cómo funcionan los archivos Q#. El circuito en tu archivo .qsc define una operación Q# que tiene el mismo nombre que el archivo dentro de ese mismo espacio de nombres. Por ejemplo, para hacer referencia a un circuito desde el archivo Foo.qsc en su código de Q#, utilice la siguiente instrucción de importación: import Foo.Foo;.

El siguiente Q# programa importa un circuito desde el archivo JointMeasurement.qscy, a continuación, llama a la JointMeasurement() operación para aplicar el circuito a un sistema de cúbits.

    import JointMeasurement.JointMeasurement;

    operation Main() : Result[] {
        use qs = Qubit[4];
        ApplyToEach(H, qs[0..2]);
        let results = JointMeasurement(qs);
        ResetAll(qs);
        results
}