#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.