def _translation_vectors(mtps, vector_table):
	"""For a set of maximally translatable patterns, returns the set of
	translation vectors for the MTPs.

	Finds the common translation vectors for each note of a MTP, enabling
	finding all occurrences of the MTP.

	Args:
		mtps: All MTPs of a point set
		vector_table: Vector table computed for the same point set that
			the MTPs are extracted from.

	Returns:
		All translation vectors for all MTPs of a point_set as a dictionary,
		where the original MTP is under the key 'pattern' and the translation
		vectors under the key 'translation_vectors'.
	"""
	translation_vectors = []
	for mtp in mtps.values():
		intersection = set(vector_table[mtp[0]])
		for point in mtp:
			intersection.intersection_update(set(vector_table[point]))
		translation_vectors.append({'pattern': mtp, 'translation_vectors': sorted(intersection)})
	return translation_vectors