Changes 
http://wiki.axiom-developer.org/358VariableIsApparentlyAlwaysAssumedToBePositive/diff
--
**wyscc** wrote: --
  <em>if x is interpreted as a FIXED element in POLY INT, h is no longer a
  function from POLY INT to POLY INT (unless you view h as defining the
  substitution homomorphism on $Q[x]$ sending $x$ to $x^2$; but that is
  not what we meant when we want to integrate h).</em>

The definition
\begin{axiom}
h(x | x<=0) == -x^2
h(x | x>0) == x^2
\end{axiom}

does not necessarily have anything to do with integration or
polynomials since we know nothing at all about what the domain
and co-domain of the function will be. If we had already
specified a signature such as::

  h:Float->Float

then we could be sure that integration is at least in principle
possible. But as it stands we only have part of the body of a
potential function, i.e. a function prototype.

In any case 'x' here is just a placeholder or dummy variable.

But given only the prototype, if in Axiom I write::

  h(w)

where 'w' was not previously defined then the interpreter starts
by assuming that 'w' is just a variable:
\begin{axiom}
w
\end{axiom}

But to interpret what is meant by 'w<=0', w>0,  - and w^2, after
a search of possibilities,  Axiom finds that it can coerce the
variable w to the a 'Polynomial Integer' where <= and > are
interpreted as lexical ordering and w^2 is given by w*w, as
multiplication of polynomials. It is not necessary to think
in terms of "substitution homomorphism".

Even when we specify a signature such as::

  h:Polynomial Integer -> Polynomial Integer

The 'x' on the lhs and the expression '-x^2' on the rhs of
== in the prototype for 'h' above is *not* a polynomial. It
remains a dummy variable as defined according to the semantics
of the Axiom programming language. But in this case the
prototype does define a mapping (not necessarily a homomorphism)
from polynomials into polynomials.

**wyscc** wrote: --
  <em>As far as calculus goes, we integrate a function, NOT a
  polynomial ... </em>

I agree. What we really would like to write is something like::

  integrate(h)

and we would expect the result to be another function. But
this can be very difficult for arbitrary piecewise functions.

--
forwarded from http://wiki.axiom-developer.org/[EMAIL PROTECTED]

Reply via email to