Brille

Latest version: v0.7.0

Safety actively analyzes 628499 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.4.2

The symmetry operations for a lattice can be expressed as a set of pairs of matrices and vectors. The matrix encodes the rotation or rotoinversion part of the operation while the vector encodes its translation. Halls notation is able to represent these matrices and translation vectors in a compact human-readable form, and these were and still-are supported by brille.
New to this version is the ability to specify the matrices and vectors of the symmetry operations explicitly, which is useful if, e.g., a modelling code provides them to a user as part of its output. Previously a user would have needed to encode the symmetry operations into a valid Hall symbol for brille to then decode, which was an unnecessary burden.
Additionally, another encoding of this information -- the CIF xyz notation -- is now supported by brille.

0.4.1

Re-release which is the same as v0.4.0 to trigger updated deploy workflow.

0.4.0

This release has removed disused templated classes: `MapGrid3<T,R>`, `InterpolationGrid3<T,R>`, `BrillouinZoneGrid3<T,R>` and their four-dimensional equivalents plus all Python-exposed specialisations `BZGridQ*`.
Their removal has allowed for consistent equivalent-mode permutation pre-caching for all remaining 'grid-like' objects.

0.3.1

Corrects behaviour when a non-tabulated Hall symbol is provided to a `Lattice` object and the dual lattice is requested via the `star` method.

0.3.0

Interpolation of multiple modes per *Q* points requires that either all modes are indexed in the same way at every *Q* or that a mapping of the equivalency is known.
Versions of `brille` before this release assumed that a single full-grid single-indexing equivalency could be found for all cases. This assumption may yet be proven true, but the thus-far-implemented methods to find such a mapping have failed. Now the equivalency is determined on-the-fly during interpolation.
It may be necessary to optimise the on-the-fly mapping but such improvements will come later.

0.2.2

All grid-like objects now contain a dual-template `InterpolationData<T,R>` object. The templated classses determine the data types of the (eigen)values and (eigen)vectors, respectively, held by the `InterpolationData` object. Internally the `InterpolationData` object has been split into two `InnerInterpolationData` objects, each with a single template parameter.
This allows for, e.g., real-valued eigenvalues and complex-valued eigenvectors to be handled without casting the strictly-real eigenvalues to complex. In addition to reducing the total memory usage this has advantages for distinguishing between scalar-like complex eigenvectors and real eigenvalues.

The `InnerInterpolationData` objects now support vector- and tensor-like data which rotates like reciprocal vectors, real space vectors, axial vectors, or _phonon eigenvectors_.
Phonon eigenvectors are not invariant under application of a symmetry operation due to atom-label permutations and complex phase-factors as a result of a symmetry operation sending atoms from one unit cell into multiple, different, unit cells. This complication is now handled correctly, allowing for interpolation in only the irreducible Brillouin zone.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.