Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
circuit editor è una funzionalità di Quantum Development Kit (QDK) che fornisce un'interfaccia grafica in cui è possibile creare, modificare e visualizzare diagrammi di circuito quantistico all'interno dei Q# progetti. È possibile usare i circuiti compilati direttamente nei Q# programmi come operazioni chiamabili.
Come accedere a circuit editor
Per iniziare a usare circuit editor, seguire questa procedura:
- Creare un nuovo Q# progetto in VS Code o aprire un progetto esistente.
- Creare un nuovo file di circuito con l'estensione
.qsc. - Aprire il file del circuito in VS Code.
circuit editor è la visualizzazione predefinita per .qsc i file.
Caratteristiche di circuit editor
Ecco cosa è possibile fare con :circuit editor
| funzionalità | Come usare |
|---|---|
| Espandere il pannello Visualizzatore di stato | Fare clic su Visualizzazione stato per espandere il pannello Visualizzatore di stato per visualizzare lo stato quantistico risultante dall'esecuzione del circuito. Il pannello mostra la densità di probabilità e la fase per ogni stato di base. È possibile usare la casella degli strumenti per modificare il circuito e visualizzare gli aggiornamenti live del pannello. |
| Inserire un elemento circuito | Fare clic e trascinare l'elemento dalla casella degli strumenti nel diagramma del circuito. |
| Rimuovere un elemento del circuito | Fare clic e trascinare l'elemento all'esterno del diagramma del circuito. In alternativa, fare clic con il pulsante destro del mouse sull'elemento e scegliere Elimina dal menu di scelta rapida. |
| Spostare un elemento del circuito | Fare clic e trascinare l'elemento in una nuova posizione nel diagramma del circuito. |
| Copiare un elemento circuito | Tenere premuto CTRL mentre si fa clic e si trascina l'elemento in una nuova posizione nel diagramma del circuito. |
| Aggiungere un qubit | Posizionare un elemento dalla barra degli strumenti su un nuovo collegamento nel diagramma del circuito. In alternativa, spostare un elemento esistente su un nuovo conduttore nel diagramma. |
| Rimuovere un qubit | Fare clic e trascinare l'icona del qubit dal diagramma del circuito. Il qubit più in basso viene eliminato automaticamente quando si rimuovono tutti gli elementi del circuito da tale qubit. |
| Ridisporre l'ordine dei qubit | Fare clic e trascinare le icone del qubit nel diagramma del circuito. |
| Aggiungere un controllo a un cancello | Fare clic con il pulsante destro del mouse sull'icona del cancello, scegliere Aggiungi controllo dal menu di scelta rapida e quindi scegliere il collegamento qubit di controllo. |
| Rimuovere un controllo da un cancello | Fare clic con il pulsante destro del mouse sull'icona del cancello, scegliere Rimuovi controllo dal menu di scelta rapida e quindi selezionare l'icona per il controllo da rimuovere. È anche possibile fare clic con il pulsante destro del mouse sull'icona del controllo direttamente e scegliere Rimuovi controllo oppure trascinare l'icona del controllo dal diagramma. |
| Convertire un cancello nell'adiacente | Fare clic con il pulsante destro del mouse sull'icona della porta e scegliere Attiva/Disattiva Adjoint dal menu di scelta rapida. |
| Definire un parametro per un gate | Quando si posiziona un cancello che richiede un argomento, viene visualizzata una finestra di dialogo. Immettere un numero o un'espressione nella casella di richiesta. Per aggiornare l'argomento, fare clic con il pulsante destro del mouse sulla porta e scegliere Modifica argomento. In alternativa, fare clic con il pulsante sinistro del mouse sul testo dell'argomento sull'icona del cancello. |
Come usare circuit editor i circuiti nei Q# progetti
I file di circuito con l'estensione .qsc definiscono le operazioni a cui è possibile fare riferimento dal Q# codice all'interno dello stesso Q# progetto. I circuiti dai file .qsc vengono visualizzati come qualsiasi altra operazione Q# e sono supportati dal servizio linguistico Q# con funzionalità come completamenti automatici, assistenza per le firme e definizione go-to.
Il file di circuito definisce un namespace che deriva dal nome del file, simile al funzionamento dei file Q#. Il circuito nel file .qsc definisce un'operazione Q# che ha lo stesso nome del file all'interno dello stesso spazio dei nomi. Ad esempio, per fare riferimento a un circuito dal file Foo.qsc nel Q# codice, usare l'istruzione import seguente: import Foo.Foo;.
Il programma seguente Q# importa un circuito dal file JointMeasurement.qsce quindi chiama l'operazione JointMeasurement() per applicare il circuito a un sistema di qubit.
import JointMeasurement.JointMeasurement;
operation Main() : Result[] {
use qs = Qubit[4];
ApplyToEach(H, qs[0..2]);
let results = JointMeasurement(qs);
ResetAll(qs);
results
}