]> www.ginac.de Git - ginac.git/blobdiff - NEWS
documentation update
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index d349c8fa083a54009dd58c74d4e63fbeff38f5c8..2d61835837ade60ae89b047ae7726ec7f5727912 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,65 @@
 This file records noteworthy changes.
 
-0.8.4 (<date>)
+0.9.2 (<insert date here>)
+* Epsilon tensor is more functional.
+
+0.9.1 (27 June 2001)
+* Ctors of class numeric are not explicit any more.  All built-in callers for
+  pseudofunctions are now templated and default to ex arguments which relaxes
+  the need for explicit ctors.
+* New functions/methods:
+   - find()
+   - remove_first(), remove_last(), sort() and unique() 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.
+* New option flag "expand_function_args" for expand().
+* 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) (c: numeric, p[x]: polynomial) erroneously returned p[x]
+  instead of c.
+* Small bugfixes in pattern matching.
+* Updated libtool to version 1.4.
+
+0.9.0 (7 June 2001)
+* In the output and in ginsh, lists are now delimited by { } braces, and
+  matrices are delimited by single [ ] brackets.
 * simplify_indexed() renames dummy indices so, e.g., "a.i*a.i+a.j*a.j" gets
-  simplified to "2*a.i*a.i".
-* Added canonicalize_clifford() function that can be helpful when comparing
-  expressions containing Dirac matrices.
-* Fixed possible crash when calling subs() on expressions with non-commutative
-  products.
+  simplified to "2*a.i*a.i" (or "2*a.j*a.j").
+* New functions/methods:
+   - canonicalize_clifford() (helpful when comparing expressions containing
+     Dirac matrices)
+   - symmetrize() and antisymmetrize()
+   - numer_denom() (return numerator and denominator in one call)
+   - map() (apply function to subexpressions)
+   - evalm() (evaluate sums, products and integer powers of matrices)
+* Added a new function match() for performing pattern matching. subs() and
+  has() also accept patterns as arguments. A pattern can be any expression,
+  optionally containing wildcard objects. These are constructed with the
+  call "wild(<unsigned>)" and are denoted as "$0", "$1" etc. in the output
+  and in ginsh.
+* Positive integer powers of non-commutative expressions (except matrices)
+  are automatically expanded.
+* Removed cint subdirectory, ginaccint is a separate package now due to 
+  packaging considerations.
+* Several little bugfixes.
 
 0.8.3 (11 May 2001)
 * color and clifford classes are functional and documented.
@@ -14,7 +67,7 @@ This file records noteworthy changes.
 * Predefined spinor metric tensor (created by spinor_metric()).
 * Symbols can have a LaTeX name, e.g. symbol s("s", "\\sigma");
 * LaTeX output of indexed objects is much nicer.
-* Fix some build-problems (with recent libreadline).
+* Fixed some build problems (with recent libreadline).
 * Semantics of arithmetic operators now follows the C++ rules more strictly.
 
 0.8.2 (24 April 2001)