---
title: Statevector (v1.0)
description: API reference for qiskit.quantum_info.Statevector in qiskit v1.0
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.0/qiskit.quantum_info.Statevector
---

# Statevector

*class* `qiskit.quantum_info.Statevector(data, dims=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L39-L961)

Bases: `QuantumState`, `TolerancesMixin`

Statevector class

Initialize a statevector object.

**Parameters**

- **or** (*data (np.array or* [*list*](https://docs.python.org/3/library/stdtypes.html#list)  *or*[*Statevector*](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")  *or*[*Operator*](/docs/api/qiskit/1.0/qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")  *or*[*QuantumCircuit*](/docs/api/qiskit/1.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – qiskit.circuit.Instruction): Data from which the statevector can be constructed. This can be either a complex vector, another statevector, a `Operator` with only one column or a `QuantumCircuit` or `Instruction`. If the data is a circuit or instruction, the statevector is constructed by assuming that all qubits are initialized to the zero state.
- **dims** ([*int*](https://docs.python.org/3/library/functions.html#int)  *or*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple)  *or*[*list*](https://docs.python.org/3/library/stdtypes.html#list)) – Optional. The subsystem dimension of the state (See additional information).

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if input data is not valid.

**Additional Information:**

The `dims` kwarg can be None, an integer, or an iterable of integers.

- `Iterable` – the subsystem dimensions are the values in the list with the total number of subsystems given by the length of the list.
- `Int` or `None` – the length of the input vector specifies the total dimension of the density matrix. If it is a power of two the state will be initialized as an N-qubit state. If it is not a power of two the state will have a single d-dimensional subsystem.

## Attributes

### atol

Default value: `1e-08`

### data

Return data.

### dim

Return total state dimension.

### num\_qubits

Return the number of qubits if a N-qubit state or None otherwise.

### rtol

Default value: `1e-05`

### settings

Return settings.

## Methods

### conjugate

`conjugate()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L249-L251)

Return the conjugate of the operator.

**Return type**

[*Statevector*](#qiskit.quantum_info.Statevector "qiskit.quantum_info.states.statevector.Statevector")

### copy

`copy()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L74-L76)

Make a copy of current operator.

### dims

`dims(qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L70-L72)

Return tuple of input dimension for specified subsystems.

### draw

`draw(output=None, **drawer_args)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L131-L188)

Return a visualization of the Statevector.

**repr**: ASCII TextMatrix of the state’s `__repr__`.

**text**: ASCII TextMatrix that can be printed in the console.

**latex**: An IPython Latex object for displaying in Jupyter Notebooks.

**latex\_source**: Raw, uncompiled ASCII source to generate array using LaTeX.

**qsphere**: Matplotlib figure, rendering of statevector using plot\_state\_qsphere().

**hinton**: Matplotlib figure, rendering of statevector using plot\_state\_hinton().

**bloch**: Matplotlib figure, rendering of statevector using plot\_bloch\_multivector().

**city**: Matplotlib figure, rendering of statevector using plot\_state\_city().

**paulivec**: Matplotlib figure, rendering of statevector using plot\_state\_paulivec().

**Parameters**

- **output** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – Select the output method to use for drawing the state. Valid choices are repr, text, latex, latex\_source, qsphere, hinton, bloch, city, or paulivec. Default is repr. Default can be changed by adding the line `state_drawer = <default>` to `~/.qiskit/settings.conf` under `[default]`.
- **drawer\_args** – Arguments to be passed directly to the relevant drawing function or constructor (TextMatrix(), array\_to\_latex(), plot\_state\_qsphere(), plot\_state\_hinton() or plot\_bloch\_multivector()). See the relevant function under qiskit.visualization for that function’s documentation.

**Returns**

`matplotlib.Figure` or [`str`](https://docs.python.org/3/library/stdtypes.html#str) or `TextMatrix` or `IPython.display.Latex`: Drawing of the Statevector.

**Raises**

[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – when an invalid output method is selected.

**Examples**

Plot one of the Bell states

```python
from numpy import sqrt
from qiskit.quantum_info import Statevector
sv=Statevector([1/sqrt(2), 0, 0, -1/sqrt(2)])
sv.draw(output='hinton')
```

![../\_images/qiskit-quantum\_info-Statevector-1.png](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/1.0/qiskit-quantum_info-Statevector-1.avif)

### equiv

`equiv(other, rtol=None, atol=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L406-L436)

Return True if other is equivalent as a statevector up to global phase.

> **Note**
>
> If other is not a Statevector, but can be used to initialize a statevector object, this will check that Statevector(other) is equivalent to the current statevector up to global phase.

**Parameters**

- **other** ([*Statevector*](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")) – an object from which a `Statevector` can be constructed.
- **rtol** ([*float*](https://docs.python.org/3/library/functions.html#float)) – relative tolerance value for comparison.
- **atol** ([*float*](https://docs.python.org/3/library/functions.html#float)) – absolute tolerance value for comparison.

**Returns**

True if statevectors are equivalent up to global phase.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### evolve

`evolve(other, qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L363-L404)

Evolve a quantum state by the operator.

**Parameters**

- **other** ([*Operator*](/docs/api/qiskit/1.0/qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")  *|*[*QuantumCircuit*](/docs/api/qiskit/1.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")  *|*[*circuit.Instruction*](/docs/api/qiskit/1.0/qiskit.circuit.Instruction "qiskit.circuit.Instruction")) – The operator to evolve by.
- **qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list)) – a list of Statevector subsystem positions to apply the operator on.

**Returns**

the output quantum state.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the operator dimension does not match the specified Statevector subsystem dimensions.

### expand

`expand(other)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L306-L323)

Return the tensor product state other ⊗ self.

**Parameters**

**other** ([*Statevector*](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")) – a quantum state object.

**Returns**

the tensor product state other ⊗ self.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if other is not a quantum state.

### expectation\_value

`expectation_value(oper, qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L493-L516)

Compute the expectation value of an operator.

**Parameters**

- **oper** ([*Operator*](/docs/api/qiskit/1.0/qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")) – an operator to evaluate expval of.
- **qargs** (*None or* [*list*](https://docs.python.org/3/library/stdtypes.html#list)) – subsystems to apply operator on.

**Returns**

the expectation value.

**Return type**

[complex](https://docs.python.org/3/library/functions.html#complex)

### from\_instruction

*classmethod* `from_instruction(instruction)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L743-L768)

Return the output statevector of an instruction.

The statevector is initialized in the state $|{0,\ldots,0}\rangle$ of the same number of qubits as the input instruction or circuit, evolved by the input instruction, and the output statevector returned.

**Parameters**

**instruction** ([*qiskit.circuit.Instruction*](/docs/api/qiskit/1.0/qiskit.circuit.Instruction "qiskit.circuit.Instruction")  *or*[*QuantumCircuit*](/docs/api/qiskit/1.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – instruction or circuit

**Returns**

The final statevector.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the instruction contains invalid instructions for the statevector simulation.

### from\_int

*static* `from_int(i, dims)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L715-L741)

Return a computational basis statevector.

**Parameters**

- **i** ([*int*](https://docs.python.org/3/library/functions.html#int)) – the basis state element.
- **dims** ([*int*](https://docs.python.org/3/library/functions.html#int)  *or*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple)  *or*[*list*](https://docs.python.org/3/library/stdtypes.html#list)) – The subsystem dimensions of the statevector (See additional information).

**Returns**

The computational basis state $|i\rangle$.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Additional Information:**

The `dims` kwarg can be an integer or an iterable of integers.

- `Iterable` – the subsystem dimensions are the values in the list with the total number of subsystems given by the length of the list.
- `Int` – the integer specifies the total dimension of the state. If it is a power of two the state will be initialized as an N-qubit state. If it is not a power of two the state will have a single d-dimensional subsystem.

### from\_label

*classmethod* `from_label(label)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L646-L713)

Return a tensor product of Pauli X,Y,Z eigenstates.

| Label | Statevector                     |
| ----- | ------------------------------- |
| `"0"` | $[1, 0]$                        |
| `"1"` | $[0, 1]$                        |
| `"+"` | $[1 / \sqrt{2}, 1 / \sqrt{2}]$  |
| `"-"` | $[1 / \sqrt{2}, -1 / \sqrt{2}]$ |
| `"r"` | $[1 / \sqrt{2}, i / \sqrt{2}]$  |
| `"l"` | $[1 / \sqrt{2}, -i / \sqrt{2}]$ |

**Parameters**

**label** (*string*) – a eigenstate string ket label (see table for allowed values).

**Returns**

The N-qubit basis state density matrix.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the label contains invalid characters, or the length of the label is larger than an explicitly specified num\_qubits.

### inner

`inner(other)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L284-L304)

Return the inner product of self and other as $\langle self| other \rangle$.

**Parameters**

**other** ([*Statevector*](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")) – a quantum state object.

**Returns**

the inner product of self and other, $\langle self| other \rangle$.

**Return type**

np.complex128

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if other is not a quantum state or has different dimension.

### is\_valid

`is_valid(atol=None, rtol=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L235-L242)

Return True if a Statevector has norm 1.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### measure

`measure(qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L306-L341)

Measure subsystems and return outcome and post-measure state.

Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.Statevector.seed "qiskit.quantum_info.Statevector.seed") method.

**Parameters**

**qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list) *or None*) – subsystems to sample measurements for, if None sample measurement of all subsystems (Default: None).

**Returns**

**the pair `(outcome, state)` where `outcome` is the**

measurement outcome string label, and `state` is the collapsed post-measurement state for the corresponding outcome.

**Return type**

[tuple](https://docs.python.org/3/library/stdtypes.html#tuple)

### probabilities

`probabilities(qargs=None, decimals=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L518-L598)

Return the subsystem measurement probability vector.

Measurement probabilities are with respect to measurement in the computation (diagonal) basis.

**Parameters**

- **qargs** (*None or* [*list*](https://docs.python.org/3/library/stdtypes.html#list)) – subsystems to return probabilities for, if None return for all subsystems (Default: None).
- **decimals** (*None or* [*int*](https://docs.python.org/3/library/functions.html#int)) – the number of decimal places to round values. If None no rounding is done (Default: None).

**Returns**

The Numpy vector array of probabilities.

**Return type**

np.array

**Examples**

Consider a 2-qubit product state $|\psi\rangle=|+\rangle\otimes|0\rangle$.

```python
from qiskit.quantum_info import Statevector

psi = Statevector.from_label('+0')

# Probabilities for measuring both qubits
probs = psi.probabilities()
print('probs: {}'.format(probs))

# Probabilities for measuring only qubit-0
probs_qubit_0 = psi.probabilities([0])
print('Qubit-0 probs: {}'.format(probs_qubit_0))

# Probabilities for measuring only qubit-1
probs_qubit_1 = psi.probabilities([1])
print('Qubit-1 probs: {}'.format(probs_qubit_1))
```

```python
probs: [0.5 0.  0.5 0. ]
Qubit-0 probs: [1. 0.]
Qubit-1 probs: [0.5 0.5]
```

We can also permute the order of qubits in the `qargs` list to change the qubit position in the probabilities output

```python
from qiskit.quantum_info import Statevector

psi = Statevector.from_label('+0')

# Probabilities for measuring both qubits
probs = psi.probabilities([0, 1])
print('probs: {}'.format(probs))

# Probabilities for measuring both qubits
# but swapping qubits 0 and 1 in output
probs_swapped = psi.probabilities([1, 0])
print('Swapped probs: {}'.format(probs_swapped))
```

```python
probs: [0.5 0.  0.5 0. ]
Swapped probs: [0.5 0.5 0.  0. ]
```

### probabilities\_dict

`probabilities_dict(qargs=None, decimals=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L220-L244)

Return the subsystem measurement probability dictionary.

Measurement probabilities are with respect to measurement in the computation (diagonal) basis.

This dictionary representation uses a Ket-like notation where the dictionary keys are qudit strings for the subsystem basis vectors. If any subsystem has a dimension greater than 10 comma delimiters are inserted between integers so that subsystems can be distinguished.

**Parameters**

- **qargs** (*None or* [*list*](https://docs.python.org/3/library/stdtypes.html#list)) – subsystems to return probabilities for, if None return for all subsystems (Default: None).
- **decimals** (*None or* [*int*](https://docs.python.org/3/library/functions.html#int)) – the number of decimal places to round values. If None no rounding is done (Default: None).

**Returns**

The measurement probabilities in dict (ket) form.

**Return type**

[dict](https://docs.python.org/3/library/stdtypes.html#dict)

### purity

`purity()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L257-L263)

Return the purity of the quantum state.

**Return type**

*float64*

### reset

`reset(qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L600-L644)

Reset state or subsystems to the 0-state.

**Parameters**

**qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list) *or None*) – subsystems to reset, if None all subsystems will be reset to their 0-state (Default: None).

**Returns**

the reset state.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Additional Information:**

If all subsystems are reset this will return the ground state on all subsystems. If only a some subsystems are reset this function will perform a measurement on those subsystems and evolve the subsystems so that the collapsed post-measurement states are rotated to the 0-state. The RNG seed for this sampling can be set using the [`seed()`](#qiskit.quantum_info.Statevector.seed "qiskit.quantum_info.Statevector.seed") method.

### reverse\_qargs

`reverse_qargs()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L438-L457)

Return a Statevector with reversed subsystem ordering.

For a tensor product state this is equivalent to reversing the order of tensor product subsystems. For a statevector $|\psi \rangle = |\psi_{n-1} \rangle \otimes ... \otimes |\psi_0 \rangle$ the returned statevector will be $|\psi_{0} \rangle \otimes ... \otimes |\psi_{n-1} \rangle$.

**Returns**

the Statevector with reversed subsystem order.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

### sample\_counts

`sample_counts(shots, qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L277-L304)

Sample a dict of qubit measurement outcomes in the computational basis.

**Parameters**

- **shots** ([*int*](https://docs.python.org/3/library/functions.html#int)) – number of samples to generate.
- **qargs** (*None or* [*list*](https://docs.python.org/3/library/stdtypes.html#list)) – subsystems to sample measurements for, if None sample measurement of all subsystems (Default: None).

**Returns**

sampled counts dictionary.

**Return type**

[Counts](/docs/api/qiskit/1.0/qiskit.result.Counts "qiskit.result.Counts")

Additional Information:

> This function *samples* measurement outcomes using the measure [`probabilities()`](#qiskit.quantum_info.Statevector.probabilities "qiskit.quantum_info.Statevector.probabilities") for the current state and qargs. It does not actually implement the measurement so the current state is not modified.
>
> The seed for random number generator used for sampling can be set to a fixed value by using the stats [`seed()`](#qiskit.quantum_info.Statevector.seed "qiskit.quantum_info.Statevector.seed") method.

### sample\_memory

`sample_memory(shots, qargs=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L246-L275)

Sample a list of qubit measurement outcomes in the computational basis.

**Parameters**

- **shots** ([*int*](https://docs.python.org/3/library/functions.html#int)) – number of samples to generate.
- **qargs** (*None or* [*list*](https://docs.python.org/3/library/stdtypes.html#list)) – subsystems to sample measurements for, if None sample measurement of all subsystems (Default: None).

**Returns**

list of sampled counts if the order sampled.

**Return type**

np.array

Additional Information:

> This function *samples* measurement outcomes using the measure [`probabilities()`](#qiskit.quantum_info.Statevector.probabilities "qiskit.quantum_info.Statevector.probabilities") for the current state and qargs. It does not actually implement the measurement so the current state is not modified.
>
> The seed for random number generator used for sampling can be set to a fixed value by using the stats [`seed()`](#qiskit.quantum_info.Statevector.seed "qiskit.quantum_info.Statevector.seed") method.

### seed

`seed(value=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/quantum_state.py#L78-L85)

Set the seed for the quantum state RNG.

### tensor

`tensor(other)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L265-L282)

Return the tensor product state self ⊗ other.

**Parameters**

**other** ([*Statevector*](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")) – a quantum state object.

**Returns**

the tensor product operator self ⊗ other.

**Return type**

[Statevector](#qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")

**Raises**

[**QiskitError**](/docs/api/qiskit/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if other is not a quantum state.

### to\_dict

`to_dict(decimals=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L770-L842)

Convert the statevector to dictionary form.

This dictionary representation uses a Ket-like notation where the dictionary keys are qudit strings for the subsystem basis vectors. If any subsystem has a dimension greater than 10 comma delimiters are inserted between integers so that subsystems can be distinguished.

**Parameters**

**decimals** (*None or* [*int*](https://docs.python.org/3/library/functions.html#int)) – the number of decimal places to round values. If None no rounding is done (Default: None).

**Returns**

the dictionary form of the Statevector.

**Return type**

[dict](https://docs.python.org/3/library/stdtypes.html#dict)

**Example**

The ket-form of a 2-qubit statevector $|\psi\rangle = |-\rangle\otimes |0\rangle$

```python
from qiskit.quantum_info import Statevector

psi = Statevector.from_label('-0')
print(psi.to_dict())
```

```python
{'00': (0.7071067811865475+0j), '10': (-0.7071067811865475+0j)}
```

For non-qubit subsystems the integer range can go from 0 to 9. For example in a qutrit system

```python
import numpy as np
from qiskit.quantum_info import Statevector

vec = np.zeros(9)
vec[0] = 1 / np.sqrt(2)
vec[-1] = 1 / np.sqrt(2)
psi = Statevector(vec, dims=(3, 3))
print(psi.to_dict())
```

```python
{'00': (0.7071067811865475+0j), '22': (0.7071067811865475+0j)}
```

For large subsystem dimensions delimiters are required. The following example is for a 20-dimensional system consisting of a qubit and 10-dimensional qudit.

```python
import numpy as np
from qiskit.quantum_info import Statevector

vec = np.zeros(2 * 10)
vec[0] = 1 / np.sqrt(2)
vec[-1] = 1 / np.sqrt(2)
psi = Statevector(vec, dims=(2, 10))
print(psi.to_dict())
```

```python
{'00': (0.7071067811865475+0j), '91': (0.7071067811865475+0j)}
```

### to\_operator

`to_operator()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L244-L247)

Convert state to a rank-1 projector operator

**Return type**

[*Operator*](/docs/api/qiskit/1.0/qiskit.quantum_info.Operator "qiskit.quantum_info.operators.operator.Operator")

### trace

`trace()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/quantum_info/states/statevector.py#L253-L255)

Return the trace of the quantum state as a density matrix.

**Return type**

*float64*
