Here are some integration problems. Test1 Start here: fricas (1) -> integrate(x/sqrt(2*%pi)*exp(-1/2*log(x)^2),
Type: Union(f1: OrderedCompletion?(Expression(Integer)),
Test2 A simpler integration: fricas integrate(1/sqrt(2*%pi)*exp(-1/2*x^2),
Type: Union(f1: OrderedCompletion?(Expression(Integer)),
We are using the following version of FriCAS: fricas )version ... --HPW, Sat, 22 Jan 2005 06:14:31 -0600 reply Another definite integral
fricas integrate(x^n*exp(-x^2/2),
Type: Union(fail: failed,
But FriCAS can do indefinite integral fricas integrate(x^n*exp(-x^2/2),
Type: Union(Expression(Integer),
so the problem is due to too weak limit. What if the positive Integer is declare as a positiveInteger or even chosen, say, as 2: fricas n:PositiveInteger Type: Void
fricas integrate(x^n*exp(-x^2/2), ... --None reply I think the idea that one should be able to "declare the type" of a
variable in FriCAS by the command
fricas n:PositiveInteger Type: Void
is a frequent expectation of new users of FriCAS - especially if one have used other computer algebra systems, after all FriCAS is supposed to be a "strongly typed" system, right? Certainly I was surprized (and disappointed) by FriCAS limitations in this regard. Unfortunately FriCAS 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 fricas n:PositiveInteger Type: Void
what this tells FriCAS is that To me, this is a tremedous waste of an opportunity in FriCAS 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 , while FriCAS signals error. fricas integrate(f(t), Currently conditional expressions are not supported. Axiom used to evaluate such examples using its internal order on expressions, which gave unexpected results. From users point of view the results were wrong. |