#15036: Speed up matrix repr for matrices larger than 20
----------------------------------+-----------------------------
Reporter: nbruin | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-5.12
Component: linear algebra | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Dependencies:
Stopgaps: |
----------------------------------+-----------------------------
Comment (by nbruin):
{{{
sage -t devel/sage/sage/schemes/elliptic_curves/heegner.py # 2 doctests
failed
sage -t devel/sage/sage/matrix/matrix2.pyx # 1 doctest failed
sage -t devel/sage/sage/misc/sageinspect.py # 2 doctests failed
sage -t devel/sage/sage/modular/modsym/ambient.py # 3 doctests failed
sage -t devel/sage/sage/matrix/constructor.py # 1 doctest failed
sage -t devel/sage/sage/rings/polynomial/multi_polynomial_sequence.py # 1
doctest failed
sage -t devel/sage/sage/matrix/matrix_mod2e_dense.pyx # 1 doctest failed
sage -t devel/sage/sage/rings/number_field/number_field_ideal.py # 1
doctest failed
sage -t devel/sage/sage/matrix/matrix_mod2_dense.pyx # 1 doctest failed
sage -t devel/sage/sage/modular/hecke/hecke_operator.py # 1 doctest
failed
sage -t devel/sage/sage/algebras/steenrod/steenrod_algebra_bases.py # 2
doctests failed
sage -t devel/sage/sage/matrix/matrix0.pyx # 5 doctests failed
sage -t devel/sage/sage/homology/chain_complex.py # 1 doctest failed
sage -t devel/sage/sage/modules/free_module_morphism.py # 1 doctest
failed
sage -t devel/sage/sage/modular/modsym/relation_matrix.py # 3 doctests
failed
sage -t devel/sage/sage/modular/hecke/degenmap.py # 1 doctest failed
}}}
Most of the doctest failures outside of `matrix0.pyx` are of the form
{{{
Expected:
Vector space of degree 20 and dimension 20 over Rational Field
Basis matrix:
20 x 20 dense matrix over Rational Field
Got:
Vector space of degree 20 and dimension 20 over Rational Field
Basis matrix:
20 x 20 dense matrix over Rational Field (type '<matrix>.str()' to see
all of the entries)
}}}
which suggests that not including a message about `.str()` may be more
appropriate.
'''A wild thought:''' If people feel saying something about `.str()` is
really necessary for output printed by the IPython REPL or notebook
output, perhaps we should put in a hook on those to do a name lookup in
`globals` there. In that case, we'd still get
{{{
sage: A = <large matrix>
sage: A
* x * matrix over * (type 'print A.str()' to see all entries)
}}}
but this would happen because TOP LEVEL recognizes it's printing a string
representation that may not fully reflect the value. Certainly, TOP LEVEL
looking in globals() wouldn't be so bad, AND it wouldn't need to look in
stack frames to find what globals dictionary is appropriate.
--
Ticket URL: <http://trac.sagemath.org/ticket/15036#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.