I've finished a major overhaul of the matrix kernel routines, aiming
for greater reliability and easier maintenance.  It has required
almost no changes outside of  sage/matrix  but I have one problemsome
doctest that now fails.

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

Notice that current behavior at a 4.6.2.alpha3 command line is to give
a different result on a subsequent run (and then it stays the same,
giving the second result repeatedly).  With my patches, I get a third
value, but the runs all give the same result.

Any advice or suggestions on what is happening here?  I know there is
some randomness in these computations, so maybe this test needs more
precautions?  By adjusting the "3" in the system_of_eigenvalues() call
you can get a longer list of values.  Are any of these answers, wrong,
or are any right?  I've tried to chase my way back to some of the
matrix code, but I'm a bit out of my element on this one.

Thanks in advance for any assistance.

Rob



** Essence of original doctest, sage/modular/hecke/module.py, ~ line
1545

sage: set_random_seed(0)

::

sage: ModularSymbols_clear_cache()

::

sage: M = ModularSymbols(62,2,sign=-1)

sage: S = M.cuspidal_submodule().new_submodule()

sage: [A.system_of_eigenvalues(3) for A in S.decomposition()]

[[1, 1, 0], [1, -1, -alpha - 1]]



** 4.6.2.alpha3 command-line:

sage: set_random_seed(0)

sage: ModularSymbols_clear_cache()

sage: M = ModularSymbols(62,2,sign=-1)

sage: S = M.cuspidal_submodule().new_submodule()

sage: [A.system_of_eigenvalues(3) for A in S.decomposition()]

[[1, 1, 0], [1, -1, -alpha - 1]]

sage: set_random_seed(0)

sage: ModularSymbols_clear_cache()

sage: M = ModularSymbols(62,2,sign=-1)

sage: S = M.cuspidal_submodule().new_submodule()

sage: [A.system_of_eigenvalues(3) for A in S.decomposition()]

[[1, 1, 0], [1, -1, 1/2*alpha + 1/2]]


4.6.2.alpha3 w/ kernel patch, command-line:

sage: set_random_seed(0)

sage: ModularSymbols_clear_cache()

sage: M = ModularSymbols(62,2,sign=-1)

sage: S = M.cuspidal_submodule().new_submodule()

sage: [A.system_of_eigenvalues(3) for A in S.decomposition()]

[[1, 1, 0], [1, -1, -1/2*alpha - 1/2]]

sage: set_random_seed(0)

sage: ModularSymbols_clear_cache()

sage: M = ModularSymbols(62,2,sign=-1)

sage: S = M.cuspidal_submodule().new_submodule()

sage: [A.system_of_eigenvalues(3) for A in S.decomposition()]

[[1, 1, 0], [1, -1, -1/2*alpha - 1/2]]

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

Reply via email to