Great, thanks for working out and fixing the (quite non-trivial, it seems) root cause of this issue!
Just a curious question: would it be useful to add the functionality of your commit 8de6ba5 <https://github.com/sagemath/sage/commit/8de6ba50509cd3027fd0c5f4c052c1cabc06447c> to potentially simplify QQbar objects? Especially doing linear algebra over QQbar I guess you get many trivial operations (like adding 0) and optimizing them away might maybe improve performance? Just an idea, I haven't done any benchmarking to support that hypothesis. Best regards, Håkan On Mon, May 6, 2024 at 12:15 AM Vincent Delecroix <20100.delecr...@gmail.com> wrote: > Turns out to be a serious bug in complex interval fields. The problem > is hopefully fixed by https://github.com/sagemath/sage/pull/37941 > which should make its way to the next sage release. > > Thanks again for your report. > Vincent > > On Fri, 3 May 2024 at 18:13, vdelecroix <20100.delecr...@gmail.com> wrote: > > > > Thanks for your report! I simplified a bit your example and posted an > issue https://github.com/sagemath/sage/issues/37927. > > > > Vincent > > > > Le vendredi 3 mai 2024 à 15:05:03 UTC+2, Hakan Granath a écrit : > >> > >> Hi, > >> > >> I think sometimes matrices over QQbar give erroneous results (sorry for > the messy example, if I try to simplify it the problem disappears): > >> > >> R.<y> = QQ[] > >> v1 = QQbar.polynomial_root(AA.common_polynomial(y^2 + 1), > CIF(RIF(RR(0)), RIF(-RR(1)))) > >> v2 = QQbar.polynomial_root(AA.common_polynomial(y^2 + 1), > CIF(RIF(RR(0)), RIF(RR(1)))) > >> v3 = 4*v2 > >> v4 = AA.polynomial_root(AA.common_polynomial(y^2 - 2), > RIF(-RR(1.4142135623730951), -RR(1.4142135623730949))) > >> v5 = AA.polynomial_root(AA.common_polynomial(y^2 - 2), > RIF(RR(1.4142135623730949), RR(1.4142135623730951))) > >> v6 = QQbar.polynomial_root(AA.common_polynomial(y^2 + 16), > CIF(RIF(RR(0)), RIF(-RR(4)))) > >> v7 = v6*v6 > >> v8 = QQbar.polynomial_root(AA.common_polynomial(y^2 + 1), > CIF(RIF(RR(0)), RIF(RR(1)))) > >> > >> M = matrix(QQbar, [[0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, > 0, 0, 0, 0], [-4, 2*v1, 1, 64, -32*v1, -16, 8*v1, 4, -2*v1, -1], [4*v1, 1, > 0, -192*v1, -80, 32*v1, 12, -4*v1, -1, 0], [2, 0, 0, -480, 160*v1, 48, > -12*v1, -2, 0, 0], [-4, 2*v2, 1, 64, -32*v2, -16, 8*v2, 4, -2*v2, -1], [v3, > 1, 0, -192*v2, -80, 32*v2, 12, -v3, -1, 0], [2, 0, 0, -480, 160*v2, 48, > -12*v2, -2, 0, 0], [0, 0, 0, 8, QQbar(4*v4), 4, QQbar(2*v4), 2, > QQbar(AA.polynomial_root(AA.common_polynomial(y^2 - 2), > RIF(-RR(1.4142135623730951), -RR(1.4142135623730949)))), 1], [0, 0, 0, > QQbar(24*v4), 20, QQbar(8*v4), 6, QQbar(2*v4), 1, 0], [0, 0, 0, 8, > QQbar(4*v5), 4, QQbar(2*v5), 2, > QQbar(AA.polynomial_root(AA.common_polynomial(y^2 - 2), > RIF(RR(1.4142135623730949), RR(1.4142135623730951)))), 1], [0, 0, 0, > QQbar(24*v5), 20, QQbar(8*v5), 6, QQbar(2*v5), 1, 0], [0, 0, 0, v7*v7*v7, > v7*v7*v6, v7*v7, v6*v6*v6, v6*v6, v6, 1], [0, 0, 0, -4096, 1024*v8, 256, > -64*v8, -16, 4*v8, 1]]) > >> > >> With this matrix I get: > >> > >> sage: M.right_kernel_matrix() > >> [] > >> > >> but in fact the right kernel is generated by: > >> > >> sage: v = Matrix(QQbar, 10, 1, [-108, 0, 0, 1, 0, 12, 0, -60, 0, 64]) > >> sage: M * v == 0 > >> True > >> > >> This is with SageMath version 10.3 using Python 3.11.1 on Ubuntu > 22.04.4. > >> > >> Best regards, > >> > >> Håkan Granath > > > > -- > > 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/1c927686-bada-4943-8000-a6fdf6e71029n%40googlegroups.com > . > > -- > 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/CAGEwAAkgsAcFmt-6NKWvuh0va_UVy-jdSJVnPrSrjGE_CA3Nog%40mail.gmail.com > . > -- 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/CAOnrL6%2BO0s%3D6poKYFo17xTLrrX4SdCFuj%2BQj7tpkjtQfL%2BvQNw%40mail.gmail.com.