Hi there, Robert wrote at
http://trac.sagemath.org/sage_trac/ticket/3956#comment:7 """ Matrix hashes are specifically designed to be compatible with each other: {{{ sage: M = random_matrix(GF(2), 10, 10) sage: M.set_immutable() sage: hash(M) 561 sage: MZ = M.change_ring(ZZ) sage: MZ.set_immutable() sage: hash(MZ) 561 sage: MS = M.spa M.sparse_columns M.sparse_matrix M.sparse_rows sage: MS = M.sparse_matrix() sage: MS.set_immutable() sage: hash(MS) 561 }}} This patch seems to break that. At a minimum, it seems sparse and dense should hash to the same thing. If we want to change this policy, we should at least ask on sage-devel. """ I supplied a new patch for that ticket which fixes the issue in question. However, over at http://trac.sagemath.org/sage_trac/ticket/3724 there is a similar situation. Obeying Sage's hashing rules for GF(2) isn't as straight forward as it is for #3956. Basically, we would have to decide whether we want very fast hashs or consistent hashs. To feel the difference: sage: A = random_matrix(GF(3),8000,8000) sage: A.set_immutable() sage: %time hash(A) CPU times: user 0.13 s, sys: 0.00 s, total: 0.13 s Wall time: 0.14 s 85210014 sage: A = random_matrix(GF(2),8000,8000) sage: A.set_immutable() sage: %time hash(A) CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s Wall time: 0.00 s -7158142340691380618 sage: %timeit hash(A) 100 loops, best of 3: 2 ms per loop Thoughts? Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@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-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---