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.

Reply via email to