mqt.qudits.quantum_circuit.components.extensions.matrix_factory¶ Module Contents¶ class MatrixFactory(gate: Gate, identities_flag: int)[source]¶ gate: Gate¶ ids: int¶ generate_matrix() → numpy.typing.NDArray[numpy.complex128][source]¶ classmethod apply_identities_and_controls(matrix: numpy.typing.NDArray[numpy.complex128], qudits_applied: int | list[int], dimensions: int | list[int], ref_lines: list[int], controls: list[int] | None = None, controls_levels: list[int] | None = None) → numpy.typing.NDArray[numpy.complex128][source]¶ classmethod wrap_in_identities(matrix: numpy.typing.NDArray[numpy.complex128], indices: list[int], sizes: list[int]) → numpy.typing.NDArray[numpy.complex128][source]¶ from_dirac_to_basis(vec: list[int], d: list[int] | int) → numpy.typing.NDArray[numpy.complex128][source]¶ calculate_q0_q1(lev: int, dim: int) → tuple[int, int][source]¶ insert_at(big_arr: numpy.typing.NDArray[numpy.complex128], pos: tuple[int, int], to_insert_arr: numpy.typing.NDArray[numpy.complex128]) → numpy.typing.NDArray[numpy.complex128][source]¶ Quite a forceful way of embedding a parameters into big_arr.