On Sun, 20 Oct 2019 at 11:38, Simon Brandhorst <sbrandho...@web.de> wrote:
> Dear Ignat Soroko, > > the quadratic forms code was written with quadratic forms over QQ and over > ZZ in mind. So I would be very sceptic about any functionality over number > fields. > For instance the signature vector you mention does not make sense of the > F.<a> =CyclotomicField(8). Instead of a single signature vector, over a > number field you should > obtain a signature for each real embedding F. Since F has no real places > it does not really have signatures. All infinite places are complex and all > regular quadratic forms over CC are equivalent. So basically > > 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() > > should either raise a value error, or > be called signature_vectors() and return a dictionary of real places and > signature vectors. > I thought at some point it was agreed that it makes sense for number fields to come with a default embedding. Is this already the case? Otherwise the meaning of sign() is not clear... There is also a possibility of the signature being the same for every embedding, at least for a class of forms. > > Best, > Simon > > On Friday, October 18, 2019 at 2:12:02 AM UTC+2, Ignat Soroko wrote: >> >> 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/edce4769-1ca3-4400-bd50-ef01f0a11d5c%40googlegroups.com > <https://groups.google.com/d/msgid/sage-devel/edce4769-1ca3-4400-bd50-ef01f0a11d5c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAAWYfq0bENV2q-sTZ%3DbK47WS9ekP_LTAB_AWd3NB2TH3OeD2Qg%40mail.gmail.com.