Skip to main content
IBM Quantum Platform

PiecewiseLinearPauliRotations

class qiskit.circuit.library.PiecewiseLinearPauliRotations(num_state_qubits=None, breakpoints=None, slopes=None, offsets=None, basis='Y', name='pw_lin')

GitHub

Bases: FunctionalPauliRotations

Rotações de Pauli com controle linear por partes.

Para uma função linear por partes (não necessariamente contínua) f(x)f(x), que é definida por meio de pontos de interrupção, inclinações e deslocamentos da seguinte forma. Suponha que os pontos de interrupção (x0,...,xJ)(x_0, ..., x_J) sejam um subconjunto de [0,2n1][0, 2^n-1], em que nn é o número de qubits de estado. Mais adiante, denote as inclinações e os deslocamentos correspondentes por aja_j e bjb_j, respectivamente. Então, f(x) é definido como:

f(x)={0,x<x0aj(xxj)+bj,xjx<xj+1f(x) = \begin{cases} 0, x < x_0 \\ a_j (x - x_j) + b_j, x_j \leq x < x_{j+1} \end{cases}

onde assumimos implicitamente xJ+1=2nx_{J+1} = 2^n.

Parâmetros

  • num_state_qubits (int | None) – O número de qubits que representam o estado.
  • breakpoints (list[int] | None) – Os pontos de interrupção para definir a função linear por partes. Padroniza para [0].
  • slopes (list[float] | np.ndarray | None) – As inclinações de diferentes segmentos da função linear por partes. Padroniza para [1].
  • offsets (list[float] | np.ndarray | None) – Os deslocamentos para diferentes segmentos da função linear por partes. Padroniza para [0].
  • basis (str) – O tipo de rotação Pauli ('X', 'Y', 'Z').
  • name (str) – O nome do circuito.

Atributos

breakpoints

Os pontos de interrupção da função linear por partes.

A função é linear nos intervalos [point_i, point_{i+1}] onde o último ponto é implicitamente 2**(num_state_qubits + 1).

contains_zero_breakpoint

Se 0 é o primeiro ponto de interrupção.

Retorna

True, se 0 for o primeiro ponto de interrupção; caso contrário, False.

mapped_offsets

Os offsets mapeados para a representação interna.

Retorna

Os offsets mapeados.

mapped_slopes

As inclinações mapeadas para a representação interna.

Retorna

As encostas mapeadas.

offsets

Os deslocamentos da função linear por partes.

A função é linear nos intervalos [point_i, point_{i+1}] onde o último ponto é implicitamente 2**(num_state_qubits + 1).

slopes

As inclinações da função linear por partes.

A função é linear nos intervalos [point_i, point_{i+1}] onde o último ponto é implicitamente 2**(num_state_qubits + 1).

name

Tipo: str

Um nome legível por humanos para o circuito.

Exemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit

Métodos

evaluate

evaluate(x)

GitHub

Avalie classicamente a rotação linear por partes.

Parâmetros

x (float) – Valor a ser avaliado.

Retorna

Valor da função linear por partes em x.

Tipo de retorno

Valor flutuante

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.