]> www.ginac.de Git - ginac.git/blobdiff - NEWS
some cleanups
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index b69ad3f6c125ff7911ec7aa783d760cfd4b8d434..276e9ccbb6f0ca40431ad2d125ca9ce080a7dd67 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,31 @@
 This file records noteworthy changes.
 
 0.9.1 (<date>)
-* Added remove_first() and remove_last() methods for lists.
-* Added symmetrize_cyclic().
+* 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).
+* 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