X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=NEWS;h=858847136318b64c957ba81b28d832900bcc8bc8;hp=8c11cffc96ef9a4b3ffb9fbf601c3599f491374a;hb=19a488570556e2b4162a8dac4edaeb1c07c55145;hpb=6d383491ac7fdc612ebc15778a2db01dbc5660d6 diff --git a/NEWS b/NEWS index 8c11cffc..85884713 100644 --- a/NEWS +++ b/NEWS @@ -1,19 +1,51 @@ This file records noteworthy changes. -0.8.0 () +0.8.1 () +* 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. + 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.