> The algorithm in question is described in “Ideals, Varieties, and
> Algorithms” by David Cox, John Little and Donal O’Shea in Section "§3 A
> Division Algorithm in k[x_1 , … , x_n]".
It is not:
sage: A. = PolynomialRing(QQ, order="lex")
sage: (x*y^2 + 1).reduce([x*y + 1, y+1])
x + 1
Perhaps it would be clearer if the wording were changed to, "return a
remainder," because there can be more than one, and strike the words
between and including "the normal form" and "i.e.", because in many places
"normal form" implies uniqueness. For instance, speaking of Cox, Little,
and O'Sh
On Tuesday, October 17, 2017 at 4:50:20 AM UTC-5, Luca De Feo wrote:
>
> > It takes I as the generators of the ideal and uses that as the reduction
> > set.
>
> That's not a definition. I'm in front of a class asking what this
> function does, and I'm unable to give a mathematical definition o
Hi there,
I’m fairly certain that I wrote that code or was at least involved
since I wrote most of the first version of the libsingular stuff,
David’s commit output by `git blame` is a merge commit.
The algorithm in question is described in “Ideals, Varieties, and
Algorithms” by David Cox, J
Hi there,
AFAIK if you do that you prevent high-level implementation of
Gröbner basis algorithms in Sage which call reduce,
i.e. polynomial division with remainders, on S-polynomials wrt to
the current basis.
Cheers,
Martin
Daniel Krenn writes:
On 2017-10-17 11:49, Luca De Feo wrote:
It t
> +1 for doing something.
>
> What about the following fix: When the input is a list/tuple, we check
> if it is a Groebner basis or not. If it is, do the computation, if not,
> print a warning or raise an error.
Sounds reasonable.
Other options would be:
- Just refuse list input.
- Always comput
On 2017-10-17 11:49, Luca De Feo wrote:
>> It takes I as the generators of the ideal and uses that as the reduction
>> set.
>
> That's not a definition. I'm in front of a class asking what this
> function does, and I'm unable to give a mathematical definition of
> what Sage means by "reduction" mo
> It takes I as the generators of the ideal and uses that as the reduction
> set.
That's not a definition. I'm in front of a class asking what this
function does, and I'm unable to give a mathematical definition of
what Sage means by "reduction" modulo something that's not a Groebner
basis.
> Wha
> Can you tell from this documentation what the function will compute
> prior to running it? I can't.
>
It takes I as the generators of the ideal and uses that as the reduction
set.
>
> I agree with Daniel: this function does something useful and sensible
> when I is an ideal, so it shouldn
On Mon, Oct 16, 2017 at 7:35 PM, 'Martin R. Albrecht' via sage-devel
wrote:
> Hi there,
>
> this is already documented:
>
> “ Return the normal form of self w.r.t. "I", i.e. return the
> remainder of this polynomial with respect to the polynomials in
> "I". If the polynomial set/list "I" is no
Hi there,
this is already documented:
“ Return the normal form of self w.r.t. "I", i.e. return the
remainder of this polynomial with respect to the polynomials in
"I". If the polynomial set/list "I" is not a (strong) Groebner
basis the result is not canonical.
”
Cheers,
Martin
Daniel Kre
On 2017-10-16 18:41, Luca De Feo wrote:
> Here's a Sage session:
>
> sage: A. = QQ[]
> sage: (x+y).reduce([(x-y), (x+y)])
> 0
> sage: (x-y).reduce([(x-y), (x+y)])
> -2*y
>
> The docstring says reduce computes "the normal form of self w.r.t. I,
> i.e. [...] the remainder of thi
Hi everyone,
Here's a Sage session:
sage: A. = QQ[]
sage: (x+y).reduce([(x-y), (x+y)])
0
sage: (x-y).reduce([(x-y), (x+y)])
-2*y
The docstring says reduce computes "the normal form of self w.r.t. I,
i.e. [...] the remainder of this polynomial with respect to the
polynomials i
13 matches
Mail list logo