Exception in univariate `Sequence(l).algebraic_dependence().gens()`

70 views
Skip to first unread message

Georgi Guninski

unread,
Oct 1, 2024, 4:30:51 AM10/1/24
to sage-...@googlegroups.com
sage: Kx.<x,y>=QQ[]
sage: l=[x,x^2]
sage: ge=Sequence(l).algebraic_dependence().gens();ge
[-T1 + T0^2]

sage: Kx.<x>=QQ[]
sage: l=[x,x^2]
sage: ge=Sequence(l).algebraic_dependence().gens();ge
AttributeError: 'Sequence_generic' object has no attribute

Dima Pasechnik

unread,
Oct 1, 2024, 10:59:07 AM10/1/24
to sage-...@googlegroups.com
This is a usual discrepancy between the univariate and multi-variable
case: the backends are different, and probably the functionality
is not implemented in the univariate backend (Flint?).
I gather it can be implemented using a resultant computation.

Dima
> --
> 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+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAGUWgD_arOpB9J2r_-JUc45%2BQ8sg524xYt_%3DDqDzvXL4BG6YyQ%40mail.gmail.com.

Dima Pasechnik

unread,
Oct 1, 2024, 10:59:27 AM10/1/24
to sage-...@googlegroups.com
On Tue, Oct 1, 2024 at 11:46 AM Dima Pasechnik <dim...@gmail.com> wrote:
>
> This is a usual discrepancy between the univariate and multi-variable
> case: the backends are different, and probably the functionality
> is not implemented in the univariate backend (Flint?).
> I gather it can be implemented using a resultant computation.

Basically, if f(t) and g(t) are two univariate polynomials, then
P(x,y):=Res_t(f(t)-x, g(t)-y)) is
a relation between f and g,as P(f(t),g(t))=0, and P(x,y) is identically 0.

Dima Pasechnik

unread,
Oct 1, 2024, 10:59:48 AM10/1/24
to sage-...@googlegroups.com
On Tue, Oct 1, 2024 at 12:22 PM Dima Pasechnik <dim...@gmail.com> wrote:
>
> On Tue, Oct 1, 2024 at 11:46 AM Dima Pasechnik <dim...@gmail.com> wrote:
> >
> > This is a usual discrepancy between the univariate and multi-variable
> > case: the backends are different, and probably the functionality
> > is not implemented in the univariate backend (Flint?).
> > I gather it can be implemented using a resultant computation.
>
> Basically, if f(t) and g(t) are two univariate polynomials, then
> P(x,y):=Res_t(f(t)-x, g(t)-y)) is
> a relation between f and g,as P(f(t),g(t))=0, and P(x,y) is identically 0.
Sorry for typo - of course it should say "P(x,y) is not identically 0"

Georgi Guninski

unread,
Oct 1, 2024, 12:05:32 PM10/1/24
to sage-...@googlegroups.com
On Tue, Oct 1, 2024 at 5:59 PM Dima Pasechnik <dim...@gmail.com> wrote:
>
> This is a usual discrepancy between the univariate and multi-variable
> case: the backends are different, and probably the functionality
> is not implemented in the univariate backend (Flint?).
> I gather it can be implemented using a resultant computation.
>

I don't see why treat the univariate case differently with resultants.
As the original msg shows, for `l=[x,x^2]` the univariate dependency
is correctly computed almost surely with groebner basis.
Observe that the algebraic dependency might be generated by several polynomials.

This is an universal workaround for 1 var: just work over a ring with
at least one more unused var.

Dima Pasechnik

unread,
Oct 1, 2024, 2:41:52 PM10/1/24
to sage-...@googlegroups.com


On 1 October 2024 17:04:49 BST, Georgi Guninski <ggun...@gmail.com> wrote:
>On Tue, Oct 1, 2024 at 5:59 PM Dima Pasechnik <dim...@gmail.com> wrote:
>>
>> This is a usual discrepancy between the univariate and multi-variable
>> case: the backends are different, and probably the functionality
>> is not implemented in the univariate backend (Flint?).
>> I gather it can be implemented using a resultant computation.
>>
>
>I don't see why treat the univariate case differently with resultants.
>As the original msg shows, for `l=[x,x^2]` the univariate dependency
>is correctly computed almost surely with groebner basis.
>Observe that the algebraic dependency might be generated by several polynomials.

in the univariate case one can think of {(x,y)|P(x,y)=0}
as a rational curve with parametrisation given by (f(t),g(t)).

These "several polynomials" are factors of P(x,y), no?
Groebner basis won't help you here to find them.

And computing one resultant is very fast, compared to Groebner basis for the ideal (f(t)-x, g(t)-y) with a monomial order eliminating t.
Reply all
Reply to author
Forward
0 new messages