Lyndon word
A Lyndon word is a word that is lexicographically strictly less than all of its rotations. (A Lyndon word must be primitive by definition.)
Algorithm
The Lyndon rotation of a primitive word can be found using Booth's algorithm in O(n) time where n is the length of a word.