Site Map Polytopes Dynkin Diagrams Vertex Figures, etc. Incidence Matrices Index

Scaliformity

Scaliformity as such was introduced as a concept in 2000, when comparing the dimensionally recursive definition of uniform polytopes

uniform – 1:
Its symmetry group is transitive on the vertices
uniform – 2:
For D>1: its edges are congruent
uniform – 3:
For D>2: its facets are uniform

with one of the then just defined and enlisted segmentochora, with tuta. So, according to that definition, e.g. a uniform polychoron not only should provide a single class of symmetry equivalent vertices and a single edge size (which thus could be taken to be unity), but all its cells ought be uniform polyhedra in turn. And for uniform polyhedra that third requirement then just asks that its polygonal faces have to be uniform in turn. But for those 2D elements the there only remaining first 2 requirements already imply the regularity of the elements (provided a local and thus global non-zero curvature of the surface manifold).

That specific tuta (xo3xx3ox&#x), because being a segmentochoron, clearly has a unique circumsphere. Hence its vertices all are the same distance apart from the center. That is, all vertices would follow the first requirement, provided all vertices additionally can be shown to have the identical global symmetry. Well, as this obviously is the case here for the vertices in either base layer (because those bases are uniform polyhedra), it remains just to be checked whether we also have a further symmetry which interchanges these bases. In that example those bases are identical polyhedra, and therefore requirement 1 truely is fulfilled. Next, the second requirement, already is fulfilled by the definition of segmentochora, i.e. all edges already have unit size. Thus we are left with the third requirement here, i.e. whether all cells would be uniform polyhedra. But this one then is broken here, as the lacing cells of that segmentochoron use Johnson solids as well, in fact there are tricues (xo3xx ..&#x).

The very find of tuta gave rise for a new class of such polytopes, which still follow the first 2 requirements of uniformity, but will not bow to the third one. As a working title such polytopes in those days where called weakly uniform. Five years later, in 2005, this rather negatively attributed term was recoined positively by an own term, scaliform. Further, in this run, it was taken into account also its application to according flat, i.e. euclidean polytopes (like honeycombs etc.). This is why an own third requirement was added instead (which in global non-zero curvatures clearly would be deducible from the former ones):

scaliform – 1:
all vertex flags are transitive
scaliform – 2:
For D>1: all edges are same length
scaliform – 3:
For D>2: all elements are circumscribable

Right from this definition it follows that 2D scaliforms already are regular polygons. Furthermore, the 3D scaliforms already are the uniform polyhedra. But beyond 3D this definition clearly is more liberate. The research for scaliform polytopes is still ongoing. A general classification of these polytopes (outside from the above definition) still is pending.

Only in November 2020 it was proven that the non-uniform scaliform polychora include infinite series too: by the find of the (n/d,n/(n-d))-hemiantiprisms.



Below a mere listing of (just some) of the purely scaliform polytopes will be given, i.e. of those which are scaliform, but not uniform. Accordingly this has to start with 4D for the lowest case. There at least one cell type has to be a Johnson solid – or would belong to some counterpart of that set, encompassing according non-convex polyhedra. (Cf. the symbol below).

But note, this remark already provides an example that for scaliforms the recursivity axiom (as being used for uniformity) is broken: the facets of scaliform polytopes need not be scaliform themself. It is just that the local arrangement of such facets at any vertex provides the overall transitiveness of symmetry on the vertex flags.

Proposition
In fact one further derives the observation, that whenever a non-scaliform polytope will be used as a facet for a scaliform one (within the next dimension) and that very facet itself has vk vertices of type k, then with v0 = gcd({vk}) and integers wk = vk/v0 one obtains that at least k wk facets of that type are required at any vertex. In fact at least wk such facets adjoin the (higher polytopal) vertex by their k-th (own) vertex type – or common multiples therefrom.

E.g. for tuta we have 3 tricues per vertex: one adjoining by its top triangle and 2 adjoining by their bottom hexagon.


° - such marked scaliforms are convex
†n - such marked elements are not themself uniform and thus qualify the (overall) polytope to be just scaliform; here n provides the number of according vertex types. (Clearly, for n=1 that facet itself would be scaliform.)



---- 4D purely scaliforms (up) ----

circumradiusscaliform polychorafacet total
0.615370
otbaquitit
64 tet + 16 tuquith†2
0.618034
birgax
48 targi†3
gypasp
240 stappy†2
0.707107
dastop
12 stap + 24 stiscu†2
(n/d,n/(n-d))-hap
2 n/d-ap + 2 n/(n-d)-ap + 2n bobipyr†2
hatho
4 bobipyr†2 + 4 tet
koho
4 bobipyr†2 + 8 tet
setho
4 bobipyr†2 + 12 tet
hossdap  -  reduced( xo5/2ox5/2oo5/2*a&#x by x5/2o5/2o5/2*a each )
12 stap + 24 stappy†2
0.726543
sporraggix
600 squippy†2 + 120 starp + 120 stip
0.732444
hog dhidicup
12 stap + 24 rastacu†2
0.790569
hocucup
6 so + 12 tutrip†2
1
disdi
24 gad + 96 scuffi†3 + 96 scufgi†3 + 24 sissid
gastakix
3600 tupip†3
mesdi
24 gike + 24 ike + 96 dritit†3
sistakix
3600 tustip†3
tocap
50 squippy†2 + 10 stip + 50 tet
gocap
10 pip + 50 squippy†2 + 50 tet
1.224745
tuta°  -  xo3xx3ox&#x
6 tet + 8 tricu†2 + 2 tut
1.328131
prarsi  -  s3/2s4o3x
24 gike + 96 tricu†2 + 96 trip + 24 tut
1.618034
bidex°
48 teddi†3
spysp
240 peppy†2
dexdap
20 doe + 100 ifbah†3 + 100 tet
1.765796
siida  -  xx3xo5/2ox3*a&#x
2 siid + 12 stap + 40 tricu†2
2.149726
otbott
64 tet + 16 tutic†2
2.497212
prissi°  -  s3s4o3x
24 ike + 96 tricu†2 + 96 trip + 24 tut
2.739576
shi  -  reduced( β3β5o5/2o by 120 β5o5/2o )
120 seside + 1440 stappy†2
3.077684
spidrox°
120 pap + 120 pip + 600 squippy†2
3.625437
prishi  -  reduced( β3β5o5/2x by 120 β5o5/2x )
120 seside + 1440 stiscu†2 + 2400 trip
scaliform euclidean honeycombs
3Q3-S3-2P6-2P3-gyro°
N hip + N oct + 2N tricu†2 + 2N trip
3Q3-S3-2P6-2P3-ortho°
N hip + N oct + 2N tricu†2 + 2N trip
3Q4-T-2P8-P4°
N cube + N op + 2N squacu†2 + 2N tet
5Y4-3T-3Q3-T3°
12N squippy†2 + 9N tet + 4N tricu†2 + N tut
5Y4-4T-4P4°
N cube + 2N squippy†2 + 2N tet
5Y4-4T-6P3-sq-para°
N squippy†2 + N tet + N trip
5Y4-4T-6P3-sq-skew°
2N squippy†2 + 2N tet + 2N trip
5Y4-4T-6P3-tri-0°
2N squippy†2 + 2N tet + 2N trip
5Y4-4T-6P3-tri-1-alt°
2N squippy†2 + 2N tet + 2N trip
5Y4-4T-6P3-tri-1-hel°
2N squippy†2 + 2N tet + 2N trip
5Y4-4T-6P3-tri-2-alt°
2N squippy†2 + 2N tet + 2N trip
5Y4-4T-6P3-tri-2-hel°
2N squippy†2 + 2N tet + 2N trip
5Y4-4T-6P3-tri-3°
2N squippy†2 + 2N tet + 2N trip
6Q3-2S3-gyro°
N oct + 2N tricu†2
6Q3-2S3-ortho°
N oct + 2N tricu†2
6Q4-2T°
2N squacu†2 + 2N tet
10Y4-8T-0°
2N squippy†2 + 2N tet
10Y4-8T-1-alt°
2N squippy†2 + 2N tet
10Y4-8T-1-hel°
2N squippy†2 + 2N tet
10Y4-8T-2-alt°
2N squippy†2 + 2N tet
10Y4-8T-2-hel°
2N squippy†2 + 2N tet
10Y4-8T-3°
2N squippy†2 + 2N tet
gyrich°  -  s∞o2s6o3x
N oct + N tobcu†2
squatap°  -  s2s4o4o
2 squat + 2N squippy†2 + 2N tet
scaliform hyperbolic honeycombs
...
pristrah°
NM that + NK trat + NMK tricu†2 + NMK trip
...
s3s4o4o°
NM ike + 3N squat + 3NM squippy†2
...
s3s4o4x°
NM ike + 3NM squacu†2 + 3N tosquat + 4NM trip
0.353553 i
s4o3o4s4*b°
2NM hihexat + 6NK squat + 4NMK tet + 4NMK tricu†2


---- 5D purely scaliforms (up) ----

circumradiusscaliform polyterafacet total
0.623054
stadow  -  xo5/2oo ox5/2oo&#x
10 stasc†2
0.674163
shadow  -  xo7/2oo ox7/2oo&#x
14 shasc†2
0.680827
gashia  -  xo5/2oo5oo5/2ox&#x
2 gashi + 240 sissidpy†2 + 1440 stasc†2
0.742632
hossidgyt  -  reduced( xoo5/2oxo5/2oox5/2*a&#x by x5/2o5/2o5/2*a each )
3 hossdap†1 + 36 stapepy†2
0.790569
triddaf°  -  xo ox xo3ox&#x
6 squasc†2 + 4 traf†2
0.816497
tedrix°  -  xxo xox oxx&#x
6 bidrap†2 + 3 tepe
0.866025
tridafup°  -  xo3ox xo3ox&#x
12 traf†2 + 2 triddip
0.895420
squiddaf°  -  xo ox xo4ox&#x
4 squaf†2 + 8 squasc†2
1.050501
icoap°  -  xo3oo4oo3ox&#x
2 ico + 48 octpy†2 + 192 pen
1.074481
sitpodadia  -  oo5/2oo3xo5/2ox3*b&#x
240 gikepy†2 + 120 sidtidap + 2 sitpodady
sishia
120 hossdap†1 + 2 sishi + 240 sissidpy†2
1.098185
hodidgyt  -  reduced( xxo5/2xox5/2oxx5/2*a&#x by x5/2x5/2o5/2*a each )
3 dastop†1 + 36 stisaw†2
1.190238
pabex hix°  -  xx3xo xx3ox&#x
2 thiddip + 6 tricuf†2 + 6 tricupe†2
1.224745
sripa°  -  ox3xo3ox3xo&#x
10 octaco†2 + 2 srip + 20 traf†2
1.248606
ragashia  -  oo5/2xo5ox5/2oo&#x
240 gaddadid†2 + 2 ragashi
1.274755
pexhin°  -  xo3xx3ox xo ox&#zx
6 hex + 12 tepe + 16 tricuf†2 + 4 tuta†1
rita°  -  xo3oo3ox *b3xx&#x
8 hex + 2 rit + 24 tepe + 16 tetaco†2
1.322876
tutcupip°  -  xx xo3xx3ox&#x
6 tepe + 8 tricupe†2 + 2 tuta†1 + 2 tuttip
1.618034
sirgashia  -  xo5/2ox5xo5/2ox&#x
240 dida raded†2 + 2 sirgashi + 1440 stafe†2
1.620185
thexa°  -  xo3xx3ox *b3oo&#x
16 octatut†2 + 2 thex + 8 tuta†1
1.658312
pripa°  -  xx3ox3xo3xx&#x
10 coatut†2 + 2 prip + 20 tricupe†2
1.677756
sutia  -  xx3ox4xo3xx4/3*a&#x
48 quithaquitco†2 + 48 sircoatoe†2 + 2 suti
1.778824
ricoa°  -  oo3xo4ox3oo&#x
48 cubaco†2 + 2 rico
1.870829
gripa°  -  ox3xx3xx3xo&#x
2 grip + 20 tricuf†2 + 10 tutatoe†2
1.917564
righia  -  oo5xo5/2ox5oo&#x
2 righi + 240 sissidadid†2
2.150581
taha°  -  xo3xx3ox *b3xx&#x
2 tah + 24 tepe + 16 tutatoe†2 + 8 tuta†1
2.352869
ditdia  -  xx3xo4xx3ox4*a4/3*c&#x
2 ditdi + 48 goccoa cotco†2 + 48 toatic†2
2.527959
sid pippadia  -  reduced( xx5oo5/2xo5/2ox5/2*b&#x, by . o5/2x5/2o5/2*b each )
240 gaddaraded†2 + 120 hossdap†1 + 2 sid pippady + 720 stappip
2.632865
sricoa°  -  xo3ox4xo3ox&#x
48 coasirco†2 + 2 srico + 192 traf†2
2.829949
rasishia
120 dastop†1 + 240 didadoe†2 + 2 rasishi
3.404434
sirghia  -  xo5ox5/2xo5ox&#x
240 dida raded†2 + 1440 paf†2 + 2 sirghi
3.522336
pricoa°  -  xx3xo4ox3xx&#x
2 prico + 48 sircoatoe†2 + 192 tricupe†2
3.855219
stut phiddixa  -  xx3oo3xo5/2ox3*b&#x
120 sidtidap + 720 stappip + 2 stut phiddix + 1200 tetaco†2
4.311477
gricoa°  -  xo3xx4xx3ox&#x
2 grico + 48 ticagirco†2 + 192 tricuf†2
4.923348
pirghia  -  xx5xo5/2ox5xx&#x
1440 pecupe†2 + 2 pirghi + 240 radeda tigid†2
5.345177
wavhiddixa  -  oo3xx3xo5/2ox3*b&#x
1200 octatut†2 + 120 siida†1 + 2 wavhiddix
6.881910
sphiddixa  -  xx3xx3xo5/2ox3*b&#x
120 siida†1 + 2 sphiddix + 720 stappip + 1200 tutatoe†2
...
n/d-daf  -  xo ox xo-n/d-ox&#x  (° for d=1)
4 n/d-af†2 + 2n squasc†2
...
n,m-dafup°  -  xo-n-ox xo-m-ox&#x
2m n-af†2 + 2 n,m-dip + 2n m-af†2
...
n/d-dow  -  xo-n/d-oo ox-n/d-oo&#x  (° for d=1)
2n n/d-sc†2
...
n/d,2n/d-dipcup  -  xx-n/d-xo xx-n/d-ox&#x  (° for d=1)
2n n/d-cuf†2 + 2n n/d-cupe†2 + 2 n/d,2n/d-dip
scaliform euclidean tetracombs
capirsit°  -  s3s3s4o3x
24N ipe + N prissi†1 + 3N sadi + 96N tricuf†2 + 32N triddip + 12N tuta†1
capshot°  -  s3s4o3o3x
12N ipe + 3N rit + N sadi + 24N tetaco†2 + 32N triddip
capsthat°  -  s3s4o3x3x
12N ipe + N prissi†1 + 3N tah + 32N thiddip + 24N tutatoe†2
cesratit°  -  s4o3x3o4s
3N hex + N thex + 8N tuta†1
paltite°  -  s3s4o3x3o
24N octatut†2 + N prissi†1 + 3N thex + 32N triddip
scaliform hyperbolic tetracombs
...
rect( o4x4o3*a4x4o3*a )°
8NKL o3x3x4o4*b + 8NP rect( x4o3o4x4*b )†2 + 3NMKLP rit + 8NMKLP tuta†1
...
trunc( o4x4o3*a4x4o3*a )°
8NKL o3x3x4x4*b + 3NMKLP tat + 8NP trunc( x4o3o4x4*b )†2 + 8NMKLP tuta†1
0.25 i
o4s4o3*a4s4o3*a°
3NMKLP hex + 8NKL o3o3o4s4*b + 8NP s4o3o4s4*b†1 + 4NMKLP tuta†1


---- 6D purely scaliforms (up) ----

circumradiusscaliform polypetafacet total
0.707107
gisdiddit
6400 hix + 576 stadow†1 + 3840 state†2
starpglassdit  -  oxoo5/2ooox xooo5/2ooxo&#xr
10 bostarpglassdit†2 + 4 stadow†1
0.816497
tedjak°  -  xoo3ooo3oxo *b3oox&#x
24 hexpy†2 + 3 hin + 24 hix
endjak°  -  xo3ox xo3oo ox3oo&#zx
6 hix + 18 squete†2 + 9 triddaf†1
0.866025
rixa°  -  oo3xo3oo3ox3oo&#x
12 dihin†2 + 20 hix + 2 rix
tratetdafup°  -  xo3ox xo3oo3ox&#x
6 tetaf†2 + 2 tratet + 8 trial triddip†2 + 6 triddaf†1
odhax°  -  xxo xox oxx oox oxo xoo&#zx
8 hix + 12 tedhin†2 + 8 tedrix†1
0.925820
ladbril°
7 teddot†2 + 7 tedrix†1 + 7 tratet
1
tridafupip°  -  xo3ox xo3ox xx&#x
12 traffip†2 + 2 tratrip + 2 tridafup†1
oddimo°  -  xo3ox xo3ox xo3ox&#zx
18 tridafup†1 + 54 triddaf†1
xedrag°  -  xxo4ooo xox4ooo oxx4ooo&#zx
12 hexip + 64 tedrix†1
1.224745
spixa°  -  xo3ox3oo3xo3ox&#x
12 rapaspid†2 + 2 spix + 30 teta ope†2 + 20 tridafup†1
hidbrag°  -  xo3ox4oo ox3xo4oo&#zx
12 tedrat†2 + 64 tridafup†1 + 16 troct
1.290994
medrojak°  -  oxx3xox xox3xxo xxo3oxx&#zx
162 cubasquasc†3 + 27 squoct + 54 tedrix†1 + 54 traffip†2 + 18 tratrip + 27 triddaf†1
ritgyt°  -  xxo3ooo3xox *b3oxx&#x
24 hexaco†2 + 3 rita†1 + 24 tedrix†1
1.322876
pexhax°  -  xo3xx3ox xo3oo3ox&#zx
12 hexip + 6 hin + 6 pexhin†1 + 32 pexhix†2 + 8 tratet
bitettut°  -  xx3ox3oo xx3xo3oo&#zx
8 hatet + 16 hix + 16 pabexhix†1 + 32 pexhix†2 + 8 tratet
siphina°  -  xo3oo3ox *b3oo3xx&#x
40 hexip + 10 hin + 32 penaspid†2 + 2 siphin + 80 tratet
ritas°  -  xoxo3oooo3oxox *b3xxxx&#xr
24 hexip + 8 hin + 4 rita†1 + 32 tepaco†2 + 32 tratet
1.414214
codibrox°  -  xxo4ooq xox4oqo oxx4qoo&#zx
12 bodnit†2 + 48 squatet + 64 tedrix†1
1.581139
bittixa°  -  oo3xo3xx3ox3oo&#x
2 bittix + 20 hix + 12 tipadeca†2
1.632993
thexgyt°  -  xoo3xxx3oxo *b3oox&#x
24 hix + 24 octa tutcup†2 + 3 thexa†1
1.658312
cappixa°  -  xx3xo3oo3ox3xx&#x
2 cappix + 20 pabex hix†1 + 12 spidatip†2 + 30 tepeatuttip†2
sirhina°  -  xo3oo3ox *b3xx3oo&#x
32  rapalsrip†2 + 10  rita†1 + 2  sirhin + 80  tratet
pabex hax°  -  xo3xx3ox xo3xx3ox&#zx
32 pabex hix†1 + 16 tratet + 12 pexhin†1 + 24 tutcupip†1
1.870829
bicotoe°  -  xo3xx4oo ox3xx4oo&#zx
16 haco + 64 pabex hix†1 + 36 pent + 12 squaco + 96 squatricu†2
1.978437
redscox°  -  xxo4xxx xox4xxx oxx4xxx&#zx
24 sidpithip + 192 squasquippy†2 + 64 tedrix†1 + 192 tepacube†2 + 64 tracube
2.160247
tahgyt°  -  xxo3xxx3xox *b3oxx&#x
3 taha†1 + 24 tedrix†1 + 24 tutcupa toe†2
2.263033
big dispox°  -  xo3ox4xx ox3xo4xx&#zx
12 cydispan†2 + 144 squatet + 192 traffip†2 + 16 trasirco + 64 tridafup†1
2.345208
cograxa°  -  xx3xo3xx3ox3xx&#x
2 cograx + 30 copeatope†2 + 20 pabex hix†1 + 12 pripagrip†2


---- 7D purely scaliforms (up) ----

circumradiusscaliform polyexafacet total
0.831254
sissiddow  -  xo5/2oo5oo ox5/2oo5oo&#x
24 stasissiddow†2
0.866025
rila°  -  oo3xo3oo3oo3ox3oo&#x
14 hixalrix†2 + 70 octete†2 + 2 ril
jaka°  -  xo3oo3oo3oo3ox *c3oo&#x
72 gee + 432 hop + 2 jak + 54 tacpy†2
trapendafup°  -  xo3ox xo3oo3oo3ox&#x
6 penaf†2 + 2 trapen + 10 trial tratet†2 + 20 tripal triddip†2
idinaq°  -  xo3ox xo3oo3oo3oo3ox&#zx
20 endjak†1 + 6 gee + 36 hop + 90 squepe†2
odinaq°  -  xoo oxo oox oxo3ooo3oox *e3xoo&#zx
24 gee + 96 hexasc†2 + 192 hop + 8 tedjak†1
tedroc°
4 hixip + 8 tidril†2
0.935414
trahex dafup°  -  xo3ox xo3oo3ox *d3oo&#x
6 hexaf†2 + 2 trahex + 8 tratetdafup†1 + 16 trial tratet†2
1
ihdlaq°  -  xxo xox oxx oox3ooo3oxo *e3xoo&#zx
6 hax + 48 hedjak†2 + 24 odhax†1 + 8 tedjak†1
sadlaq°  -  xxxxooo xxoooxx xoxoxox xooxxxo oxxoxxo oxoxxox ooxxoxx&#zx
14 hax + 128 hop + 56 tedjak†1
thidlaq°  -  xo3ox oo3xo3oo3ox3oo&#zx
20 endjak†1 + 36 rapalpenp†2 + 6 rixa†1 + 12 trapen + 30 tratetdafup†1
1.040833
titridafup°  -  xo3ox xo3ox xx3oo&#x
12 titraf†2 + 3 tridafupip†1 + 2 trittip>†2
1.224745
scala°  -  xo3ox3oo3oo3xo3ox&#x
42 pena rappip†2 + 14 rixascad†2 + 2 scal + 70 tratet altroct†2
1.322876
spila°  -  xo3oo3ox3xo3oo3ox&#x
14 dottaspix†2 + 42 spida rappip†2 + 2 spil + 70 tetal tratet†2
hidlin°  -  xo3oo3ox3oo3xo3oo3ox&#zx
16 bril + 56 pabdimo†2 + 56 rixa†1 + 70 hax
rojaka°  -  oo3xo3oo3ox3oo *c3oo&#x
54 hinro†2 + 72 rixa†1 + 2 rojak
ritgyo°  -  xoo oxo oox xxo3ooo3xox *e3oxx&#zx
48 hinaco†2 + 24 odhax†1 + 8 ritgyt†1
1.414214
ritgyco°  -  xxo xox oxx xxo3ooo3xox *e3oxx&#zx
96 hexipaco†2 + 24 hinnip + 192 pedril†2 + 6 ritas†1 + 8 ritgyt†1 + 24 xedrag†1
1.581139
sabrila°  -  oo3xo3ox3xo3ox3oo&#x
2 sabril + ...
1.658312
hejaka°  -  xo3oo3oo3oo3ox *c3xx&#x
72 gee + 2 hejak + 54 hinasiphin†2 + 720 hixip + 432 spidapenp†2
1.936492
crala°  -  xo3ox3xo3ox3xo3ox&#x
2 cral + ...
shopjaka°  -  xo3ox3oo3xo3ox *c3oo&#x
2 shopjak + ...


---- 8D purely scaliforms (up) ----

circumradiusscaliform polyzettafacet total
1
broca°  -  oo3oo3xo3oo3ox3oo3oo&#x
2 broc + 70 oca + 16 rilalbril†2
jakap°  -  xx xo3oo3oo3oo3ox *d3oo&#x
72 geep + 432 hopip + 2 jaka†1 + 2 jakip + 54 tacpyp†2
kadify°  -  oo3oo3xo3oo3oo3ox3oo3oo&#zx
630 oca + 1260 octepe†2 + 72 rila†1 + 18 roc
tijakdap°  -  xo3ox xo3oo3oo3oo3ox *e3oo&#zx
72 idinaq†1 + 6 jaka†1 + 1296 squix†2 + 162 taccasc†2
codify°  -  xoo3ooo3oxo *b3oox xoo3ooo3oxo *f3oox&#zx
1536 hexete†2 + 384 oca + 48 odinaq†1


© 2004-2024
top of page