Thu Nov  7 11:31:58 MET 2002  Hans Schoenemann <hannes@mathematik.uni-kl.de>
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 <hannes@mathematik.uni-kl.de>
several small bugs fixed (mostly memory leaks)
changed copyright to GPL

Tue Oct 28 14:46:08 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>

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  <schmidt@mathematik.uni-kl.de>

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  <schmidt@mathematik.uni-kl.de>

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.
