[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-math] (no subject)
From: |
William Sit |
Subject: |
Re: [Axiom-math] (no subject) |
Date: |
Thu, 23 Oct 2014 10:03:57 -0400 |
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." <address@hidden> 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
address@hidden
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/