Guida di riferimento all'API di Global Data Quantum per il risolutore di ottimizzazione Q-CTRL
Qiskit Functions — strumenti predefiniti creati da organizzazioni partner — astraggono alcune parti del flusso di lavoro dello sviluppo software per semplificare e accelerare la scoperta di algoritmi su larga scala e lo sviluppo di applicazioni. Clicca qui per visualizzare la guida relativa a questa funzione di Qiskit.
Guida alle funzioni del risolutore di ottimizzazione Qiskit
Input
problem
Tipo: str or SparsePauliOp
Valore predefinito: None
Una delle rappresentazioni elencate nella sezione «Formati di problemi accettati».
- Obbligatorio: sì
- Esempio:
Poly(2.0*n[0]*n[1] + 2.0*n[0]*n[2] - 3.13520241298341*n[0] + 2.0*n[1]*n[2] - 3.14469748506794*n[1] - 3.18897660121566*n[2] + 6.0, n[0], n[1], n[2], domain='RR')
problem_type
Tipo: str
Valore predefinito: None
Nome della classe del problema; utilizzato solo per le definizioni di problemi relativi a grafi e catene di spin, che sono limitate a "maxcut" o "spin_chain"; non richiesto per le definizioni di problemi con funzione obiettivo arbitraria.
- Obbligatorio: No
- Esempio:
"maxcut"
backend_name
Tipo: str
Valore predefinito: Least busy backend
Nome del backend da utilizzare.
- Obbligatorio: No
- Esempio:
"ibm_fez"
constraint
Tipo: dict[tuple, int]
Valore predefinito: None
Vincoli opzionali relativi al peso di Hamming per le variabili del problema. Ogni vincolo specifica un gruppo di variabili la cui somma deve essere esattamente pari a 1 (ovvero, esattamente una variabile del gruppo è pari a 1 e le altre sono pari a 0). Se non viene specificato, il risolutore considera il problema come privo di vincoli ed esegue la ricerca su tutte le stringhe di bit possibili. Non è necessario vincolare tutte le variabili: le variabili non incluse nel vincolo rimangono constraint non vincolate, pertanto sono supportati anche i problemi parzialmente vincolati. Le chiavi sono tuple di indici variabili o nomi di variabili quando si utilizza un problem input polinomiale.
- Obbligatorio: No
- Esempio:
{("n[0,0]", "n[0,1]", "n[0,2]"): 1}
Opzioni
Tipo: dict
Valore predefinito: None
Opzioni di input, tra cui le seguenti: (Facoltativo) session_id: str; il comportamento predefinito crea una nuova sessione. Le opzioni sono specificate come un dizionario annidato. Consulta l 'elenco completo delle opzioni e i relativi valori predefiniti.
- Obbligatorio: No
- Esempio:
{"session_id": "cw2q70c79ws0008z6g4g"}
Elenco opzioni
session_id
Tipo: str
Valore predefinito: None
Un ID di sessione esistente del servizio Compute di IBM Quantum.
- Predefinito:
None - Esempio:
"cw4r3je6f0t010870y3g"
job_tags
Tipo: list[str]
Valore predefinito: None
Un elenco di tag relativi al lavoro.
- Predefinito:
None - Esempio:
["job_tag1", "job_tag2"]
Output
result
Tipo: dict[str, Any]
Soluzione e metadati elencati nel contenuto del dizionario dei risultati.
Esempio: {'solution_bitstring_cost': 3.0, final_bitstring_distribution: {000001: 100, 000011: 2}, iteration_count: 3, 'solution_bitstring': 000001, 'variables_to_bitstring_index_map': {n[1]': 5, 'n[2]': 4, 'n[3]': 3, 'n[4]': 2, 'n[5]': 1}, 'best_parameters': [0.19628831763697097, -1.047052334523102], 'warnings': []}
Contenuto del dizionario dei risultati
solution_bitstring_cost
Tipo: float
Il costo minimo migliore tra tutte le iterazioni.
final_bitstring_distribution
Tipo: CountsDict
Il dizionario dei conteggi delle stringhe di bit associato al costo minimo.
solution_bitstring
Tipo: str
Stringa di bit con il costo migliore nella distribuzione finale.
iteration_count
Tipo: int
Il numero totale di iterazioni QAOA eseguite dal risolutore.
variables_to_bitstring_index_map
Tipo: float
La corrispondenza tra le variabili e il bit equivalente nella stringa di bit.
best_parameters
Tipo: list[float]
I parametri beta e gamma ottimizzati in tutte le iterazioni.
warnings
Tipo: list[str]
Valore predefinito: None
I messaggi di avviso generati durante la compilazione o l'esecuzione di QAOA.