Skip to main content
IBM Quantum Platform

Qubit

qiskit_addon_sqd.qubit

Funciones para el tratamiento de muestras cuánticas.

solve_qubit

solve_qubit(bitstring_matrix, hamiltonian, *, verbose=False, **scipy_kwargs)

GitHub

Encontrar las energías y los estados propios de un Hamiltoniano proyectado en un subespacio.

El subespacio está definido por una colección de estados base computacionales que se especifican mediante las cadenas de bits (filas) en bitstring_matrix. La dirección bitstring_matrix se ordenará y desduplicará en esta función, ya que el solucionador subyacente requiere esa estructura.

Esta función pide scipy.sparse.linalg.eigsh para la diagonalización.

Parámetros

  • bitstring_matrix (ndarray) – Una matriz 2D de representaciones bool de valores de bits de forma que cada fila representa una única cadena de bits. Este conjunto de cadenas de bits especifica el subespacio en el que se proyectará y diagonalizará hamiltonian .

  • hamiltonian (SparsePauliOp) – Un Hamiltoniano especificado como un operador de Pauli.

  • verbose (bool) – Si se imprime la etapa de la subrutina.

  • **scipy_kwargs -

    Argumentos de palabra clave que se pasarán a scipy.sparse.linalg.eigsh.

Devuelve

  • 1D con los valores propios
  • 2D con los vectores propios. Cada columna representa un vector propio.

Eleva

ValueError - Las cadenas de bits (filas) de bitstring_matrix deben tener una longitud < 64.

Tipo de retorno

tuple [*ndarray*, ndarray ]

project_operator_to_subspace

project_operator_to_subspace(bitstring_matrix, hamiltonian, *, verbose=False)

GitHub

Proyectar un operador de Pauli sobre un subespacio de Hilbert definido por los estados (filas) de la base de cálculo en bitstring_matrix.

La matriz dispersa de salida, A, representa una matriz NxN s.t. N es el número de filas de bitstring_matrix. Las filas de A representan las configuraciones de entrada, y las columnas representan el componente conectado asociado a la configuración de la fila correspondiente. Los elementos distintos de cero de la matriz representan las amplitudes complejas asociadas a los componentes conectados.

Nota

Las cadenas de bits de bitstring_matrix deben ser únicas y estar ordenadas de forma ascendente según su representación entera sin signo. De lo contrario, la proyección arrojará resultados erróneos. Esta función no comprueba explícitamente la unicidad y el orden porque esto puede llevar bastante tiempo. Consulte qiskit_addon_sqd.qubit.sort_and_remove_duplicates() para una forma sencilla de asegurarse de que su matriz de cadenas de bits está bien formateada.

Nota

Esta función se basa en jax para realizar eficazmente algunos cálculos. jax convierte las matrices de bits a int64_t, lo que significa que las matrices de bits de bitstring_matrix no pueden tener una longitud superior a 63.

Parámetros

  • bitstring_matrix (ndarray) – Una matriz 2D de representaciones bool de valores de bits de forma que cada fila representa una única cadena de bits. Este conjunto de cadenas de bits especifica el subespacio en el que se proyectará y diagonalizará hamiltonian .
  • hamiltonian (SparsePauliOp) – Un operador de Pauli para proyectar sobre un subespacio de Hilbert definido por bitstring_matrix.
  • verbose (bool) – Si se imprime la etapa de la subrutina.

Devuelve

A scipy.sparse.coo_matrix que representa el operador proyectado en el subespacio. Las filas representan las configuraciones de entrada y las columnas, el componente conectado asociado a la configuración de la fila correspondiente. Los elementos distintos de cero de la matriz representan las amplitudes complejas asociadas a los pares de componentes conectados.

Eleva

ValueError - Las cadenas de bits (filas) de bitstring_matrix deben tener una longitud < 64.

Tipo de retorno

spmatrix

sort_and_remove_duplicates

sort_and_remove_duplicates(bitstring_matrix)

GitHub

Ordena una matriz de bits y elimina las entradas duplicadas.

Los valores más bajos de la cadena de bits se colocarán en las filas con el índice más bajo.

Parámetros

bitstring_matrix (ndarray) – Una matriz 2D de representaciones bool de valores de bits de forma que cada fila representa una única cadena de bits.

Devuelve

Versión ordenada de bitstring_matrix sin filas repetidas.

Tipo de retorno

ndarray

matrix_elements_from_pauli

matrix_elements_from_pauli(bitstring_matrix, pauli)

GitHub

Hallar los elementos de la matriz dispersa de un operador de Pauli en el subespacio definido por las cadenas de bits.

La matriz dispersa, A, definida por las salidas representa una matriz NxN s.t. N es el número de filas de bitstring_matrix. Las filas de A representan las configuraciones de entrada, y las columnas representan el componente conectado asociado a la configuración de la fila correspondiente. Las matrices de salida definen la matriz dispersa, A, como sigue:

A[rows[k], cols[k]] = amplutides[k].

Nota

Las cadenas de bits de bitstring_matrix deben ser únicas y estar ordenadas de forma ascendente según su representación entera sin signo. De lo contrario, la proyección arrojará resultados erróneos. Esta función no comprueba explícitamente la unicidad y el orden porque esto puede llevar bastante tiempo. Consulte qiskit_addon_sqd.qubit.sort_and_remove_duplicates() para una forma sencilla de asegurarse de que su matriz de cadenas de bits está bien formateada.

Nota

Esta función se basa en jax para realizar eficazmente algunos cálculos. jax convierte las matrices de bits a int64_t, lo que significa que las matrices de bits de bitstring_matrix no pueden tener una longitud superior a 63.

Parámetros

  • bitstring_matrix (ndarray) – Una matriz 2D de representaciones bool de valores de bits de forma que cada fila representa una única cadena de bits. Las cadenas de bits de la matriz deben ordenarse según sus representaciones enteras sin signo. De lo contrario, la proyección arrojará resultados erróneos.
  • pauli (Pauli) – Un operador de Pauli para el que encontrar elementos conexos

Devuelve

  • Las amplitudes complejas correspondientes a los elementos no nulos de la matriz
  • Los índices de fila correspondientes a los elementos no nulos de la matriz
  • Los índices de columna correspondientes a los elementos no nulos de la matriz

Eleva

ValueError - Las cadenas de bits (filas) de bitstring_matrix deben tener una longitud < 64.

Tipo de retorno

tuple [*ndarray*, ndarray, ndarray ]

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.