diff --git a/init.g b/init.g index 6f21851..7fcd697 100644 --- a/init.g +++ b/init.g @@ -14,3 +14,7 @@ ReadPackage("forms","lib/forms.gd"); ReadPackage("forms","lib/recognition.gd"); + +if IsBound( ConformalSymplecticGroup ) then + ReadPackage("forms","lib/conformal.gd"); +fi; diff --git a/lib/classic.gi b/lib/classic.gi index 7bcfc71..31e3951 100644 --- a/lib/classic.gi +++ b/lib/classic.gi @@ -109,7 +109,7 @@ BindGlobal("Forms_OrthogonalGroup", fi; mat:= matinv * InvariantBilinearForm( g ).matrix * TransposedMat( matinv ); - SetInvariantBilinearForm( gg, rec( matrix:= mat ) ); + SetInvariantBilinearForm( gg, rec( matrix:= mat, baseDomain:= gf ) ); if Characteristic( gf ) <> 2 and HasIsFullSubgroupGLorSLRespectingBilinearForm( g ) then SetIsFullSubgroupGLorSLRespectingBilinearForm( gg, @@ -784,17 +784,17 @@ InstallMethod( SpecialUnitaryGroupCons, g:= SpecialUnitaryGroupCons( filt, d, q ); stored:= InvariantSesquilinearForm( g ).matrix; - # If the prescribed form fits then just return. - if stored = form!.matrix then - return g; - fi; - # Check that 'form' lives over the intended field. F:= GF(q^2); if not IsSubset( F, form!.basefield ) then Error( "the defining field of