diff --git a/doc/ref/meataxe.xml b/doc/ref/meataxe.xml
index 2777665ebc..3b889a74dc 100644
--- a/doc/ref/meataxe.xml
+++ b/doc/ref/meataxe.xml
@@ -572,9 +572,6 @@ on all composition factors except number nr.
MeatAxe Functionality for Invariant Forms
-The functions in this section can only be applied to an absolutely irreducible
-MeatAxe module.
-
@@ -607,6 +604,7 @@ or fail if no such form exists.
returns a basis of the underlying vector space of module which is contained
in an orbit of the action of the generators of module on that space.
This is used by in characteristic 2.
+Requires module to be irreducible.
diff --git a/lib/meataxe.gi b/lib/meataxe.gi
index 29a98ef594..3e302e5abe 100644
--- a/lib/meataxe.gi
+++ b/lib/meataxe.gi
@@ -3286,21 +3286,19 @@ end;
##
#F InvariantBilinearForm( module ) . . . .
##
-## Look for an invariant bilinear form of the absolutely irreducible
-## GModule module. Return fail, or the matrix of the form.
+## Look for an invariant bilinear form of the GModule module.
+## Return fail, or the matrix of the form.
SMTX.InvariantBilinearForm:=function( module )
local DM, iso;
- if not SMTX.IsMTXModule(module) or
- not SMTX.IsAbsolutelyIrreducible(module) then
- Error(
- "Argument of InvariantBilinearForm is not an absolutely irreducible module");
+ if not SMTX.IsMTXModule(module) then
+ Error("Argument of InvariantBilinearForm is not a module");
fi;
if IsBound(module.InvariantBilinearForm) then
return module.InvariantBilinearForm;
fi;
DM:=SMTX.DualModule(module);
- iso:=MTX.IsomorphismIrred(module,DM);
+ iso:=MTX.IsomorphismModules(module,DM);
if iso = fail then
SMTX.SetInvariantBilinearForm(module, fail);
return fail;
@@ -3343,23 +3341,19 @@ end;
##
#F InvariantSesquilinearForm( module ) . . . .
##
-## Look for an invariant sesquililinear form of the absolutely irreducible
-## GModule module. Return fail, or the matrix of the form.
+## Look for an invariant sesquililinear form of the GModule module.
+## Return fail, or the matrix of the form.
SMTX.InvariantSesquilinearForm:=function( module )
local DM, q, r, iso, isot, l;
- if not SMTX.IsMTXModule(module) or
- not SMTX.IsAbsolutelyIrreducible(module) then
- Error(
- "Argument of InvariantSesquilinearForm is not an absolutely irreducible module"
- );
+ if not SMTX.IsMTXModule(module) then
+ Error("Argument of InvariantSesquilinearForm is not a module");
fi;
-
if IsBound(module.InvariantSesquilinearForm) then
return module.InvariantSesquilinearForm;
fi;
DM:=SMTX.TwistedDualModule(module);
- iso:=MTX.IsomorphismIrred(module,DM);
+ iso:=MTX.IsomorphismModules(module,DM);
if iso = fail then
SMTX.SetInvariantSesquilinearForm(module, fail);
return fail;
diff --git a/tst/testinstall/meataxe.tst b/tst/testinstall/meataxe.tst
index f8a68f2010..45380ce035 100644
--- a/tst/testinstall/meataxe.tst
+++ b/tst/testinstall/meataxe.tst
@@ -234,8 +234,8 @@ gap> MTX.InvariantQuadraticForm( m );
Error, Argument of InvariantQuadraticForm is not an absolutely irreducible mod\
ule
gap> MTX.OrthogonalSign( m );
-Error, Argument of InvariantBilinearForm is not an absolutely irreducible modu\
-le
+Error, Argument of InvariantQuadraticForm is not an absolutely irreducible mod\
+ule
gap> mats:= GeneratorsOfGroup( SP( 4, 2 ) );;
gap> m:= GModuleByMats( mats, GF(2) );;
gap> Q:= MTX.InvariantQuadraticForm( m );