# make a zonogon with 5 generators
pz20 = polarzonogon( 20, 5 )
# make 7 random points in the zonogon
set.seed(0)
pcube = matrix( runif(5*7), 5, 7 )
z = t( getmatrix(pz20) %*% pcube )
# invert these 7 points back to the cube
invert( pz20, z )
# z.1 z.2 pcube.1 pcube.2 pcube.3 pcube.4 pcube.5
# 1 2.0676319 1.6279807 0.00000000 0.70030526 1.00000000 1.00000000 0.01553241
# 2 2.4031738 1.9658035 0.00000000 0.96572153 1.00000000 1.00000000 0.28450140
# 3 0.9230336 1.0885446 0.00000000 0.00000000 0.39548689 1.00000000 0.04948838
# 4 2.5242122 1.7395069 0.16540765 1.00000000 1.00000000 1.00000000 0.03542132
# 5 2.2598725 1.0601592 0.38111324 1.00000000 1.00000000 0.20192029 0.00000000
# 6 1.1387813 1.2636700 0.00000000 0.00000000 0.65250505 1.00000000 0.07478012
# 7 1.6315341 1.0777737 0.00000000 0.64210923 1.00000000 0.36039509 0.00000000
# hyper.1 hyper.2 hyperidx
# 1 2 5 7
# 2 2 5 7
# 3 3 5 9
# 4 1 5 4
# 5 1 4 3
# 6 3 5 9
# 7 2 4 6
Run the code above in your browser using DataLab