mm.lab_dev.circuit_components.DualView¶
- class mrmustard.lab_dev.circuit_components.DualView(component)[source]¶
Bases:
CircuitComponent
Dual view of a circuit component.
- Parameters:
component (
CircuitComponent
) – The circuit component to take the view of.
Attributes
The
AdjointView
of this component.Returns a light-copy of the component that was used to generate the view.
The sorted list of modes of this component.
The number of modes in this component.
The name of this component.
The set of parameters characterizing this component.
A representation of this circuit component.
The
Wires
in this component.- adjoint¶
The
AdjointView
of this component.
- dual¶
Returns a light-copy of the component that was used to generate the view.
- modes¶
The sorted list of modes of this component.
- n_modes¶
The number of modes in this component.
- name¶
The name of this component.
- parameter_set¶
The set of parameters characterizing this component.
- representation¶
A representation of this circuit component.
- wires¶
The
Wires
in this component.
Methods
Creates a copy of this component by copying every data stored in memory for it by reference, except for its wires, which are copied by value.
on
(modes)Creates a copy of this component that acts on the given
modes
instead of on the original modes.to_fock_component
([shape])Returns a circuit component with the same attributes as this component, but with
Fock
representation.- light_copy()¶
Creates a copy of this component by copying every data stored in memory for it by reference, except for its wires, which are copied by value.
- Return type:
- on(modes)¶
Creates a copy of this component that acts on the given
modes
instead of on the original modes.- Parameters:
modes (
Sequence
[int
]) – The new modes that this component acts on.- Return type:
- Returns:
The component acting on the specified modes.
- Raises:
ValueError – If
modes
contains more or less modes than the original component.
- to_fock_component(shape=None)¶
Returns a circuit component with the same attributes as this component, but with
Fock
representation.Uses the
mrmustard.physics.converters.to_fock()
method to convert the internal representation.>>> from mrmustard.physics.converters import to_fock >>> from mrmustard.lab_dev import Dgate >>> d = Dgate([1], x=0.1, y=0.1) >>> d_fock = d.to_fock_component(shape=3) >>> assert d_fock.name == d.name >>> assert d_fock.wires == d.wires >>> assert d_fock.representation == to_fock(d.representation, shape=3)
- Parameters:
shape (
Union
[int
,Iterable
[int
],None
]) – The shape of the returned representation. Ifshape``is given as an ``int
, it is broadcasted to all the dimensions. IfNone
, it defaults to the value ofAUTOCUTOFF_MAX_CUTOFF
in the settings.- Return type: