axiom-mail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-mail] Doubt about IndexedExponents


From: Ralf Hemmecke
Subject: Re: [Axiom-mail] Doubt about IndexedExponents
Date: Sat, 09 Apr 2011 09:23:18 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9

E := IndexedExponents(V)
-- Well, I don't know how this works, but I need an
-- OrderedAbelianMonoidSup to create a
-- Residue Ring, this step is the one I'm trying to get
-- help to understand

P := NSMP(R,V)
-- Defining the polynomial ring, of only one variable

L := [x**2 - 1]
-- Defining the Ideal which I'm going to use to
-- get my Residue Ring

S := ResidueRing(R, E, V, P, L)

Then I can properly use S to calculate what I want in that Residue Ring, but
I certainly wish to know more about the IndexedExponents, like what it does
and why it is needed.

In fact, I find the construction of polynomials not really optimal. Look at polynomials, one actually doesn't need variables. A polynomial is a special instance of a monoid ring where in your case the coefficient ring is R and the monoid is E. Now, if you look deeper in the code then you find that internally, NSMP(R,V) constructs such a monoid ring by constructing the monoid via IndexedExponents(V).

In such a monoid ring you would not be able to do reduction, because there is need for an order on the power products. So one has to require not just monoid, but OrderedMonoid (the "Abelian" in the name just means that you basically deal with an additively written monoid).

Furthermore, you need this ...Sup, because you have to be able to divide power products in order to reduce polynomials.

Simply taking variables doesn't give you anything. In Fricas you must declare with which structures you actually work.

As you see with NSMP(R,V), FriCAS has some domains that cover the standard case. But internally, the Gröbner basis machinery is used and (as you might know), there is an additional parameter, namely the order of terms, that influences the speed in which the result is computed. The specific order is not important mathematically, any will do, but most people will claim that a degree reverse lexicographical order is better suited for Gröbner basis computations than a pure lexicographical one.

I hope that this gives you a hint of what is behind the need for IndexedExponents.

Oh yes, I've forgotten something. It's also a way to represent the power products. Maybe you know you use case better and rather want a more efficient implementation of power products. In FriCAS you can do this. Just invent (program) the respective domain of power products. It is not really necessary to use IndexedExponents, if you have more inside in how everything works.

Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]