Skip to content
Open
Changes from 1 commit
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
ebc233d
starting a PR of matrix examples
cdwensley Apr 20, 2026
a9fc8bc
Update doc/ref/matobj.xml
cdwensley Apr 22, 2026
8f97abc
Update doc/ref/matobj.xml
cdwensley Apr 22, 2026
dc94e93
build(deps): bump actions/upload-pages-artifact from 4 to 5 (#6336)
dependabot[bot] Apr 20, 2026
7dff94a
build(deps): bump julia-actions/setup-julia from 2 to 3 (#6335)
dependabot[bot] Apr 20, 2026
e2485f9
Improve CosetLeadersMatFFE documentation (#6338)
fingolfin Apr 20, 2026
f7518bf
Allow 'shifting' ranges (#6334)
fingolfin Apr 20, 2026
0b3d102
Re-enable Codecov comments but delay PR notifications (#6332)
fingolfin Apr 20, 2026
f2e4806
PlainListCopy for list not knowing they are small (#6333)
fingolfin Apr 21, 2026
155efe1
Faster {Copy,Extract}Sub{Matrix,Vector} for plist matrices/vectors (#…
fingolfin Apr 22, 2026
5e7673d
not using New variants
cdwensley Apr 22, 2026
91d9467
doc: fix IrreducibleModules description to say 'at most' dim (#6337)
mvanhorn Apr 23, 2026
89631b2
Fix PartitionsGreatestLE for zero, improve docs (#6341)
fingolfin Apr 24, 2026
d75e271
Avoid some uses of IdGroup (#6343)
fingolfin Apr 28, 2026
549080b
adding a few examples
cdwensley Apr 24, 2026
7247dc7
a few more examples
cdwensley Apr 26, 2026
75b618b
reordering Vector, ZeroVector, NewVector
cdwensley Apr 28, 2026
318b1a1
reordering Vector, ZeroVector, NewVector
cdwensley Apr 28, 2026
7971547
reordering Vector, ZeroVector, NewVector
cdwensley Apr 28, 2026
11ab977
Merge branch 'master' into matrix-examples
cdwensley Apr 30, 2026
4bec05f
Refine SetSize and remove some immediate methods (#6347)
fingolfin Apr 30, 2026
ae0135d
Fix HexSHA256 to always return 64 hex digits (#6358)
ChrisJefferson May 3, 2026
361fc32
examples for Matrix
cdwensley Apr 30, 2026
ba798f8
examples for Matrix
cdwensley May 1, 2026
f3e317d
added alternative versions of NewMatrix
cdwensley May 4, 2026
375569a
remove trailing spaces
cdwensley May 4, 2026
4bf9641
Fix garbled result produced by CosetLeadersMatFFE (#6325)
fingolfin May 4, 2026
99d2b4d
Fix crash in `CosetLeadersMatFFE` (#6326)
fingolfin May 4, 2026
509f33f
Fix MinimalGeneratingSet for pc groups (#6340)
fingolfin May 4, 2026
99c4a09
Add `WhereDepth` user preference (#6261)
limakzi May 4, 2026
7e2e2da
doc: streamline Matrix argument variants (#6361)
fingolfin May 4, 2026
db03c99
Document DirectProductElement (#6260)
limakzi May 5, 2026
c818f50
Reset the options stack after an error also when the break loop is di…
ThomasBreuer May 5, 2026
7a617cc
Guard some `IdGroup` calls by `ID_AVAILABLE` (#6353)
fingolfin May 6, 2026
9fcabc2
Add `RandomMatrix`, `RandomInvertibleMatrix`; and fix a problem with …
ThomasBreuer May 6, 2026
ce32e78
Faster {Copy,Extract}Sub{Matrix,Vector} for plist matrices/vectors (#…
fingolfin Apr 22, 2026
c23216d
ChangeBaseDomain
cdwensley May 5, 2026
e0a1dbc
examples up to and including 26.10
cdwensley May 7, 2026
8268042
Merge branch 'master' into matrix-examples
cdwensley May 7, 2026
6059c94
resolving conflict
cdwensley May 7, 2026
fcf44fd
added examples for 26.13 and 26.14
cdwensley May 7, 2026
ca03c6d
added examples for 26.13 and 26.14
cdwensley May 7, 2026
0ee7555
added examples for 26.13 and 26.14
cdwensley May 7, 2026
c28a132
Makefile.rules: add cleanall target, improve cleaning overall (#6378)
fingolfin May 8, 2026
4bcb53b
Improve documentation of several action functions (#6370)
lhsoicher May 8, 2026
ce84021
Faster {Copy,Extract}Sub{Matrix,Vector} for plist matrices/vectors (#…
fingolfin Apr 22, 2026
4ba4b8e
examples for Matrix
cdwensley Apr 30, 2026
384ad09
very minor change
cdwensley May 8, 2026
ed61025
fixed problem which arose during rebase
cdwensley May 8, 2026
6cce307
fixed another rebase problem
cdwensley May 8, 2026
14d9cfe
fixed another rebase problem
cdwensley May 8, 2026
7b0f3af
remove blank lines in test file
cdwensley May 8, 2026
c637dcb
finding it hard to fix ExtractSubMatrix.tst
cdwensley May 8, 2026
550f275
fix missing end of example
cdwensley May 8, 2026
20f9989
Fix CI with GAP.jl (#6381)
lgoettgens May 8, 2026
b157197
Fix an inconsistent ordering of conjugacy classes (#6382)
ThomasBreuer May 9, 2026
8ad206d
scanner: don't print EOF sentinel as line context on syntax error (#6…
ChrisJefferson May 9, 2026
70cd9fd
dev/releases: ignore dependabot PRs (#6375)
fingolfin May 9, 2026
62c95cb
Minor cleanup of random suff (#6377)
fingolfin May 9, 2026
1fab8e8
Avoid `IdGroup` in `IsSymmetricGroup` (#6383)
fingolfin May 9, 2026
1fc2b45
kernel: turn global GAP and module states back into static globals (#…
fingolfin May 11, 2026
55a5941
Ensure more tests pass with `gap --bare` (#6387)
fingolfin May 11, 2026
ca14e45
Miscellaneous fixes concerning vector and matrix objects (#6369)
ThomasBreuer May 11, 2026
8b17158
Increase kernel major version (#6390)
lgoettgens May 11, 2026
e835aa9
CI: don't rely on primary GNU file server (#6388)
fingolfin May 11, 2026
794e4c7
Avoid IdGroup in IsGL and IsPSL (#6391)
fingolfin May 11, 2026
813c185
fix `ConvertToMatrixRep`, fix some `Matrix` calls (#6396)
ThomasBreuer May 13, 2026
d930595
Store dense matrices as plain row lists for faster entry access. (#6322)
fingolfin May 16, 2026
6ec087a
Add `EnumeratorOfPartitionsSet` enumerator (#6384)
reiniscirpons May 16, 2026
5df0292
Miscellaneous changes (#6392)
fingolfin May 18, 2026
739efd4
ci: trigger PackageDistro from PR comments (#6379)
fingolfin May 18, 2026
18bfe07
CI: fix package distro trigger
fingolfin May 18, 2026
c91f24a
More work on package distro trigger
fingolfin May 18, 2026
5dd382a
Yet more work on package distro trigger
fingolfin May 18, 2026
4baffd1
kernel: unify & speed up conversion from integer to FFE (#6398)
fingolfin May 18, 2026
c911423
Fix the powering of matrix objects by integers (#6397)
ThomasBreuer May 19, 2026
3abf782
Prepare testinstall testsuite for --bare (#6406)
fingolfin May 19, 2026
2d64e3a
Put compressed marices/vectors into filter IsMatrix/IsList (#6400)
fingolfin May 19, 2026
6ed1870
PackageVariablesInfo: better support variadic functions (#6404)
fingolfin May 19, 2026
c92da5e
kernel: strengthen vecgf2 and vec8bit validation, reject empty vector…
fingolfin May 21, 2026
6a23cec
Document SemiSimpleType field restriction (#6408)
fingolfin May 22, 2026
c357f74
Clarify IsomorphismPcGroup docs (#6405)
fingolfin May 22, 2026
bb7c63b
Reformat and refactor StructureDescription code (#6403)
fingolfin May 22, 2026
cd11370
Add new logo to banner (B&W) (#6357)
mtorpey May 23, 2026
67f1493
Switch banner to fully compact mode
fingolfin May 23, 2026
5963bb6
Turn LoadPackageDocumentation into a unary function (#6411)
fingolfin May 26, 2026
8705a57
doc: describe OrbitStabilizer return value (closes #6324) (#6410)
mvanhorn May 26, 2026
d034054
Run --bare testinstall test in CI (#6354)
fingolfin May 27, 2026
aa8f2ef
Prepare release notes for GAP 4.16.0 (#6414)
fingolfin May 27, 2026
67273d9
Start work on GAP 4.17
fingolfin May 27, 2026
619e1f5
emscripten: add Docker-based one-stop build and polish demo page (#6385)
ChrisJefferson Jun 1, 2026
2a86fd1
Update COPYRIGHT
fingolfin Jun 1, 2026
f6f18ce
Fix RingGeneralMappingByImages for non-SCRing (#6418)
fingolfin Jun 1, 2026
cb52dc7
Update CHANGES.md
fingolfin Jun 1, 2026
34c914b
Normalize release archive permissions (#6420)
fingolfin Jun 1, 2026
82b1bc7
julia-gc: introduce DISABLE_STACK_SCAN (#6421)
fingolfin Jun 5, 2026
e4acd39
Miscellaneous kernel tweaks (#6422)
fingolfin Jun 6, 2026
54e3cbe
More kernel tweaks (#6428)
fingolfin Jun 6, 2026
d09727a
kernel: remove `ErrorReturnObj`, `C_NEW_STRING` (#6415)
fingolfin Jun 6, 2026
dac42b3
Fix ConjugateGroup for matrix groups not defined over a field (#6425)
fingolfin Jun 6, 2026
8ec1478
kernel: improve `ErrorReturnVoid` break-loop message (#6416)
fingolfin Jun 8, 2026
6dedb2f
kernel: refactor FuncPRINT_CURRENT_STATEMENT (#6424)
fingolfin Jun 8, 2026
78ce558
Adjust when 'Stack trace:' message is printed (#6432)
fingolfin Jun 8, 2026
8e14166
build(deps): bump codecov/codecov-action from 6 to 7 (#6430)
dependabot[bot] Jun 8, 2026
85effa8
Adjust conway polynomial error message (#6433)
fingolfin Jun 9, 2026
447f093
Widen declaration for many matrix related functions (#6095)
fingolfin Jun 9, 2026
5b8275f
Further unify messages before break loop (#6434)
fingolfin Jun 10, 2026
9b0b658
Remove dev/migratedoc.tex and doc/tut/migrat.xml (#6431)
fingolfin Jun 10, 2026
bdcd086
Remove SingleCollector_CollectWordRunning (#6426)
fingolfin Jun 11, 2026
3e7d4fa
kernel: cleanup CRC code (#6436)
fingolfin Jun 11, 2026
13de58c
doc: fix typo (#6438)
fingolfin Jun 11, 2026
9627beb
build(deps): bump actions/checkout from 6 to 7 (#6444)
dependabot[bot] Jun 23, 2026
3df611b
Remove InfoData, make INFO_CLASSES readonly (#6443)
fingolfin Jun 23, 2026
951ebaa
Move over changes to the GAP.jl-CI job (#6445)
lgoettgens Jun 24, 2026
7248631
Perfect groups data is licensed under GPL 2.0 or later (#6450)
Jul 1, 2026
b0c58f7
Add an argument check to `CodePcgs` (#6451)
ThomasBreuer Jul 1, 2026
2c4fc43
kernel: make FormatOutput handle %g with null pointer (#6446)
fingolfin Jul 1, 2026
9a9ee6f
turn the global variable `RUN_IN_GGMBI` into a global option `Run_In_…
ThomasBreuer Jul 1, 2026
54bf057
Document the encoding used by CodePcGroup & PcGroupCode (#6441)
mvanhorn Jul 1, 2026
e4dab65
examples for Matrix
cdwensley Apr 30, 2026
a2108fb
Add `RandomMatrix`, `RandomInvertibleMatrix`; and fix a problem with …
ThomasBreuer May 6, 2026
6af878f
added examples for 26.13 and 26.14
cdwensley May 7, 2026
3adf59b
added examples for 26.13 and 26.14
cdwensley May 7, 2026
ce4d933
remove blank lines in test file
cdwensley May 8, 2026
f64b904
finding it hard to fix ExtractSubMatrix.tst
cdwensley May 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions doc/ref/matobj.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,53 @@ cf. Chapters <Ref Chap="Row Vectors"/> and <Ref Chap="Matrices"/>.
</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Some Elementary Examples">
<Heading>Some Elementary Examples</Heading>
Just to give a flavour of these new objects, we construct here a vector
and a matrix in these new forms.
The elements should all belong to a semiring <M>R</M>
(the <C>BaseDomain</C>).
It is also necessary to specify their <E>type</E>, or <E>filter</E>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually these can be omitted if one uses Matrix and Vector instead of NewMatrix and NewVector -- in that case default are chosen, based on the base domain.

My feeling is that we should generally advocate the use of the function variants without the New; the ones with New are constructors, and are the ones that people implementing MatrixObj ought to implement. Though I might be missing some nuance here, @ThomasBreuer ? I really should read up on what we wrote in the docs ...

But in any case, this is exactly the kind of thing that must be made clear in the manual, of course

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My point of view is that the starting point is the semiring R, in the sense that we want to do many computations with vectors and matrices over a given R.

Once we have fixed R, the functions Vector( R, list ) and Matrix( R, list ) (or Matrix( R, list, ncols )) give us vector and matrix objects in some representation that fits to R.

And once we have such a vector v or matrix M, new vectors and matrices that fit to them can be created with Vector( list, v ) and Matrix( list, M ).

This is the easy case.
If we do not want to rely on the default representation for R, we can look at some list of available representations (filters), and specify explicitly which one we choose.

Where is this useful or even necessary?
For example, suppose we need the matrix group GL( 4, GF(2) ), but we know already that later on this will be regarded as a subgroup of GL( 4, GF(2^10) ).
It may happen that the default representations for matrix objects over GF(2) and GF(2^10) differ.

In this situation, we should create GL( 4, GF(2) ) in such a way that the generators are written in a representation that is suitable also for matrices over GF(2^10).

Currently I see no easier way to achieve this than to create a matrix object over GF(2^10), to ask for its ConstructingFilter, and to specify this filter in the construction of the group GL( 4, GF(2) ).

The simplest of these use plain lists, namely <Ref Oper="IsPlistVectorRep"/>
Comment thread
cdwensley marked this conversation as resolved.
Outdated
and <Ref Oper="IsPlistMatrixRep"/>.
Comment thread
cdwensley marked this conversation as resolved.
Outdated
Other available types are listed in Sections
<Ref Sect="Available Representations of Vector Objects"/> and
<Ref Sect="Available Representations of Matrix Objects"/>.
<P/>
To construct these objects we use the operations
<Ref Oper="NewVector"/> and <Ref Oper="NewMatrix"/>, although operations
<C>Vector</C> and <C>Matrix</C> are also available and are more flexible.
<C>NewMatrix</C> requires the number of columns as third input.
<P/>
Basic arithmetic operations for vectors and matrices are available:
see Sections <Ref Sect="Arithmetical Operations for Vector Objects"/> and
<Ref Sect="Arithmetical Operations for Matrix Objects"/>.
<P/>
<Example><![CDATA[
gap> dom := Integers;;
gap> filt1 := IsPlistVectorRep;;
gap> filt2 := IsPlistMatrixRep;;
gap> v1 := NewVector( filt1, dom, [3,4,7,8] );
<plist vector over Integers of length 4>
gap> Print( v1 );
NewVector(IsPlistVectorRep,Integers,[ 3, 4, 7, 8 ])
gap> M := NewMatrix( filt2, dom, 4, [ [1,2,3,4], [6,7,8,9] ] );;
gap> Display( M );
<2x4-matrix over Integers:
[[ 1, 2, 3, 4 ]
[ 6, 7, 8, 9 ]
]>
gap> v2 := NewVector( filt1, dom, [-7..-4] );;
gap> Print( v1 + v2 );
NewVector(IsPlistVectorRep,Integers,[ -4, -2, 2, 4 ])
gap> Print( (v1+v2) * TransposedMat(M) );
NewVector(IsPlistVectorRep,Integers,[ 14, 14 ])
]]></Example>

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Categories of Vector and Matrix Objects">
<Heading>Categories of Vector and Matrix Objects</Heading>
Expand Down
Loading