Skip to content

Commit bf372ad

Browse files
committed
version 0.84 release
1 parent eee91f4 commit bf372ad

4 files changed

Lines changed: 43 additions & 21 deletions

File tree

CHANGES.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# CHANGES log for the 'Utils' package
22

3+
## Version 0.84 for GAP 4.12.2 (11/09/23)
4+
* (11/09/23) changed manual and test for DirectSumDecompositionMatrices
5+
36
## Version 0.83 for GAP 4.12.2 (29/06/23)
47
* (29/06/23) added DirectSumDecompositionMatrices
58

PackageInfo.g

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ SetPackageInfo( rec(
77

88
PackageName := "utils",
99
Subtitle := "Utility functions in GAP",
10-
Version := "0.83",
11-
Date := "29/06/2023", # dd/mm/yyyy format
10+
Version := "0.84",
11+
Date := "11/09/2023", # dd/mm/yyyy format
1212
License := "GPL-2.0-or-later",
1313

1414
Persons := [

doc/matrix.xml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ So if <M>L</M> is the list of diagonal decompositions of a matrix <M>M</M>
3333
then each entry in <M>L</M> is a list of matrices, and the direct sum of
3434
each of these lists is equal to the original <M>M</M>.
3535
<P/>
36-
In the examples, <M>M_6</M> is an obvious direct sum with <M>3</M> blocks.
36+
In the following examples, <M>M_6</M> is an obvious direct sum
37+
with <M>3</M> blocks.
3738
<M>M_4</M> is an example with three decompositions,
3839
while <M>M_8 = M_4 \oplus M_4</M> has <M>16</M> decompositions (not listed).
3940
<P/>
@@ -87,6 +88,30 @@ gap> Length( L8 );
8788
16
8889
]]>
8990
</Example>
91+
<P/>
92+
93+
The current method does not, however, catch all possible decompositions.
94+
In the following example the matrix <M>M_5</M> has its third row
95+
and third column extirely zero, and the only decomposition found
96+
has a <M>[0]</M> factor.
97+
There are clearly two <M>2</M>-factor decompositions with a
98+
<M>2</M>-by-<M>3</M> and a <M>3</M>-by-<M>2</M> factor,
99+
but these are not found at present.
100+
<P/>
101+
<Example>
102+
<![CDATA[
103+
gap> M5 := [ [1,2,0,0,0], [3,4,0,0,0], [0,0,0,0,0],
104+
> [0,0,0,6,7], [0,0,0,8,9] ];;
105+
gap> Display(M5);
106+
[ [ 1, 2, 0, 0, 0 ],
107+
[ 3, 4, 0, 0, 0 ],
108+
[ 0, 0, 0, 0, 0 ],
109+
[ 0, 0, 0, 6, 7 ],
110+
[ 0, 0, 0, 8, 9 ] ]
111+
gap> L5 := DirectSumDecompositionMatrices( M5 );
112+
[ [ [ [ 1, 2 ], [ 3, 4 ] ], [ [ 0 ] ], [ [ 6, 7 ], [ 8, 9 ] ] ] ]
113+
]]>
114+
</Example>
90115

91116
</Section>
92117

tst/matrix.tst

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
#@local M6, L6, M4, L4, M8, L8, L, A, M3, L3, M9, L9;
1+
#@local M6, L6, M4, L4, M8, L8, L, A, M3, L3, M5, L5;
22
##############################################################################
33
##
44
#W matrix.tst Utils Package
55
##
6-
#Y Copyright (C) 2015-2022, The GAP Group
6+
#Y Copyright (C) 2015-2023, The GAP Group
77
##
88

99
gap> ReadPackage( "utils", "tst/loadall.g" );;
@@ -64,22 +64,16 @@ gap> Display( M3 );
6464
gap> L3 := DirectSumDecompositionMatrices( M3 );
6565
[ [ [ [ 0, 0, 0, 7 ] ], [ [ 8 ] ], [ [ 9, 0 ] ] ] ]
6666

67-
gap> M9 := [ [0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0], [0,0,1,2,0,0,0,0,0],
68-
> [0,0,3,4,0,0,0,0,0], [0,0,0,0,0,0,0,0,0], [0,0,0,0,0,5,6,7,0],
69-
> [0,0,0,0,0,6,7,8,0], [0,0,0,0,0,7,8,9,0], [0,0,0,0,0,0,0,0,0] ];;
70-
gap> Display( M9 );
71-
[ [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
72-
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
73-
[ 0, 0, 1, 2, 0, 0, 0, 0, 0 ],
74-
[ 0, 0, 3, 4, 0, 0, 0, 0, 0 ],
75-
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
76-
[ 0, 0, 0, 0, 0, 5, 6, 7, 0 ],
77-
[ 0, 0, 0, 0, 0, 6, 7, 8, 0 ],
78-
[ 0, 0, 0, 0, 0, 7, 8, 9, 0 ],
79-
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] ]
80-
gap> L9 := DirectSumDecompositionMatrices( M9 );
81-
[ [ [ [ 0 ] ], [ [ 0 ] ], [ [ 1, 2 ], [ 3, 4 ] ], [ [ 0 ] ],
82-
[ [ 5, 6, 7 ], [ 6, 7, 8 ], [ 7, 8, 9 ] ], [ [ 0 ] ] ] ]
67+
gap> M5 := [ [1,2,0,0,0], [3,4,0,0,0], [0,0,0,0,0],
68+
> [0,0,0,6,7], [0,0,0,8,9] ];;
69+
gap> Display(M5);
70+
[ [ 1, 2, 0, 0, 0 ],
71+
[ 3, 4, 0, 0, 0 ],
72+
[ 0, 0, 0, 0, 0 ],
73+
[ 0, 0, 0, 6, 7 ],
74+
[ 0, 0, 0, 8, 9 ] ]
75+
gap> L5 := DirectSumDecompositionMatrices( M5 );
76+
[ [ [ [ 1, 2 ], [ 3, 4 ] ], [ [ 0 ] ], [ [ 6, 7 ], [ 8, 9 ] ] ] ]
8377

8478
#############################################################################
8579
##

0 commit comments

Comments
 (0)