I'm fairly new to Mathematica, and I've finally stumbled upon something that's beyond my googling powers.
I have a list of pairs, where each pair contains in its first entry a matrix and in its second some information about how it was generated. It looks like this:
You can review the full list using:
list=Uncompress@"1:eJy9nU1y3DYQhTljKvfIAVIlS6dwVVY+Qhau8ioL52C5oJ1YHFlNQt0A+3uY9sIui+\
Y8o8n3A6CH/P2vvz9/+feyLN/WZVn+/Prtny/X5eTfPv08bfm4/f7oHHm8Hf+y7o98/\
fnnsvvt5Z+cR9z+uXPO7rMitODMk+N7AuO7QsTHTy8/++Oj+595PeRgXmhNt3P++/nLq/\
US1PSyCDXtjjAs6oUW9Qb2+sHhoUcP80qL+lLPW/Gcn2/FjtBIUV+H4VZ1f+wpRKU3K6L/\
B1pVRP8Pyq2K6P9BqSik/0prup2Tpf+q1JTRf6VFFej/QIuK6P9AiyrR/\
0G7WZNlNZfC96rD/6isR0+\
cPkC3qIbJNTXkhy86ZsakqEb0c6J6tH4uqmR8Iv89nwpE1eBITe2GPCeqx8Ep/\
PesyldVw6xlP3b/4Jw++yX3h+yX/J+xH9s/Yr9k/4j9M9w/y37N/bPsn+L+\
SfZj7x9U9dGvqsnpzKpun+XQ/yjes6s6HOLdRNWFxO4fnLNLsBHa/\
UQ1HuEdRNV3KvNFUtRIVK1kEdp8Uf01g40Qi+mP3R/RH7u/Qn9x+k/oj+0/OKdPf8n+\
If1xAOD0x/6P6I/9H9NfnPknS2rEx/dpFKmckh5l5i4DbGtqkKKk+\
tHYpYbpGylqtEplxY7QVElFQ+Ts94yqI6km4KSqQW1CST3aBR9ga1M9STXMWv5rc/8s/\
8W5P+E/9n6B/9j8Ef+x+Sv8F92f8F9z/yz/J7h/mv+S/4v7/leKeH7dyMAuEiLe+\
88h9iUu2jO6LKyitxN/EDRQzVs9vhM0UEllx89cn2A+cUxyj24f/MwxSW0x94/xuIL7x+\
RYwf1jrJoZOFwV3zDN/dEob/ctwaSVfXq9bwlmsRpYBqhTA0sCdWpgSQDdt0lI8yx62+\
bXkI5z5PtgDjoBiEFH653OjMe8GVQ1RNtC67WHRuJAhPaSRzYR7TcAcAHgDQBzMZ9GmFgA\
YsznEWatAEh5AAqAlAjkZgDuz7gZYB7k7nK6w5QiQQ/z5qLP/\
aaAOkXQIgFTBC0SMEXAkWCAea41gGF2uDIAFYr7ynwACqrb369zUoGZCajrzv2zaCQVmPt\
n0e4gr6faAgDkE4ek6vrMIYsFAGcCRQBwKFAEQFwpGASuQY8Av6DBGnMfE9f2l/\
UDzFpFwKGAKwLOBFwRxFWCJGTTL3APSHdXZFEKqzYNJB3TnPH48+\
0Duxv4oKYh2vaBP4btApPQtjp976Fx7nue1ZGbpk9gLuTTAJLPtULI5wFkLffFBQLCfXF9\
gHAfB4HDfdn53ziYM5JAZ5vCHaeWBGLMt92ECLNWDaQkwNRASgJMDaQkIHYOvJ8gdm3kzX\
88i3QmlQZ0yaMdyJ4f3xUiyk8MSNZ0O4c/\
MWD2CMOiWhpIQnY0Z3do0ECQLKr4xAA2Qreq+2ODJwZgeuDmgQr6Wwyoor+\
lgDr6WwqooL/5fxn9zf7r6G/+X0F/s/5K+\
pv7o0uZLKu5FL5XHf6ffGLA7AG6RT1OyOdqaufLn9j+I021DBqhzdfU2xF3d1B1/\
1BygqmV4ZGibjek04+5fVZ0o06xf68RazjEWvpj+1+CW/XkIwPq6C8FAER/bP+I/pL9I/\
qr7o/or9l/lv5T7D9Lf+z+B5KfxjRBxWXlzwwQyso7Au6hqoNnBsxU1ZeD/\
baAu6jq4JkBSHVCCTjVHEBkdXlfVJPbCE2TVfzMgDr6Y/\
sXnxlQSH9xAYDQHweAZQH0lwKA/MyAMvrjAIDojwMApr8490+WtOkBmLlO5ZS02f6/\
xwAH2//zJLXHjaYLYJKmWoKN0GZr6v6Yu/8n2n9ED38dt2kGIPS/vjsnXKdu+gDw+\
Pz03x9fLf21uT9/ZEAZ/bH1K/TH5o/oj81for9o/4D+mvtn6T/B/\
ZP0l9xf3Pdf738NDewiIeK9f4Ao7/3PxvSE3CBpYdUGgCTkTlp5AwDHzMi5gZLaHj+\
5J74RKr1xxT6AKjmwQFAlB5YH6uTA4kCZHFgmKJMDCwR1cmCRoFAOLBlUyoGlgxxqekHJz\
AsUNmwsH6OBit6+1IbQSCWzq0jmyaSSEdoyRCOVjNCirwcaEKlkdunYgEgl7VOdMY93/\
0klHbTrEK2M3dToGbupyTN2U4Nn7F5pJRG7V+medNC67F5pJRG7qZUzdlMPZ+\
ym3j1nV59hhhHw3Nf9BVC+uZ8E3U8VwroPNvfvAenufYkT/A5kXFk8wz/\
MiLxD4TCpyQ9mvZ1rSY1+MOs9tctfJwd4bq/\
IAZ7eK3IgzvCJHKzKTcvkYFXuWnnHv0wO8AQfywGe3WM5wOkALQ81u/4VV7LZ+\
geQ6ac4NFv/83S2R5Jm679E3JsGgLmYw3FyMYh4cmr7v0LYmx4AXtjOc9cGXQBlciAu/\
GPIWjnAwUCRg5WWVpCDdcJdm5WDVblrxXaAMjlQV/6JHEjpQOwKeLj/\
pTSwi4SIuwJyiOnVJhsaqOjtRP4egSTaVg/+\
HoHktRtx4lQXAMFU3yNAMNX3CGBe4BaAKu5bEKjivuUAgCi3AKBR3u5bgkkrK79HoE4NLA\
jUqYElgTo1sCSA7tskpHkWLm36chomLm36chomiQNmjU5MeDnYbwkgaMu7c862BBC0C0ET\
BYC/R6BE0A2T21ZW0A2zVgBwHhAEACcCQQCkTKC+\
R6Ag3BmiFrXIGIvVAMcBQQ1wHBDUAMeBQW3PNRUwzA5PBqBYD+\
SmArJA4Lhm1GpjRgLqqr5DIIkmvkNgrrSeaiLgMx/\
8DgEAqb5DoE4A1DyABEALBHIbwT3C1qCNgF9Q/\
g4BHrb4OwTKFEEKBeo7BMoUQVwhSEI2nQQV17LpJKi4lk0nAfHnaA7tLKk3LQQEbSFoJA1\
k23ybtoFps56O3DR9AxVK3vQNlCh50zdQRn5xtwBD1pIfJ4HDFTudPpq2gZJs17QN1GS7p\
m+gTA/EBQKiB9p2AdMDKQyIjQO/\
UUTcOIARceMAQJQfJ4BGuX1wdvPQUgHAhJuHlg2SmB2hPeihg2nhgGCqrQQEU20lwEzBrQ\
RVamDZoEoNLBrUqYFFgzo1sGhQpwaWDOrUwKJBnRpYNqhTA8sGOUz2deMFVlV9mEASTXyY\
QBLt7Wzv55cAjSYBs5w0Gqnkmyym0UglxYcJEDT+\
KgGC5rRkjtHK2E19Xn2YQAW7qb8zdlNnZ+ymns7YTd1cfZhABbupgzN2U+\
9Wtv0WWE9p22+BZZW2/RZaXbQ4ZL4gFDe5OGSYuLZs2w9P7w8zBe+Ql3PNBElpd/\
MW3AgAINVGgDpFwLN7RRHwBF9RBHGOTxSBBgFFEWgcUBSBhgJBEfAMnysCnuBzRcAZYbgu\
5UE2jQAV17JpBKi4lk0jwDypPSqiA6oFhGCg51CFdSlXbM+\
hcknw1Havww6ilBGyq8ZNdwBGxG8WKNMDcfkfQ9bqAQ4Hih5o8YDqgRYQqB6IEQHogZQQk\
B5IAQHpwTEf/A8UxMr9";
So for example, the first pair is {{{1,0},{0,1}},{0,0,0,1}}
, the identity matrix with some info. Now I want to delete pairs where the first element, the matrix, is duplicated. I have Mathematica 10, and thought of using DeleteDuplicatesBy
and First
, as in the example given in the description of DeleteDuplicatesBy
, but was unsure exactly how (typing DeleteDuplicatesBy[list,First]
doesn't run). Could anybody correct me please?
Also, Mathematica kindly suggested to me that using First/@list
would give me all the matrices (as opposed to First[list]
which gives me the first pair). I don't exactly know how this syntax works either, so if somebody could explain that too it would be great.
DeleteDuplicatesBy[elms, First]
(elms
is my simple list of pairs)... and it works. What you mean by "doesn't run"? $\endgroup$DeleteDuplicatesBy[elms, First]
I just get back (as output)DeleteDuplicatesBy[{{{{1, 0}, {0, 1}}, {0, 0, 0, 1}}, {{{1, 1}, {0, 1}}, {0, 0, 1, 1}}, {{{1, 2}, {0, 1}}, {0, 0, 2, 1}}, {{{0, -1}, {1, -1}}, {0, 1, 0, 1}}, ..., {3, 5, 2, 6}}}, First]
$\endgroup$Compress
on your data and post the full result. It should be much shorter. Place a hint to useUncompress
on it in your question, also. $\endgroup$