[ccf43d5] | 1 | Tue Apr 10 15:24:49 CEST 2001 Hans Schoenemann <hannes@mathematik.uni-kl.de> |
---|
| 2 | several small bugs fixed (mostly memory leaks) |
---|
| 3 | changed copyright to GPL |
---|
| 4 | |
---|
[fae4cb9] | 5 | Tue Oct 28 14:46:08 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de> |
---|
| 6 | |
---|
| 7 | New features in Factory, version 1.3b: |
---|
| 8 | ====================================== |
---|
| 9 | Distribution and organization level: |
---|
| 10 | ------------------------------------ |
---|
| 11 | o The new external variable `factoryConfiguration' describes the |
---|
| 12 | configuration Factory has been translated with. |
---|
| 13 | o If configuring for cross compiling `configure' assumes that the target |
---|
| 14 | machine has arithmetic shift. |
---|
| 15 | o Parts of Factory are written using `folding-mode' for GNU Emacs. Since |
---|
| 16 | this is a really useful feature `folding.el' has been added to the |
---|
| 17 | distribution. |
---|
| 18 | o The new `make' target `installtest' in the top level `GNUmakefile' tests |
---|
| 19 | whether the installation has been successful. |
---|
| 20 | o The new directory `examples/' contains some example applications for |
---|
| 21 | Factory and a `GNUmakefile' to build them. |
---|
| 22 | |
---|
| 23 | Source code level: |
---|
| 24 | ------------------ |
---|
| 25 | o The main interface to Factory, the class `CanonicalForm' has been (almost |
---|
| 26 | completely) revised. During this process, a number of smaller bugs has |
---|
| 27 | been fixed (most of the bugs concerning some more or less exceptional |
---|
| 28 | cases). Furthermore, many of the methods became a little bit faster, |
---|
| 29 | some of them became a lot faster (e.g., the evaluation-`operator() ()' uses |
---|
| 30 | Horner's rule now, `degree( const & Variable )' and `deriv( const & |
---|
| 31 | Variable)' do not use expensive calls to `swapvar()' any longer). |
---|
| 32 | o In the same way, I have begun to revise the gcd calculations, but there is |
---|
| 33 | still is a lot of work to do. As a first result, gcd calculations over Z |
---|
| 34 | became faster (up to a factor of two for large examples). |
---|
| 35 | |
---|
| 36 | Other bug fixes: |
---|
| 37 | o A serious bug in `resultant()' has been fixed. |
---|
| 38 | o `gcd()' works correctly now for polynomials with rational coefficients. |
---|
| 39 | However, `factorize()' still does not, and you have to multiply with the |
---|
| 40 | common denominator before factorizing. |
---|
| 41 | o `psr( CF f, CF g, Var x )', `psq()', `psrq()' work correctly now if |
---|
| 42 | degree(f) < degree(g). However, they still do not work correctly if |
---|
| 43 | either in divisor or dividend occur variables with level higher than |
---|
| 44 | x's level. |
---|
| 45 | o A bug in `CanonicalForm::sqrt()' has been fixed which in some cases made |
---|
| 46 | `factorize()' crash. |
---|
| 47 | |
---|
| 48 | Changes: |
---|
| 49 | o If CO has not a denominator `CanonicalForm::den()' returns now the unity |
---|
| 50 | from the current domain, not the unity from the domain of CO. |
---|
| 51 | o `chineseRemainder()' works now for polynomials over Z instead for elements |
---|
| 52 | of Z only. |
---|
| 53 | o `cden()' computes the common denominator with respect to algebraic |
---|
| 54 | variables, too, so multiplying with `cden()' in any case results in an |
---|
| 55 | object with integral coefficients |
---|
| 56 | |
---|
| 57 | New features: |
---|
| 58 | o The new function `subResChain()' returns the extended subresultant chain |
---|
| 59 | of two polynomials. |
---|
| 60 | o The new function `replacevar()' replaces one variable with another. In |
---|
| 61 | contrast to `swapvar()', this works for algebraic variables, too. |
---|
| 62 | o The new function `size()' returns the number of monomials occuring in a |
---|
| 63 | `CanonicalForm'. |
---|
| 64 | o The new method `CanonicalForm::Lc()' returns the leading coefficient of |
---|
| 65 | CO, where elements from an algebraic extension are considered |
---|
| 66 | coefficients, and not polynomials. |
---|
| 67 | |
---|
[4f5901] | 68 | Thu Jul 17 10:15:59 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de> |
---|
| 69 | |
---|
| 70 | New features in Factory, version 1.3a: |
---|
| 71 | ====================================== |
---|
[fae4cb9] | 72 | Besides minor changes at "source code level" (bug fixes, new features) |
---|
[4f5901] | 73 | which are not really visible to the user in general there are quite a lot |
---|
[fae4cb9] | 74 | of changes at "organization level" (aka "preprocessor level") and at |
---|
| 75 | "distribution level" (`configure', `GNUmakefile'). |
---|
[4f5901] | 76 | |
---|
| 77 | |
---|
| 78 | Source code level: |
---|
| 79 | ------------------ |
---|
| 80 | o Serious bug in univariate factorization in characterstic 0 fixed (by |
---|
[e9fb31] | 81 | Ruediger Stobbe). |
---|
[4f5901] | 82 | |
---|
[e9fb31] | 83 | o New gcd algorithm (sparse modular), not fully tested by now (contributed |
---|
[fae4cb9] | 84 | by Marion Bruder). Switch on with `SW_USE_SPARSEMOD'. |
---|
[4f5901] | 85 | |
---|
| 86 | o Various minor bug fixes. |
---|
| 87 | |
---|
| 88 | |
---|
| 89 | Organization level: |
---|
| 90 | ------------------- |
---|
[88f1ee3] | 91 | o Factory translates now on Macintosh with Metroworks |
---|
[4f5901] | 92 | CodeWarrior Academic Pro 11 (changes by Wilfred Pohl) |
---|
| 93 | |
---|
[fae4cb9] | 94 | o So called "new" memory manager (written by Ruediger Stobbe) added to |
---|
[e9fb31] | 95 | distribution. So far no timigs available which memory manager is faster. |
---|
[4f5901] | 96 | |
---|
[fae4cb9] | 97 | o "ASSERT", "DEBOUT", "TIMING macros" streamlined |
---|
[4f5901] | 98 | |
---|
| 99 | o Factory's IO completely re-organized (that was a mess!). It is now |
---|
| 100 | possible to switch off everything which is related to stream IO (use |
---|
[fae4cb9] | 101 | `--disbale-streamio' option to `configure'). This way it is possible to |
---|
| 102 | link Factory without `libg++.a' or `libiostream.a'. Changes include: |
---|
[4f5901] | 103 | |
---|
[fae4cb9] | 104 | - everything related to stream IO wrapped by `#ifndef NOSTREAMIO' |
---|
[e9fb31] | 105 | - all error messages/debug output messages rewritten so that they use the |
---|
[fae4cb9] | 106 | "ASSERT" and "DEBOUT macros" |
---|
[4f5901] | 107 | - furthermore, it was necessary to change the way the GF(q) tables are |
---|
| 108 | read. As a consequence, the format of the GF(q) tables slightly |
---|
| 109 | changed, too. You have to generate/get them from net by new. |
---|
| 110 | |
---|
| 111 | |
---|
| 112 | Distribution level: |
---|
| 113 | ------------------- |
---|
| 114 | o The organization of the distribution as well as the compile/install |
---|
[fae4cb9] | 115 | procedure totally changed. It is now more GNU-like. See the `INSTALL' |
---|
| 116 | file and the `README' file for more information. |
---|
[4f5901] | 117 | |
---|
| 118 | o The file names of the template sources changed. To make them less |
---|
[fae4cb9] | 119 | canonical, all names are prefixed with `ftmpl_' ("Factory template") now. |
---|
[4f5901] | 120 | |
---|
| 121 | o The installation target directories and their structure changed a little |
---|
[fae4cb9] | 122 | bit. See the `INSTALL' file for more information. |
---|
[4f5901] | 123 | |
---|
| 124 | |
---|
[88f1ee3] | 125 | |
---|
[4f5901] | 126 | Before May 3 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de> |
---|
| 127 | |
---|
| 128 | New features in Factory, version 1.2c: |
---|
| 129 | ====================================== |
---|
| 130 | Version 1.2c is a more or less inofficial version distributed with |
---|
[88f1ee3] | 131 | Singular 1.0. I hope it does not distribute too far... The description of |
---|
[4f5901] | 132 | new features to version 1.3a cope the description of new features to this |
---|
| 133 | version. |
---|