#20136: Upgrade meataxe and fix some build issues
-------------------------------------+-------------------------------------
       Reporter:  jdemeyer           |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-7.2
      Component:  packages:          |   Resolution:
  optional                           |    Merged in:
       Keywords:                     |    Reviewers:  Jeroen Demeyer
        Authors:  Simon King         |  Work issues:
Report Upstream:  None of the above  |       Commit:
  - read trac for reasoning.         |  b6e16978528851ffb380449d72f3a529f543a4c9
         Branch:                     |     Stopgaps:
  u/SimonKing/various_meataxe_build_issues|
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Replying to [comment:52 jdemeyer]:
 > Did you submit your patches upstream? If yes, how, and was there any
 reaction?

 My "old" patches have been submitted upstream, by mail to Prof. Ringe.

 A part of my old patches has been applied upstream: The "tweaks" for
 echelon form computation. Main tool is a function that does "addmul" for a
 *part* of a matrix row (in the original upstream implementation, "addmul"
 has always added complete rows, which is a waste of time during echelon
 computation, as one knows that the row starts with zeroes).

 However, upstream has changed my function: I gave an initial position of
 the row segment to be added, *and* its length. Upstream just gives the
 initial position of the row segment and assumed that *everything* after
 the initial position will be added. That's fine for echelon computation,
 but I need to be able to operate on row segments of a given length, simply
 since Strassen multiplication acts on matrix windows.

 Hence, I kept upstream's modification of my "partial addmul" function for
 echelon computation, and I put my original "partial addmul" function into
 src/window.c (which is where I implemented Winograd-Strassen
 multiplication).

 Apparently upstream sees no reason to prescribe a directory for
 multiplication at run time. They think it is enough to try to read it from
 "$MTX_ROOT/lib/", not even from a *subdirectory* of "$MTX_ROOT/lib" (where
 MTX_ROOT typically is /local/ or $SAGE_ROOT), and create the tables in the
 current directory if it cannot be found in "$MTX_ROOT/lib".
 Here I strongly disagree. /local/lib/ is a place for libraries, not for
 computational data. And the current directory should be kept clean.

 Also I don't know if upstream really cares about error propagation, since
 it seems that the default way of dealing with errors is to print an error
 message and exit (I would qualify that as "crash").

 In any case, I will send my rebased patches to Ringe soon.

--
Ticket URL: <http://trac.sagemath.org/ticket/20136#comment:53>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to