Here is the root problem, which I think illustrates some unintended
consequences.

Changes at #10627 make possible things like printing a matrix with  -,
0, +  if the entries are negative, zero or positive.  Which is a very
nice thing to have.  You can also specify a translation dictionary
between values in a matrix and any alternative you would like to
print.  Making this work requires a look-up in the translation
dictionary, which will form a hash for each matrix entry.

Now, for entries from QQbar, these hashes can be extremely time-
consuming - like a full minute.   (This is #11543.)  So this feature
really has a harmful effect on the performance of printing matrices.
Furthermore, for QQbar, it appears the hash adjusts the precision of
the QQbar entries, so the act of printing makes a small change in the
entries, which is very evident for entries close to zero.  Irony is, I
was the reviewer on #10627.

Patch now ready to go at #11544 simply by-passes the look-up in the
dictionary when the dictionary is empty.  (Right now there are lookups
in an empty dictionary.)   So it avoids many problems for "routine"
matrix printing, but is not a full solution.  Still it would be a big
improvement for the usefulness of matrices over QQbar.  It is
literally a change to one line of code, and then a bunch of very minor
doctest adjustments.  Hint, hint.

http://trac.sagemath.org/sage_trac/ticket/11544

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to