Speed up power::real_part() and power::imag_part().
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index c8b40f9cdf95c1444a45c9f1ab62afd43d6fe4ab..c8220f42de4429b1405336a775292a4de6011236 100644 (file)
--- a/NEWS
+++ b/NEWS
 This file records noteworthy changes.
 
-1.5.0 (<date>)
+1.6.5 (27 July 2015)
+* Fix pow(+(...),2).expand() where the sum contained roots of expressions.
+* Speed-up pow(+(...),n).expand() where n > 3.
+* Fix a crash in PolyLogs of rational numbers.
+
+1.6.4 (8 May 2015)
+* Fix pow(+(...),2).expand() where the sum contained roots of rationals.
+* Various improvements for info(info_flags::nonnegative).
+* Make power::expand() (x*p)^c -> x^c * p^c, if p>0.
+* Fix normal() where nested functions occur multiple times.
+* Add optional explicit derivatives to functions and use it in abs(),
+  imag_part(), real_part().
+* Evaluate abs(z)^(2n) -> z^n * conjugate(z)^n.
+
+1.6.3 (27 November 2014)
+* New expand_options::expand_transcendental. GiNaC will apply additional
+  rules when expanding expressions if this option is specified, i.e.
+  log(a*b) -> log(a) + log(b)
+  exp(a + b) -> exp(a)*exp(b)
+* Functions can define a custom expand() and info() now.
+* Automatically rewrite (x^{-1})^c -> x^{-c} for positive c.
+* Transform abs(x)^n -> x^n if x is real and n is even.
+* Improved power::info(): power with a real base and even exponent
+  reports that it's non-negative.
+* Fixed spurious match failure due to expairseq::match() bug:
+  > match(sin(y)*exp(b)+sin(x)*exp(a), sin($0)*exp(a)+exp(b)*sin($1))
+  FAIL
+* Fixed power::is_polynomial() and mul::is_polynomial() computation.
+* factor_univariate correctly handles polynomials over rationals (no
+  segfaults any more).
+* Fixed an infinite loop in factor_multivariate due to incorrect handling
+  of polynomials having a leading coefficient being a sum with a non-trivial
+  integer content.
+* Fixed numeric evaluation of generalized multiple polylogarithms for real
+  and negative argument.
+* Avoid calling log(1-x) in numeric evaluation of classical polylogarithm.
+* Fixed numeric evaluation of multiple polylogarithms (correctly set
+  the signs of the imaginary parts in the intermediate expression).
+* Fixed numeric evaluation of Nielsen polylogs for arguments close to
+  the 6th root of unity or its conjugate.
+* Avoid infinite recursion in series expansion of logarithm.
+* numeric::info(info_flags::nonnegative) correctly handles complex numbers
+  with non-zero imaginary part.
+* Fixed several build issues:
+  - libreadline and dlopen() misdetection.
+  - multiple definition of symbol on MinGW.
+  - auto* tools and texinfo being unhappy in various ways.
+* GiNaC can be built with CMake now.
+
+1.6.2 (6 November 2011)
+* Fixed the parser to read GiNaC::lst again.
+* Fixed a compile warning (relevant to openSUSE build).
+* Fixed a bug concerning the subsitutions in indexed expressions
+  (subs_options::no_index_renaming was ignored).
+
+1.6.1 (18 July 2011)
+* Fixed several internal assertions for the debug version of GiNaC.
+* More verbose report of (auto-)configuration problems.
+* Fixed a compile problem with ginsh using gcc 4.6.
+
+1.6.0 (22 May 2011)
+* Fixed compilation issues with clang.
+* Fixed compilation issues with VC++.
+* Fixed a segfault in fsolve() and improved its numerical algorithm.
+* Fixed several memory leaks in power::eval().
+* Fixed the substitution algorithm that led to wrong results (exp(log(x))->x).
+* Fixed a bug in add:eval() (real_part() had returned wrong results).
+* Fixed infinite loop bug when unarchiving realsymbol and possymbol.
+* Fixed bugs in the GCD code.
+* Fixed empty string bug in symbol::get_name().
+* Fixed bugs concerning STL vector sizes that can potentially cause segfaults.
+* Fixed a bug in is_polynomial().
+* Removed autogen dependencies.
+* Improved simplify_indexed() algorithm.
+* Changed the connection between library version and package version.
+* power::series() can handle now more expressions with singularities in the exponent.
+* Added conjugate() methods to functions cosh, sinh, tanh.
+
+1.5.8 (06 July 2010)
+* Changed default behaviour of conjugate() for user-defined functions to avoid
+  wrong evaluations. A user-defined conjugate_func must now be explicitly
+  registered.
+* Fixed: Parser now handles abbreviations as advertized in the manual.
+* Fixed two bugs in the GCD code (one infinite loop, one miscalculation).
+* Fixed dangerous iterator use.
+* Fixed a memory leak in excompiler.
+* Fixed several syntax issues wrt to gcc 4.5 and wrt to compile option -std=cxx0x.
+* Fixed a wrong URL and a texinfo problem in the manual.
+* Added degree_vector() utility function.
+
+1.5.7 (29 March 2010)
+* Fixed a bug in the GCD code (infinite loop in pgcd()).
+* Fixed a bug in atan2() (division by zero error for atan2(x,0) if x is a
+  negative and composite term).
+* Products now correctly set info_flags::negative and info_flags::negint.
+
+1.5.6 (28 January 2010)
+* Fixed compile problem with gcc 3.4.
+* Improved excompiler: The ginac-excompiler script will only be installed if
+  excompiler is supported and enabled.
+
+1.5.5 (04 November 2009)
+* Correct libtool versioning.
+
+1.5.4 (02 November 2009)
+* Default parser now can again read in user defined classes.
+* Add mul::info() and add::info() support for numeric info_flags (GiNaC now can
+  detect that the sum or product of a number of positive expressions is again a
+  positive expression).
+* Fixed cast that caused compile error on 64bit machines.
+* Fixed incorrect uses of STL iterators.
+* Removed subdirectory debian.
+* Output LaTeX-symbols using \mathrm, instead of \mbox.
+
+1.5.3 (30 July 2009)
+* The parser now understands user-defined functions by default. The identifier
+  names can now contain underscores.
+
+1.5.2 (10 July 2009)
+* Fixed documentation of return_type_info()
+* Fixed cstdio include issue.
+* GiNaC now requires at least version 1.2.2 of cln.
+
+1.5.1 (25 February 2009)
+* Fixed compiling problems with GNU g++ 3.4.
+* Work around weird C++ RTTI behaviour on woe32 so GiNaC works on MinGW again.
+
+1.5.0 (17 February 2009)
 * Added polynomial factorization.
-* Added an additional (recursive descent) expression parser.
+* New, faster (recursive descent) expression parser.
 * Faster GCD computation.
 * gcd() now allows the user to override (some of the) heuristics.
-* Replaced custum RTTI by standard C++ RTTI.
-* Definition of archiving methods now optional when declaring a new GiNaC class.
+* Writing extensions classes is simpler now:
+  - Replaced custom RTTI by standard C++ RTTI.
+  - Definition of archiving methods now optional when declaring a new GiNaC class.
 * Fixed recursion in polynomial divide that caused a significant slowdown in
   sqrfree().
 * Improved lsolve() of systems containing non-numeric coefficients.