Discussion:
[Axiom-math] Pointer update please.
Raymond Rogers
2014-12-01 16:24:46 UTC
Permalink
I have been perusing information on Groebner basis in Axiom and some
links are broken in:

https://lists.gnu.org/archive/html/axiom-math/2006-08/msg00001.html

Bill Page
Subject: RE: [Axiom-math] Groebernbases
Date: Mon, 7 Aug 2006 11:37:42 -0400
In particular:

http://wiki.axiom-developer.org/axiom--test--1/src/algebra/PgrobnerSpad


http://wiki.axiom-developer.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner

Could somebody provide updates for the links? I know RTFM; but after 11 volumes of >1000 pages
each that advice seems a little ???


Ray
Ralf Hemmecke
2014-12-01 18:32:00 UTC
Permalink
Post by Raymond Rogers
I have been perusing information on Groebner basis in Axiom and some
https://lists.gnu.org/archive/html/axiom-math/2006-08/msg00001.html
Bill Page
Subject: RE: [Axiom-math] Groebernbases
Date: Mon, 7 Aug 2006 11:37:42 -0400
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/PgrobnerSpad
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner
Could somebody provide updates for the links?
I cannot fix these links in the mailing list, but as far as I am
informed, the current place of the axiom-wiki is

http://axiom-wiki.newsynthesis.org
(maintained by Waldek Hebisch)

I don't know whether Tim maintains a copy of the old Wiki.

Anyway, your links probably translate into
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/PgrobnerSpad
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner

You might also find this one useful (maintained by me).
http://fricas.github.io/api/PolyGroebner.html

Ralf
Raymond Rogers
2014-12-01 20:30:43 UTC
Permalink
Post by Ralf Hemmecke
Post by Raymond Rogers
I have been perusing information on Groebner basis in Axiom and some
https://lists.gnu.org/archive/html/axiom-math/2006-08/msg00001.html
Bill Page
Subject: RE: [Axiom-math] Groebernbases
Date: Mon, 7 Aug 2006 11:37:42 -0400
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/PgrobnerSpad
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner
Could somebody provide updates for the links?
I cannot fix these links in the mailing list, but as far as I am
informed, the current place of the axiom-wiki is
http://axiom-wiki.newsynthesis.org
(maintained by Waldek Hebisch)
I don't know whether Tim maintains a copy of the old Wiki.
Anyway, your links probably translate into
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/PgrobnerSpad
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner
You might also find this one useful (maintained by me).
http://fricas.github.io/api/PolyGroebner.html
Ralf
Thanks! Ray
Raymond Rogers
2014-12-01 21:06:12 UTC
Permalink
Post by Ralf Hemmecke
Post by Raymond Rogers
I have been perusing information on Groebner basis in Axiom and some
https://lists.gnu.org/archive/html/axiom-math/2006-08/msg00001.html
Bill Page
Subject: RE: [Axiom-math] Groebernbases
Date: Mon, 7 Aug 2006 11:37:42 -0400
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/PgrobnerSpad
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner
Could somebody provide updates for the links?
I cannot fix these links in the mailing list, but as far as I am
informed, the current place of the axiom-wiki is
http://axiom-wiki.newsynthesis.org
(maintained by Waldek Hebisch)
I don't know whether Tim maintains a copy of the old Wiki.
Anyway, your links probably translate into
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/PgrobnerSpad
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/FrontPage/searchwiki?expr=Groebner
You might also find this one useful (maintained by me).
http://fricas.github.io/api/PolyGroebner.html
Ralf
Since you are maintaining Groebner information, I have a question.
I wanted to convert quadratics p(x)->Q(x') by finding n,m: x'=m*x+n; so
I put.
p(x)-q(x')=0
x'-m*x-n=0
and got an answer in terms f(n,m)x^2+g(n,m)*x+h(n,m)=0
so then I had to set
f(n,m)=0
g(n,m)=0
h(n,m)=0
as a separate step. Which worked fine to give me triangular output.
I am questioning the second step; not that it's wrong, but IMO it
shouldn't be necessary.
Is there a technique to avoid that? I haven't come up with anything.

Ray
Ralf Hemmecke
2014-12-02 08:08:14 UTC
Permalink
Post by Raymond Rogers
Since you are maintaining Groebner information,
Oh, do I? I'm just maintaining the translation of the ++ documentation
(available in the .spad files) to a web representation.
Post by Raymond Rogers
I wanted to convert quadratics p(x)->Q(x') by finding n,m: x'=m*x+n; so
I put.
p(x)-q(x')=0
x'-m*x-n=0
and got an answer in terms f(n,m)x^2+g(n,m)*x+h(n,m)=0
so then I had to set
f(n,m)=0
g(n,m)=0
h(n,m)=0
as a separate step. Which worked fine to give me triangular output.
I am questioning the second step; not that it's wrong, but IMO it
shouldn't be necessary.
Is there a technique to avoid that?
Hmmm... in the first step you get a condition for m and n that still
involves x. You get rid of the x by requiring that each coefficient is
zero. Then you get 3 equations for m and n in the coefficients of the
original quadratic polynomials that must simultaneously equate to zero.

No you solve these equations in whatever way and express m and n in
terms of the original coefficients. If you don't do the trick with
removing the x and getting 3 equations, it would still be there. So why
do you think there is another method for solving that problem?

Ralf
Raymond Rogers
2014-12-02 15:12:53 UTC
Permalink
Post by Ralf Hemmecke
Post by Raymond Rogers
Since you are maintaining Groebner information,
Oh, do I? I'm just maintaining the translation of the ++ documentation
(available in the .spad files) to a web representation.
Post by Raymond Rogers
I wanted to convert quadratics p(x)->Q(x') by finding n,m: x'=m*x+n; so
I put.
p(x)-q(x')=0
x'-m*x-n=0
and got an answer in terms f(n,m)x^2+g(n,m)*x+h(n,m)=0
so then I had to set
f(n,m)=0
g(n,m)=0
h(n,m)=0
as a separate step. Which worked fine to give me triangular output.
I am questioning the second step; not that it's wrong, but IMO it
shouldn't be necessary.
Is there a technique to avoid that?
Hmmm... in the first step you get a condition for m and n that still
involves x. You get rid of the x by requiring that each coefficient is
zero. Then you get 3 equations for m and n in the coefficients of the
original quadratic polynomials that must simultaneously equate to zero.
No you solve these equations in whatever way and express m and n in
terms of the original coefficients. If you don't do the trick with
removing the x and getting 3 equations, it would still be there. So why
do you think there is another method for solving that problem?
Ralf
Well you do seem to have a good grasp of the situation so I think
you are more than a "translator" (forgive me as I didn't "google" you).
In any case: I found the answer and posted it to mathhelpforum. I will
post it below but the core idea is to treat the polynomials in a matrix form
that separates the coefficients into different slots; then forming the
groebner input out of the resulting array of coefficient polynomials.
realize that crossposting is frowned upon but seeing you maintain
some information on groebner programs was to much to pass up.
This is part of an effort to systematize orthogonal polynomials; right now
maping a lot (all?) of finite interval types to the Gauss Hypergeometric
differential equation. Then the terms for all of that type can be written
down without further ado; and then most relationships/properties are
simple applications of combinatorial analysis and such properties.

Ray

Here is the solution I came up with. It is constructed to be built upon
for other results
without manual interference when applied.
Most of the following is probably boring to most people but since I
asked for help I feel obligated to
be explicit in the answer.

Use the matrix form of the polynomials.
C, C' the coefficient arrays: i.e. C=[c, b, a], C'=[c', b', a'] in the
Gauss Hypergeometric case of the leading coefficient C'=[0 1 -1]
X,X' the basis arrays; i.e. X=[1,x,x^2]', X'=[1, x', x'^2]
M a multiplication matrix: M = [1 0 0][0 m 0][0 0 m^2]
The polynomials we are interested in are the same but shifted and scaled
so that:
C . X=C' . X'
The transform is basically from basis X to basis X' keeping the
valuations constant.
Now a basis/ coefficient transform on coefficient arrays is equal to
P(n) Pascal's matrix P(n)=[1 0 0][n 1 0][n^2 2*n 1]
(For an explanation see Aceto references below)
Thus for x'-n=m*x we want:
P(-n) . X' =M*X or X'=P(n) . M . X
So we have
C . X = C' . P(n) . M . X
We expand X to a Vandermonde form to enable cancellation.
C = C' . P(n) . M or C- C' . P(n) . M =0 name the equation D
Then D is the array of the polynomials we want to feed to the
groebnerFactorize (Axiom) routine to
get a triangular array of equations for n, m.
The reason for groebnerFactorize is that while groebner itself generates
a lot of possible solutions; some of them
are ones we don't want. This can be resolved by more restrictions but
groebnerFactorize is more convenient because
it allows one to specify certain phrases as forbidden in the second
argument. This can be used to have the
program winnow out bad solution sets. This capability is essential in
other cases where page after page of alternatives
appear and you don't want to continuously print them out to find the one
(or more) expressions you don't want in the solution.
For instance the trivial (zero) set of solutions.
One final note is that I had to make a coefficient alteration when I
solved the equations earlier; that is C=[d*c, d*b, d*a]. I needed the extra
degree of freedom (d) in order to accommodate a sign change (if needed).

References:
Aceto: The Matrices of Pascal and Other Greats - L Aceto, D Trigiante -
American Mathematical Monthly, 2001
JSTOR: An Error Occurred Setting Your User Cookie Which unfortunately is
behind a firewall but the following is just as good for this
not.
A unified matrix approach to the representation of Appell polynomials
Lidia Acetoa, Helmuth R. Malonekb, and Gražca Tomazc
http://arxiv.org/pdf/1406.1444v1.pdf
Ralf Hemmecke
2014-12-02 21:52:47 UTC
Permalink
Post by Raymond Rogers
Here is the solution I came up with.
Is that the solution to this problem?

http://axiom-wiki.newsynthesis.org/ExampleGroebner

Actually, I wanted to computed a Groebner basis for that case, but that
simply give [1], saying, that for generic a, b, c, u, v, w, such m and n
cannot be found. So I conclude that your problem is most probably
something else.

Can you please edit the above site and state your problem as clearly as
possible?

Thanks
Ralf

d***@axiom-developer.org
2014-12-01 20:50:25 UTC
Permalink
There are several examples in the src/input directory you might find useful.

In particular, see
src/input/groebner.input.pamphlet
src/input/groeb.input.pamphlet
src/input/noonburg.input.pamphlet
src/input/dop.input.pamphlet

As an aside, you surprised me with the links you posted.
Post by Ralf Hemmecke
http://axiom-wiki.newsynthesis.org/axiom--test--1/src/algebra/PgrobnerSpad
implies that you found Axiom code from when it was maintained under the
GNU Arch source code control system (circa 2002).

Tim
Loading...