]> www.ginac.de Git - ginac.git/blobdiff - NEWS
documentation update
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index b4bbbc0927260360bab808c6e6868264f2e202b2..858847136318b64c957ba81b28d832900bcc8bc8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,56 @@
 This file records noteworthy changes.
 
-0.7.3 (<date>)
-* Added a section to the tutorial about adding new algebraic classes to GiNaC
+0.8.1 (<date>)
+* degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() can now
+  be used with constants, functions and indexed expressions as well, so you
+  can use it to collect by powers of Pi or sin(x), or to find the coefficient
+  of gamma~0.
+  Limitations:
+   - it only works with symbols, constants, functions and indexed expressions;
+     trying to find the coefficient of, e.g., "x^2" or "x+y" won't work
+   - it does not know about dummy index summations; the coefficient of
+     gamma~0 in p.mu*gamma~mu should be p.0 but is returned as 0
+   - using coeff(), tcoeff(), lcoeff() or collect() on elements of
+     noncommutative products might return wrong or surprising results
+* subs() no longer only substitutes symbols and indices but performs a more
+  general "syntactic substitution", i.e. it substitutes whole objects in sub-
+  expressions. You can subs((a+b)^2,a+b==3) and get 9, but subs(a+b+c,a+b==3)
+  doesn't do anything.
+  Limitations:
+   - substituting numerics (subs(expr, 2==4)) will not replace then in all
+     occurences; in general, you shouldn't substitute numerics, though
+* Added preliminary (re)implementations of color and clifford classes.
+* simplify_indexed(): contraction of symmetric and antisymmetric tensors
+  is zero.
+* Replaced the various print*() member functions by a single print() that
+  takes a print_context object that determines the output formatting. This
+  should make it easier to add more output types.
+* Some bugfixes (indexed objects, archive writing).
+
+0.8.0 (24 March 2001)
+* Complete revamp of indexed objects. Instead of multiple classes for
+  indexed things and their indices there is now only one "indexed" class
+  and two types of indices: "idx" for simple indices and "varidx" for
+  indices with variance. There are predefined delta, epsilon and metric
+  tensors, and a function simplify_indexed() that performs canonicalization
+  and dummy index summations. Matrix objects can be indexed for doing simple
+  linear algebra.
+* Added an option "expand_indexed" to expand() to perform expansion of
+  indexed objects like (a+b).i -> a.i + b.i
+* Renamed get_indices() to get_free_indices(), which no longer returns
+  dummy indices and checks the consistency of indices in sums.
+* sqrfree() factorization fixed and improved syntactically.
+* subs() works on matrices.
+* Matrices can be constructed from flat list of elements; diagonal matrices
+  can be constructed from list of diagonal elements with diag_matrix().
+* Fixed memory leak in expand().
+* Operator% for objects of class ncmul has gone.  Use operator* now for that
+  case too, which is much more natural.
+
+0.7.3 (28 February 2001)
+* Several bugfixes and minor performance tunings.
+* Added a section to the tutorial about adding new algebraic classes to GiNaC.
+* Closed many in-source documentation gaps.
 
 0.7.2 (17 February 2001)
 * Several bugfixes in power series expansion, one of them critical.