diff --git a/CHANGES.md b/CHANGES.md index 876f5a1..111acc8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,8 @@ # CHANGES to the 'XModAlg' package -## 1.22 -> 1.22dev (06/07/22) - +## 1.22 -> 1.23 (03/12/22) + * (03/12/22) changed AlgebraHomomorphismByFunction to agree with FR version + and prior to the function being moved to the main GAP library ## 1.18 -> 1.22 (29/04/22) * (27/04/22) required version 2.87 of XMod which uses Size2d in place of Size, diff --git a/PackageInfo.g b/PackageInfo.g index 3bd9cca..5b49a77 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -8,8 +8,8 @@ SetPackageInfo( rec( PackageName := "XModAlg", Subtitle := "Crossed Modules and Cat1-Algebras", -Version := "1.22dev", -Date := "06/07/2022", # dd/mm/yyyy format +Version := "1.23", +Date := "03/12/2022", # dd/mm/yyyy format License := "GPL-2.0-or-later", Persons := [ @@ -84,7 +84,7 @@ Dependencies := rec( GAP := ">=4.11.0", NeededOtherPackages := [ ["XMod", ">=2.87"], ["LAGUNA", ">=3.9.3"] ], - SuggestedOtherPackages := [ ], ## ["GAPDoc", ">= 1.6.1" ] ], + SuggestedOtherPackages := [ ], ExternalConditions := [ ] ), diff --git a/lib/algebra.gd b/lib/algebra.gd index ce3bda7..e5fef56 100644 --- a/lib/algebra.gd +++ b/lib/algebra.gd @@ -2,7 +2,7 @@ ## #W algebra.gd The XMODALG package Zekeriya Arvasi #W & Alper Odabas -#Y Copyright (C) 2014-2021, Zekeriya Arvasi & Alper Odabas, +#Y Copyright (C) 2014-2022, Zekeriya Arvasi & Alper Odabas, ## DeclareInfoClass( "InfoXModAlg" ); @@ -28,8 +28,12 @@ DeclareOperation( "InclusionMappingAlgebra", [ IsAlgebra, IsAlgebra ] ); DeclareOperation( "RestrictionMappingAlgebra", [ IsAlgebraHomomorphism, IsAlgebra, IsAlgebra ] ); -DeclareOperation( "AlgebraHomomorphismByFunction", - [ IsAlgebra, IsAlgebra, IsFunction ] ); +## remove this "not IsBound(...)" hack as soon as the declarations +## have been moved to the main GAP library +if not IsBound( AlgebraHomomorphismByFunction ) then + DeclareOperation( "AlgebraHomomorphismByFunction", + [ IsAlgebra, IsAlgebra, IsFunction ] ); +fi; DeclareOperation( "ModuleHomomorphism", [ IsAlgebra, IsRing ] ); diff --git a/lib/algebra.gi b/lib/algebra.gi index fbb26aa..5cf73c4 100644 --- a/lib/algebra.gi +++ b/lib/algebra.gi @@ -471,23 +471,16 @@ end); ############################################################################# ## -#F AlgebraHomomorphismByFunction( , , ) -## -InstallMethod( AlgebraHomomorphismByFunction, "for 2 algebras and a function", - true, [ IsAlgebra, IsAlgebra, IsFunction ], 0, -function ( A,B,C ) - local act,arg,narg,usage,error,fun; # mapping , result - act := rec( fun := C ); - ObjectifyWithAttributes( act, - NewType(GeneralMappingsFamily( ElementsFamily(FamilyObj(A)), - ElementsFamily(FamilyObj(B)) ), - IsSPMappingByFunctionRep and IsSingleValued - and IsTotal and IsAlgebraHomomorphism ), - Source, A, - Range, B ); - # return the mapping - return act; -end ); +#O AlgebraHomomorphismByFunction( , , ) +## +InstallMethod( AlgebraHomomorphismByFunction, + "(XModAlg) for two algebras and a function", + [ IsAlgebra, IsAlgebra, IsFunction ], +function( S, R, f ) + return Objectify( TypeOfDefaultGeneralMapping( S, R, + IsSPMappingByFunctionRep and IsAlgebraHomomorphism), + rec( fun := f ) ); +end); ############################################################################# ##