|
From: | Raymond Rogers |
Subject: | Re: [Axiom-math] Pointer update please. |
Date: | Tue, 02 Dec 2014 10:12:53 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 |
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 |
[Prev in Thread] | Current Thread | [Next in Thread] |