Thu Nov 7 11:31:58 MET 2002 Hans Schoenemann interface to NTL (optional, recommended): tested with NTL 5.2, 5.3 bug fixes for multivariate factorization Tue Apr 10 15:24:49 CEST 2001 Hans Schoenemann several small bugs fixed (mostly memory leaks) changed copyright to GPL Tue Oct 28 14:46:08 1997 Jens Schmidt New features in Factory, version 1.3b: ====================================== Distribution and organization level: ------------------------------------ o The new external variable `factoryConfiguration' describes the configuration Factory has been translated with. o If configuring for cross compiling `configure' assumes that the target machine has arithmetic shift. o Parts of Factory are written using `folding-mode' for GNU Emacs. Since this is a really useful feature `folding.el' has been added to the distribution. o The new `make' target `installtest' in the top level `GNUmakefile' tests whether the installation has been successful. o The new directory `examples/' contains some example applications for Factory and a `GNUmakefile' to build them. Source code level: ------------------ o The main interface to Factory, the class `CanonicalForm' has been (almost completely) revised. During this process, a number of smaller bugs has been fixed (most of the bugs concerning some more or less exceptional cases). Furthermore, many of the methods became a little bit faster, some of them became a lot faster (e.g., the evaluation-`operator() ()' uses Horner's rule now, `degree( const & Variable )' and `deriv( const & Variable)' do not use expensive calls to `swapvar()' any longer). o In the same way, I have begun to revise the gcd calculations, but there is still is a lot of work to do. As a first result, gcd calculations over Z became faster (up to a factor of two for large examples). Other bug fixes: o A serious bug in `resultant()' has been fixed. o `gcd()' works correctly now for polynomials with rational coefficients. However, `factorize()' still does not, and you have to multiply with the common denominator before factorizing. o `psr( CF f, CF g, Var x )', `psq()', `psrq()' work correctly now if degree(f) < degree(g). However, they still do not work correctly if either in divisor or dividend occur variables with level higher than x's level. o A bug in `CanonicalForm::sqrt()' has been fixed which in some cases made `factorize()' crash. Changes: o If CO has not a denominator `CanonicalForm::den()' returns now the unity from the current domain, not the unity from the domain of CO. o `chineseRemainder()' works now for polynomials over Z instead for elements of Z only. o `cden()' computes the common denominator with respect to algebraic variables, too, so multiplying with `cden()' in any case results in an object with integral coefficients New features: o The new function `subResChain()' returns the extended subresultant chain of two polynomials. o The new function `replacevar()' replaces one variable with another. In contrast to `swapvar()', this works for algebraic variables, too. o The new function `size()' returns the number of monomials occuring in a `CanonicalForm'. o The new method `CanonicalForm::Lc()' returns the leading coefficient of CO, where elements from an algebraic extension are considered coefficients, and not polynomials. Thu Jul 17 10:15:59 1997 Jens Schmidt New features in Factory, version 1.3a: ====================================== Besides minor changes at "source code level" (bug fixes, new features) which are not really visible to the user in general there are quite a lot of changes at "organization level" (aka "preprocessor level") and at "distribution level" (`configure', `GNUmakefile'). Source code level: ------------------ o Serious bug in univariate factorization in characterstic 0 fixed (by Ruediger Stobbe). o New gcd algorithm (sparse modular), not fully tested by now (contributed by Marion Bruder). Switch on with `SW_USE_SPARSEMOD'. o Various minor bug fixes. Organization level: ------------------- o Factory translates now on Macintosh with Metroworks CodeWarrior Academic Pro 11 (changes by Wilfred Pohl) o So called "new" memory manager (written by Ruediger Stobbe) added to distribution. So far no timigs available which memory manager is faster. o "ASSERT", "DEBOUT", "TIMING macros" streamlined o Factory's IO completely re-organized (that was a mess!). It is now possible to switch off everything which is related to stream IO (use `--disbale-streamio' option to `configure'). This way it is possible to link Factory without `libg++.a' or `libiostream.a'. Changes include: - everything related to stream IO wrapped by `#ifndef NOSTREAMIO' - all error messages/debug output messages rewritten so that they use the "ASSERT" and "DEBOUT macros" - furthermore, it was necessary to change the way the GF(q) tables are read. As a consequence, the format of the GF(q) tables slightly changed, too. You have to generate/get them from net by new. Distribution level: ------------------- o The organization of the distribution as well as the compile/install procedure totally changed. It is now more GNU-like. See the `INSTALL' file and the `README' file for more information. o The file names of the template sources changed. To make them less canonical, all names are prefixed with `ftmpl_' ("Factory template") now. o The installation target directories and their structure changed a little bit. See the `INSTALL' file for more information. Before May 3 1997 Jens Schmidt New features in Factory, version 1.2c: ====================================== Version 1.2c is a more or less inofficial version distributed with Singular 1.0. I hope it does not distribute too far... The description of new features to version 1.3a cope the description of new features to this version.