SparsePauliOp
class qiskit.quantum_info.SparsePauliOp(data, coeffs=None, *, ignore_pauli_phase=False, copy=True)
Basi: LinearOp
Operatore N-qubit sparse in una rappresentazione in base Pauli.
Questa è una rappresentazione rada di una matrice di N-qubit Operator in termini di N-qubit PauliList e di coefficienti complessi.
Può essere utilizzato per eseguire l'aritmetica degli operatori per centinaia di qubit se il numero di termini della base di Pauli non nulli è sufficientemente piccolo.
I componenti della base di Pauli sono memorizzati come un PauliList e vi si può accedere utilizzando l'attributo paulis attributo. I coefficienti sono memorizzati come vettore di array Numpy complessi e sono accessibili con l'attributo coeffs attributo.
Tipo di dati dei coefficienti
Il valore predefinito di dtype dell'array interno di Numpy coeffs è complex128. Gli utenti possono configurare questo passaggio passando np.ndarray con un tipo diverso di dtype. Ad esempio, un modello parametrico SparsePauliOp può essere realizzato come segue:
>>> import numpy as np
>>> from qiskit.circuit import ParameterVector
>>> from qiskit.quantum_info import SparsePauliOp>>> SparsePauliOp(["II", "XZ"], np.array(ParameterVector("a", 2)))
SparsePauliOp(['II', 'XZ'],
coeffs=[ParameterExpression(1.0*a[0]), ParameterExpression(1.0*a[1])])Parametrizzato SparsePauliOp non supporta i seguenti metodi:
to_matrix(sparse=True)poichéscipy.sparsenon può avere oggetti come elementi.to_operator()poichéOperatornon supporta gli oggetti.sort,argsortpoichéParameterExpressionnon supporta il confronto.equivpoichéParameterExpressionnon può essere convertito in complesso.choppoichéParameterExpressionnon supporta il valore assoluto.
Inizializza un oggetto operatore.
Parametri
-
data (PauliList orSparsePauliOp orPauli orlist orstr) – Elenco dei termini di Pauli. È consentito anche un elenco di stringhe Pauli o una stringa Pauli.
-
coeffs (np.ndarray) –
coefficienti complessi per i termini di Pauli.
NotaSe
dataè un parametroSparsePauliOpecoeffsnon èNone, il valore diSparsePauliOp.coeffsverrà ignorato e verrà utilizzato solo l'argomento della parola chiave passatacoeffs. -
ignore_pauli_phase (bool) – Se vero, qualsiasi
phasecomponente di un dato valorePauliListsarà considerato pari a zero. Questo metodo risulta più efficiente nei casi in cui sia stato costruitoPauliListun esclusivamente a questo scopo e si sappia già che le fasi nella convenzione ZX sono pari a zero. Ha senso specificare questa opzione solo quando si fornisconoPauliListi dati. (Impostazione predefinita: False) -
copy (bool) – se True, copia i dati di input; altrimenti, se possibile, assegnali direttamente. (Impostazione predefinita: True)
Aumenti
QiskitError – Se i dati di input o i coefficienti non sono validi.
Attributi
atol
Valore predefinito: 1e-08
coeffs
Restituisce i coefficienti di Pauli.
dim
Restituisce una tupla (forma_ingresso, forma_uscita).
num_qubits
Restituisce il numero di qubit se si tratta di un operatore a N qubit o altrimenti None.
parameters
Restituisce i Parameters liberi nei coefficienti.
paulis
Restituire il sito PauliList.
qargs
Restituisce i qarg per l'operatore.
rtol
Valore predefinito: 1e-05
settings
Impostazioni di ritorno.
size
Il numero di termini di Pauli nell'operatore.
Metodi
adjoint
apply_layout
apply_layout(layout, num_qubits=None)
Applicare un layout di transpiler a questo SparsePauliOp
Parametri
- layout (TranspileLayout |list[int] | None) – O un
TranspileLayout, un elenco di numeri interi oppure None. Se sia layout che num_qubits sono impostati su none, viene restituita una copia dell'operatore. - num_qubits (int | None) – Il numero di qubit a cui espandere l'operatore. Se non viene fornito, se
layoutè un valoreTranspileLayoutil numero di qubit del circuito di uscita del transpiler verrà utilizzato per impostazione predefinita. Selayoutè un elenco di numeri interi, la permutazione specificata verrà applicata senza alcuna espansione. Se il layout è None, l'operatore sarà espanso al numero di qubit indicato.
Risultati
Un nuovo SparsePauliOp con il layout fornito applicato
Tipo di restituzione
argsort
argsort(weight=False)
Restituisce gli indici per ordinare le righe della tabella.
Restituisce la composizione di permutazioni nell'ordine di ordinamento per coefficiente e ordinamento per Pauli. Utilizzando il peso kwarg, l'output può essere ordinato anche in base al numero di termini non identici nel Pauli, dove l'insieme di tutti i Pauli di un determinato peso è ancora ordinato lessicograficamente.
Esempio
Ecco un esempio di utilizzo di SparsePauliOp argsort.
import numpy as np
from qiskit.quantum_info import SparsePauliOp
# 2-qubit labels
labels = ["XX", "XX", "XX", "YI", "II", "XZ", "XY", "XI"]
# coeffs
coeffs = [2.+1.j, 2.+2.j, 3.+0.j, 3.+0.j, 4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j]
# init
spo = SparsePauliOp(labels, coeffs)
print('Initial Ordering')
print(spo)
# Lexicographic Ordering
srt = spo.argsort()
print('Lexicographically sorted')
print(srt)
# Lexicographic Ordering
srt = spo.argsort(weight=False)
print('Lexicographically sorted')
print(srt)
# Weight Ordering
srt = spo.argsort(weight=True)
print('Weight sorted')
print(srt)Initial Ordering
SparsePauliOp(['XX', 'XX', 'XX', 'YI', 'II', 'XZ', 'XY', 'XI'],
coeffs=[2.+1.j, 2.+2.j, 3.+0.j, 3.+0.j, 4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j])
Lexicographically sorted
[4 7 0 1 2 6 5 3]
Lexicographically sorted
[4 7 0 1 2 6 5 3]
Weight sorted
[4 7 3 0 1 2 6 5]Parametri
- weight (bool) – ordina facoltativamente per peso, se Vero (predefinito: Falso).
- sorted (By using the weight kwarg the output can additionally be)
- Pauli. (by the number of non-identity terms in the)
Risultati
gli indici per ordinare la tabella.
Tipo di restituzione
assign_parameters
assign_parameters(parameters, inplace=False)
Lega i Parameters liberi nei coefficienti ai valori forniti.
Se tutti i parametri del circuito sono legati a valori numerici, l'array dei coefficienti verrà restituito con un tipo complex dtype.
Parametri
- parameters (Mapping[Parameter, complex |ParameterExpression] | Sequence[complex |ParameterExpression]) – I valori a cui associare i parametri.
- inplace (bool) – Se
False, viene restituita una copia dell'operatore con i parametri vincolati. SeTruel'operatore stesso viene modificato.
Risultati
Una copia dell'operatore con parametri vincolati, se inplace è False, altrimenti None.
Tipo di restituzione
SparsePauliOp | Nessuno
chop
chop(tol=1e-14)
Impostare le parti reali e immaginarie dei coefficienti a 0 se < tol in grandezza.
Ad esempio, l'operatore che rappresenta 1+1e-17j X + 1e-17 Y con una tolleranza maggiore di 1e-17 sarà ridotto a 1 X mentre SparsePauliOp.simplify() restituirebbe 1+1e-17j X.
Se, dopo la troncatura, sia la parte reale che quella immaginaria di un coefficiente sono pari a 0, il corrispondente operatore di Pauli viene rimosso dall'operatore.
Parametri
tol (float) – La tolleranza assoluta per verificare se una parte reale o immaginaria deve essere impostata a 0.
Risultati
Questo operatore con coefficienti tagliati.
Tipo di restituzione
compose
compose(other, qargs=None, front=False)
Restituisce l'operatore composizione con un altro SparsePauliOp.
Parametri
- other (SparsePauliOp) – un oggetto SparsePauliOp.
- qargs (list or None) – un elenco delle posizioni dei sottosistemi su cui applicare altre operazioni. Se "None" si applica a tutti i sottosistemi (impostazione predefinita: None).
- front (bool) – Se True, componi utilizzando la moltiplicazione dell'operatore a destra, invece della moltiplicazione a sinistra, [impostazione predefinita: False].
Risultati
Il composto SparsePauliOp.
Tipo di restituzione
Aumenti
QiskitError – se l’altro non può essere convertito in un operatore o presenta dimensioni incompatibili con i sottosistemi specificati.
La composizione (&) per default è definita come moltiplicazione matriciale sinistra per gli operatori matriciali, mentre @ (equivalente a dot()) è definita come moltiplicazione matriciale destra. Cioè A & B == A.compose(B) è equivalente a B @ A == B.dot(A) quando A e B sono dello stesso tipo.
Impostando il kwarg front=True si passa alla moltiplicazione matriciale destra ed è equivalente al metodo dot()A.dot(B) == A.compose(B, front=True) .
conjugate
copy
dot
dot(other, qargs=None)
Restituisce l'operatore moltiplicato a destra self * altro.
Parametri
- other (Operator) – un oggetto operatore.
- qargs (list or None) – un elenco delle posizioni dei sottosistemi su cui applicare altre operazioni. Se "None" si applica a tutti i sottosistemi (impostazione predefinita: None).
Risultati
La matrice destra moltiplicata Operatore.
Tipo di restituzione
Il prodotto di punti può essere ottenuto utilizzando l'operatore binario @ . Quindi a.dot(b) è equivalente a a @ b.
equiv
equiv(other, atol=None)
Verifica se due operatori di SparsePauliOp sono equivalenti.
Parametri
- other (SparsePauliOp) – un oggetto operatore.
- atol (float | None) – Tolleranza numerica assoluta per la verifica dell'equivalenza.
Risultati
Vero se l'operatore è equivalente a self.
Tipo di restituzione
expand
expand(other)
Restituisce il prodotto tensoriale di ordine inverso con un altro SparsePauliOp.
Parametri
other (SparsePauliOp) – un oggetto SparsePauliOp.
Risultati
il prodotto tensoriale , dove
è l'attuale SparsePauliOp, e è l'altro SparsePauliOp.
Tipo di restituzione
from_list
static from_list(obj, dtype=None, *, num_qubits=None)
Costruire da un elenco di stringhe di Pauli e coefficienti.
Per esempio, l'hamiltoniana a 5 qubit
può essere costruito come
from qiskit.quantum_info import SparsePauliOp
# via tuples and the full Pauli string
op = SparsePauliOp.from_list([("XIIZI", 1), ("IYIIY", 2)])Parametri
- obj (Iterable[Tuple[str, complex]]) – Elenco di 2 tuple che specificano i termini di Pauli.
- dtype (type | None) – Tipo di dati dei coefficienti. Se
None(impostazione predefinita), il tipo di dati viene dedotto automaticamente. - num_qubits (int) – Il numero di qubit dell'operatore (predefinito: Nessuno).
Risultati
La rappresentazione SparsePauliOp dei termini di Pauli.
Tipo di restituzione
Aumenti
- QiskitError – Se viene passato un elenco vuoto e num_qubits è None.
- QiskitError – Se num_qubits e gli elementi presenti nell'elenco di input non corrispondono.
from_operator
static from_operator(obj, atol=None, rtol=None)
Crea un oggetto a partire da un oggetto Operator.
Si noti che il costo di questa costruzione è esponenziale in generale perché il numero di possibili termini di Pauli nella decomposizione è esponenziale rispetto al numero di qubit.
Internamente utilizza un'implementazione della "decomposizione di Pauli tensorizzata" presentata in Hantzko, Binkowski e Gupta (2023).
Parametri
- obj (Operator) – un operatore di N-qubit.
- atol (float) – Opzionale. Tolleranza assoluta per verificare se i coefficienti sono zero (predefinito: 1e-8 ). Poiché il confronto è con zero, in effetti la tolleranza utilizzata è il massimo di
atolertol. - rtol (float) – Opzionale. tolleranza relativa per verificare se i coefficienti sono zero (predefinito: 1e-5 ). Poiché il confronto è con zero, in effetti la tolleranza utilizzata è il massimo di
atolertol.
Risultati
la rappresentazione SparsePauliOp dell'operatore.
Tipo di restituzione
Aumenti
QiskitError – se l'operatore di input non è un operatore a N qubit.
from_sparse_list
static from_sparse_list(obj, num_qubits, do_checks=True, dtype=None)
Costruire da un elenco di stringhe di Pauli locali e coefficienti.
Ogni elemento dell'elenco è una 3-tupla di una stringa di Pauli locale, degli indici dove applicarla e di un coefficiente.
Per esempio, l'hamiltoniana a 5 qubit
può essere costruito come
from qiskit.quantum_info import SparsePauliOp
# via triples and local Paulis with indices
op = SparsePauliOp.from_sparse_list([("ZX", [1, 4], 1), ("YY", [0, 3], 2)], num_qubits=5)
# equals the following construction from "dense" Paulis
op = SparsePauliOp.from_list([("XIIZI", 1), ("IYIIY", 2)])Parametri
- obj (Iterable[tuple[str, list[int], complex]]) – L'elenco di 3 tuple che specificano il Paulis.
- num_qubits (int) – Il numero di qubit dell'operatore.
- do_checks (bool) – Se eseguire controlli di validità sugli indici di input.
- dtype (type | None) – Tipo di dati dei coefficienti. Se
None(impostazione predefinita), il tipo di dati viene dedotto automaticamente.
Risultati
La rappresentazione SparsePauliOp dei termini di Pauli.
Tipo di restituzione
Aumenti
- QiskitError – Se il numero di qubit è incompatibile con gli indici dei termini di Pauli.
- QiskitError – Se il qubit indicato è già stato assegnato.
from_sparse_observable
static from_sparse_observable(obs)
Inizializzare da un SparseObservable.
A SparseObservable può rappresentare in modo efficiente proiettori di autostati (come ), ma a SparsePauliOp non può. Se l'ingresso obs ha proiettori a singolo-qubit, la rappresentazione risultante SparsePauliOp utilizzerà termini, una rappresentazione esponenzialmente costosa che può esaurire rapidamente la memoria.
Parametri
obs (SparseObservable) – Il SparseObservable per convertire.
Risultati
A SparsePauliOp versione dell'osservabile.
Tipo di restituzione
group_commuting
group_commuting(qubit_wise=False)
Partire un SparsePauliOp in insiemi di stringhe di Pauli commutanti.
Parametri
qubit_wise (bool) –
se la regola di commutazione viene applicata all'intero operatore o su base per-qubit. Ad esempio:
>>> from qiskit.quantum_info import SparsePauliOp
>>> op = SparsePauliOp.from_list([("XX", 2), ("YY", 1), ("IZ",2j), ("ZZ",1j)])
>>> op.group_commuting()
[SparsePauliOp(["IZ", "ZZ"], coeffs=[0.+2.j, 0.+1j]),
SparsePauliOp(["XX", "YY"], coeffs=[2.+0.j, 1.+0.j])]
>>> op.group_commuting(qubit_wise=True)
[SparsePauliOp(['XX'], coeffs=[2.+0.j]),
SparsePauliOp(['YY'], coeffs=[1.+0.j]),
SparsePauliOp(['IZ', 'ZZ'], coeffs=[0.+2.j, 0.+1.j])]Risultati
Elenco di SparsePauliOp dove ogni SparsePauliOp contiene
operatori di Pauli pendolari.
Tipo di restituzione
elenco [ SparsePauliOp ]
input_dims
input_dims(qargs=None)
Restituisce una tupla di dimensioni di ingresso per i sottosistemi specificati.
is_unitary
is_unitary(atol=None, rtol=None)
Restituisce True se l'operatore è una matrice unitaria.
Questo metodo verifica se l'operatore composto con il suo adiacente è uguale all'identità, fino alla tolleranza fornita. La tolleranza viene utilizzata quando si semplifica l'operatore composto e si controlla se il risultato è l'identità.
Parametri
- atol (float) – Opzionale. Tolleranza assoluta per verificare se i coefficienti sono zero (predefinito: 1e-8 ).
- rtol (float) – Opzionale. Tolleranza relativa per verificare se i coefficienti sono zero (predefinito: 1e-5 ).
Risultati
Vero se l'operatore è unitario, falso altrimenti.
Tipo di restituzione
label_iter
label_iter()
Restituisce un iteratore di rappresentazioni di etichette.
Si tratta di un iteratore pigro che converte ogni termine di SparsePauliOp in una tupla (label, coeff). Per convertire l'intera tabella in etichette, utilizzare il metodo to_labels() .
Risultati
oggetto iteratore di etichette per SparsePauliOp.
Tipo di restituzione
LabelIterator
matrix_iter
matrix_iter(sparse=False)
Restituisce un iteratore di rappresentazione della matrice.
Si tratta di un iteratore pigro che converte ogni termine di SparsePauliOp in una matrice man mano che viene utilizzato. Per convertire in una singola matrice, utilizzare il metodo to_matrix() metodo.
Parametri
sparse (bool) – Se True, restituisce matrici CSR sparse; in caso contrario, restituisce matrici di tipo array Numpy (impostazione predefinita: False)
Risultati
oggetto iteratore di matrici per PauliList.
Tipo di restituzione
MatrixIterator
noncommutation_graph
noncommutation_graph(qubit_wise)
Creare il grafo di non commutazione di questo SparsePauliOp.
Questo trasforma il problema del raggruppamento degli operatori di misura in un problema di colorazione dei grafi. Il grafo costruito contiene un nodo per ogni Pauli. I nodi si collegheranno per ogni due termini di Pauli che non commutano.
Parametri
qubit_wise (bool) – se la regola di commutazione viene applicata all'intero operatore o su base per-qubit.
Risultati
il grafo di non-commutazione con nodi per ogni Pauli e bordi
che indica una relazione di non commutazione. Ogni nodo conterrà l'indice del termine di Pauli a cui corrisponde nei suoi dati. I bordi del grafo non contengono dati.
Tipo di restituzione
output_dims
output_dims(qargs=None)
Restituisce una tupla di dimensioni di uscita per i sottosistemi specificati.
power
power(n)
Restituisce il risultato dell'applicazione di un operatore su se stesso per n volte.
Parametri
n (int) – il numero di volte che si compone con il sé ( n>0 ).
Risultati
l'operatore composto n volte.
Tipo di restituzione
Aumenti
QiskitError – se le dimensioni di ingresso e di uscita dell'operatore non sono uguali, oppure se la potenza non è un numero intero positivo.
reshape
reshape(input_dims=None, output_dims=None, num_qubits=None)
Restituisce una copia superficiale con le dimensioni dei sottosistemi di ingresso e di uscita rimodellate.
Parametri
- input_dims (None or tuple) – nuove dimensioni di input del sottosistema. Se Nessuno, le attenuazioni dell'input originale verranno mantenute. [Predefinito: Nessuno].
- output_dims (None or tuple) – nuove dimensioni di uscita del sottosistema. Se Nessuno, le gradazioni di output originali verranno mantenute. [Predefinito: Nessuno].
- num_qubits (None or int) – rimodella in un operatore N-qubit [Predefinito: Nessuno].
Risultati
restituisce self con le dimensioni di ingresso e di uscita rimodellate.
Tipo di restituzione
BaseOperator
Aumenti
QiskitError – se la somma delle dimensioni di ingresso o di uscita di tutti i sottosistemi non è costante.
simplify
simplify(atol=None, rtol=None)
Semplificare PauliList combinando i duplicati e rimuovendo gli zeri.
Parametri
- atol (float) – Opzionale. Tolleranza assoluta per verificare se i coefficienti sono zero (predefinito: 1e-8 ).
- rtol (float) – Opzionale. tolleranza relativa per verificare se i coefficienti sono zero (predefinito: 1e-5 ).
Risultati
l'operatore semplificato SparsePauliOp.
Tipo di restituzione
sort
sort(weight=False)
Ordinare le righe della tabella.
Dopo aver ordinato i coefficienti utilizzando argsort di numpy, ordinare per Pauli. L'ordinamento di Pauli ha la precedenza. Se Pauli è uguale, verrà ordinato per coefficiente. Utilizzando il peso kwarg, l'output può essere ordinato anche in base al numero di termini non identici nel Pauli, dove l'insieme di tutti i Pauli di un determinato peso è ancora ordinato lessicograficamente.
Esempio
Ecco un esempio di utilizzo di SparsePauliOp sort.
import numpy as np
from qiskit.quantum_info import SparsePauliOp
# 2-qubit labels
labels = ["XX", "XX", "XX", "YI", "II", "XZ", "XY", "XI"]
# coeffs
coeffs = [2.+1.j, 2.+2.j, 3.+0.j, 3.+0.j, 4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j]
# init
spo = SparsePauliOp(labels, coeffs)
print('Initial Ordering')
print(spo)
# Lexicographic Ordering
srt = spo.sort()
print('Lexicographically sorted')
print(srt)
# Lexicographic Ordering
srt = spo.sort(weight=False)
print('Lexicographically sorted')
print(srt)
# Weight Ordering
srt = spo.sort(weight=True)
print('Weight sorted')
print(srt)Initial Ordering
SparsePauliOp(['XX', 'XX', 'XX', 'YI', 'II', 'XZ', 'XY', 'XI'],
coeffs=[2.+1.j, 2.+2.j, 3.+0.j, 3.+0.j, 4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j])
Lexicographically sorted
SparsePauliOp(['II', 'XI', 'XX', 'XX', 'XX', 'XY', 'XZ', 'YI'],
coeffs=[4.+0.j, 7.+0.j, 2.+1.j, 2.+2.j, 3.+0.j, 6.+0.j, 5.+0.j, 3.+0.j])
Lexicographically sorted
SparsePauliOp(['II', 'XI', 'XX', 'XX', 'XX', 'XY', 'XZ', 'YI'],
coeffs=[4.+0.j, 7.+0.j, 2.+1.j, 2.+2.j, 3.+0.j, 6.+0.j, 5.+0.j, 3.+0.j])
Weight sorted
SparsePauliOp(['II', 'XI', 'YI', 'XX', 'XX', 'XX', 'XY', 'XZ'],
coeffs=[4.+0.j, 7.+0.j, 3.+0.j, 2.+1.j, 2.+2.j, 3.+0.j, 6.+0.j, 5.+0.j])Parametri
- weight (bool) – ordina facoltativamente per peso, se Vero (predefinito: Falso).
- sorted (By using the weight kwarg the output can additionally be)
- Pauli. (by the number of non-identity terms in the)
Risultati
una copia ordinata della tabella originale.
Tipo di restituzione
sum
static sum(ops)
Somma di SparsePauliOps.
Si tratta di una versione specializzata della funzione integrata sum per SparsePauliOp con un overhead minore.
Parametri
ops (list[SparsePauliOp]) – un elenco di SparsePauliOps.
Risultati
SparsePauliOp che rappresenta la somma dell'elenco di input.
Tipo di restituzione
Aumenti
- QiskitError – se l'elenco di input è vuoto.
- QiskitError – se l'elenco di input include un oggetto che non è di tip SparsePauliOp e.
- QiskitError – se il numero di qubit degli oggetti presenti nell'elenco di input non corrisponde.
tensor
tensor(other)
Restituisce il prodotto tensoriale con un altro SparsePauliOp.
Parametri
other (SparsePauliOp) – un oggetto SparsePauliOp.
Risultati
il prodotto tensoriale , dove
è l'attuale SparsePauliOp, e è l'altro SparsePauliOp.
Tipo di restituzione
Il prodotto tensoriale può essere ottenuto utilizzando l'operatore binario ^ . Quindi a.tensor(b) è equivalente a a ^ b.
to_list
to_list(array=False)
Convertire in un elenco le etichette e i coefficienti delle stringhe Pauli.
Per gli operatori con molti termini, la conversione con il kwarg array=True sarà più efficiente, poiché alloca in anticipo la memoria per l'intero array Numpy di etichette.
Parametri
array (bool) – restituisce un array Numpy se è vero, altrimenti restituisce un elenco (predefinito: False).
Risultati
Elenco di coppie (label, coeff) per le righe di PauliList.
Tipo di restituzione
to_matrix
to_matrix(sparse=False, force_serial=False)
Convertire in una matrice densa o rada.
Parametri
- sparse (bool) – se
Truerestituisce una matrice CSR rada, altrimenti restituisce una matrice Numpy densa (il valore predefinito). - force_serial (bool) – se
True, utilizzare un'implementazione non threadata, indipendentemente dallo stato delle variabili di ambiente di controllo dei thread di Qiskit. Per impostazione predefinita, si utilizzerà il parallelismo filettato sulle CPU disponibili.
Risultati
Una matrice densa se sparse=False. csr_matrix: Una matrice rada in formato CSR se sparse=True.
Tipo di restituzione
to_operator
to_sparse_list
to_sparse_list()
Converte in un formato di lista Pauli rada con elementi (pauli, qubit, coefficiente).