Open pedritomelenas opened 7 years ago
It is important to GAP's functioning that Filters always return true
or false
, because we can ask any GAP object if it satisfies any filter during method dispatch, even when the question might not make sense.
Good, but in this case it should return true, not false. The answer is misleading.
As explained by @markuspf and @fingolfin on slack, I now understand the meaning of Filter
here (or at least I think I understand it). So I think I will close this issue... GAP treats F as a ring, not as a field. Probably a method for AsField(F) could be implemented...
As discussed with @markuspf I reopen this cause at least IsMagmaWithOne(F);
should return true
.
How about a special routine for univariate pol ring/irreducible that dispatches to AlegebraicExtension
?
The problem here is that one wants to avoid testing if the ideal is irreducible. One could do what @hulpke suggests when AsField
is called for R/I.
If R is polynomial ring is over a field K, then one takes p as the gcd of the generators of the ideal I, and AsField(R/I)
could return AlgebraicExtension(K,p)
. Indeed, if one calls AlgebraicExtension
, it checks if the polynomial is irreducible.
This issue is a resurection of an old issue reported on bitbucket.
If one defines
then
The expected behavior should be either
true
orNo method found ...
. At least for Euclidean domains this could be tested "easily".IsField
looks likeAnd
IsMagmaWithInversesIfNonzero
already returns falseAlso
and
The rest of the filters that compound
IsField
return true in this case.I wonder if these many filters are needed or if they are the consequence of many
InstallTrueMethod
s.Thank you, Pedro