mqt.qudits.visualisation

Submodules

Package Contents

draw_qudit_local(circuit: QuantumCircuit) → None[source]
get_density_matrix_from_counts(results: list[int] | numpy.typing.NDArray[int_], circuit: QuantumCircuit) → numpy.typing.NDArray[numpy.complex128][source]
partial_trace(rho: numpy.typing.NDArray[numpy.complex128], qudits2keep: list[int], dims: list[int], optimize: bool = False) → numpy.typing.NDArray[numpy.complex128][source]

Calculate the partial trace.

p_a = Tr_b(p)

Parameters:
  • rho – Matrix to trace

  • qudits2keep – An array of indices of the spaces to keep after being traced. For instance, if the space is A x B x C x D and we want to trace out B and D, keep = [0, 2].

  • dims – An array of the dimensions of each space. For instance, if the space is A x B x C x D, dims = [dim_A, dim_B, dim_C, dim_D]

  • optimize – Whether to optimize the einsum operation. Defaults to False.

Returns:

The traced matrix

plot_counts(measurements: list[int], circuit: QuantumCircuit) → numpy.typing.NDArray[int_][source]
plot_state(state_vector: numpy.typing.NDArray[numpy.complex128], circuit: QuantumCircuit, errors: Sequence[float] | None = None) → numpy.typing.NDArray[numpy.float64][source]