gap icon indicating copy to clipboard operation
gap copied to clipboard

Construction of polynomial ring requires `IsUFDFamily` to be computable

Open TWiedemann opened this issue 7 months ago • 1 comments

Example:

 ┌───────┐   GAP 4.14.0 of 2024-12-05
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-pc-linux-gnu-default64-kv9
 Configuration:  gmp 6.3.0, GASMAN, readline
 Loading the library and packages ...
 Packages:   AClib 1.3.2, Alnuth 3.2.1, AtlasRep 2.1.9, AutPGrp 1.11, 
             Browse 1.8.21, CaratInterface 2.3.7, CRISP 1.4.6, Cryst 4.1.27, 
             CrystCat 1.1.10, CTblLib 1.3.9, FactInt 1.6.3, FGA 1.5.0, 
             Forms 1.2.12, GAPDoc 1.6.7, genss 1.6.9, IO 4.9.1, 
             IRREDSOL 1.4.4, LAGUNA 3.9.7, orb 4.9.1, Polenta 1.3.10, 
             Polycyclic 2.16, PrimGrp 3.4.4, RadiRoot 2.9, recog 1.4.3, 
             ResClasses 4.7.3, SmallGrp 1.5.4, Sophus 1.27, SpinSym 1.5.2, 
             StandardFF 1.0, TomLib 1.2.11, TransGrp 3.6.5, utils 0.85
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
gap> F := FreeMagma(2);;
gap> ZF := FreeMagmaRing(Integers, F);;
gap> PolynomialRing(ZF, 2);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `IsUFDFamily' on 1 arguments at [...]/gap-4.14.0/lib/methsel2.g:250 called from
IsUFDFamily( efam ) at [...]/gap-4.14.0/lib/ratfun.gi:742 called from
RationalFunctionsFamily( efam ) at [...]/gap-4.14.0/lib/ringpoly.gi:122 called from
PolynomialRing( r, [ 1 .. n ] ) at [...]/gap-4.14.0/lib/ringpoly.gi:249 called from
<function "PolynomialRing rank">( <arguments> )
 called from read-eval loop at *stdin*:3
type 'quit;' to quit to outer loop

According to the documentation, polynomial rings should be defined over all coefficient rings. Some filters are set depending on whether the coefficients lie in a UFD, but if this property is not known and there is no method to compute it, then an error occurs.

TWiedemann avatar May 26 '25 08:05 TWiedemann

This seems like a bug to me: IsUFDFamily shouldn't be a property, it should be a filter (or category, or whatever). I'll submit a PR.

fingolfin avatar Jun 18 '25 16:06 fingolfin