PS: I just like to add that if a system provides
automatically an expansion of the definition of test1 in
"evaluating" "test1 y", then it is easy to see the system
can easily get "clogged" with unintelligible output, for
example, even in as simple an expression as "test1 test1
y" and no system can handle expansion of things like
"test1^n y" (iterating test1 n times, where n is also a
variable).
(Mathematica provides a "notation" to hold the expression,
for example, Nest[test1,y,n]), in effect, creating a new
function through composition.)
The problem in Axiom is, however, still due to the dual
(and automatically selected) meanings of "y < 10". If we
qualify the "<" operation by "<($Integer)", then Axiom
will refuse to evaluate "y <($Integer) 10" because y is
not known to be of type Integer. Axiom announces an error,
while Mathematica returns the input.
William
On Sat, 30 Apr 2011 20:40:28 +0200
Stefan Karrmann <[email protected]> wrote:
Dear all,
I'm new to axiom and have a problem with piecewise
functions.
test1 (x | x < 10) == 2*x
test1 (x | x < 10) == 5*x^2
test1
->
test1 (x | x < 10) == 2x
test1 (x | ^ x < 10) == 5x
Type:
FunctionCalled
test1 y
->
2
5y
I expected something like (if y < 10 then 2*y else
5*y**2).
How is it possible to pass a Variable to a piecewise
function respecting
the pieces?
PS: Using a block and => or explicit if-then-else does
not help.
--
Kind regards,
Stefan
_______________________________________________
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/
_______________________________________________
Axiom-math mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/axiom-math