qiskit_braket_provider.providers.BraketEstimator

class BraketEstimator(backend, *, verbatim=False, optimization_level=0, abelian_grouping=False, **options)[source]

Runs provided quantum circuit and observable combinations on Amazon Braket devices and computes their expectation values.

Initialize the Braket estimator.

Parameters:
  • backend (BraketBackend) – The Braket backend to run circuits on.

  • verbatim (bool) – Whether to translate the circuit without any modification, in other words without transpiling it. Default: False.

  • optimization_level (int | None) –

    The optimization level to pass to qiskit.transpile. From Qiskit:

    • 0: no optimization - basic translation, no optimization, trivial layout

    • 1: light optimization - routing + potential SaberSwap, some gate cancellation and 1Q gate folding

    • 2: medium optimization - better routing (noise aware) and commutative cancellation

    • 3: high optimization - gate resynthesis and unitary-breaking passes

    Default: 0.

  • abelian_grouping (bool) – Whether to group mutually qubit-wise-commuting observables so that each group is estimated with a single Braket executable per parameter set, rather than one executable per observable. When False every observable is estimated with its own executable(s). Qiskit’s BackendEstimatorV2 enables the equivalent grouping by default. Default: False.

__init__(backend, *, verbatim=False, optimization_level=0, abelian_grouping=False, **options)[source]

Initialize the Braket estimator.

Parameters:
  • backend (BraketBackend) – The Braket backend to run circuits on.

  • verbatim (bool) – Whether to translate the circuit without any modification, in other words without transpiling it. Default: False.

  • optimization_level (int | None) –

    The optimization level to pass to qiskit.transpile. From Qiskit:

    • 0: no optimization - basic translation, no optimization, trivial layout

    • 1: light optimization - routing + potential SaberSwap, some gate cancellation and 1Q gate folding

    • 2: medium optimization - better routing (noise aware) and commutative cancellation

    • 3: high optimization - gate resynthesis and unitary-breaking passes

    Default: 0.

  • abelian_grouping (bool) – Whether to group mutually qubit-wise-commuting observables so that each group is estimated with a single Braket executable per parameter set, rather than one executable per observable. When False every observable is estimated with its own executable(s). Qiskit’s BackendEstimatorV2 enables the equivalent grouping by default. Default: False.

Methods

__init__(backend, *[, verbatim, ...])

Initialize the Braket estimator.

run(pubs, *[, precision])

Run estimator on the given pubs.