]> www.ginac.de Git - ginac.git/blobdiff - NEWS
Added new pseries exam
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index 69cfd902ebf41dcf0b9503bdce87feefe080bd80..c882f7876b4fcb9a61bef830e2c009797a8f7ade 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,33 @@
 This file records noteworthy changes.
 
-1.2.1 (<insert date>)
+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.
+
+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
   arguments (e.g. sin(-2) -> -sin(2)).
 * Fixed a static initialization order goof-up.
+* Fixed various bugs in series expansion.
 
 1.2.0 (19 March 2004)
 * Added a structure<T> template class for the easy creation of user-defined
@@ -289,8 +312,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.