-
Notifications
You must be signed in to change notification settings - Fork 162
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
attempt to make vector and matrix objects official
- turned the raw documentation for vector and matrix objects into GAPDoc format, which is included in the GAP Reference Manual; this concerns also row list matrices (`lib/matobjplist.gd`); the manual chapter "Matrix Objects" now contains the relevant information, still some material will have to be moved between the chapters "Matrices" and "Matrix Objects" - added a preliminary version of missing default methods; due to that, many tests from GAP's test suite now fail; apparently the 'IsMatrixObj' methods get higher rank than the methods for `IsPlistRep` matrices, note that some of the latter ones do not require `IsMatrix` but just `IsListDefault`; and note that some `IsMatrixObj` methods do not only override methods for `IsPlistRep` matrices but also methods for other wrapped objects which claim to be in `IsMatrix`, such as some basis objects and Lie objects - default methods using 'Unpack' must make sure that they are not called with `IsPlistRep` arguments, in order to avoid recursion depth traps or segmentation faults; this is due to the decision that `IsMatrix` implies `IsMatrixObj` --it would be technically easier to separate the worlds of `IsMatrix` and `IsMatrixObj`, but I still think that the implication is logically better. - renamed some operations in matrix.gd, kept the old names; renamed also `AddRowVector` to `AddVector`, kept the old name - removed the `TraceMat` method installed for `IsList`, which is taken over by the method for `IsMatrixObj`; perhaps more methods can eventually disappear this way - some open items are listed at the end of the files `matobj2.gd` (one TODO, Backwards compatibility, Open items) and `matobj.gi` (Backwards compatibility) - next steps before this stuff can be merged: - make the tests pass again; for that, I have to make more experiments with the default methods for `IsMatrixObj` - deal with the open items; some decisions are still to be made - add manual examples, perhaps with a type of matrix objects for which not more than the compulsory methods are installed - add generic tests for implementations of vector/matrix objects, similar to the ones in 'tst/teststandard/arithlst.g' - revisit the available implementations of vector/matrix objects in the GAP library and in packages
- Loading branch information
1 parent
ccc7fb1
commit 52509bb
Showing
17 changed files
with
3,527 additions
and
1,488 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.