As a pet project, I'm trying to build a small app that visualizes 4D polytopes. I want to use the Wythoff Construction method, where the shape is generated kaleidoscopically by the interaction of 4 mirrors using a single movable generator vertex. I know how to create a reflection matrix from a hypersurface normal, what I am looking for is an simple way to generate all possible matrices generated by the interreflections of the set of mirrors.The brute force method would be something like:1: Create the initial set of mirrors and their matrices2: Reflect each matrix in each of the other mirrors, add to temp list3: Remove duplicates from temp list4: Add temp list to master list and remove duplicates5: Reflect each matrix in temp list through each mirror except its generating mirror    and add to new temp list6: Repeat from step 3 with new temp list, continue until no non-duplicates foundThis method will work but will involve a huge amount of redundant computation generating, checking, and discarding duplicates, especially in symmetry groups like the 120-cell / 600-cell which contain thousands of permutations. Does anybody know of a more elegant method of creating the full set?
Finding all possible reflection matrices for a given Wythoff construction
algorithm;matrices;reflection;4d