Re: (no subject)

"William Sit" <[email protected]> Thu, 23 Oct 2014 10:03:57 -0400
Newsgroups gmane.comp.mathematics.axiom.general
Message-ID <[email protected]>
Thanks, Ralf, for the clarification. So the difference 
between Axiom and Maple and Mathematica (2Ms) is that the 
source of a parameter is only available at compile time 
(or interpreter time) for Axiom, while for 2Ms, it is 
available at run time. Axiom checks the type (signature) 
of the parameter and makes sure it is categorically 
correct, while 2Ms do not, and leave it to the calling 
function to perform the check. Potentially, this more 
powerful setting in 2Ms allows also modification of the 
behavior of the parameter (on a local copy of its source) 
at run time, or let its behavior control the flow of the 
calling function. This is available at the cost of 
code-time and run-time  verification---of course a "dirty" 
coder don't have to check as long as it is assumed that 
the parameters are passed correctly.

Sometimes (well, long ago) I wished that the signature 
(not the source) of a (function) parameter is available to 
the calling function. Then it would not be necessary to 
include as additional parameters the domains involved in 
the signature of this (function) parameter. Thus 
GB==GroebnerBasis(I:Ideal(R:PolynomialRingCategory)) would 
be enough to start a packge GB, and the details of R and I 
can be "fished out" by built-in functions like 
CoefficientDomain(R), Variables(R), Generators(I), etc. 
Built-in functions of this nature can in principle be 
provided in Axiom with a table look-up, as the compiler 
and interpreter already must do (the identifiers I gave 
are just arbitrarily made up).

This does not go far enough like expression trees, but I 
don't think the full source (based on FullForm in 
Mathematica) is useful except in very special situations 
and in those cases, it may be more efficient at code time 
to just look up the source rather than to test for all 
possible ways the (function) parameter, like the function 
defining the coefficients of a power series, can be coded 
and proceed according to what is found. Moreover, while 
one may be able to in principle recursively go down the 
expression tree by iterative calls to FullForm, and modify 
and compute according to what is found, that is hardly the 
normal way to write programs.

For Fabio's whether it is possible in Axiom to turn a 
symmetric expression in variables (a,b) into an equivalent 
expression using the corresponding symmetric elementary 
functions in (a,b). The answer is yes, for such an 
algorithm can be implemented without explicitly knowing 
the expression tree of the given polynomial by using, for 
example, a double induction on number of variables and on 
degree (see the proof of the fundamental theorem of 
symmetric polynomials: 
http://en.wikipedia.org/wiki/Elementary_symmetric_polynomial#The_fundamental_theorem_of_symmetric_polynomials 
).  The presence of (u,v) in Fabio's example has nothing 
to do with rewriting (a,b) (they behave as coefficients, 
like y), unless because the example is also symmetric in 
(u,v), they too can be rewritten in terms of their 
elementary symmetric functions.
Since the representation in terms of elementary symmetric 
polynomials is unique for any symmetric polynomial, the 
answer is independent of the algorithm chosen.

In short, Fabio's problem need not, and most likely should 
not, be implemented by examining the expression tree of 
the input symmetric polynomial.

William


On Thu, 23 Oct 2014 13:45:19 +0200 (CEST)
  "Fabio S." <[email protected]> wrote:
> 
> Consider the following polynomial
> 
> G := (y-(a*u+b*v))*(y-(a*v+b*u))
> 
> It is symmetric both in (a,b) and (u,v). I would like to 
>espress it as a polynomial in Z[s,t,u,v,y]
> where s=a+b and t=ab are the  symmetric elementary 
>funcitions on a and b
> 
> Is it possible in axiom?
> 
> In other words, I am looking for a command which having 
>G as input, returns
> 
> y^2 - s*(u+v)*y + (s^2-2*t)u*v + t*(u^2+v^2)
> 
> Thanks
> 
>Fabio
> 
> _______________________________________________
> Axiom-math mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/axiom-math

William Sit, Professor Emeritus
Mathematics, City College of New York
Office: R6/291D Tel: 212-650-5179
Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/