|
|
last edited 16 years ago by hemmecke |
1 | ||
Editor: hemmecke
Time: 2008/08/15 07:44:41 GMT-7 |
||
Note: |
changed: - This page gives a few comments about the expression domain 'Expression Integer' and the use of more specific domains. The 'Integer' in 'Expression Integer' is maybe misleading. Just think of 'Expression Integer' as something that makes panAxiom behave like a (nearly) untyped computer algebra system like Maple or Mathematica. Roughly speaking, you forget about all the type stuff. That's not totally true, but for a new user it is probably the best way to do the first steps just with (untyped) expressions. You can only appreciate all those different types if you do more advanced things in panAxiom. Types especially become important if one wants to implement a bigger library. One big difference for example is: In 'Expression Integer' it is undecidable whether an element is actually equal to zero. So if you say zero?(e) for some expresssion e you might get false although e can actually be simplified to zero. \begin{axiom} e: Expression Integer := sin(x)^2 -1 + cos(x)^2 zero? e simplify e \end{axiom} For more specialized domains like 'DMP([a,b], Integer)', the function zero? always returns what you expect.
This page gives a few comments about the expression domain Expression Integer
and the use of more specific domains.
The Integer
in Expression Integer
is maybe misleading.
Just think of Expression Integer
as something that makes panAxiom behave
like a (nearly) untyped computer algebra system like Maple or Mathematica.
Roughly speaking, you forget about all the type stuff. That's not totally true, but for a new user it is probably the best way to do the first steps just with (untyped) expressions.
You can only appreciate all those different types if you do more advanced things in panAxiom. Types especially become important if one wants to implement a bigger library.
One big difference for example is: In Expression Integer
it is
undecidable whether an element is actually equal to zero.
So if you say zero?(e) for some expresssion e you might get false
although e can actually be simplified to zero.
(1) -> e: Expression Integer := sin(x)^2 -1 + cos(x)^2
(1) |
zero? e
(2) |
simplify e
(3) |
For more specialized domains like 'DMP([a,b]?, Integer)', the function zero? always returns what you expect.