I'm currently struggling with the following one:
- Code: Select all
1 * * * * * * * 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
* 1 * * * * * * 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0
* * 1 * * * * * 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0
* * * 1 * * * * 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1
* * * * 1 * * * 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0
* * * * * 1 * * 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0
* * * * * * 1 * 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1
* * * * * * * 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1
0 0 0 0 1 0 0 1 1 * * * * * * * * * * * * * 1 1 0 0 0 0 0 0
0 1 0 0 1 0 0 0 * 1 * * * * * * * * * * * * 1 0 1 0 0 0 0 0
0 0 0 0 1 0 1 0 * * 1 * * * * * * * * * * * 0 1 0 1 0 0 0 0
0 0 1 0 1 0 0 0 * * * 1 * * * * * * * * * * 0 0 1 0 1 0 0 0
1 0 0 0 1 0 0 0 * * * * 1 * * * * * * * * * 0 0 0 1 1 0 0 0
1 0 0 0 0 0 1 0 * * * * * 1 * * * * * * * * 0 0 0 1 0 1 0 0
1 0 0 0 0 1 0 0 * * * * * * 1 * * * * * * * 0 0 0 0 1 1 0 0
0 1 0 0 0 0 0 1 * * * * * * * 1 * * * * * * 1 0 0 0 0 0 1 0
0 1 1 0 0 0 0 0 * * * * * * * * 1 * * * * * 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 * * * * * * * * * 1 * * * * 0 0 0 0 1 0 1 0
0 0 0 1 0 1 0 0 * * * * * * * * * * 1 * * * 0 0 0 0 0 1 1 0
0 0 0 1 0 0 1 0 * * * * * * * * * * * 1 * * 0 0 0 0 0 1 0 1
0 0 0 1 0 0 0 1 * * * * * * * * * * * * 1 * 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 1 * * * * * * * * * * * * * 1 0 1 0 0 0 0 0 1
0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 * * * * * * *
0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 * 1 * * * * * *
0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 * * 1 * * * * *
1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 * * * 1 * * * *
1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 * * * * 1 * * *
1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 * * * * * 1 * *
0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 * * * * * * 1 *
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 * * * * * * * 1
In the past I've done the permuting by hand, with some intuition and a lot of trial and error, but this is a large matrix with no symmetry whatsoever and that method just won't work here. I thought about a brute-force approach, but there are 8! * 14! * 8! = ~141 pentillion valid permutations of this matrix, so I'd need a supercomputer for that.
I'm vaguely thinking that a real algorithm to solve this would work from the bottom-left corner outwards, making it the same as the top right corner, permuting rows and columns that don't match, however I'm thinking it might get stuck when there are numbers the same in rows/columns that actually need to be swapped. So I figured I'd ask if anyone else has come up with such an algorithm already.
For reference, here's the figure this imat represents:
At the moment I've posted the above matrix on the triangulated pinched triangular cupola page, just so that I'm able to post the imat for the J92 rhombochoron on the wiki. It's not very neat though that a self-dual is marked as not self-dual by my (rather strict) polytope explorer.