Changes between Version 8 and Version 11 of Ticket #25511


Ignore:
Timestamp:
06/06/18 10:20:24 (3 years ago)
Author:
jdemeyer
Comment:

It is really important to support this:

            sage: M = Matrix_gfpn_dense.__new__(Matrix_gfpn_dense)   # optional: meataxe
            sage: N = copy(M)

I would prefer to raise an exception when copying an uninitialized matrix.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #25511 – Description

    v8 v11  
    111. The class `Matrix_gfpn_dense` has a special (and undocumented!) constructor to create a matrix from a filename. This is a very special case because it is the only case where the first argument is ''not'' the parent (the matrix space). Because of this special case, some optimizations that I plan to do in #25505 become harder. Instead, this constructor from a filename is changed to a classmethod `Matrix_gfpn_dense.from_filename()`.
    22
    3 2. Add a new function `new_mtx` to create a new `Matrix_gfpn_dense` from a meataxe `Matrix_t*` and use it where applicable. This simplifies a lot of existing code.
     32. Add a new function `new_mtx` to create a new `Matrix_gfpn_dense` from a meataxe `Matrix_t*` and use it where applicable. This simplifies a lot of existing code. It allows to remove `_new()` and many calls to `__copy__`.
    44
    553. Remove `self._cache = {}` and `self._is_immutable = False` where possible because those shouldn't be needed.