{'fraction_non_alphanumeric': 0.03198494825964252, 'fraction_numerical': 0.022577610536218252, 'mean_word_length': 5.08, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Numerically stable algorithms for the computation of reduced unit cells.

The computation of reduced unit cells is an important building block for a number of crystallographic applications, but unfortunately it is very easy to demonstrate that the conventional implementation of cell reduction algorithms is not numerically stable. A numerically stable implementation of the Niggli-reduction algorithm of Krivý & Gruber [Acta Cryst. (1976), A32, 297-298] is presented. The stability is achieved by consistently using a tolerance in all floating-point comparisons. The tolerance must be greater than the accumulated rounding errors. A second stable algorithm is also presented, the minimum reduction, that does not require using a tolerance. It produces a cell with minimum lengths and all angles acute or obtuse. The algorithm is a simplified and modified version of the Buerger-reduction algorithm of Gruber [Acta Cryst. (1973), A29, 433-440]. Both algorithms have been enhanced to generate a change-of-basis matrix along with the parameters of the reduced cell.