X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=NEWS;h=13d6253997974a5f15a19d5bc4a05c11255653ed;hp=5c8aeb700072cd9af18bf8beeaf7af6c998efbb4;hb=68fdf425abf14d016d5f95ee7b9d06a19a3c5926;hpb=9b22ae81d94c3b3bf74614e32a80fec0cd3eb28e diff --git a/NEWS b/NEWS index 5c8aeb70..13d62539 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,97 @@ This file records noteworthy changes. +1.2.0 () +* Added a structure template class for the easy creation of user-defined + algebraic classes. +* Many internal reorganizations and optimizations. +* Caveats for class implementors: + - basic::copy() and basic::destroy() are gone; classes derived from + basic can use the defaults for the assignment operator and copy + constructor. + - basic::subs() now descends into subexpressions (if accessible via + nops()/op()/let_op()). If you have a custom implementation of subs() + that calls basic::subs() after substituting subexpressions, this needs + to be changed to a call to subs_one_level(). + +1.1.0 (3 April 2003) +* Removed deprecated macros is_ex_a, is_ex_exactly_a and friends for good. +* The scalar_products mechanism allows the specification of an index dimension. +* Removed dirac_gamma6/7(). +* Added ex::to_polynomial(). +* subs() accepts an optional "options" argument. The option + subs_option::subs_algebraic enables "smart" substitutions in products and + powers. +* Added stream manipulators "dflt", "latex", "python", "python_repr", "tree", + "csrc", "csrc_float", "csrc_double", "csrc_cl_N", "index_dimensions" and + "no_index_dimensions" to control the output format. Calling basic::print() + directly is now deprecated. +* Made the hashing more simple and efficient. +* Caveats for class implementors: + - basic::subs(): third argument changed from "bool" to "unsigned" + - unarchiving constructor and basic::unarchive(): "const" removed from + second argument + - basic::let_op() should only be implemented if write access to + subexpressions is desired + - simplify_ncmul() renamed to eval_ncmul() + - simplified_ncmul() renamed to hold_ncmul() + - nonsimplified_ncmul() renamed to reeval_ncmul() + +1.0.14 (1 March 2003) +* Improved the C-source output: complex numbers are printed correctly (using + the STL complex<> template or cln::complex()), rational numbers use cl_RA() + in the CLN output, and small integers are printed in a more compact format + (e.g. "2.0" instead of "2.0000000e+00"). +* function_options::set_return_type() and function_options::do_not_evalf_params() + now actually work. + +1.0.13 (27 January 2003) +* Contracting epsilon tensors with Euclidean indices now works. +* Improved dummy index symmetrization in sums. +* Added dirac_gammaL/R(), which can be used instead of dirac_gamma6/7() + but are single objects, to allow for a more compact notation of Dirac + strings. +* Powers with negative numeric exponents are printed as fractions in the + LaTeX output. +* Added symbolic_matrix() for the convenient creation of matrices filled + with symbols. +* Added collect_common_factors() which collects common factors from the + terms of sums. +* simplify_indexed() converts "gamma~mu*p.mu" to "p\". + +1.0.12 (30 October 2002) +* Fixed a bug in power::expand() that could produce invalid expressions. +* The input parser no longer ignores extra data following accepted input. +* Improved the CLN C-source output (integers are printed as integers, and + floating point numbers include the precision). +* Fixed a problem in the LaTeX-output of negative fractions. +* Added print_latex() and print_csrc() to ginsh. +* The sprem() function is now public. + +1.0.11 (18 September 2002) +* Fixed a possible memory corruption in contractions of indexed objects with + delta or metric tensors. +* Computing the derivative of a power series object with respect to a symbol + that is not the expansion variable now works correctly. +* Several bugfixes in code generation. + +1.0.10 (24 July 2002) +* Powers of indexed objects are now parenthesized correctly in LaTeX output. +* Input parser handles indices (they have to be specified in the same list + as the symbols). +* Added some limited support for subspaces in the idx and tensor classes. +* Fixed a bug in canonicalize() (antisymmetric canonicalization of an already + sorted list containing two or more equal objects failed to return 0). + +1.0.9 (11 June 2002) +* simplify_indexed() now raises/lowers dummy indices to canonicalize the index + variance. This allows some simplifications that weren't possible before, + like eps~a.b~c~d*X.a*X~b -> 0 and X.a~a-X~a.a -> 0. +* Implemented relational::subs(). +* Fixed bug in simplify_ncmul() for clifford objects. + +1.0.8 (31 March 2002) +* Improvements in memory usage of the expand() methods. + 1.0.7 (18 March 2002) * Fixed LaTeX output of indexed and matrix objects. * Fixed matrix::pow(n) for n==0 and added helper functions to create unit