Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into minimum-point-pass
Browse files Browse the repository at this point in the history
  • Loading branch information
mtreinish committed Mar 30, 2023
2 parents f889fbd + 3ab5715 commit 0581884
Show file tree
Hide file tree
Showing 27 changed files with 331 additions and 353 deletions.
38 changes: 15 additions & 23 deletions qiskit/execute_function.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,12 @@
"""
import logging
from time import time
import warnings

from qiskit.compiler import transpile, schedule
from qiskit.providers.backend import Backend
from qiskit.pulse import Schedule, ScheduleBlock
from qiskit.exceptions import QiskitError
from qiskit.utils.deprecation import deprecate_arg

logger = logging.getLogger(__name__)

Expand All @@ -35,6 +36,16 @@ def _log_submission_time(start_time, end_time):
logger.info(log_msg)


@deprecate_arg(
"max_credits",
since="0.20.0",
additional_msg=(
"This argument has no effect on modern IBM Quantum systems, and no alternative is"
"necessary."
),
)
@deprecate_arg("qobj_id", since="0.21.0", additional_msg="This argument has no effect anymore.")
@deprecate_arg("qobj_header", since="0.21.0", additional_msg="This argument has no effect anymore.")
def execute(
experiments,
backend,
Expand Down Expand Up @@ -280,6 +291,9 @@ def execute(
job = execute(qc, backend, shots=4321)
"""
del qobj_id
del qobj_header
del max_credits
if isinstance(experiments, (Schedule, ScheduleBlock)) or (
isinstance(experiments, list) and isinstance(experiments[0], (Schedule, ScheduleBlock))
):
Expand Down Expand Up @@ -318,28 +332,6 @@ def execute(
meas_map=meas_map,
method=scheduling_method,
)
if max_credits is not None:
warnings.warn(
"The `max_credits` parameter is deprecated as of Qiskit Terra 0.20.0, "
"and will be removed in a future release. This parameter has no effect on "
"modern IBM Quantum systems, and no alternative is necessary.",
DeprecationWarning,
stacklevel=2,
)

if qobj_id is not None:
warnings.warn(
"The qobj_id argument is deprecated as of the Qiskit Terra 0.21.0, "
"and will be remvoed in a future release. This argument has no effect and "
"is not used by any backends."
)

if qobj_header is not None:
warnings.warn(
"The qobj_header argument is deprecated as of the Qiskit Terra 0.21.0, "
"and will be remvoed in a future release. This argument has no effect and "
"is not used by any backends."
)

if isinstance(backend, Backend):
start_time = time()
Expand Down
13 changes: 4 additions & 9 deletions qiskit/opflow/gradients/derivative_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@

"""DerivativeBase Class"""

import warnings
from abc import abstractmethod
from typing import Callable, Iterable, List, Optional, Tuple, Union

import numpy as np
from qiskit.utils.deprecation import deprecate_func
from qiskit.utils.quantum_instance import QuantumInstance
from qiskit.circuit import ParameterExpression, ParameterVector
from qiskit.providers import Backend
Expand Down Expand Up @@ -128,6 +128,9 @@ def gradient_fn(p_values):
return gradient_fn

@staticmethod
@deprecate_func(
since="0.18.0", additional_msg="Instead, use the ParameterExpression.gradient method."
)
def parameter_expression_grad(
param_expr: ParameterExpression, param: ParameterExpression
) -> Union[ParameterExpression, float]:
Expand All @@ -140,14 +143,6 @@ def parameter_expression_grad(
Returns:
ParameterExpression representing the gradient of param_expr w.r.t. param
"""
warnings.warn(
"The DerivativeBase.parameter_expression_grad method is deprecated as of "
"Qiskit Terra 0.18.0 and will be removed no earlier than 3 months after "
"the release date. Use the ParameterExpression.gradient method instead for "
"a direct replacement.",
DeprecationWarning,
stacklevel=2,
)
return _coeff_derivative(param_expr, param)

@classmethod
Expand Down
11 changes: 3 additions & 8 deletions qiskit/qobj/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,6 @@
PulseLibraryItem
"""

import warnings

from qiskit.qobj.common import QobjExperimentHeader
from qiskit.qobj.common import QobjHeader

Expand All @@ -77,16 +75,13 @@
from qiskit.qobj.qasm_qobj import QasmQobjConfig
from qiskit.qobj.qasm_qobj import QasmQobjExperimentConfig

from qiskit.utils.deprecation import deprecate_func


class Qobj(QasmQobj):
"""A backwards compat alias for QasmQobj."""

@deprecate_func(additional_msg="Instead, use QasmQobj or PulseQobj", since="0.19.0")
def __init__(self, qobj_id=None, config=None, experiments=None, header=None):
"""Initialize a Qobj object."""
warnings.warn(
"qiskit.qobj.Qobj is deprecated use either QasmQobj or "
"PulseQobj depending on your application instead.",
DeprecationWarning,
stacklevel=2,
)
super().__init__(qobj_id=qobj_id, config=config, experiments=experiments, header=header)
74 changes: 37 additions & 37 deletions qiskit/qobj/converters/pulse_instruction.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from qiskit.pulse.schedule import Schedule
from qiskit.qobj import QobjMeasurementOption, PulseLibraryItem, PulseQobjInstruction
from qiskit.qobj.utils import MeasLevel
from qiskit.utils.deprecation import deprecate_function
from qiskit.utils.deprecation import deprecate_func

if sys.version_info >= (3, 8):
from functools import singledispatchmethod
Expand Down Expand Up @@ -506,64 +506,64 @@ def _convert_bundled_acquire(

return self._qobj_model(**command_dict)

@deprecate_function(
"'convert_acquire' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_acquire(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_bundled_acquires' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_bundled_acquires(self, shift, instructions_):
return self._convert_bundled_acquire(instructions_, shift)

@deprecate_function(
"'convert_set_frequency' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_set_frequency(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_shift_frequency' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_shift_frequency(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_set_phase' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_set_phase(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_shift_phase' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_shift_phase(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_delay' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_delay(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_play' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_play(self, shift, instruction):
return self._convert_instruction(instruction, shift)

@deprecate_function(
"'convert_snapshot' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_snapshot(self, shift, instruction):
Expand Down Expand Up @@ -959,8 +959,8 @@ def _convert_generic(
"in Qiskit namespace. This instruction cannot be deserialized."
)

@deprecate_function(
"'convert_acquire' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_acquire(self, instruction):
Expand All @@ -970,8 +970,8 @@ def convert_acquire(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'convert_set_phase' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_set_phase(self, instruction):
Expand All @@ -981,8 +981,8 @@ def convert_set_phase(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'convert_shift_phase' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_shift_phase(self, instruction):
Expand All @@ -992,8 +992,8 @@ def convert_shift_phase(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'convert_set_frequency' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_set_frequency(self, instruction):
Expand All @@ -1003,8 +1003,8 @@ def convert_set_frequency(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'convert_shift_frequency' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_shift_frequency(self, instruction):
Expand All @@ -1014,8 +1014,8 @@ def convert_shift_frequency(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'convert_delay' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_delay(self, instruction):
Expand All @@ -1025,16 +1025,16 @@ def convert_delay(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'bind_pulse' has been deprecated. Instantiate the class with pulse library.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def bind_pulse(self, pulse):
if pulse.name not in self._pulse_library:
self._pulse_library[pulse.name] = pulse.samples

@deprecate_function(
"'convert_parametric' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_parametric(self, instruction):
Expand All @@ -1044,8 +1044,8 @@ def convert_parametric(self, instruction):
schedule.insert(t0, inst, inplace=True)
return schedule

@deprecate_function(
"'convert_snapshot' has been deprecated. Instead, call converter instance directly.",
@deprecate_func(
additional_msg="Instead, call converter instance directory.",
since="0.23.0",
)
def convert_snapshot(self, instruction):
Expand Down
18 changes: 10 additions & 8 deletions qiskit/qobj/pulse_qobj.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@
import copy
import pprint
from typing import Union, List
import warnings

import numpy
from qiskit.qobj.common import QobjDictField
from qiskit.qobj.common import QobjHeader
from qiskit.qobj.common import QobjExperimentHeader
from qiskit.utils.deprecation import deprecate_arg


class QobjMeasurementOption:
Expand Down Expand Up @@ -282,6 +283,14 @@ def _to_complex(value: Union[List[float], complex]) -> complex:
class PulseQobjConfig(QobjDictField):
"""A configuration for a Pulse Qobj."""

@deprecate_arg(
"max_credits",
since="0.20.0",
additional_msg=(
"This argument has no effect on modern IBM Quantum systems, and no alternative is"
"necessary."
),
)
def __init__(
self,
meas_level,
Expand Down Expand Up @@ -344,13 +353,6 @@ def __init__(

if max_credits is not None:
self.max_credits = int(max_credits)
warnings.warn(
"The `max_credits` parameter is deprecated as of Qiskit Terra 0.20.0, "
"and will be removed in a future release. This parameter has no effect on "
"modern IBM Quantum systems, and no alternative is necessary.",
DeprecationWarning,
stacklevel=2,
)

if seed_simulator is not None:
self.seed_simulator = int(seed_simulator)
Expand Down

0 comments on commit 0581884

Please sign in to comment.