#12103: Use MeatAxe as an optional back end for dense matrices over `GF(p^n)`, p
odd, n>1, `p^n<255`
-------------------------------------+-------------------------------------
Reporter: SimonKing | Owner: jason, was
Type: defect | Status: needs_work
Priority: major | Milestone: sage-6.4
Component: packages: | Resolution:
experimental | Merged in:
Keywords: linear algebra, | Reviewers:
MeatAxe | Work issues:
Authors: Simon King | Commit:
Report Upstream: None of the above | 191477e697d5fb02c0e6bf7f8b80850e1092d4f6
- read trac for reasoning. | Stopgaps:
Branch: |
u/SimonKing/meataxe |
Dependencies: #19240 |
-------------------------------------+-------------------------------------
Comment (by SimonKing):
Replying to [comment:121 jdemeyer]:
> Replying to [comment:120 SimonKing]:
> > Wouldn't we prevent meataxe from these clean-up operations (causing a
memory leak on error) if we would raise sig_error()?
> Yes.
The question is if we care. But perhaps we should, since catching errors
and coping with it is typical for Python, and that has caused problems in
the past (I recall some problem with the Gap interface, because a tight
loop occasionally catching errors eventually exceeded the allowed number
of errors in Gap).
Does meataxe care itself? That's unclear. I have seen instances of the
cleaning-up-on-error, but I have seen other cases in which it does not
clean up.
> But since I don't know the specifics of the meataxe error handling
system, I cannot comment further.
I am not sure if one can call it a "system". Anyway. There is a function
that defines the error handler to-be-used. The function `MtxError` creates
an error record (containing information on file name and line number and
error code) and calls the error handler with it.
In sage.libs.gap.util, the error handler sets an exception and signals
sig_error(). An alternative approach would be an error handler that just
sets an exception. If the meataxe functions are wrapped with an error
value (such as `cdef Matrix_t *MatInverse(Matrix_t M) except NULL`) then
this error would be raised, wouldn't it?
To me, it seems like a cleaner approach, as it allows meataxe to cope with
the exception. Plus, we would see if meataxe really respects its own error
values (otherwise we would see crashes in the wrapper) and could fix that.
Meanwhile I have THREE patches that should be send upstream, and I
wouldn't mind a fourth patch.
--
Ticket URL: <http://trac.sagemath.org/ticket/12103#comment:122>
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.