forked from gap-system/gap
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
matrixobj: deal with mutability questions (gap-system#5254)
* deal with mutability questions - changed the mutability definition for vector and matrix objects: - The `ConstructingFilter` value indicates whether mutable variants are possible at all, as follows: If the filter implies `IsCopyable` then one can create mutable variants, otherwise not. - In the definitions of `NewVector`, `ZeroVector`, `NewMatrix`, `ZeroMatrix`, `IdentityMatrix`, promise (fully) mutable results if and only if the filter in question implies `IsCopyable`. - In the definitions of `Vector` and `Matrix`, promise mutable results if and only if the filter in question implies `IsCopyable` and the vector/matrix that defines the entries is mutable. - changed the currently available `ConstructingFilter` values such that they imply `IsCopyable`. (I assume that these filters can be found as follows.) ``` flags:= List( [ IsVectorObj, IsMatrixObj ], FLAG1_FILTER );; Filtered( FILTERS, x -> IsRepresentation( x ) and Intersection( flags, TRUES_FLAGS( WITH_IMPS_FLAGS( FLAGS_FILTER( x ) ) ) ) <> [] ); ``` - extended the definition of `Vector( v, w )` such that also the case of `w` in `IsPlistRep` is supported, and added a method for both arguments in `IsList and IsCyclotomicCollection` (to be used for example for objects in `IsAlgebraicElement`). * document available representations ... ... of vector and matrix objects, and mention that they admit mutable variants Details: - moved the manual section "Basic operations for row/column reductions" above the section "Implementing New Vector and Matrix Objects Types", in order to collect the stuff about implementations at the end of the chapter - added new manual sections for the documentation of `IsGF2VectorRep`, `Is8BitVectorRep`, `IsZmodnZVectorRep`, `IsGF2MatrixRep`, `Is8BitMatrixRep`, `IsZmodnZMatrixRep` - moved the documentation of `IsPlistVectorRep` and `IsPlistMatrixRep` to the new sections - changed some formulations such that `IsPlistMatrixRep` appears just as one instance of `IsRowListMatrix` * omit details about the implementation ... ... from the documentation of representations of matrix and vector objects. (This affects documentation added in a previous commit of this pull request as well as documentation that has been available already before.)
- Loading branch information
1 parent
cd0fd2d
commit eef45e1
Showing
12 changed files
with
316 additions
and
55 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
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.