Denis Simon on Fri, 24 Jan 2025 17:51:36 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: equality of t_INTMODs |
Hi all, if I understand well the discussion, the relation == is not transitive, but === is. Example : Mod(14,20) == Mod(39,55) == Mod(4,20) but not Mod(14,20) and Mod(4,20) Denis SIMON. ----- Mail original ----- > De: "Karim Belabas" <Karim.Belabas@math.u-bordeaux.fr> > À: "Max Alekseyev" <maxale@gmail.com> > Cc: "Pari Users" <pari-users@pari.math.u-bordeaux.fr> > Envoyé: Vendredi 24 Janvier 2025 17:23:14 > Objet: Re: equality of t_INTMODs > Hi Max, > > we recommend using > > a === b (is identical to) > > rather than the much more liberal and more costly > > a == b (is equal to; in the sense of "there is a natural map sending a > to the domain of b or sending b to the domain of a, such that the > comparison makes sense and equality holds") > > Cheers, > > K.B. > > * Max Alekseyev [2025-01-24 17:11]: >> Hi Karim, >> >> After the fix we have >> >> ? Mod(14,20) == Mod(39,55) >> %1 = 1 >> >> I understand why, but nevertheless it looks very confusing. >> >> Regards, >> Max >> >> >> On Fri, Jan 24, 2025 at 10:58 AM Karim Belabas < >> Karim.Belabas@math.u-bordeaux.fr> wrote: >> >> > Hi Max, >> > >> > * Max Alekseyev [2025-01-24 16:12]: >> > > In view of a recently discovered issue in Sage ( >> > > https://github.com/sagemath/sage/issues/39372), I'd like to check how >> > the >> > > following two (in)equalities co-exist in PARI/GP. Do they violate any >> > > design conventions and/or represent a notable exception to those? >> > > >> > > ? Mod(14,20) == Mod(39,55) >> > > %1 = 0 >> > > ? Mod(14,20) - Mod(39,55) == 0 >> > > %2 = 1 >> > >> > They do violate the design convention (x == y iff x - y == 0; >> > use the === operator for proper equality without implicit coercion). >> > >> > t_POLMOD had the same issue. Both issues are now fixed in 'master'. >> > >> > Cheers, >> > >> > K.B. >> > -- >> > Pr. Karim Belabas, U. Bordeaux, Vice-président en charge du Numérique >> > Institut de Mathématiques de Bordeaux UMR 5251 - (+33) 05 40 00 29 77 >> > http://www.math.u-bordeaux.fr/~kbelabas/ >> > > > K.B. > -- > Pr. Karim Belabas, U. Bordeaux, Vice-président en charge du Numérique > Institut de Mathématiques de Bordeaux UMR 5251 - (+33) 05 40 00 29 77 > http://www.math.u-bordeaux.fr/~kbelabas/