This works (in sage 8.9) when using

K.<z>=QuadraticField(2)



Le vendredi 18 octobre 2019 02:12:02 UTC+2, Ignat Soroko a écrit :
>
> I am computing the signature of a quadratic form having entries 0, 1, 
> -1/2, -sqrt(2)/2. I noticed that the result of signature_vector() is 
> different if we treat the number sqrt(2) as a cyclotomic or as a real 
> number. Please look at the example:
>
> sage: K.<z>=CyclotomicField(8)
> sage: a=z-z^3  # a is a square root of 2
> sage: a-sqrt(2)
> 0
> sage: 
> Q=QuadraticForm(K,8,[1/2,-a/2,0,0,0,0,0,0,1/2,-a/2,0,0,0,0,0,1/2,-1/2,0,0,
> ....: 0,0,1/2,-1/2,0,0,0,1/2,-1/2,0,0,1/2,-a/2,0,1/2,-a/2,1/2])
> sage: Q.signature_vector()
> (8, 0, 0)
>
> this cannot be true since there exists an isotropic vector:
>
> sage: v=vector([1,a,1,0,0,0,0,0])
> sage: v*Q.matrix()*v
> 0
>
> Let's try it over reals:
>
> sage: a=sqrt(2)
> sage: 
> Q=QuadraticForm(RR,8,[1/2,-a/2,0,0,0,0,0,0,1/2,-a/2,0,0,0,0,0,1/2,-1/2,0,0
> ....: ,0,0,1/2,-1/2,0,0,0,1/2,-1/2,0,0,1/2,-a/2,0,1/2,-a/2,1/2])
> sage: Q.signature_vector()
> (6, 2, 0)
>
> however, the isotropic vector above is not isotropic anymore:
>
> sage: v=vector([1,a,1,0,0,0,0,0])
> sage: v*Q.matrix()*v
> sqrt(2)*(1.00000000000000*sqrt(2) - 1.41421356237310) - 
> 1.41421356237310*sqrt(2) + 2.00000000000000
>
> I also tried to define 
>
> sage: a=sqrt(AA(2))
> sage: 
> Q=QuadraticForm(AA,8,[1/2,-a/2,0,0,0,0,0,0,1/2,-a/2,0,0,0,0,0,1/2,-1/2,0,0
> ....: ,0,0,1/2,-1/2,0,0,0,1/2,-1/2,0,0,1/2,-a/2,0,1/2,-a/2,1/2])
>
> but Q.signature_vector() gives a runtime error with many lines of code 
> ending in:
>
> RuntimeError: maximum recursion depth exceeded
>
>
> Questions:
> 1) is Q.signature_vector() over cyclotomic field is interpreted in some 
> other way than for reals, thus making the result (8,0,0) somehow correct?
>
> 2) Which setting would guarantee both the correct result for 
> signature_vector() using the exact arithmetic and at the same time show 
> that v is actually an isotropic vector?
>
> Thank you!
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/32d8c813-7d58-4cf8-aaa0-1ea25f7b03b1%40googlegroups.com.

Reply via email to