* New functions/methods:
- remove_first() and remove_last() for lists
- symmetrize_cyclic()
+ - decomp_rational()
* Instead of just totally symmetric or antisymmetric, complex symmetries
can now be defined for indexed objects. Symmetries are described by a
tree of "symmetry" objects that is constructed with the sy_none(),
sy_symm(), sy_anti() and sy_cycl() functions. The symmetry of a function
with respect to its arguments can also be defined (this is currently
only used for the Beta function).
-* color_trace() and dirac_trace() can be applied to a more general class
- of expressions, e.g. using it on a relation will take the trace on both
- sides etc.
* Generalized map() to take a function object instead of a function pointer.
This allows passing an arbitrary number of additional state to the
function being called.
+* color_trace(), dirac_trace(), diff(), expand(), evalf() and normal() work
+ better with container classes, e.g. using color_trace() on a relation will
+ take the trace on both sides, using diff() on a matrix differentiates every
+ element etc.
+* diff() works properly with non-commutative products and indexed objects.
* Supplement some (now deprecated) macros by inlined template functions:
- is_of_type(foo, type) -> is_a<type>(foo)
- is_ex_of_type(foo, type) -> is_a<type>(foo)
- is_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)
- is_ex_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)
- ex_to_foobar(baz) -> ex_to<foobar>(baz)
+* rem(c, p[x], x) erroneously returned p[x] instead of c.
0.9.0 (7 June 2001)
* In the output and in ginsh, lists are now delimited by { } braces, and