# Changelog of the Package Cryst

### Version 4.1.32

- Fixed AffineNormalizer, which returned a proper subgroup of the affine normalizer for some space groups (e.g. Pc), because the stabilizer computation used incomplete Schreier generators (thanks to lan496 for reporting, and to fingolfin for fixing).
- Converted manual to GAPDoc (thanks to fingolfin for the conversion).

### Version 4.1.31

- Fixed a bug in RepresentativeAction for affine cryst groups, due to incorrect handling of empty list of point group generators (thanks to kiryph for reporting).

### Version 4.1.30

Fixed a regression in WyckoffPositions (thanks to kiryph for reporting).

### Version 4.1.29

- Fix an inconsistent numbering of stabilizer classes of WyckoffPositions (thanks to Bernard Field for analyzing and reporting).
- Replaced an incorrect implementation of IsSymmorphicSpaceGroup by a correct one (thanks to Hongyi Zhao for analyzing and reporting).

### Version 4.1.28

- Standardized Wyckoff position representation, which is now stable across GAP versions.
- Adaptions to new treatment of rational matrix groups (we need the polenta package now).

### Version 4.1.27

- Fixed incomplete conjugation of Wyckoff positions (thanks to Bernard Field and Max Horn).

### Version 4.1.26

- Bugfix in SolveInhomEquationsModZ.
- Bugfix in \< for affince cryst groups.
- Catch the case of a trivial point group in ConjugatorSpaceGroups.
- Corrected the documentation regarding conjugation of space groups.

### Version 4.1.25

- Improved documentation conversion and formatting.

### Version 4.1.24

- Catch another trivial case in IntSolutionMat.
- Turn RowEchelonForm into an attribute, to make it read-only.
- Switch to GitHub Actions CI.
- Test CrystCat functionality only when CrystCat is available.

### Version 4.1.23

- Make Cryst work at assertion level 2.

### Version 4.1.22

- Adjustments due to name change from Carat to CaratInterface.

### Version 4.1.21

- Make silent assumption on pcgs in MaximalSubgroupRepsSG explicit.
- Fixed bug in WyckoffPositions. Some Wyckoff positions were listed more than once, due to improper normalization of the representative affine subspace.

### Version 4.1.20

- Catch trivial case before calling IsDiagonalMat.

### Version 4.1.19

- Compatibility fixes for GAP 4.11.

### Version 4.1.18

- Fixed trivial changes in output of a manual example and several test examples.

### Version 4.1.17

- Bug in ConjugatorSpaceGroups fixed.

### Version 4.1.16

- Bug in ImagesRepresentative for isomorphism to PcpGroup fixed.
- Bug in kernel of PointHomomorphism for left-acting group fixed.
- Bugs in Centralizer and CanonicalRightCosetElement fixed.
- Test files with better code coverage.

### Version 4.1.15

- PackageInfo record corrected.

### Version 4.1.14

- Corrected incompatible standardizations of affine subspaces.
- Added various testfiles.

### Version 4.1.13

- Fixed a bug in ImagesRepresentative for IsFromAffineCrystGroupToPcpGroup.

### Version 4.1.12

- Fixed a bug in RepresentativeAction for AffineCrystGroups.

### Version 4.1.11

- Fixed a bug in the conjugation of left-acting AffineCrystGroups.
- Changed outdated RequirePackage in manual.

### Version 4.1.10

- Fixed file permissions.

### Version 4.1.9

- Minor Update

### Version 4.1.8

- Bugfix in AffineNormalizer

### Version 4.1.7

- Adapted to GAP 4.5

### Version 4.1.6

- TranslationBasis for trivial point group fixed.
- Bug in ImagesRepresentative for IsomorphismFpGroup of an AffineCrystGroupOnLeft fixed.
- Multiplication with empty matrix in WyckoffPositions fixed.
- Membership test in AffineCrystGroups improved.

### Version 4.1.5

- Incomplete translation basis fixed.

### Version 4.1.4

- Two instances of multiplying an empty list with a matrix fixed

### Version 4.1.3

- Mutability problem fixed

### Version 4.1.2

- File manual.toc added

### Version 4.1.1

- Online help should now work for all functions.
- Fixed several manual examples changed output or wrong input.
- Avoided some multiplications of an empty list with a matrix.
- Support for new package loading mechanism in GAP 4.4

### Version 4.1

- Name change from CrystGAP (or CrystGap) to just Cryst. This avoids confusion, as even CrystGAP was always loaded as "cryst".
- A second algorithm for the computation of Wyckoff positions (due to Ad Thiers) has been implemented. It avoids the computation of a subgroup lattice, and is faster in small dimensions. It is used by default for dimensions <= 4. The two available algorithms can be called directly using the functions
  `WyPosAT( S );` # algorithm due to Ad Thiers
  `WyPosSGL( S );` # algorithm using the subgroup lattice
  These functions are still undocumented.
- A bug in WyckoffGraph was fixed. The labels of the lines in the graph were not what was intended, and the manual was even selfcontradictory in this respect. This required code for intersections of affine subspace lattices, and a better subset test for affine subspace lattices. These are still undocumented.
- The function ConjugatorSpaceGroups is now documented.
- Cryst now tries to load the package polycyclic, and then installs methods for IsomorphismPcpGroup for PointGroups and AffineCrystGroups.
- A method for ImagesRepresentative for an IsomorphismFpGroup of an AffineCrystGroup has been added, so that the resulting isomorphism can now really be used.
- Switch to the new attribute MappingGeneratorsImages. Compatibility with GAP 4.2 and GAP 4.1 is maintained.
- A bug in Normalizer for two AffineCrystGroupsOnLeft was fixed; it returned an AffineCrystGroupOnRight.
- The number of generators returned by Normalizer for two AffineCrystGroups was reduced.
- A bug in ConjugacyClassesMaximalSubgroups for space groups was fixed; their size was set to a wrong value in certain cases.
- A mutability bug in AffineNormalizer was fixed.

### Version 4.0

- Initial Release for GAP 4