Source code for mdadash.backend.analyses.utils

"""
Common utils for all analyses
"""

import numpy as np
from MDAnalysis.lib.mdamath import triclinic_vectors


[docs] def get_box_matrices(unitcells, compute_inverse=True): """Get box matrices for an array of unitcells""" if ( unitcells is None or unitcells.size == 0 or np.allclose(unitcells[:, :3], 0) ): # pragma: no cover return None, None, False is_orthogonal = np.allclose(unitcells[:, 3:], 90.0) box_matrices = np.array([triclinic_vectors(b) for b in unitcells]) inv_box_matrices = None if compute_inverse and not is_orthogonal: inv_box_matrices = np.linalg.inv(box_matrices) return box_matrices, inv_box_matrices, is_orthogonal