#17798: Create a class for Coxeter matrices and types
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  closed
       Priority:  major              |    Milestone:  sage-6.10
      Component:  group theory       |   Resolution:  fixed
       Keywords:  Coxeter groups,    |    Merged in:
  matrices, types, days64            |    Reviewers:  Jean-Philippe Labbé,
        Authors:  Travis Scrimshaw,  |  Travis Scrimshaw
  Jean-Philippe Labbé                |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |     Stopgaps:
  5d188d4a0beb0022ad072068932222c6e23920ad|
   Dependencies:  #17990, #18152,    |
  #18743                             |
-------------------------------------+-------------------------------------
Changes (by slabbe):

 * commit:  5d188d4a0beb0022ad072068932222c6e23920ad =>


Comment:

 Replying to [comment:81 jipilab]:
 > Now, what is this startup module error in the patchbot??

 It is because the new imports in the sage namespaces done in the file {{{#
 file /src/sage/combinat/root_system/all.py}}} :

 {{{
 from coxeter_matrix import CoxeterMatrix
 from coxeter_type import CoxeterType
 }}}

 which automatically loads all this from
 {{{src/sage/combinat/root_system/coxeter_matrix.py}}} file:

 {{{
 +from sage.misc.cachefunc import cached_method
 +from sage.matrix.constructor import matrix
 +from sage.matrix.matrix_space import MatrixSpace
 +from sage.misc.classcall_metaclass import ClasscallMetaclass, typecall
 +from sage.matrix.matrix_generic_dense import Matrix_generic_dense
 +from sage.graphs.graph import Graph
 +from sage.rings.all import ZZ, QQ, RR
 +from sage.rings.infinity import infinity
 +from sage.combinat.root_system.cartan_type import CartanType
 +from sage.combinat.root_system.coxeter_type import CoxeterType
 }}}

 and this from {{{src/sage/combinat/root_system/coxeter_type.py}}} file:

 {{{
 +from sage.misc.abstract_method import abstract_method
 +from sage.misc.cachefunc import cached_method
 +from sage.misc.classcall_metaclass import ClasscallMetaclass
 +from sage.combinat.root_system.cartan_type import CartanType
 +from sage.matrix.all import MatrixSpace
 +from sage.symbolic.ring import SR
 +from sage.structure.unique_representation import UniqueRepresentation
 +from sage.structure.sage_object import SageObject
 }}}

 which explains why the patchbot was saying that Sage now takes 6 seconds
 instead of 5 to start. You may think about the following questions:

  - Do all of these imports really need to be done at the top level of
 those two modules?
  - Do you really need to import {{{CoxeterMatrix}}} and {{{CoxeterType}}}
 in the Sage namespace? I mean, it is usefull for you, for me. But, maybe
 that 99% of people will not use those two things while using Sage. So I
 think you do not have to import them in the global Sage namespace.

 Anyhow, since this ticket is closed, this discussion should be moved to
 another ticket if it is worthwhile to continue that discussion.

--
Ticket URL: <http://trac.sagemath.org/ticket/17798#comment:89>
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/d/optout.

Reply via email to