This file records noteworthy changes. 0.6.3 (25 July 2000) * Derivatives are now assembled in a slightly different manner (i.e. they might 'look' different on first sight). Under certain circumstances this can result in a dramatic speedup because it gives hashing a better chance, especially when computing higher derivatives. * Some series expansions of built-in functions have been reengineered. * The algorithm for computing determinants can be chosen by the user. See ginac/flags.h and ginac/matrix.h. * The Dilogarithm (Li2) now has floating point evaluation, derivative and a proper series expansion. * Namespace 'std' cleanly disentangled, as demanded by ISO/EIC 14882-1998(E). * Some minor bugfixes, one major lsolve()-bugfix and documentation updates. 0.6.2 (21 June 2000) * ginaccint.bin is now launched by a binary program instead of by a scripts. This allows us to write #!-scripts. A small test suite for GiNaC-cint was added. * Several minor bugfixes. 0.6.1 (18 May 2000) * Cleanup in the interface to Cint. The required version is now Cint 5.14.38. * Several bugfixes in target install. 0.6.0 (11 May 2000) * IMPORTANT: Several interface changes make programs written with GiNaC much clearer but break compatibility with older versions: - f(x).series(x,p[,o]) -> f(x).series(x==p,o) - series(f(x),x,p[,o]) -> series(f(x),x==p,o) - gamma() -> tgamma() (The true Gamma function, there is now also log(tgamma()), called lgamma(), in accord with ISO/IEC 9899:1999.) - EulerGamma -> Euler * #include'ing ginac.h defines the preprocessor symbols GINACLIB_MAJOR_VERSION, GINACLIB_MINOR_VERSION, and GINACLIB_MICRO_VERSION with the respective GiNaC library version numbers. * Expressions can be constructed from strings like this: ex e("2*x+y", lst(x, y)); * ex::to_rational() provides a way to extend the domain of functions like gcd() and divide() that only work on polynomials or rational functions (the good old ex::subs() method reverses this process) * Calling diff() on a function that has no derivative defined returns the inert derivative function "Derivative". * Several new timings in the check target. Some of them may be rather rude at your machine, feel free to interrupt them. 0.5.4 (15 March 2000) * Some algorithms in class matrix (notably determinant) were replaced by less brain-dead ones and should now have much better performance. * Checks were completely reorganized and split up into three parts: a) exams (small regression tests with predefined input) b) checks (lenghty coherence checks with random input) c) timings (for coherence and crude benchmarking) * Behaviour of .evalf() was changed: it doesn't .evalf() any exponents. * Expanded expressions now remember they are expanded to prevent superfluous expansions. * Small bugfixes and improvements in the series expansion. 0.5.3 (23 February 2000) * A more flexible scheme for registering functions was implemented, allowing for remembering, too. * Some Bugfixes. 0.5.2 (16 February 2000) * Mainly fixes a bug in the packaging of release 0.5.1. 0.5.1 (14 February 2000) * Fixes a small number of bugs. 0.5.0 (7 February 2000) * Expressions can be written ("archived") to files and read therefrom. * Addition of GiNaC-cint, which lets you write complete programs in an interactive shell-like manner in your favoured programming language (i.e. C++). 0.4.1 (13 December 1999) * Series Expansion of Gamma function and some other trigonometric functions at their poles works now. * Many more evaluations of special functions at points where exact results exist. * info_flags::rational doesn't return true for complex extensions any more---use info_flags::crational for the old behaviour. info_flags::integer and -::cinteger work similarly, the same holds for types like info_flags::rational_polynomial. 0.4.0 (26 November 1999) * First public release.