diff --git a/doc/ref/meataxe.xml b/doc/ref/meataxe.xml
index d00cb3028d..8f27b10aae 100644
--- a/doc/ref/meataxe.xml
+++ b/doc/ref/meataxe.xml
@@ -588,6 +588,41 @@ on all composition factors except number nr.
returns an invariant bilinear form, which may be symmetric or anti-symmetric,
of module, or fail if no such form exists.
+
+ g:= SO(-1, 4, 5);;
+gap> m:= NaturalGModule( g );;
+gap> form:= MTX.InvariantBilinearForm( m );;
+gap> Display( form );
+ . 3 . .
+ 3 . . .
+ . . 2 .
+ . . . 1
+gap> ForAll(MTX.Generators(m), x -> x*form*TransposedMat(x) = form);
+true
+]]>
+
+Since GAP 4.14 also modules which are not absolutely irreducible are supported:
+ g1:= GeneratorsOfGroup(SO(-1, 4, 5));;
+gap> g2:= GeneratorsOfGroup(SO(+1, 4, 5));;
+gap> m:= GModuleByMats(SMTX.MatrixSum(g1,g2), GF(5));;
+gap> MTX.IsIrreducible(m);
+false
+gap> form:= MTX.InvariantBilinearForm( m );;
+gap> Display( form );
+ . 3 . . . . . .
+ 3 . . . . . . .
+ . . 2 . . . . .
+ . . . 1 . . . .
+ . . . . . 3 . .
+ . . . . 3 . . .
+ . . . . . . 1 .
+ . . . . . . . 1
+gap> ForAll(MTX.Generators(m), x -> x*form*TransposedMat(x) = form);
+true
+]]>
+
@@ -600,6 +635,41 @@ returns an invariant hermitian (= self-adjoint) sesquilinear form of
module,
which must be defined over a finite field whose order is a square,
or fail if no such form exists.
+
+ g:= SU(4, 5);;
+gap> m:= NaturalGModule( g );;
+gap> form:= MTX.InvariantSesquilinearForm( m );;
+gap> Display( form );
+ . . . 1
+ . . 1 .
+ . 1 . .
+ 1 . . .
+gap> frob5 := g -> List(g,row->List(row,x->x^5));; # field involution
+gap> ForAll(MTX.Generators(m), x -> x*form*TransposedMat(frob5(x)) = form);
+true
+]]>
+
+Since GAP 4.14 also reducible modules are supported:
+ g1:= GeneratorsOfGroup(SU(3, 5));;
+gap> g2:= GeneratorsOfGroup(SU(4, 5));;
+gap> m:= GModuleByMats(SMTX.MatrixSum(g1,g2), GF(25));;
+gap> MTX.IsIrreducible(m);
+false
+gap> form:= MTX.InvariantSesquilinearForm( m );;
+gap> Display( form );
+ . . 1 . . . .
+ . 1 . . . . .
+ 1 . . . . . .
+ . . . . . . 1
+ . . . . . 1 .
+ . . . . 1 . .
+ . . . 1 . . .
+gap> frob5 := g -> List(g,row->List(row,x->x^5));; # field involution
+gap> ForAll(MTX.Generators(m), x -> x*form*TransposedMat(frob5(x)) = form);
+]]>
+