Karim Belabas on Tue, 27 May 2025 01:59:44 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: How to determine Mod(a,b) with t_COMPLEX b? |
* hermann@stamm-wilbrandt.de [2025-05-27 00:01]: [...] > The minimal residue of 1+4*I modulo 3+2*I is the yellow point -I in the > example: > https://en.wikipedia.org/wiki/Gaussian_integer#Describing_residue_classes > > How can minimal residue of an input gaussian integer modulo a gaussian > integer be computed in PARI/GP? ? a = 1+4*I; b = 3+2*I; ? a - round(a/b)*b %2 = -I This is not exacly the same normalization as in the Wikipedia article, because ties are rounded up (= floor(x+1/2)), not down (= ceil(x-1/2)), but it has the same properties (defines a Euclidean division with unique quotient and remainder). If you insist on the same (awkward) normalization, then you must use something like myround(z) = ceil(real(z)-1/2) + I * ceil(imag(z)-1/2); a - myround(a/b)*b instead. ? round(1/2 + I/2) %3 = 1 + I ? myround(1/2 + I/2) %4 = 0 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/