In general, it is known that for a field F and for a prime p, (a,b)_p*(a,c)_p=(a,bc)_p for any a, b in F (cf O'meara 63:12). Here ( , )_p denotes the Hilbert Symbol over F localized at p.
sage: K.<a>=NumberField(x^2+5)
sage: p=K.primes_above(2)[0];p
Fractional ideal (2, a + 1)
sage: K.hilbert_symbol(2*a,-1,p)
1
sage: K.hilbert_symbol(2*a,2,p)
1
sage: K.hilbert_symbol(2*a,-2,p)
-1
Why is this happening? I tried it using pari commands (pari(K).nfhilbert(2*a,-1,p.pari_prime())) and I'm getting the same thing. I'm afraid I'm making some very trivial error, but it's not obvious to me.