Skip to content

Commit 9a04acd

Browse files
committed
Revert "Rename PrimaryDecomposition to PrimaryDecompositionMat (#98)"
This reverts commit 8fe567b.
1 parent 8fe567b commit 9a04acd

6 files changed

Lines changed: 30 additions & 30 deletions

File tree

PackageInfo.g

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

1111
PackageName := "nofoma",
1212
Subtitle := "Normal forms of matrices",
13-
Version := "1.0.1",
14-
Date := "18/05/2026", # dd/mm/yyyy format
13+
Version := "1.0",
14+
Date := "17/05/2026", # dd/mm/yyyy format
1515
License := "GPL-2.0-or-later",
1616

1717
Persons := [

gap/nofoma.gd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ DeclareGlobalFunction("JordanChevalleyDecMatF");
388388
#! > [ Z(5), Z(5)^0, 0*Z(5), Z(5)^0, 0*Z(5) ],
389389
#! > [ Z(5)^0, Z(5)^0, Z(5)^0, 0*Z(5), Z(5)^3 ],
390390
#! > [ Z(5), 0*Z(5), Z(5)^3, 0*Z(5), Z(5)^3 ] ];;
391-
#! gap> B := PrimaryDecompositionMat(A);;
391+
#! gap> B := PrimaryDecomposition(A);;
392392
#! gap> Display(B[3]);
393393
#! [ 1, 4 ]
394394
#! gap> Factors(MinimalPolynomial(A));
@@ -399,7 +399,7 @@ DeclareGlobalFunction("JordanChevalleyDecMatF");
399399
#! gap> MinimalPolynomial(PrimA{[2..5]}{[2..5]});
400400
#! x_1^4-x_1^3+Z(5)^3*x_1+Z(5)^3
401401
#! @EndExampleSession
402-
DeclareGlobalFunction("PrimaryDecompositionMat");
402+
DeclareGlobalFunction("PrimaryDecomposition");
403403

404404
#! @Chapter Auxiliary functions
405405
#! @Section Vectors and matrices and their associated polynomials

gap/nofoma.gi

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ end);
654654
#Takes matrix along with its minimal polynomial and its factorised version as input
655655
#Returns matrix B such that B*A*B^-1 is in primary decomp. form, dimensions of primary subspaces
656656
#and factors of minimal polynomial in correct order
657-
BindGlobal("nfmPrimaryDecompositionMatforJNF", function(A, minpol, minpolfacs)
657+
BindGlobal("nfmPrimaryDecompositionforJNF", function(A, minpol, minpolfacs)
658658
local rank,F,n,m,f,w,p,j,i,wspan,gens,facs,L_i,qi,k,v,
659659
COB,pot,gs,f2,toAdd,pos,dims,dim;
660660
rank := 0;
@@ -734,7 +734,7 @@ end);
734734

735735
#Primary Decomposition for cyclic matrices
736736
#Jordan normal form will call this function if a cyclic matrix is detected
737-
BindGlobal("nfmPrimaryDecompositionMatforJNFCyclic", function(A, minpol, minpolfacs)
737+
BindGlobal("nfmPrimaryDecompositionforJNFCyclic", function(A, minpol, minpolfacs)
738738
local vspan,n,w,mf,wspan,qi,k,COB,dims,elDivs;
739739
n := NrRows(A);
740740
vspan := nfmFindCyclicVectorNC(A);
@@ -759,7 +759,7 @@ end);
759759
#Standalone version
760760
#Returns matrix B such that B*A*B^-1 is in primary decomposition form
761761
#along with dimensions of primary subspaces
762-
InstallGlobalFunction(PrimaryDecompositionMat, function(A)
762+
InstallGlobalFunction(PrimaryDecomposition, function(A)
763763
local rank,F,n,m,f,w,p,j,i,wspan,gens,facs,L_i,qi,k,v,
764764
COB,pot,gs,f2,dims,toAdd,dim,minpol,collected;
765765
rank := 0;
@@ -769,7 +769,7 @@ InstallGlobalFunction(PrimaryDecompositionMat, function(A)
769769
minpol := MinimalPolynomial(F,A);
770770
collected := Collected(Factors(minpol));
771771
if Degree(minpol) = n then
772-
return nfmPrimaryDecompositionMatforJNFCyclic(A,minpol,collected);
772+
return nfmPrimaryDecompositionforJNFCyclic(A,minpol,collected);
773773
fi;
774774
if IsZero(A) then
775775
return IdentityMat(n,F);
@@ -1016,10 +1016,10 @@ InstallGlobalFunction(JordanNormalForm, function(A)
10161016
return JordanNormalFormIrred(A,minpol);
10171017
fi;
10181018
if Degree(minpol) = n then
1019-
prim1 := nfmPrimaryDecompositionMatforJNFCyclic(A, minpol, facOcc);
1019+
prim1 := nfmPrimaryDecompositionforJNFCyclic(A, minpol, facOcc);
10201020
primary := [prim1[1],prim1[3]];
10211021
else
1022-
primary := nfmPrimaryDecompositionMatforJNF(A, minpol, facOcc);
1022+
primary := nfmPrimaryDecompositionforJNF(A, minpol, facOcc);
10231023
fi;
10241024
primarydims := primary[2]; #dimensions of generalized eigenspaces
10251025
COB := primary[1]; #Change of basis matrix, this will be the final COB from A to JNF

tst/primary.tst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
gap> START_TEST("PrimaryDecompositionMatosition");
1+
gap> START_TEST("PrimaryDecompositionosition");
22
gap> ReadPackage("nofoma", "tst/utils.g");
33
true
44

55
##Test Primary decomposition
6-
gap> nfmCheckPrimaryDecompositionMat(GF(5),50);
6+
gap> nfmCheckPrimaryDecomposition(GF(5),50);
77
true
8-
gap> nfmCheckPrimaryDecompositionMat(GF(25),25);
8+
gap> nfmCheckPrimaryDecomposition(GF(25),25);
99
true
10-
gap> nfmCheckPrimaryDecompositionMat(GF(7),150);
10+
gap> nfmCheckPrimaryDecomposition(GF(7),150);
1111
true
12-
gap> nfmCheckPrimaryDecompositionMatNonCyclic(GF(5),50);
12+
gap> nfmCheckPrimaryDecompositionNonCyclic(GF(5),50);
1313
true
14-
gap> nfmCheckPrimaryDecompositionMatNonCyclic(GF(5^5),10);
14+
gap> nfmCheckPrimaryDecompositionNonCyclic(GF(5^5),10);
1515
true
1616

1717
## Stop test
18-
gap> STOP_TEST("PrimaryDecompositionMatosition");
18+
gap> STOP_TEST("PrimaryDecompositionosition");

tst/representations.tst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,19 @@ gap> CheckJordanChev(bigm, JordanChevalleyDecMat(bigm, MinimalPolynomial(bigm)))
5858
[ Z(5)^0, x_1 ]
5959

6060
## Primary decomposition should work for all these matrix families
61-
gap> nfmCheckPrimaryDecompositionMatForMatrix(rat);
61+
gap> nfmCheckPrimaryDecompositionForMatrix(rat);
6262
true
63-
gap> nfmCheckPrimaryDecompositionMatForMatrix(ratm);
63+
gap> nfmCheckPrimaryDecompositionForMatrix(ratm);
6464
true
65-
gap> nfmCheckPrimaryDecompositionMatForMatrix(smallplain);
65+
gap> nfmCheckPrimaryDecompositionForMatrix(smallplain);
6666
true
67-
gap> nfmCheckPrimaryDecompositionMatForMatrix(gf2);
67+
gap> nfmCheckPrimaryDecompositionForMatrix(gf2);
6868
true
69-
gap> nfmCheckPrimaryDecompositionMatForMatrix(gf9);
69+
gap> nfmCheckPrimaryDecompositionForMatrix(gf9);
7070
true
71-
gap> nfmCheckPrimaryDecompositionMatForMatrix(bigplain);
71+
gap> nfmCheckPrimaryDecompositionForMatrix(bigplain);
7272
true
73-
gap> nfmCheckPrimaryDecompositionMatForMatrix(bigm);
73+
gap> nfmCheckPrimaryDecompositionForMatrix(bigm);
7474
true
7575

7676
## Jordan normal form should preserve the input matrix family

tst/utils.g

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ end;
5757
#TODO: now that primdecomp has sorted blocks this can be tested more efficiently
5858
#check primary decomp function with field F and dimension n
5959
#checks if the submatrices have the correct minimal polynomials
60-
nfmCheckPrimaryDecompositionMat := function(F, n)
60+
nfmCheckPrimaryDecomposition := function(F, n)
6161
local A,Prim,B,dim,k,minpolfacs,sub;
6262
A := Matrix(F,RandomInvertibleMat(n,F));
63-
Prim := PrimaryDecompositionMat(A);
63+
Prim := PrimaryDecomposition(A);
6464
B := A^Inverse(Prim[1]);
6565
minpolfacs := Factors(MinimalPolynomial(F,A));
6666
k := 1;
@@ -74,10 +74,10 @@ nfmCheckPrimaryDecompositionMat := function(F, n)
7474
return true;
7575
end;
7676

77-
nfmCheckPrimaryDecompositionMatNonCyclic := function(F, n)
77+
nfmCheckPrimaryDecompositionNonCyclic := function(F, n)
7878
local A,Prim,B,dim,k,minpolfacs,sub;
7979
A := Matrix(F,nfmGenerateNonCyclicMatrix(F,n));
80-
Prim := PrimaryDecompositionMat(A);
80+
Prim := PrimaryDecomposition(A);
8181
B := A^Inverse(Prim[1]);
8282
minpolfacs := Factors(MinimalPolynomial(F,A));
8383
k := 1;
@@ -108,9 +108,9 @@ nfmCheckInvariantFactorsForMatrix := function(A)
108108
return InvariantFactorsMat(A) = FrobeniusNormalForm(A)[1];
109109
end;
110110

111-
nfmCheckPrimaryDecompositionMatForMatrix := function(A)
111+
nfmCheckPrimaryDecompositionForMatrix := function(A)
112112
local Prim,B,dim,k,minpolfacs,sub,AA;
113-
Prim := PrimaryDecompositionMat(A);
113+
Prim := PrimaryDecomposition(A);
114114
AA := Matrix(A, Prim[1]);
115115
B := AA^Inverse(Prim[1]);
116116
minpolfacs := Factors(MinimalPolynomial(AA));

0 commit comments

Comments
 (0)