]> www.ginac.de Git - ginac.git/blobdiff - NEWS
added missing files
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index 2f9969a28359e7b9dfa638ccab075aa38cffe24d..0bc2945209d5995f1c0fe5aa8fe065480c17f4b7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,32 @@
 This file records noteworthy changes.
 
+1.2.3 (<date>)
+* Added variants of dirac_trace() and color_trace() that take the trace over
+  more than one representation label by specifying a set or list of labels.
+* diracgamma::contract_with() uses Chisholm identities in 4 dimensions to
+  produce more compact results.
+* The --enable-html-doc and --enable-ps-doc configure options are gone.
+  Documentation in HTML, DVI, PostScript, and PDF formats is now built with
+  "make html", "make dvi", "make ps", and "make pdf", respectively. The only
+  documentation that gets built by default are the tutorial in .info format
+  and the manpages.
+
+1.2.2 (3 August 2004)
+* Added const_preorder_iterator and const_postorder_iterator classes (and
+  associated methods ex::pre/postorder_begin/end()) providing tree traversal
+  with iterators.
+* Fixed the LaTeX output of the varidx class.
+* Fixed bugs in series expansion and complex conjugation.
+* (p.i*p.i).get_free_indices() returns the correct result () instead of (.i).
+* Symbolic functions without any eval(), evalf() etc. functions now work
+  properly.
+* integer_content(), content(), and primpart() now also work for polynomials
+  with rational coefficients (calculating the LCM of coefficients'
+  denominators).
+* Added method matrix::rank().
+* Added function resultant().
+* Added integer_content() function to ginsh.
+
 1.2.1 (23 April 2004)
 * Fixed infinite recursion in atan2_evalf() and improved atan2_eval().
 * Added automatic evaluations for trigonometric functions with negative
@@ -290,8 +317,8 @@ This file records noteworthy changes.
 * 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)
+  - is_exactly_of_type(foo, type) -> is_exactly_a<type>(foo)
+  - is_ex_exactly_of_type(foo, type) -> is_exactly_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.