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