1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469
|
<Chapter Label="Changes from Earlier Versions">
<Heading>Changes from Earlier Versions</Heading>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="ChangesGAP43toGAP44">
<Heading>Changes between &GAP; 4.3 and &GAP; 4.4</Heading>
The main changes between &GAP; 4.3 and &GAP; 4.4 are:
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Subsection Label="Potentially Incompatible Changes">
<Heading>Potentially Incompatible Changes</Heading>
<List>
<Item>
The mechanism for the loading of Packages has changed to allow easier
updates independent of main &GAP; releases. Packages require a
file <F>PackageInfo.g</F> now. The new <F>PackageInfo.g</F> files are
available for all packages with the new version of GAP
(see <Ref BookName="Example" Label="PackageInfo.g"/>).
</Item>
<Item>
<Ref Oper="IsSimpleGroup" BookName="ref"/> returns false now for the trivial group.
</Item>
<Item>
<Ref Oper="PrimeBlocks" BookName="ref"/>: The output format has changed.
</Item>
<Item>
Division rings (see <Ref Filt="IsDivisionRing" BookName="ref"/>)
are now implemented as <Ref Filt="IsRingWithOne" BookName="ref"/>.
</Item>
<Item>
<Ref Oper="DirectSumOfAlgebras" Label="for two algebras" BookName="ref"/>:
<M>p</M>-th power maps are compatible with the input now.
</Item>
<Item>
The print order for polynomials has been changed.
</Item>
</List>
These changes are, in some respects, departures from our policy of
maintaining upward compatibility of documented functions between
releases. In the first case, we felt that the old behavior was
sufficiently inconsistent, illogical, and impossible to document that
we had no alternative but to change it. In the case of the package
interface, the change
was necessary to introduce new functionality. The planned and phased
removal of a few unnecessary functions or synonyms is needed to avoid
becoming buried in <Q>legacy</Q> interfaces, but we remain committed to
our policy of maintaining upward compatibility whenever sensibly possible.
<P/>
<List>
<Item>
Groebner Bases:
<P/>
Buchberger's algorithm to compute Groebner Bases has been implemented
in GAP. (A. Hulpke)
</Item>
<Item>
For large scale Groebner Basis computations there also is an interface
to the Singular system available in the
<URL>
<Link>http://www.gap-system.org/Packages/singular.html</Link>
<LinkText><Package>Singular</Package></LinkText>
</URL>
package. (M. Costantini and W. de Graaf)
</Item>
<Item>
New methods for factorizing polynomials over algebraic extensions of
the rationals have been implemented in GAP. (A. Hulpke)
</Item>
<Item>
For more functionality to compute with algebraic number fields there
is an interface to the Kant system available in the
<URL>
<Link>http://www.gap-system.org/Packages/alnuth.html</Link>
<LinkText><Package>Alnuth</Package></LinkText>
</URL>
package. (B. Assmann and B. Eick)
</Item>
<Item>
A new functionality to compute the minimal normal subgroups
of a finite group, as well as its socle, has been installed.
(B. Höfling)
</Item>
<Item>
A fast method for recognizing whether a permutation group is symmetric
or alternating is available now (A. Seress)
</Item>
<Item>
A method for computing the Galois group of a rational polynomial is
available again. (A. Hulpke)
</Item>
<Item>
The algorithm for <Ref Attr="BrauerCharacterValue" BookName="ref"/>
has been extended to the case where the splitting field is not
supported in &GAP;. (T. Breuer)
</Item>
<Item>
Brauer tables of direct products can now be constructed from the
known Brauer tables of the direct factors. (T. Breuer)
</Item>
<Item>
Basic support for vector spaces of rational functions and of uea
elements is available now in &GAP;. (T. Breuer and W. de Graaf)
</Item>
<Item>
Various new functions for computations with integer matrices are
available, such as methods for computing normal forms of integer
matrices as well as nullspaces or solutions systems of equations.
(W. Nickel and F. Gähler)
</Item>
</List>
</Subsection>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Subsection Label="New Packages">
<Heading>New Packages</Heading>
The following new Packages have been accepted.
<P/>
<List>
<Item>
<URL>
<Link>http://www.gap-system.org/Packages/alnuth.html</Link>
<LinkText>
<Package>Alnuth</Package>: Algebraic Number Theory and an interface to the Kant system.
</LinkText>
</URL>
By B. Assmann and B. Eick.
</Item>
<Item>
<URL>
<Link>http://www.gap-system.org/Packages/laguna.html</Link>
<LinkText>
<Package>LAGUNA</Package>: Computing with Lie Algebras and Units of Group Algebras.
</LinkText>
</URL>
By V. Bovdi, A. Konovalov, R. Rossmanith, C. Schneider.
</Item>
<Item>
<URL>
<Link>http://www.gap-system.org/Packages/nq.html</Link>
<LinkText>
<Package>NQ</Package>: The ANU Nilpotent Quotient Algorithm.
</LinkText>
</URL>
By W. Nickel.
</Item>
<Item>
<URL>
<Link>http://www.gap-system.org/Packages/kbmag.html</Link>
<LinkText>
<Package>KBMAG</Package>: Knuth-Bendix for Monoids and Groups.
</LinkText>
</URL>
By D. Holt.
</Item>
<Item>
<URL>
<Link>http://www.gap-system.org/Packages/polycyclic.html</Link>
<LinkText>
<Package>Polycyclic</Package>: Computation with polycyclic groups.
</LinkText>
</URL>
By B. Eick and W. Nickel.
</Item>
<Item>
<URL>
<Link>http://www.gap-system.org/Packages/quagroup.html</Link>
<LinkText>
<Package>QuaGroup</Package>: Computing with Quantized Enveloping Algebras.
</LinkText>
</URL>
By W. de Graaf.
</Item>
</List>
</Subsection>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Subsection Label="Performance Enhancements">
<Heading>Performance Enhancements</Heading>
<List>
<Item>
The computation of irreducible representations and irreducible
characters using the Baum-Clausen algorithm and the implementation of
the Dixon-Schneider algorithm have been speeded up.
</Item>
<Item>
The algorithm for <Ref Oper="PossibleClassFusions" BookName="ref"/>
has been changed: the efficiency is improved and a new criterion is used.
The algorithm for <Ref Oper="PossibleFusionsCharTableTom" BookName="ref"/>
has been speeded up. The method for <Ref Oper="PrimeBlocks" BookName="ref"/>
has been improved following a suggestion of H. Pahlings.
</Item>
<Item>
New improved methods for normalizer and subgroup conjugation in <M>S_n</M>
have been installed and new improved methods for
<Ref Filt="IsNaturalSymmetricGroup" BookName="ref"/> and
<Ref Filt="IsNaturalAlternatingGroup" BookName="ref"/> have been
implemented. These improve the available methods when groups of large
degrees are given.
</Item>
<Item>
The partition split method used in the permutation backtrack is now
in the kernel. Transversal computations in large permutation groups
are improved. Homomorphisms from free groups into permutation groups
now give substantially shorter words for preimages.
</Item>
<Item>
The membership test in
<Ref Func="SP" Label="for dimension and field size" BookName="ref"/>
and <Ref Func="SU" BookName="ref"/> groups has been improved using
the invariant forms underlying these groups.
</Item>
<Item>
An improvement for the cyclic extension method for the computation of
subgroup lattices has been implemented.
</Item>
<Item>
A better method for <Ref Oper="MinimalPolynomial" BookName="ref"/> for
finite field matrices has been implemented.
</Item>
<Item>
The display has changed and the arithmetic of multivariate polynomials
has been improved.
</Item>
<Item>
The <Ref Func="LogMod" BookName="ref"/> function now uses Pollard's rho method
combined with the Pohlig/Hellmann approach.
</Item>
<Item>
Various functions for sets and lists have been improved following
suggestions of L. Teirlinck. These include: <Ref Oper="Sort" BookName="ref"/>,
<Ref Oper="Sortex" BookName="ref"/>, <Ref Oper="SortParallel" BookName="ref"/>,
<Ref Attr="SortingPerm" BookName="ref"/>, <Ref Func="NrArrangements" BookName="ref"/>.
</Item>
<Item>
The methods for <Ref Attr="StructureConstantsTable" BookName="ref"/> and
<Ref Func="GapInputSCTable" BookName="ref"/> have been improved in the case of a
known (anti-) symmetry following a suggestion of M. Costantini.
</Item>
</List>
<P/>
The improvements listed in this Section have been implemented by T. Breuer
and A. Hulpke.
</Subsection>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Subsection Label="New Programming and User Features">
<Heading>New Programming and User Features</Heading>
<List>
<Item>
The 2GB limit for workspace size has been removed and version numbers for
saved workspaces have been introduced. (S. Linton and B. Höfling)
</Item>
<Item>
The limit on the total number of types created in a session
has been removed. (S. Linton)
</Item>
<Item>
There is a new mechanism for loading packages available.
Packages need a file <F>PackageInfo.g</F> now. (T. Breuer and
F. Lübeck; see <Ref BookName="Example" Label="PackageInfo.g"/>).
</Item>
</List>
<P/>
Finally, as always, a number of bugs have been fixed. This release thus
incorporates the contents of all the bug fixes which were released for
&GAP; 4.3. It also fixes a number of bugs discovered since the last bug fix.
</Subsection>
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Earlier Changes">
<Heading>Earlier Changes</Heading>
The most important changes between &GAP; 4.2 and &GAP; 4.3 were:
<P/>
<List>
<Item>
The performance of several routines has been substantially improved.
</Item>
<Item>
The functionality in the areas of finitely presented groups, Schur covers
and the calculation of representations has been extended.
</Item>
<Item>
The data libraries of transitive groups, finite integral matrix groups,
character tables and tables of marks have been extended.
</Item>
<Item>
The Windows installation has been simplified for the case where you
are installing &GAP; in its standard location.
</Item>
<Item>
Many bugs have been fixed.
<P/>
</Item>
</List>
<P/>
The most important changes between &GAP; 4.1 and &GAP; 4.2 were:
<P/>
<List>
<Item>
A much extended and improved library of small groups as well as
associated <Ref Attr="IdGroup" BookName="ref"/> routines.
</Item>
<Item>
The primitive groups library has been made more independent of the
rest of &GAP;, some errors were corrected.
</Item>
<Item>
New (and often much faster) infrastructure for orbit computation, based on a
general <Q>dictionary</Q> abstraction.
</Item>
<Item>
New functionality for dealing with representations of algebras, and
in particular for semisimple Lie algebras.
</Item>
<Item>
New functionality for binary relations on arbitrary sets, magmas and
semigroups.
</Item>
<Item>
Bidirectional streams, allowing an external process to be started and then
controlled <Q>interactively</Q> by &GAP;
</Item>
<Item>
A prototype implementation of algorithms using general subgroup chains.
</Item>
<Item>
Changes in the behavior of vectors over small finite fields.
</Item>
<Item>
A fifth book <Q>New features for Developers</Q> has been added to the &GAP; manual.
</Item>
<Item>
Numerous bug fixes and performance improvements
</Item>
</List>
<P/>
The changes between the final release of &GAP; 3 (version 3.4.4) and
&GAP; 4 are wide-ranging. The general philosophy of the
changes is two-fold. Firstly, many assumptions in the design of
&GAP; 3 revealed its authors' primary interest in group theory, and
indeed in finite group theory. Although much of the &GAP; 4 library
is concerned with groups, the basic design now allows extension to
other algebraic structures, as witnessed by the inclusion of
substantial bodies of algorithms for computation with semigroups and
Lie algebras. Secondly, as the scale of the system, and the number of
people using and contributing to it has grown, some aspects of the
underlying system have proved to be restricting, and these have been
improved as part of comprehensive re-engineering of the system. This
has included the new method selection system, which underpins the
library, and a new, much more flexible, &GAP; package interface.
<P/>
Details of these changes can be found in the document
<Q>Migrating to GAP 4</Q> available at the &GAP; website,
see <URL>http://www.gap-system.org/Gap3/migratedoc.pdf</URL>.
<P/>
It is perhaps worth mentioning a few points here.
<P/>
Firstly, much remains unchanged, from the perspective of the mathematical
user:
<P/>
<List>
<Item>
The syntax of that part of the &GAP; language that most users need
for investigating mathematical problems.
<P/>
</Item>
<Item>
The great majority of function names.
<P/>
</Item>
<Item>
Data libraries and the access to them.
</Item>
</List>
<P/>
A number of visible aspects have changed:
<P/>
<List>
<Item>
Some function names that need finer specifications now that there are
more structures available in &GAP;.
</Item>
<Item>
The access to information already obtained about a mathematical
structure. In &GAP; 3 such information about a group could be looked
up by directly inspecting the group record, whereas in &GAP; 4
functions must be used to access such information.
</Item>
</List>
<P/>
Behind the scenes, much has changed:
<P/>
<List>
<Item>
A new kernel, with improvements in memory management and in
the language interpreter, as well as new features such as saving of
workspaces and the possibility of compilation of &GAP; code into C.
</Item>
<Item>
A new structure to the library, based upon a new type and
method selection system, which is able to support a broader range of
algebraic computation and to make the structure of the library simpler
and more modular.
</Item>
<Item>
New and faster algorithms in many mathematical areas.
</Item>
<Item>
Data structures and algorithms for new mathematical objects, such as
algebras and semigroups.
</Item>
<Item>
A new and more flexible structure for the &GAP; installation
and documentation, which means, for example, that a &GAP; package and
its documentation can be installed and be fully usable without any changes
to the &GAP; system.
</Item>
</List>
<P/>
Very few features of &GAP; 3 are not yet available in &GAP; 4.
<P/>
<List>
<Item>
Not all of the &GAP; 3 packages have yet been converted
for use with &GAP; 4.
</Item>
<Item>
The library of crystallographic groups which was present in
&GAP; 3 is now part of a &GAP; 4 package
<URL>
<Link>http://www.gap-system.org/Packages/crystcat.html</Link>
<LinkText>
<Package>CrystCat</Package>
</LinkText>
</URL>
by V. Felsch and F. Gähler.
</Item>
</List>
</Section>
</Chapter>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %E -->
|