281 lines
12 KiB
Plaintext
281 lines
12 KiB
Plaintext
---
|
||
title: SetUnitary (v0.26)
|
||
description: API reference for qiskit.providers.aer.library.SetUnitary in qiskit v0.26
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.providers.aer.library.SetUnitary
|
||
---
|
||
|
||
<span id="qiskit-providers-aer-library-setunitary" />
|
||
|
||
# qiskit.providers.aer.library.SetUnitary
|
||
|
||
<Class id="qiskit.providers.aer.library.SetUnitary" isDedicatedPage={true} github="https://github.com/qiskit/qiskit-aer/tree/stable/0.8/qiskit/providers/aer/library/set_instructions/set_unitary.py" signature="SetUnitary(state)" modifiers="class">
|
||
Set unitary state of the simulator
|
||
|
||
Create new instruction to set the unitary simulator state.
|
||
|
||
**Parameters**
|
||
|
||
**state** ([*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")) – A unitary matrix.
|
||
|
||
**Raises**
|
||
|
||
**ExtensionError** – if the input matrix is not state.
|
||
|
||
<Admonition title="Note" type="note">
|
||
This set instruction must always be performed on the full width of qubits in a circuit, otherwise an exception will be raised during simulation.
|
||
</Admonition>
|
||
|
||
### \_\_init\_\_
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.__init__" signature="__init__(state)">
|
||
Create new instruction to set the unitary simulator state.
|
||
|
||
**Parameters**
|
||
|
||
**state** ([*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")) – A unitary matrix.
|
||
|
||
**Raises**
|
||
|
||
**ExtensionError** – if the input matrix is not state.
|
||
|
||
<Admonition title="Note" type="note">
|
||
This set instruction must always be performed on the full width of qubits in a circuit, otherwise an exception will be raised during simulation.
|
||
</Admonition>
|
||
</Function>
|
||
|
||
## Methods
|
||
|
||
| | |
|
||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
||
| [`__init__`](#qiskit.providers.aer.library.SetUnitary.__init__ "qiskit.providers.aer.library.SetUnitary.__init__")(state) | Create new instruction to set the unitary simulator state. |
|
||
| [`add_decomposition`](#qiskit.providers.aer.library.SetUnitary.add_decomposition "qiskit.providers.aer.library.SetUnitary.add_decomposition")(decomposition) | Add a decomposition of the instruction to the SessionEquivalenceLibrary. |
|
||
| [`assemble`](#qiskit.providers.aer.library.SetUnitary.assemble "qiskit.providers.aer.library.SetUnitary.assemble")() | Assemble a QasmQobjInstruction |
|
||
| [`broadcast_arguments`](#qiskit.providers.aer.library.SetUnitary.broadcast_arguments "qiskit.providers.aer.library.SetUnitary.broadcast_arguments")(qargs, cargs) | Validation of the arguments. |
|
||
| [`c_if`](#qiskit.providers.aer.library.SetUnitary.c_if "qiskit.providers.aer.library.SetUnitary.c_if")(classical, val) | Add classical condition on register classical and value val. |
|
||
| [`copy`](#qiskit.providers.aer.library.SetUnitary.copy "qiskit.providers.aer.library.SetUnitary.copy")(\[name]) | Copy of the instruction. |
|
||
| [`inverse`](#qiskit.providers.aer.library.SetUnitary.inverse "qiskit.providers.aer.library.SetUnitary.inverse")() | Invert this instruction. |
|
||
| [`is_parameterized`](#qiskit.providers.aer.library.SetUnitary.is_parameterized "qiskit.providers.aer.library.SetUnitary.is_parameterized")() | Return True .IFF. |
|
||
| [`mirror`](#qiskit.providers.aer.library.SetUnitary.mirror "qiskit.providers.aer.library.SetUnitary.mirror")() | DEPRECATED: use instruction.reverse\_ops(). |
|
||
| [`qasm`](#qiskit.providers.aer.library.SetUnitary.qasm "qiskit.providers.aer.library.SetUnitary.qasm")() | Return a default OpenQASM string for the instruction. |
|
||
| [`repeat`](#qiskit.providers.aer.library.SetUnitary.repeat "qiskit.providers.aer.library.SetUnitary.repeat")(n) | Creates an instruction with gate repeated n amount of times. |
|
||
| [`reverse_ops`](#qiskit.providers.aer.library.SetUnitary.reverse_ops "qiskit.providers.aer.library.SetUnitary.reverse_ops")() | For a composite instruction, reverse the order of sub-instructions. |
|
||
| [`soft_compare`](#qiskit.providers.aer.library.SetUnitary.soft_compare "qiskit.providers.aer.library.SetUnitary.soft_compare")(other) | Soft comparison between gates. |
|
||
| [`validate_parameter`](#qiskit.providers.aer.library.SetUnitary.validate_parameter "qiskit.providers.aer.library.SetUnitary.validate_parameter")(parameter) | Instruction parameters has no validation or normalization. |
|
||
|
||
## Attributes
|
||
|
||
| | |
|
||
| ------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
|
||
| [`decompositions`](#qiskit.providers.aer.library.SetUnitary.decompositions "qiskit.providers.aer.library.SetUnitary.decompositions") | Get the decompositions of the instruction from the SessionEquivalenceLibrary. |
|
||
| [`definition`](#qiskit.providers.aer.library.SetUnitary.definition "qiskit.providers.aer.library.SetUnitary.definition") | Return definition in terms of other basic gates. |
|
||
| [`duration`](#qiskit.providers.aer.library.SetUnitary.duration "qiskit.providers.aer.library.SetUnitary.duration") | Get the duration. |
|
||
| [`params`](#qiskit.providers.aer.library.SetUnitary.params "qiskit.providers.aer.library.SetUnitary.params") | return instruction params. |
|
||
| [`unit`](#qiskit.providers.aer.library.SetUnitary.unit "qiskit.providers.aer.library.SetUnitary.unit") | Get the time unit of duration. |
|
||
|
||
### add\_decomposition
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.add_decomposition" signature="add_decomposition(decomposition)">
|
||
Add a decomposition of the instruction to the SessionEquivalenceLibrary.
|
||
</Function>
|
||
|
||
### assemble
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.assemble" signature="assemble()">
|
||
Assemble a QasmQobjInstruction
|
||
</Function>
|
||
|
||
### broadcast\_arguments
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.broadcast_arguments" signature="broadcast_arguments(qargs, cargs)">
|
||
Validation of the arguments.
|
||
|
||
**Parameters**
|
||
|
||
* **qargs** (*List*) – List of quantum bit arguments.
|
||
* **cargs** (*List*) – List of classical bit arguments.
|
||
|
||
**Yields**
|
||
|
||
*Tuple(List, List)* – A tuple with single arguments.
|
||
|
||
**Raises**
|
||
|
||
**CircuitError** – If the input is not valid. For example, the number of arguments does not match the gate expectation.
|
||
</Function>
|
||
|
||
### c\_if
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.c_if" signature="c_if(classical, val)">
|
||
Add classical condition on register classical and value val.
|
||
</Function>
|
||
|
||
### copy
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.copy" signature="copy(name=None)">
|
||
Copy of the instruction.
|
||
|
||
**Parameters**
|
||
|
||
**name** (*str*) – name to be given to the copied circuit, if None then the name stays the same.
|
||
|
||
**Returns**
|
||
|
||
**a copy of the current instruction, with the name**
|
||
|
||
updated if it was provided
|
||
|
||
**Return type**
|
||
|
||
[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction")
|
||
</Function>
|
||
|
||
### decompositions
|
||
|
||
<Attribute id="qiskit.providers.aer.library.SetUnitary.decompositions">
|
||
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
|
||
</Attribute>
|
||
|
||
### definition
|
||
|
||
<Attribute id="qiskit.providers.aer.library.SetUnitary.definition">
|
||
Return definition in terms of other basic gates.
|
||
</Attribute>
|
||
|
||
### duration
|
||
|
||
<Attribute id="qiskit.providers.aer.library.SetUnitary.duration">
|
||
Get the duration.
|
||
</Attribute>
|
||
|
||
### inverse
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.inverse" signature="inverse()">
|
||
Invert this instruction.
|
||
|
||
If the instruction is composite (i.e. has a definition), then its definition will be recursively inverted.
|
||
|
||
Special instructions inheriting from Instruction can implement their own inverse (e.g. T and Tdg, Barrier, etc.)
|
||
|
||
**Returns**
|
||
|
||
a fresh instruction for the inverse
|
||
|
||
**Return type**
|
||
|
||
[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction")
|
||
|
||
**Raises**
|
||
|
||
**CircuitError** – if the instruction is not composite and an inverse has not been implemented for it.
|
||
</Function>
|
||
|
||
### is\_parameterized
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.is_parameterized" signature="is_parameterized()">
|
||
Return True .IFF. instruction is parameterized else False
|
||
</Function>
|
||
|
||
### mirror
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.mirror" signature="mirror()">
|
||
DEPRECATED: use instruction.reverse\_ops().
|
||
|
||
**Returns**
|
||
|
||
**a new instruction with sub-instructions**
|
||
|
||
reversed.
|
||
|
||
**Return type**
|
||
|
||
[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction")
|
||
</Function>
|
||
|
||
### params
|
||
|
||
<Attribute id="qiskit.providers.aer.library.SetUnitary.params">
|
||
return instruction params.
|
||
</Attribute>
|
||
|
||
### qasm
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.qasm" signature="qasm()">
|
||
Return a default OpenQASM string for the instruction.
|
||
|
||
Derived instructions may override this to print in a different format (e.g. measure q\[0] -> c\[0];).
|
||
</Function>
|
||
|
||
### repeat
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.repeat" signature="repeat(n)">
|
||
Creates an instruction with gate repeated n amount of times.
|
||
|
||
**Parameters**
|
||
|
||
**n** (*int*) – Number of times to repeat the instruction
|
||
|
||
**Returns**
|
||
|
||
Containing the definition.
|
||
|
||
**Return type**
|
||
|
||
[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction")
|
||
|
||
**Raises**
|
||
|
||
**CircuitError** – If n \< 1.
|
||
</Function>
|
||
|
||
### reverse\_ops
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.reverse_ops" signature="reverse_ops()">
|
||
For a composite instruction, reverse the order of sub-instructions.
|
||
|
||
This is done by recursively reversing all sub-instructions. It does not invert any gate.
|
||
|
||
**Returns**
|
||
|
||
**a new instruction with**
|
||
|
||
sub-instructions reversed.
|
||
|
||
**Return type**
|
||
|
||
[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction")
|
||
</Function>
|
||
|
||
### soft\_compare
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.soft_compare" signature="soft_compare(other)">
|
||
Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account.
|
||
|
||
**Parameters**
|
||
|
||
**other** (*instruction*) – other instruction.
|
||
|
||
**Returns**
|
||
|
||
are self and other equal up to parameter expressions.
|
||
|
||
**Return type**
|
||
|
||
bool
|
||
</Function>
|
||
|
||
### unit
|
||
|
||
<Attribute id="qiskit.providers.aer.library.SetUnitary.unit">
|
||
Get the time unit of duration.
|
||
</Attribute>
|
||
|
||
### validate\_parameter
|
||
|
||
<Function id="qiskit.providers.aer.library.SetUnitary.validate_parameter" signature="validate_parameter(parameter)">
|
||
Instruction parameters has no validation or normalization.
|
||
</Function>
|
||
</Class>
|
||
|