Here are some integration problems submitted by "Anonymous". In
at least one example, Axiom generated a Test1 Start here: axiom integrate(x/sqrt(2*%pi)*exp(-1/2*log(x)**2),x=0..%plusInfinity)
Type: Union(pole: potentialPole,...)
Test2 Might not work: axiom integrate(1/sqrt(2*%pi)*exp(-1/2*log(x)**2),x=0..%plusInfinity, noPole) Test3 A simpler integration: axiom integrate(1/sqrt(2*%pi)*exp(-1/2*x**2),x=%minusInfinity..%plusInfinity)
Type: Union(f1: OrderedCompletion? Expression Integer,...)
We are using the following version of Axiom: axiom )version ... --HPW, Sat, 22 Jan 2005 06:14:31 -0600 reply Another definite integral
axiom integrate(x^n*exp(-x^2/2), x=0..%plusInfinity,"noPole")
Type: Union(fail: failed,...)
What if the positive Integer is declare as a positiveInteger or even chosen, say, as 2: axiom n:PositiveInteger Type: Void
axiom integrate(x^n*exp(-x^2/2), x=0..%plusInfinity)
Type: Union(fail: failed,...)
I think the idea that one should be able to "declare the type" of a
variable in Axiom by the command
axiom n:PositiveInteger Type: Void
is a frequent expectation of new users of Axiom - especially if one have used other computer algebra systems, after all Axiom is supposed to be a "strongly typed" system, right? Certainly I was surprized (and disappointed) by Axiom's limitations in this reguard. Unfortunately Axiom does not attempt to use this type information when forming expressions - but worse - declaring the type actually interferes with the use of the variable to form expressions! When you write axiom n:PositiveInteger Type: Void
what this tells Axiom is that To me, this is a tremedous waste of an opportunity in Axiom to to deal with "domain of computation" issues such as are addressed in other untyped computer algebra systems by the use of "assumptions" such as: assume(x,PositiveInteger); Such knowledge can be used to considerably improve the quality and generality of the computations.
It is obvious that axiom integrate(f(t), t=-1..2) axiom Compiling function f with type Variable t -> NonNegativeInteger
Type: Union(f1: OrderedCompletion? Expression Integer,...)
What's worse, it doesn't say that it cannot calsulate it, but it simply gives an incorrect result! Haven't I first tested it with such a simple example I wouldn't even know, the results are wrong. Any clue how to serve Axiom such function, so that it integrates them correctly? Is this a bug in Axiom or I'm doing something wrong? TIA |