217 lines
8.1 KiB
Plaintext
217 lines
8.1 KiB
Plaintext
---
|
||
title: ShiftPhase (v1.2)
|
||
description: API reference for qiskit.pulse.instructions.ShiftPhase in qiskit v1.2
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.pulse.instructions.ShiftPhase
|
||
---
|
||
|
||
# ShiftPhase
|
||
|
||
<Class id="qiskit.pulse.instructions.ShiftPhase" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/phase.py#L26-L88" signature="qiskit.pulse.instructions.ShiftPhase(phase, channel, name=None)" modifiers="class">
|
||
Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction")
|
||
|
||
The shift phase instruction updates the modulation phase of proceeding pulses played on the same [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel"). It is a relative increase in phase determined by the `phase` operand.
|
||
|
||
In particular, a PulseChannel creates pulses of the form
|
||
|
||
$$
|
||
Re[\exp(i 2\pi f jdt + \phi) d_j].
|
||
|
||
|
||
$$
|
||
|
||
The `ShiftPhase` instruction causes $\phi$ to be increased by the instruction’s `phase` operand. This will affect all pulses following on the same channel.
|
||
|
||
The qubit phase is tracked in software, enabling instantaneous, nearly error-free Z-rotations by using a ShiftPhase to update the frame tracking the qubit state.
|
||
|
||
Instantiate a shift phase instruction, increasing the output signal phase on `channel` by `phase` \[radians].
|
||
|
||
**Parameters**
|
||
|
||
* **phase** ([*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – The rotation angle in radians.
|
||
* **channel** (*PulseChannel*) – The channel this instruction operates on.
|
||
* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) – Display name for this instruction.
|
||
|
||
## Attributes
|
||
|
||
### channel
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.channel">
|
||
Return the [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel") that this instruction is scheduled on.
|
||
</Attribute>
|
||
|
||
### channels
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.channels">
|
||
Returns the channels that this schedule uses.
|
||
</Attribute>
|
||
|
||
### duration
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.duration">
|
||
Duration of this instruction.
|
||
</Attribute>
|
||
|
||
### id
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.id">
|
||
Unique identifier for this instruction.
|
||
</Attribute>
|
||
|
||
### instructions
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.instructions">
|
||
Iterable for getting instructions from Schedule tree.
|
||
</Attribute>
|
||
|
||
### name
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.name">
|
||
Name of this instruction.
|
||
</Attribute>
|
||
|
||
### operands
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.operands">
|
||
Return instruction operands.
|
||
</Attribute>
|
||
|
||
### parameters
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.parameters">
|
||
Parameters which determine the instruction behavior.
|
||
</Attribute>
|
||
|
||
### phase
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.phase">
|
||
Return the rotation angle enacted by this instruction in radians.
|
||
</Attribute>
|
||
|
||
### start\_time
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.start_time">
|
||
Relative begin time of this instruction.
|
||
</Attribute>
|
||
|
||
### stop\_time
|
||
|
||
<Attribute id="qiskit.pulse.instructions.ShiftPhase.stop_time">
|
||
Relative end time of this instruction.
|
||
</Attribute>
|
||
|
||
## Methods
|
||
|
||
### append
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.append" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L185-L198" signature="append(schedule, name=None)">
|
||
Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`.
|
||
|
||
**Parameters**
|
||
|
||
* **schedule** (*Union\['Schedule', 'Instruction']*) – Schedule or instruction to be appended
|
||
* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) – Name of the new schedule. Defaults to name of self
|
||
|
||
**Returns**
|
||
|
||
A new schedule with `schedule` a this instruction at t=0.
|
||
|
||
**Return type**
|
||
|
||
[Schedule](qiskit.pulse.Schedule "qiskit.pulse.Schedule")
|
||
</Function>
|
||
|
||
### ch\_duration
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.ch_duration" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L112-L118" signature="ch_duration(*channels)">
|
||
Return duration of the supplied channels in this Instruction.
|
||
|
||
**Parameters**
|
||
|
||
**\*channels** ([*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")) – Supplied channels
|
||
|
||
**Return type**
|
||
|
||
[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")
|
||
</Function>
|
||
|
||
### ch\_start\_time
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.ch_start_time" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L120-L127" signature="ch_start_time(*channels)">
|
||
Return minimum start time for supplied channels.
|
||
|
||
**Parameters**
|
||
|
||
**\*channels** ([*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")) – Supplied channels
|
||
|
||
**Return type**
|
||
|
||
[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")
|
||
</Function>
|
||
|
||
### ch\_stop\_time
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.ch_stop_time" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L129-L137" signature="ch_stop_time(*channels)">
|
||
Return maximum start time for supplied channels.
|
||
|
||
**Parameters**
|
||
|
||
**\*channels** ([*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")) – Supplied channels
|
||
|
||
**Return type**
|
||
|
||
[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")
|
||
</Function>
|
||
|
||
### insert
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.insert" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L167-L183" signature="insert(start_time, schedule, name=None)">
|
||
Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`.
|
||
|
||
**Parameters**
|
||
|
||
* **start\_time** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – Time to insert the schedule schedule
|
||
* **schedule** (*Union\['Schedule', 'Instruction']*) – Schedule or instruction to insert
|
||
* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) – Name of the new schedule. Defaults to name of self
|
||
|
||
**Returns**
|
||
|
||
A new schedule with `schedule` inserted with this instruction at t=0.
|
||
|
||
**Return type**
|
||
|
||
[Schedule](qiskit.pulse.Schedule "qiskit.pulse.Schedule")
|
||
</Function>
|
||
|
||
### is\_parameterized
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.is_parameterized" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L219-L221" signature="is_parameterized()">
|
||
Return True iff the instruction is parameterized.
|
||
|
||
**Return type**
|
||
|
||
[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")
|
||
</Function>
|
||
|
||
### shift
|
||
|
||
<Function id="qiskit.pulse.instructions.ShiftPhase.shift" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/instructions/instruction.py#L151-L165" signature="shift(time, name=None)">
|
||
Return a new schedule shifted forward by time.
|
||
|
||
**Parameters**
|
||
|
||
* **time** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – Time to shift by
|
||
* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) – Name of the new schedule. Defaults to name of self
|
||
|
||
**Returns**
|
||
|
||
The shifted schedule.
|
||
|
||
**Return type**
|
||
|
||
[Schedule](qiskit.pulse.Schedule "qiskit.pulse.Schedule")
|
||
</Function>
|
||
</Class>
|
||
|