This one's gonna be tough to explain... Time complexity is guaranteed to be O(scary). While writing the explanation I'm seeing a few golfs that I overlooked, but overall I doubt I'll make it much shorter.
If you're brave enough, [try it online][1]online][4]. On my crappy laptop I can get up to 6 with the Java interpreter or 5 in the online interpreter.
I'll be saving periodically as I workGreat, now we have a list of sets like [{L[0], Y1, Y2, ...}, {L[1], Y1, ...}, ...]. There mayThe idea here is that, by transitive property, if any two sets have at least one element in common then all the groups in the two sets are isomorphic. They can be typos/mistakesaggregated into a single set. As L[X] will never appear in the combinations generated by L[X+...], after aggregating each set of isomorphisms will have one unique element. So, to get the number of isomorphisms, it's sufficient to count how many groups appear exactly one in all sets of isomorphic groups. To do: isomorphism counting this, I unwrap the sets so they look like [L[0], Y1, Y2, ..., L[1], Y1, ...], sort the list to create clusters of the same group and finally RLE-encode it.
:~ e# Unwrap sets of isomorphic groups $ e# Sort list e` e# RLE-encode list { }, e# Filter RLE elements: 0= e# Get number of occurrences 1= e# Keep element if occurrences == 1 , e# Push length of filtered list e# This is the number of groups up to isomorphism
[1]That's all, folks.
(I'll proofreader this tomorrow, I'm tired right now. It should be pretty accurate, anyway)
[4]: http://cjam.aditsu.net/#code=qi%3AN_3%3E%7B%2CaN*%5DN(%7B%7B%3AL%3BN%2CX)-e!%7BX)%40%2BL%40%40t%7D%25%7BX2%2B%3Cz%7B_fe%3D%3A(%3A%2B%7D%25%3A%2B!%7D%2C%7D%25%3A%2B%7DfX%7B%3AG%3BN3m*%7B~%7BG%40%3D%3D%7D%3AF~F%5C1m%3E~F%5CF%3D%7D%25%3A*%7D%2C%3AL%2C(%7BLX%3DLX)%3E1%24f%7B%5C_%40a%5Ca%2BNe!%5Cf%7B%5C%3AM%3B~%7BM%5Cf%3Dz%7D2*%5CMff%3D%3D%7D%3A%7C%7B%3B%7D%7C%7D%5Ca%2B%7DfX%5D%3A~%24e%60%7B0%3D1%3D%7D%2C%2C%7D%7B!!%7D%3F&input=4 [2]: https://en.wikipedia.org/wiki/Cayley_table [3]: https://en.wikipedia.org/wiki/Latin_square