#14261: Iwahori-Hecke algebra with several bases
-------------------------------------+-------------------------------------
       Reporter:  brant              |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  positive_review
       Priority:  major              |    Milestone:  sage-5.13
      Component:  combinatorics      |   Resolution:
       Keywords:  Iwahori Hecke      |    Merged in:
  algebra                            |    Reviewers:  Andrew Mathas, Brant
        Authors:  Brant Jones,       |  Jones, Travis Scrimshaw
  Travis Scrimshaw, Andrew Mathas    |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |     Stopgaps:
   Dependencies:  #13735 #14014      |
  #14678 #14516 #15257               |
-------------------------------------+-------------------------------------

Comment (by andrew.mathas):

 Hi Travis,

 Thanks for fixing this so quickly! I have checked and the new patch fixes
 the problems that Jeroen found, however, I found another issue:
 {{{
 sage -t --long iwahori_hecke_algebra.py
 }}}
 takes forever.

 I seem to remember that even `#long tests` should be limited to about 3-5s
 - which always struck me as not being very long, but rules are rules. As
 far as I can tell thef existence o such a limit, and what the upper bound
 is, does not seem to be documented in  in the developers guide, or
 anywhere else, but I am sure that it exists. (As the time that a tests
 takes to execute is machine dependent it probably does not make any sense
 to have an official time limit, but the developers guide really ought to
 mention this somewhere and give some guidance:)

 Anyway, using `--warn-long 5` identifies the problem tests (there are many
 more in the 3-5s range):
 {{{
 sage -t --long --warn-long 5.0 iwahori_hecke_algebra.py  # 8 doctests
 failed
 ----------------------------------------------------------------------
 Total time for all tests: 980.3 seconds
     cpu time: 700.9 seconds
     cumulative wall time: 980.0 seconds
 <ge-5.12)-algebras: sage -t --long --warn-long 5.0
 iwahori_hecke_algebra.py
 Running doctests with ID 2013-10-17-09-48-39-6e567874.
 Doctesting 1 file.
 sage -t --long --warn-long 5.0 iwahori_hecke_algebra.py
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 91, in
 sage.algebras.iwahori_hecke_algebra.index_cmp
 Failed example:
     W = WeylGroup(['A',2,1])
 Test ran for 9.25 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 369, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(T(C[x]).bar() == T(C[x]) for x in W) # long time
 Test ran for 30.79 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 375, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(T(C[x]) == (-v)^x.length()*sum(term(x,y) for y in W) for x in W) #
 long time
 Test ran for 7.49 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 388, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(T[x] == T(C(T[x])) for x in W) # long time
 Test ran for 401.56 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 394, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(C[x] == C(Cp(C[x])) for x in W) # long time
 Test ran for 7.78 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 398, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(Cp[x] == Cp(C(Cp[x])) for x in W) # long time
 Test ran for 7.87 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 400, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(T(C[x]).bar() == T(C[x]) for x in W) # long time
 Test ran for 35.21 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 402, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(T(Cp[x]).bar() == T(Cp[x]) for x in W) # long time
 Test ran for 36.77 s
 **********************************************************************
 File "iwahori_hecke_algebra.py", line 406, in
 sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
 Failed example:
     all(T(C[x]) == (-v)^x.length()*sum(term(x,y) for y in W) for x in W) #
 long time
 Test ran for 28.09 s
 **********************************************************************
 2 items had failures:
    8 of 100 in sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra
    1 of   7 in sage.algebras.iwahori_hecke_algebra.index_cmp
     [567 tests, 9 failures, 601.88 s]
 ----------------------------------------------------------------------
 sage -t --long --warn-long 5.0 iwahori_hecke_algebra.py  # 9 doctests
 failed
 ----------------------------------------------------------------------
 Total time for all tests: 602.2 seconds
     cpu time: 595.9 seconds
     cumulative wall time: 601.9 seconds
 }}}
 The longest test is on line 388 -- but this whole block is problematic
 because if we took out the first test then one or more of the subsequent
 tests would take longer as they all (should) benefit from caching.

 As I don't know what the official upper limit is for a long test I am not
 sure which ones we need to disable. Still, taking out the block on lines
 383-409 would be a good start. If 30s is too long then we have a few more
 to worry about.

 To remove a test I guess that we just replace `#long time` with `#not
 tested`? Hopefully, there is a more efficient way to take out an entire
 block?

 Andrew

--
Ticket URL: <http://trac.sagemath.org/ticket/14261#comment:75>
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.

Reply via email to