Mike: Since your Permutations does things correctly, I wonder if permutations should be (a) renamed permutations_gap or something, or (b) a "WARNING: this GAP wrapper is deprecated in favor of Permutations" (or something like that) should be printed on it's use? At the very least, maybe (c) the docstring for permutations should point to Permutations? For example, I remembered that you had reworked the combinatorial functions and thought permutations was yours at first.
On 10/27/07, Mike Hansen <[EMAIL PROTECTED]> wrote: > > Hello, > > My new(er) Permutations combinatorial class should handle things correctly. > > sage: MS = MatrixSpace(QQ, 2, 2) > sage: A = MS([1,2,3,4]) > sage: Permutations(A.rows()).list() > [[(1, 2), (3, 4)], [(3, 4), (1, 2)]] > sage: MS = MatrixSpace(GF(2),2,2) > sage: A = MS([1,2,3,4]) > sage: Permutations(A.rows()).list() > [[(1, 0), (1, 0)]] > > --Mike > > > On 10/27/07, David Joyner <[EMAIL PROTECTED]> wrote: > > > > Hi: > > Either a bug in combinat.py's permutations, or an indication that > > it needs to be rewritten. (permutations is a GAP wrapper which > > I might have written, so should probably fix ...) > > > > - David Joyner > > > > > > sage: MS = MatrixSpace(QQ,2,2) > > sage: A = MS([1,2,3,4]) > > sage: permutations(A.rows()) > > [[(3, 4), (1, 2)], [(1, 2), (3, 4)]] > > sage: > > sage: MS = MatrixSpace(GF(2),2,2) > > sage: A = MS([1,2,3,4]) > > sage: permutations(A.rows()) > > --------------------------------------------------------------------------- > > <type 'exceptions.RuntimeError'> Traceback (most recent call last) > > > > /Users/wdj/sagefiles/sage-2.8.2/<ipython console> in <module>() > > > > /Users/wdj/sagefiles/sage-2.8.2/local/lib/python2.5/site-packages/sage/combinat/combinat.py > > in permutations(mset) > > 1552 > > 1553 """ > > -> 1554 ans=gap.eval("PermutationsList(%s)"%mset) > > 1555 return eval(ans) > > 1556 > > > > /Users/wdj/sagefiles/sage-2.8.2/local/lib/python2.5/site-packages/sage/interfaces/gap.py > > in eval(self, x, newlines, strip) > > 301 if len(x) == 0 or x[len(x) - 1] != ';': > > 302 x += ';' > > --> 303 s = Expect.eval(self, x) > > 304 if newlines: > > 305 return s > > > > /Users/wdj/sagefiles/sage-2.8.2/local/lib/python2.5/site-packages/sage/interfaces/expect.py > > in eval(self, code, strip, **kwds) > > 648 code = code.strip() > > 649 try: > > --> 650 return '\n'.join([self._eval_line(L, **kwds) for L > > in code.split('\n') if L != '']) > > 651 except KeyboardInterrupt: > > 652 # DO NOT CATCH KeyboardInterrupt, as it is being caught > > > > /Users/wdj/sagefiles/sage-2.8.2/local/lib/python2.5/site-packages/sage/interfaces/gap.py > > in _eval_line(self, line, allow_use_file, wait_for_prompt) > > 502 return '' > > 503 else: > > --> 504 raise RuntimeError, message > > 505 > > 506 except KeyboardInterrupt: > > > > <type 'exceptions.RuntimeError'>: Gap produced error output > > Permutation: <expr> must be a positive integer (not a integer) > > > > executing PermutationsList([(1, 0), (1, 0)]); > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/ -~----------~----~----~----~------~----~------~--~---