Discard#
- class discopy.quantum.gates.Discard(name=None, dom=None, cod=None, data=None, *args, **kwargs)[source]#
Bases:
SelfConjugateDiscard n qubits. If
dom == bitthen marginal distribution.A gate is causal, i.e. discarding all its outputs is the same as discarding all its inputs.
>>> from discopy.monoidal import Equation >>> Equation(CX >> Discard(2), Discard(2)).draw( ... wire_labels=False, doctest="docs/_static/quantum/discard.svg")
>>> assert (CX >> Discard(2)).eval() == Discard(2).eval()
Post-selection is not causal: discarding the output of a bra is not the discard of its input.
>>> assert Bra(0).eval(mixed=True) != Discard(1).eval()
- Parameters:
dom (C0)