Return one of the composite Kraus operators at random with
        the appropriate weights

def asgate(self) -> Gate:
        """Return one of the composite Kraus operators at random with
        the appropriate weights"""
        return np.random.choice(self.operators, p=self.weights)