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