Exemplo n.º 1
0
 def __init__(self, factors):
     super(TensorProductDistribution, self).__init__(
         basis=tensor_product_basis(
             factor.basis for factor in factors
         )
     )
     self._factors = tuple(factors)
Exemplo n.º 2
0
 def __init__(self, factors):
     super(TensorProductDistribution, self).__init__(
         basis=tensor_product_basis(
             factor.basis for factor in factors
         )
     )
     self._factors = tuple(factors)
Exemplo n.º 3
0
    def __init__(self, basis, rank=None, enforce_tp=True):
        if isinstance(basis, int):
            basis = gell_mann_basis(basis)
        self._hdim = basis.dim

        # TODO: take basis on underlying space, tensor up?
        channel_basis = tensor_product_basis(basis, basis)
        # FIXME: this is a hack to get another level of nesting.
        channel_basis.dims = [basis.dims, basis.dims]
        channel_basis.superrep = 'choi'
        super(BCSZChoiDistribution, self).__init__(channel_basis)
        self._rank = rank
        self._enforce_tp = enforce_tp
Exemplo n.º 4
0
    def __init__(self, basis, rank=None, enforce_tp=True):
        if isinstance(basis, int):
            basis = gell_mann_basis(basis)
        self._hdim = basis.dim

        # TODO: take basis on underlying space, tensor up?
        channel_basis = tensor_product_basis(basis, basis)
        # FIXME: this is a hack to get another level of nesting.
        channel_basis.dims = [basis.dims, basis.dims]
        channel_basis.superrep = 'choi'
        super(BCSZChoiDistribution, self).__init__(channel_basis)
        self._rank = rank
        self._enforce_tp = enforce_tp