hihi, all - (0) B&T i've also had a lot of trouble reading Barany and Tokushige, due to its peculiar seeming notations and missing definitions, and i'm still trying to fill in the omissions in the first few pages - i will make my notes available when i finally like them as a way to understand the first pages of that paper (and have checked them with the authors) (1) i think i have a better SL(2,Z) normalization process as before, make the first two vertices (0,0) and (1,0), and number the vertices counterclockwise from 0 for (0,0) now for a minimum area polygon, vertex 2 or vertex n-1 has y = 1 (otherwise, you can move vertexes 0 and 1 at least one unit in the positive y direction and start over with a smaller area polygon, possibly after also reducing for edge-interior lattice points) if vertex 2 has y=1, then reflect the polygon about the line x=1/2 (and renumber the vertices), so we can assume that vertex n-1 has y=1, and it is therefore (x,1) for some x now use the matrix (1 0) from SL(2,Z), that fixes vertices 0 and 1, (-x 1) and maps vertex n-1 = (x,1) into (0,1) (i am doing all matrix multiplication from the right side) this means the the polygon lies entirely in the first quadrant this normalization accounts for most of the SL(2,Z) elements, but it still doesn't necessarily account for reflection (the case above in which both vertex 2 and vertex n-1 have y=1 could still lead to two distinct polygons under SL(2,Z)), so i still need to use the SL(2,Z) reduction program in the corner terminology i used before, we now have corner3 consisting of exactly one edge (0,1) to (0,0), and corner 1 consisting of exactly one edge of the form (x,y) to (x,y+1) when n is even, and at most one edge (the same one) when n is odd here x is the width of the enclosing rectangle, y+1 is the height when the vertical edge is present, and then x+y+1 is the diameter, or y is the height when the vertical edge is absent, and then x+y is the diameter (i'm always using manhattan=l1 distance unless otherwise indicated) in both cases, we get perimeter = 2*diameter in all case, we have turned the geometry problem into a fraction problem (which ought to make it easier) i imagine that this will further speed up the program, and i will know later on today more soon, cal Chris Landauer Aerospace Integration Science Center The Aerospace Corporation cal@aero.org