Changes between Initial Version and Version 2 of Ticket #21437

09/06/16 12:56:00 (5 years ago)

New commits:

9e0f5d4Fix reading mtx-matrix from non-existent file
778df7dHelp using MeatAxe executables in Sage
02fa8a2Make pickling machine independent
e861781Add c(p)def functions to get/set horizontal matrix slices


  • Ticket #21437

    • Property Status changed from new to needs_review
    • Property Authors changed from to Simon King
    • Property Component changed from PLEASE CHANGE to packages: optional
    • Property Branch changed from to u/SimonKing/fix-mtx-matrices
    • Property Keywords MeatAxe matrix backend added
    • Property Commit changed from to e861781fcdd710864b01db832a700b13af20218d
    • Property Type changed from PLEASE CHANGE to defect
  • Ticket #21437 – Description

    initial v2  
     1While working at #18514, I found a couple of things to be fixed in the !MeatAxe wrapper:
     3- Things used to crash when reading a matrix from an empty/non-existent file. Rather, it should return an empty matrix.
     4- !MeatAxe executable rely on an environment variable declaring where to find multiplication tables. This variable is now defined upon importing `sage.matrix.matrix_gfpn_dense`.
     5- An important fix: Previously, for pickling a matrix, I was simply dumping the contents of a memory block. By !MeatAxe's design, one row occupies a multiple of `sizeof(long)` in memory, but there may be trailing empty bytes, whose number will generally depend on `sizeof(long)`. Hence, pickling must not dump the whole memory block, as it is machine dependent. Instead, only the parts of memory that are actually used to store data have to be dumped.
     6- There are some auxiliary functions that I would like to use in my group cohomology package (related with slicing).