Re: Pointer update please.

Raymond Rogers <[email protected]> Tue, 02 Dec 2014 10:12:53 -0500
Newsgroups gmane.comp.mathematics.axiom.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============8773441252831663254==
Content-Type: multipart/alternative;
 boundary="------------000701020305090505020106"

This is a multi-part message in MIME format.
--------------000701020305090505020106
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit


On 12/02/2014 03:08 AM, Ralf Hemmecke wrote:
>> 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.
>
>> 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

--------------000701020305090505020106
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/02/2014 03:08 AM, Ralf Hemmecke
      wrote:<br>
    </div>
    <blockquote cite="mid:[email protected]" type="cite">
      <blockquote type="cite">
        <pre wrap="">Since you are maintaining Groebner information,
</pre>
      </blockquote>
      <pre wrap="">
Oh, do I? I'm just maintaining the translation of the ++ documentation
(available in the .spad files) to a web representation.

</pre>
      <blockquote type="cite">
        <pre wrap="">I wanted to convert quadratics p(x)-&gt;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?
</pre>
      </blockquote>
      <pre wrap="">
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
</pre>
    </blockquote>
    <blockquote cite="mid:[email protected]" type="cite">
      <pre wrap="">
</pre>
    </blockquote>
    <small>Well you do seem to have a good grasp of the situation so I
      think<br>
      you are more than a "translator" (forgive me as I didn't "google"
      you).<br>
      In any case: I found the answer and posted it to mathhelpforum.  I
      will<br>
      post it below but the core idea is to treat the polynomials in a
      matrix form<br>
      that separates the coefficients into different slots; then forming
      the <br>
      groebner input out of the resulting array of coefficient
      polynomials.<br>
      realize that crossposting is frowned upon but seeing you maintain
      <br>
      some information on groebner programs was to much to pass up.<br>
      This is part of an effort to systematize orthogonal polynomials;
      right now<br>
      maping a lot (all?) of finite interval types to the Gauss
      Hypergeometric<br>
      differential equation.  Then the terms for all of that type can be
      written<br>
      down without further ado; and then most relationships/properties
      are<br>
      simple applications of combinatorial analysis and such properties.<br>
      <br>
      Ray<br>
      <br>
      Here is the solution I came up with.  It is constructed to be
      built upon for other results<br>
      without manual interference when applied.<br>
      Most of the following is probably boring to most people but since
      I asked for help I feel obligated to<br>
      be explicit in the answer.<br>
      <br>
      Use the matrix form of the polynomials.<br>
      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]<br>
      X,X' the basis arrays; i.e. X=[1,x,x^2]', X'=[1, x', x'^2]<br>
      M a multiplication matrix: M = [1 0 0][0 m 0][0 0 m^2]<br>
      The polynomials we are interested in are the same but shifted and
      scaled so that:<br>
      C . X=C' . X'<br>
      The transform is basically from basis X to basis X' keeping the
      valuations constant.<br>
      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]<br>
      (For an explanation see Aceto references below)<br>
      Thus for x'-n=m*x we want:<br>
      P(-n) . X' =M*X or X'=P(n) . M . X<br>
      So we have <br>
      C . X = C' . P(n) . M . X<br>
      We expand X to a Vandermonde form to enable cancellation.<br>
      C = C' . P(n) . M or C- C' . P(n) . M =0 name the equation D<br>
      Then D is the array of the polynomials we want to feed to the
      groebnerFactorize (Axiom) routine to <br>
      get a triangular array of equations for n, m. <br>
      The reason for groebnerFactorize is that while groebner itself
      generates a lot of possible solutions; some of them<br>
      are ones we don't want. This can be resolved by more restrictions
      but groebnerFactorize is more convenient because<br>
      it allows one to specify certain phrases as forbidden in the
      second argument. This can be used to have the<br>
      program winnow out bad solution sets. This capability is essential
      in other cases where page after page of alternatives<br>
      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.<br>
      For instance the trivial (zero) set of solutions. <br>
      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<br>
      degree of freedom (d) in order to accommodate a sign change (if
      needed).<br>
      <br>
      References:<br>
      Aceto: The Matrices of Pascal and Other Greats - L Aceto, D
      Trigiante - American Mathematical Monthly, 2001<br>
      JSTOR: An Error Occurred Setting Your User Cookie Which
      unfortunately is behind a firewall but the following is just as
      good for this<br>
      not.<br>
      A unified matrix approach to the representation of Appell
      polynomials<br>
      Lidia Acetoa, Helmuth R. Malonekb, and Gra¸ca Tomazc<br>
      <a class="moz-txt-link-freetext" href="http://arxiv.org/pdf/1406.1444v1.pdf">http://arxiv.org/pdf/1406.1444v1.pdf</a></small>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <br>
  </body>
</html>

--------------000701020305090505020106--


--===============8773441252831663254==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Axiom-math mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/axiom-math

--===============8773441252831663254==--