#17435: Cythonise path algebra elements
-------------------------------------+-------------------------------------
       Reporter:  SimonKing          |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.5
      Component:  algebra            |   Resolution:
       Keywords:  path algebra       |    Merged in:
  elements                           |    Reviewers:
        Authors:  Simon King         |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  6f07e2628edf7b21296a7ec020d8eca8d5139a8a
  u/SimonKing/cythonise_path_algebra_elements|     Stopgaps:
   Dependencies:  #16453             |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 I did two changes:

 - I implemented a kill list for terms. It has not as much impact as I
 originally thought, so, maybe it makes sense to revert that change.
 However, when I did some c-profiling, a small improvement was visible.
 - In the multiplication of path algebra elements, I did far more term
 comparisons than needed. Actually (again by c-profiling) I found that half
 of the time was spent on the comparisons. In the latest commit, I avoid
 some comparisons by book keeping.

 Now, at least according to few benchmarks, the arithmetic for path algebra
 elements is faster than the arithmetic for both available implementations
 of free associative algebra elements (one of them, letterplace, is
 available for homogeneous elements only). Hence, in the long run, it might
 be worth while to implement free associative algebras as quiver algebras!

 At least with `git-rerere` enabled, the dependency merges cleanly into the
 branch. So, no merge commit this time...

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