def __iter__(self): """ TESTS:: sage: WeightedIntegerVectors(7, [2,2]).list() [] sage: WeightedIntegerVectors(3, [2,1,1]).list() [[1, 0, 1], [1, 1, 0], [0, 0, 3], [0, 1, 2], [0, 2, 1], [0, 3, 0]] :: sage: ivw = [ WeightedIntegerVectors(k, [1,1,1]) for k in range(11) ] sage: iv = [ IntegerVectors(k, 3) for k in range(11) ] sage: all( [ sorted(iv[k].list()) == sorted(ivw[k].list()) for k in range(11) ] ) True :: sage: ivw = [ WeightedIntegerVectors(k, [2,3,7]) for k in range(11) ] sage: all( [ i.cardinality() == len(i.list()) for i in ivw] ) True """ if len(self._weights) == 0: if self._n == 0: yield [] return perm = Word(self._weights).standard_permutation() l = [x for x in sorted(self._weights)] for x in self._recfun(self._n, l): yield perm.action(x)
def list(self): """ TESTS:: sage: WeightedIntegerVectors(7, [2,2]).list() [] sage: WeightedIntegerVectors(3, [2,1,1]).list() [[1, 0, 1], [1, 1, 0], [0, 0, 3], [0, 1, 2], [0, 2, 1], [0, 3, 0]] :: sage: ivw = [ WeightedIntegerVectors(k, [1,1,1]) for k in range(11) ] sage: iv = [ IntegerVectors(k, 3) for k in range(11) ] sage: all( [ sorted(iv[k].list()) == sorted(ivw[k].list()) for k in range(11) ] ) True :: sage: ivw = [ WeightedIntegerVectors(k, [2,3,7]) for k in range(11) ] sage: all( [ i.cardinality() == len(i.list()) for i in ivw] ) True """ if len(self.weight) == 0: if self.n == 0: return [[]] else: return [] perm = Word(self.weight).standard_permutation() l = [x for x in sorted(self.weight)] return [perm.action(_) for _ in self._recfun(self.n,l)]
def __iter__(self): """ TESTS:: sage: WeightedIntegerVectors(7, [2,2]).list() [] sage: WeightedIntegerVectors(3, [2,1,1]).list() [[1, 0, 1], [1, 1, 0], [0, 0, 3], [0, 1, 2], [0, 2, 1], [0, 3, 0]] :: sage: ivw = [ WeightedIntegerVectors(k, [1,1,1]) for k in range(11) ] sage: iv = [ IntegerVectors(k, 3) for k in range(11) ] sage: all( [ sorted(iv[k].list()) == sorted(ivw[k].list()) for k in range(11) ] ) True :: sage: ivw = [ WeightedIntegerVectors(k, [2,3,7]) for k in range(11) ] sage: all( [ i.cardinality() == len(i.list()) for i in ivw] ) True """ if len(self._weights) == 0: if self._n == 0: yield [] return perm = Word(self._weights).standard_permutation() l = [x for x in sorted(self._weights)] for x in self._recfun(self._n, l): yield perm.action(x)
def list(self): """ TESTS:: sage: WeightedIntegerVectors(7, [2,2]).list() [] sage: WeightedIntegerVectors(3, [2,1,1]).list() [[1, 0, 1], [1, 1, 0], [0, 0, 3], [0, 1, 2], [0, 2, 1], [0, 3, 0]] :: sage: ivw = [ WeightedIntegerVectors(k, [1,1,1]) for k in range(11) ] sage: iv = [ IntegerVectors(k, 3) for k in range(11) ] sage: all( [ sorted(iv[k].list()) == sorted(ivw[k].list()) for k in range(11) ] ) True :: sage: ivw = [ WeightedIntegerVectors(k, [2,3,7]) for k in range(11) ] sage: all( [ i.cardinality() == len(i.list()) for i in ivw] ) True """ if len(self.weight) == 0: if self.n == 0: return [[]] else: return [] perm = Word(self.weight).standard_permutation() l = [x for x in sorted(self.weight)] return [perm.action(_) for _ in self._recfun(self.n, l)]