Dear all,

i made a new version of my wrapper that is based on the most recent
MeatAxe.

You can find it at http://sage.math.washington.edu/home/SimonKing/MeatAxe.tar.gz

The tar'd folder contains:
 - a part of the unaltered source files of MeatAxe 2.4,
 - additional (very simplistic) C-code in MoreFeatures.c and .h,
 - my wrapper comprising  mtx.pxd and mtx.pyx,
 - a Makefile,
 - and some files such as p005.zzz that you can ignore.

On Sage.Math, you simply say "make" to build mtx.so, which can be
loaded into Sage. On a different machine, you probably have to alter
the hard-coded path to sage-python in the Makefile.

Concerning p005.zzz and p007.zzz: Files like this will be written to
your current directory when you handle MTX over Z/5 or Z/7. I don't
like it, but that is how MeatAxe works.

I made some timings on Sage.Math, that you find in
http://sage.math.washington.edu/home/SimonKing/MTXtiming.txt
This also provides some examples how MTX matrices work.

On Mar 25, 5:02 pm, Simon King <[EMAIL PROTECTED]> wrote:
> On Mar 25, 6:31 am, Clement Pernet <[EMAIL PROTECTED]> wrote:
> > I still did not look at the code of Meat axe, but I remember having been
> > really impressed a presentation at MSRI last year about MeatAxe.
> > The timings were really impressive especially the matmul ones.
> > So I am really surprised by your experience with slow matmul.

Were these timings about matmul? Then it is really surprising.

According to my timings, in fact matrix multiplication is slow:
It was 453 ms with Sage matrices but 937 ms with MTX.
Since MeatAxe's MatMul alters the first input matrix, i need one
additional copy operation.
But the copy works very fast, less than 1 ms. So, that can't be the
reason.

Surprisingly, MTX.nullspace(), which essentially yields
what .kernel().basis() does for Sage matrices, is fast:
46.57 s with Sage matrices, but 4.74 s for the corresponding MTX
matrix.
I understood that Sage caches part of the result - MTX does not, yet.

> But i don't need these executables, my wrapper does all these things
> in memory. Only exception: I need the executable "maketab"...

No, i don't.
mtx.so suffices, no additional executable besides sage is needed.

My opinion is:
Personally, I have reasons to use MTX in my project. But the little
progress (if there is any) would probably not justify to include yet
another matrix type into Sage.

Yours
   Simon
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to