Re: getting all interesting sections of 7-d simplex
- To: mathgroup at smc.vnet.net
- Subject: [mg115118] Re: getting all interesting sections of 7-d simplex
- From: Yaroslav Bulatov <yaroslavvb at gmail.com>
- Date: Fri, 31 Dec 2010 05:18:55 -0500 (EST)
Just wanted to note that I finally solved this relying on some feedback from mathgroup users and group theory functionality in version 8 http://mathematica-bits.blogspot.com/2010/12/listing-interesting-sections-of-simplex.html On Sep 30, 12:50 am, Yaroslav Bulatov <yarosla... at gmail.com> wrote: > On Sep 21, 10:57 pm, Yaroslav Bulatov <yarosla... at gmail.com> wrote: > > > > > > > > > > > On Sep 20, 11:03 pm, YaroslavBulatov<yarosla... at gmail.com> wrote: > > > > I'm trying tovisualizeinteresting 3d sections of a 7d regular > > >simplex. An interesting section is a 3d space that goes through > > >simplexcentroid and 3 other points, each of which is a centroid of > > > some non-empty set ofsimplexvertices. > > > > For instance, {{1},{1,2},{3}} defines a section that goes through > > >simplexcenter vertex 1, vertex 3 and centroid of vertices 1,2. Two > > > sections are equivalent if they define the same space under some > > > permutation of coordinates. There is a lot of sections, but seems to > > > be a much smaller number of equivalence classes. I tried enumerating > > > them by checking all permutations of 7 coordinates, but this is is > > > quite slow, can anyone can see a practical way to do this in > > > Mathematica? > > > > Code below plots random interesting section of the 7-dsimplex. It > > > uses the fact that Hadamard matrix gives a mapping between points of a > > > regularsimplexin 7 dimensions and probability distributions over 8 > > > outcomes. > > > > hadamard = KroneckerProduct @@ Table[{{1, 1}, {1, -1}}, {3}]; > > > invHad = Inverse[hadamard]; > > > vs = Range[8]; > > > m = mm /@ Range[8]; > > > sectionAnchors = Subsets[vs, {1, 7}]; > > > randomSection := > > > Mean[hadamard[[#]] & /@ #] & /@ > > > Prepend[RandomChoice[sectionAnchors, 3], vs]; {p0, p1, p2, > > > p3} = randomSection; > > > section = > > > Thread[m -> > > > p0 + {x, y, > > > z}.Orthogonalize[{p1 - p0, p2 - p0, > > > p3 - p0}]]; RegionPlot3D @@ {And @@ > > > Thread[invHad.m > 0 /. section], {x, -3, 3}, {y, -3, 3}, {z, - 3, > > > 3}} > > > Correction: I'd like to get a representative set of interesting > > sections (hopefully all) where intersections of sections from the set > > with thesimplexgive polytopes equivalent under rigid > > transformations. Final goal is tovisualizeentropy of distributions > > over 8 outcomes. Motivated by visualizing entropy of distributions > > over 4 outcomes which can be done by taking 2d sections of 3dsimplex > > like this --http://yaroslavvb.com/upload/simplex-sections3.png(only > > need 2 sections tovisualizeit) > > Still not sure about the best way to use Mathematica for this, but > Peter Shor enumerated non-equivalent sections by hand, and it looks > like there are 49 of themhttp://mathoverflow.net/questions/39429/how-many-non-equivalent-secti...