

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Costruisci il tuo primo circuito
<a name="braket-get-started-run-circuit"></a>

Dopo l'avvio dell'istanza del notebook, apri l'istanza con un'interfaccia Jupyter standard scegliendo il notebook appena creato.

![\[L'interfaccia di Notebook mostra un'istanza di notebook esistente denominata amazon-braket-test con lo stato e il relativo URL. InService\]](http://docs.aws.amazon.com/it_it/braket/latest/developerguide/images/console-page.png)


Le istanze di notebook Amazon Braket sono preinstallate con l'SDK Amazon Braket e tutte le sue dipendenze. Inizia creando un nuovo notebook con kernel. `conda_braket`

![\[Interfaccia di avvio per notebook, console e altri strumenti come Terminal, Text File, Markdown File, Python File, con ambiente Python conda_braket evidenziato.\]](http://docs.aws.amazon.com/it_it/braket/latest/developerguide/images/jupyter-open.png)


Puoi iniziare con un semplice «Hello, world\$1» esempio. Innanzitutto, costruite un circuito che prepari uno stato di Bell, quindi eseguitelo su dispositivi diversi per ottenere i risultati.

Inizia importando Begin importando i moduli Amazon Braket SDK e definendo un BRAKETlong semplice modulo SDK e definendo un circuito Bell State di base.

```
import boto3
from braket.aws import AwsDevice
from braket.devices import LocalSimulator
from braket.circuits import Circuit

# Create the circuit
bell = Circuit().h(0).cnot(0, 1)
```

Puoi visualizzare il circuito con questo comando:

```
print(bell)
```

```
T  : │  0  │  1  │
      ┌───┐       
q0 : ─┤ H ├───●───
      └───┘   │   
            ┌─┴─┐ 
q1 : ───────┤ X ├─
            └───┘ 
T  : │  0  │  1  │
```

 **Esegui il tuo circuito sul simulatore locale** 

Quindi, scegli il dispositivo quantistico su cui eseguire il circuito. L'SDK Amazon Braket è dotato di un simulatore locale per la prototipazione e i test rapidi. Ti consigliamo di utilizzare il simulatore locale per circuiti più piccoli, che possono essere fino a 25 qubits (a seconda dell'hardware locale).

Per creare un'istanza del simulatore locale:

```
# Instantiate the local simulator
local_sim = LocalSimulator()
```

ed esegui il circuito:

```
# Run the circuit
result = local_sim.run(bell, shots=1000).result()
counts = result.measurement_counts
print(counts)
```

Dovresti vedere un risultato simile a questo:

```
Counter({'11': 503, '00': 497})
```

Lo stato specifico di Bell che avete preparato è una sovrapposizione uguale di \$100⟩ e \$111⟩ e una distribuzione quasi uguale (fino al shot rumore) di 00 e 11 come risultati di misurazione, come previsto.

 **Esegui il tuo circuito su un simulatore on-demand** 

Amazon Braket fornisce anche l'accesso a un simulatore on-demand ad alte prestazioni per l'esecuzione di circuiti più grandiSV1. SV1è un simulatore vettoriale di stato su richiesta che consente la simulazione di circuiti quantistici fino a 34. qubits Puoi trovare ulteriori informazioni nella sezione Dispositivi [supportati](braket-devices.md) e SV1 nella console. AWS Quando esegui attività quantistiche su SV1 (e su TN1 qualsiasi QPU), i risultati dell'attività quantistica vengono archiviati in un bucket S3 del tuo account. Se non specifichi un bucket, Braket SDK crea automaticamente un bucket predefinito. `amazon-braket-{region}-{accountID}` Per ulteriori informazioni, consulta [Gestire l'accesso ad Amazon Braket](braket-manage-access.md).

**Nota**  
Inserisci il nome effettivo del bucket esistente, come indicato nell'esempio seguente `amazon-braket-s3-demo-bucket` come nome del bucket. I nomi dei bucket per Amazon Braket iniziano sempre `amazon-braket-` con, seguiti da altri caratteri identificativi che aggiungi. Se hai bisogno di informazioni su come configurare un bucket S3, consulta [Guida introduttiva ad Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html).

```
# Get the account ID
aws_account_id = boto3.client("sts").get_caller_identity()["Account"]

# The name of the bucket
my_bucket = "amazon-braket-s3-demo-bucket"

# The name of the folder in the bucket
my_prefix = "simulation-output"
s3_folder = (my_bucket, my_prefix)
```

Per far funzionare un circuitoSV1, devi fornire la posizione del bucket S3 che hai selezionato in precedenza come argomento posizionale nella chiamata. `.run()`

```
# Choose the cloud-based on-demand simulator to run your circuit
device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1")

# Run the circuit
task = device.run(bell, s3_folder, shots=100)

# Display the results
print(task.result().measurement_counts)
```

La console Amazon Braket fornisce ulteriori informazioni sulla tua attività quantistica. Vai alla scheda **Quantum Tasks** nella console e il tuo compito quantistico dovrebbe essere in cima all'elenco. In alternativa, puoi cercare il tuo task quantistico utilizzando l'ID univoco del task quantistico o altri criteri.

**Nota**  
Dopo 90 giorni, Amazon Braket rimuove automaticamente tutte le attività quantistiche IDs e gli altri metadati associati alle tue attività quantistiche. [Per ulteriori informazioni, consulta Conservazione dei dati.](https://docs.aws.amazon.com/braket/latest/developerguide/security.html#braket-data-retention)

 **In esecuzione su una QPU** 

Con Amazon Braket, puoi eseguire il precedente esempio di circuito quantistico su un computer quantistico fisico semplicemente modificando una singola riga di codice. Amazon Braket fornisce l'accesso a una varietà di dispositivi QPU (Quantum Processing Unit). **Puoi trovare informazioni sui diversi dispositivi e sulle finestre di disponibilità nella sezione [Dispositivi supportati](braket-devices.md) e nella AWS console nella scheda Dispositivi.** L'esempio seguente mostra come creare un'istanza di un IQM dispositivo.

```
# Choose the IQM hardware to run your circuit
device = AwsDevice("arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet")
```

Oppure scegli un IonQ dispositivo con questo codice:

```
# Choose the Ionq device to run your circuit
device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1")
```

Dopo aver selezionato un dispositivo e prima di eseguire il carico di lavoro, puoi interrogare la profondità della coda del dispositivo con il codice seguente per determinare il numero di attività quantistiche o di lavori ibridi. Inoltre, i clienti possono visualizzare le profondità di coda specifiche del dispositivo nella pagina Dispositivi di. Amazon Braket Management Console 

```
# Print your queue depth
print(device.queue_depth().quantum_tasks)
# Returns the number of quantum tasks queued on the device
# {<QueueType.NORMAL: 'Normal'>: '0', <QueueType.PRIORITY: 'Priority'>: '0'}

print(device.queue_depth().jobs)
# Returns the number of hybrid jobs queued on the device
# '2'
```

Quando esegui un'attività, l'SDK Amazon Braket esegue un sondaggio per ottenere un risultato (con un timeout predefinito di 5 giorni). Puoi modificare questa impostazione predefinita modificando il `poll_timeout_seconds` parametro nel `.run()` comando, come mostrato nell'esempio che segue. Tieni presente che se il timeout di polling è troppo breve, i risultati potrebbero non essere restituiti entro il tempo di polling, ad esempio quando una QPU non è disponibile e viene restituito un errore di timeout locale. È possibile riavviare il polling chiamando la funzione. `task.result()`

```
# Define quantum task with 1 day polling timeout
task = device.run(bell, s3_folder, poll_timeout_seconds=24*60*60)
print(task.result().measurement_counts)
```

Inoltre, dopo aver inviato l'operazione quantistica o il lavoro ibrido, è possibile richiamare la `queue_position()` funzione per controllare la posizione della coda.

```
print(task.queue_position().queue_position)
# Return the number of quantum tasks queued ahead of you
# '2'
```