def get_reduced_bases(lattice, method='niggli', tolerance=1e-5): """Search kinds of shortest basis vectors Parameters ---------- lattice : ndarray or list of list Basis vectors by row vectors, [a, b, c]^T shape=(3, 3) method : str delaunay: Delaunay reduction niggli: Niggli reduction tolerance : float Tolerance to find shortest basis vecotrs Returns -------- Reduced basis as row vectors, [a_red, b_red, c_red]^T dtype='double' shape=(3, 3) order='C' References --------- [1] https://nvlpubs.nist.gov/nistpubs/sp958-lide/188-190.pdf """ if method == 'niggli': return spg.niggli_reduce(lattice, eps=tolerance) else: return spg.delaunay_reduce(lattice, eps=tolerance)
def get_reduced_bases(lattice, method='delaunay', tolerance=1e-5): """Search kinds of shortest basis vectors Parameters ---------- lattice : ndarray or list of list Basis vectors by row vectors, [a, b, c]^T shape=(3, 3) method : str delaunay: Delaunay reduction niggli: Niggli reduction tolerance : float Tolerance to find shortest basis vecotrs Returns -------- Reduced basis as row vectors, [a_red, b_red, c_red]^T dtype='double' shape=(3, 3) order='C' """ if method == 'niggli': return spg.niggli_reduce(lattice, eps=tolerance) else: return spg.delaunay_reduce(lattice, eps=tolerance)
def get_reduced_bases(lattice, method='delaunay', tolerance=1e-5): """Search kinds of shortest basis vectors Parameters ---------- lattice: ndarray or list of list Basis vectors by row vectors, [a, b, c]^T shape=(3,3) method: str delaunay: Delaunay reduction niggli: Niggli reduction tolerance: float Tolerance to find shortest basis vecotrs Returns -------- Reduced basis as row vectors, [a_red, b_red, c_red]^T """ if method == 'niggli': return spg.niggli_reduce(lattice, eps=tolerance) else: return spg.delaunay_reduce(lattice, eps=tolerance)
def get_reduced_bases(lattice, method='delaunay', tolerance=1e-5): """Apply reduction to basis vectors args: basis as row vectors, [a, b, c]^T return: reduced basin as row vectors, [a_red, b_red, c_red]^T """ if method == 'niggli': return spg.niggli_reduce(lattice, eps=tolerance) else: return spg.delaunay_reduce(lattice, eps=tolerance)
def get_reduced_bases(lattice, method='delaunay', tolerance=1e-5): """Apply reduction to basis vectors args: basis as row vectors, [a, b, c]^T return: reduced basin as row vectors, [a_red, b_red, c_red]^T """ if method == 'niggli': return spg.niggli_reduce(lattice, eps=tolerance) else: return spg.delaunay_reduce(lattice, eps=tolerance)