[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bugs!!
From: |
Kevin Ryde |
Subject: |
Re: Bugs!! |
Date: |
01 Dec 2000 10:06:18 +1000 |
User-agent: |
Gnus/5.0807 (Gnus v5.8.7) Emacs/20.5 |
Kaushik Chakraborty <address@hidden> writes:
>
> ./test 0 1
> jacobi = 1
> legendre= 1
>
> ./test 0 5
> jacobi = 0
> legendre= 0
>
> [HOW CAN BE THE ABOVE TWO DIFFERENT??]
I think it's correct. I think it's from the rule that (a/b)=0 if and
only if gcd(a,b)!=1, so with gcd(0,1)=1 but gcd(0,5)=5 then (0/1) and
(0/5) will be different.
> ./test 0 0
> Floating point exception (core dumped) [NO CHECK IS THERE FOR 0 CASE]
>
> ./test 0 -5
> jacobi = 0
> legendre= 0
>
> BUT
>
> ./test 0 -3
>
> [HANGS!! CONTROL DOESNOT RETURN!!]
Alas, mpz_jacobi and mpz_legendre currently require b>0. A note about
that was added to the manual in GMP version 3.1.
> Actually the domain of values for which legendre & jacobi are defined is
> not checked for correctness...
> so the user has to be careful...
> otherwise if he runs a long program
> where one step is..
> for primes in (0,1,2,.........)
> it is difficult for him to figure out that the legendre or jacobi call is
> making problem for 0,1, or say -ve values..
>
> So, the legendre or jacobi source code may have some error checking code
> in the beginning to avoid above situations..
Or better, give the right answers! :-)
The current GMP version 3.1.1 has mpz_kronecker_si and related
functions supporting negatives (and running much faster than
mpz_jacobi), if they meet your needs.
Improvements to mpz_jacobi, or a new mpz_kronecker, are planned but I
don't know when they'll get done.
- Bugs!!, Kaushik Chakraborty, 2000/11/28
- Re: Bugs!!,
Kevin Ryde <=