User talk:Rocchini/data
Appearance
Some data support.
Gosset 1_32 vertices ????
[edit]0.0000000 0.5000000 0.5000000 0.2886751 0.2041241 0.6123724 0.0000000 -0.5000000 0.5000000 0.2886751 0.2041241 0.6123724 0.0000000 0.5000000 -0.5000000 0.2886751 0.2041241 0.6123724 0.0000000 -0.0000000 0.5000000 -0.5773503 0.2041241 0.6123724 -0.5000000 0.0000000 0.0000000 0.5773503 -0.2041241 0.6123724 0.0000000 0.5000000 -0.0000000 0.2886751 0.8164966 0.0000000 0.0000000 -0.5000000 -0.5000000 0.2886751 0.2041241 0.6123724 0.0000000 -0.5000000 -0.0000000 0.2886751 0.8164966 0.0000000 0.0000000 -0.0000000 -0.5000000 -0.5773503 0.2041241 0.6123724 -0.5000000 -0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 0.0000000 -0.0000000 -0.0000000 -0.5773503 0.8164966 0.0000000 0.5000000 0.0000000 0.0000000 0.5773503 -0.2041241 0.6123724 -0.5000000 0.0000000 -0.5000000 0.5773503 0.4082483 0.0000000 0.5000000 0.0000000 0.0000000 -0.0000000 0.6123724 0.6123724 0.5000000 -0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 -0.5000000 0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 -0.5000000 -0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 0.5000000 0.0000000 -0.5000000 0.5773503 0.4082483 0.0000000 -0.5000000 0.0000000 0.5000000 0.5773503 0.4082483 0.0000000 -0.5000000 0.0000000 0.0000000 -0.0000000 0.6123724 0.6123724 0.5000000 0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 0.5000000 -0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 -0.5000000 0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 -0.5000000 -0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 0.5000000 0.0000000 0.5000000 0.5773503 0.4082483 0.0000000 -0.0000000 -0.0000000 -0.5000000 0.0000000 -0.6123724 0.6123724 0.5000000 0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 0.5000000 -0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 -0.5000000 0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 -0.0000000 -0.5000000 -0.0000000 0.8660254 0.0000000 0.0000000 -0.0000000 -0.0000000 0.5000000 0.0000000 -0.6123724 0.6123724 -0.0000000 -0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 0.5000000 0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 -0.0000000 -1.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 -0.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 -0.0000000 0.5000000 -0.0000000 0.8660254 0.0000000 0.0000000 -0.0000000 -0.0000000 -0.5000000 0.0000000 0.6123724 -0.6123724 -0.0000000 -0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -0.5000000 -0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 -0.0000000 1.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 -0.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 -0.0000000 -0.5000000 -0.0000000 -0.8660254 0.0000000 0.0000000 -0.0000000 -0.0000000 0.5000000 0.0000000 0.6123724 -0.6123724 -0.5000000 -0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 0.5000000 -0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 -0.5000000 0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 -0.0000000 0.5000000 -0.0000000 -0.8660254 0.0000000 0.0000000 -0.5000000 -0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 0.5000000 -0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 -0.5000000 0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 0.5000000 0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 -0.5000000 -0.0000000 -0.5000000 -0.5773503 -0.4082483 0.0000000 0.5000000 -0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 -0.5000000 0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 0.5000000 0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 -0.5000000 -0.0000000 0.5000000 -0.5773503 -0.4082483 0.0000000 0.5000000 -0.0000000 -0.5000000 -0.5773503 -0.4082483 0.0000000 0.5000000 0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 -0.5000000 -0.0000000 -0.0000000 -0.5773503 0.2041241 -0.6123724 0.5000000 -0.0000000 0.5000000 -0.5773503 -0.4082483 0.0000000 -0.0000000 -0.0000000 -0.0000000 0.5773503 -0.8164966 0.0000000 0.5000000 -0.0000000 -0.0000000 -0.5773503 0.2041241 -0.6123724 -0.0000000 -0.0000000 -0.5000000 0.5773503 -0.2041241 -0.6123724 -0.0000000 -0.5000000 -0.0000000 -0.2886751 -0.8164966 0.0000000 -0.0000000 -0.5000000 -0.5000000 -0.2886751 -0.2041241 -0.6123724 -0.0000000 -0.0000000 0.5000000 0.5773503 -0.2041241 -0.6123724 -0.0000000 0.5000000 -0.0000000 -0.2886751 -0.8164966 0.0000000 -0.0000000 0.5000000 -0.5000000 -0.2886751 -0.2041241 -0.6123724 -0.0000000 -0.5000000 0.5000000 -0.2886751 -0.2041241 -0.6123724 -0.0000000 0.5000000 0.5000000 -0.2886751 -0.2041241 -0.6123724 -0.5000000 -0.0000000 -0.0000000 0.0000000 -0.6123724 -0.6123724 0.5000000 -0.0000000 -0.0000000 0.0000000 -0.6123724 -0.6123724
Find Petrie souce code
[edit]int binom( int n, int k ) {
int i;
double r = 1;
if(k>n-k) {
for(i=k+1;i<=n;++i) r *= i;
for(i=2;i<=n-k;++i) r /= i;
} else {
for(i=n-k+1;i<=n;++i) r *= i;
for(i=2 ;i<=k;++i) r /= i;
}
return int(r);
}
void first_subset( int n, int m, int ss[] ) {
for(int i=0;i<m;++i) ss[i] = i;
}
bool next_subset( int n, int m, int ss[] ){
int i = m-1;
while(++ss[i]==n+i-m+1)
if(--i<0) return false;
for(++i;i<m;++i)
ss[i] = ss[i-1]+1;
return true;
}
// ND = number of dimensions, NV = number of vertices, v = coordinates of vertices
// ADJ = graph adjacency matrix, Q = number of vertices of petri polygon
void find_petri_projection( const int ND, const int NV, const double v[], const bool ADJ[], int Q ){
int i; const int NSA = ND;
std::vector<int> ss(NSA);
const double da = 2.0*PI/Q;
std::vector<double> RX(NSA); // Coordinates of petri polygon
std::vector<double> RY(NSA);
for(i=0;i<ND;++i) { RX[i] = cos(i*da); RY[i] = sin(i*da); }
int totsub = binom(NV,NSA);
first_subset(NV,NSA,&(ss[0]));
do {
bool good = true;
for(i=0;i<ND-1;++i)
if(!ADJ[ss[i]*NV+ss[i+1]]) { good = false; break; }
if(good)
{
const int M = 2*ND;
std::vector<double> x(M);
std::vector<double> A(M*(M+1));
for(i=0;i<NSA;++i) {
for(int j=0;j<ND;++j) {
A[(0 +i)*(M+1)+j+ 0] = v[ss[i]*ND+j];
A[(0 +i)*(M+1)+j+ND] = 0;
A[(NSA+i)*(M+1)+j+ 0] = 0;
A[(NSA+i)*(M+1)+j+ND] = v[ss[i]*ND+j];
}
A[(0 +i)*(M+1)+M] = RX[i];
A[(NSA+i)*(M+1)+M] = RY[i];
}
if(Gauss(M,&(A[0]),&(x[0]))){
for(i=0;i<M;++i) {
printf("%40.20lf",x[i]);
if(i==ND-1 || i==M-1) printf("};\n"); else printf(",\n");
}
printf("\n");
}
}
} while( next_subset(NV,NSA,&(ss[0])) );
}