pele.mindist.ExactMatchCluster

class pele.mindist.ExactMatchCluster(tol=0.01, accuracy=0.01, transform=<pele.mindist._minpermdist_policies.TransformAtomicCluster object at 0x37f3150>, measure=<pele.mindist._minpermdist_policies.MeasureAtomicCluster object at 0x37f31d0>)[source]

Deterministic check if 2 clusters are a perfect match

Determines quickly if 2 clusters are a perfect match. It uses check_standard_alignment_cluster to get possible orientations.

Parameters :

accuracy: float, optional

maximum deviation of atoms to still consider cluster as a match

check_inversion: boolean, optional

check for inversion symmetry, default is True

permlist: iteratable, optional

list of allowed permutations. Default is None which means all particles can be permuted

align_com: boolean, optional

Flag if com should be removed before comparison

Examples

>>> x1 = np.random.random(3*natoms)
>>> x2 = x1 + 1e-4*np.random.random(x1.shape)
>>> matches = ExactClusterMatch(accuracy=1e-3)
>>> if match(x1, x2):
>>>     print "the two structures are identical

Methods

__call__(coords1, coords2[, check_inversion]) return True if the structures are an exact mach, False otherwise
apply_transformation(x, tform)
check_match(x1, x2, rot, invert) Give a rotation and inversion, make a more detailed comparison if the 2 structures match
find_transformation(coords1, coords2[, ...]) Return None if the two structures are different, else return the transformations that brings them into alignment
standard_alignments(coords1, coords2) return an iterator over the standard alignments

Previous topic

pele.mindist.MinPermDistCluster.finalize_best_match

Next topic

pele.mindist.ExactMatchCluster.__call__