diff --git a/lib/fitfree.gi b/lib/fitfree.gi index 94357fb42b..62203b7fef 100644 --- a/lib/fitfree.gi +++ b/lib/fitfree.gi @@ -138,7 +138,7 @@ local ffs,hom,U,rest,ker,r,p,l,i,depths; for i in U{[1..Length(U)-1]} do # last one is length+1 p:=PositionProperty(r,x->x>=i); if p<>fail and p<=Length(ipcgs) and not p in l then - Add(l,p); + Add(l,p); fi; od; Add(l,Length(ipcgs)+1); diff --git a/lib/matrix.gi b/lib/matrix.gi index 0403e4c0e1..4466d2284f 100644 --- a/lib/matrix.gi +++ b/lib/matrix.gi @@ -473,8 +473,16 @@ BindGlobal( "Matrix_CharacteristicPolynomialSameField", vec[i] := zero; fi; od; - Assert(3, IsZero(Value(cp,imat))); Assert(2, Length(CoefficientsOfUnivariatePolynomial(cp)) = n+1); + if AssertionLevel()>=3 then + # cannot use Value(cp,imat), as this uses characteristic polynomial + n:=Zero(imat); + one:=One(imat); + for i in Reversed(CoefficientsOfUnivariatePolynomial(cp)) do + n:=n*imat+(i*one); + od; + Assert(3,IsZero(n)); + fi; Info(InfoMatrix,1,"Characteristic Polynomial returns ", cp); return cp; end );