J
OURNAL DE
T
HÉORIE DES
N
OMBRES DE
B
ORDEAUX
E
DGARDO
U
GALDE
An alternative construction of normal numbers
Journal de Théorie des Nombres de Bordeaux, tome
12, n
o1 (2000),
p. 165-177
<http://www.numdam.org/item?id=JTNB_2000__12_1_165_0>
© Université Bordeaux 1, 2000, tous droits réservés.
L’accès aux archives de la revue « Journal de Théorie des Nombres de Bordeaux » (http://jtnb.cedram.org/) implique l’accord avec les condi-tions générales d’utilisation (http://www.numdam.org/conditions). Toute uti-lisation commerciale ou impression systématique est constitutive d’une infraction pénale. Toute copie ou impression de ce fichier doit conte-nir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
An
alternative construction
of normal numbers
par EDGARDO UGALDE
RÉSUMÉ. Nous construisons une nouvelle classe de nombres nor-maux en base b de manière récursive en utilisant des chemins
eulériens dans une suite de
digraphes
de deBruijn.
Dans cette constructionchaque
chemin estfabriqué
comme une extension du cheminprécédent,
de telle manière que le blocb-adique
déterminé par le chemin contienne le nombre maximal de sous-blocsb-adiques
distincts delongueurs
consécutives dansl’arrangement
leplus
compact. Toute source de redondance est évitée à
chaque étape.
Notre construction récursive est une alternative àplusieurs
cons-tructions par concaténation à la
Champernowne
qui sont bienconnues.
ABSTRACT. A new class of b-adic normal numbers is built
recur-sively by using
Eulerianpaths
in a sequence of deBruijn
digraphs.
In this recursion, a
path
is constructed as an extension of the pre-vious one, in such way that the b-adic block determinedby
thepath
contains the maximal number of different b-adic subblocks of consecutivelengths
in the most compact arrangement.Any
source of
redundancy
is avoided at every step. Our recursivecon-struction is an alternative to the several well-known concatenative constructions à la
Champernowne.
1. INTRODUCTION
Let b be a fixed
integer.
A number x E[0, 1]
is a b-adic normal if eachblock
q(1)q(2) - - -
q(k)
on bsymbols
appears in the b-adicexpansion
of xwith
frequency
b-1. In[Bo]
Borelproved
that the set of all b-adic normals isa set
of Lebesgue
measure1,
but it wasonly
35 years after Borel’sproof
thatChampernowne
[Ch]
presented
the firstexplicit
normal number in base 10. Heproceeded
to concatenate the decimalexpressions
of all natural numbersto
yield
the decimalexpansion
0.123456789101112131415161718 .... Several other constructions of normal numbers have beenproposed
fol-lowing
Champernowne’s
idea, i.e.,
a concatenation of blocks ofdigits
ofin-creasing
length.
Besicovitch[Be]
proved
thatconcatenating
the sequence ofsquares of all the natural numbers
produces
the normal number 0.149162536 496481100121 ~ ~ .Copeland
and Erd6s[CE]
proved
that the concatenation of allprime
numbersgives
the normal 0.23571113171923293137 .... Morerecently
Schiffer[Sc],
and Nakai and Shiokawa[NS]
proved
that for anon-constant,
eventually
increasing
polynomialp,
the number[p(4)] -"
is also a normal number. Here~x~
stands for the b-adicexpression
of the
integral
part
of ~. This constructionproduces
both Besicovitch andChampernowne
numbers.In this paper we
present
a recursive construction of normal numberswhich is not a la
Champernowne.
Our b-adicexpansions
areproduced
through
Eulerianpaths
in a sequence of deBruijn digraphs
ofincreasing
size.
Thus,
we call the numbersgenerated by
ouralgorithm
Eulerian normalnumbers.
The paper is
organized
as follows. In Section 2 wegive
the maindefi-nitions. The
algorithm
togenerate
Eulerian normal numbers ispresented
in Section 3. This section ismainly
combinatorial. Section 4 is more of aprobabilistic
nature. There we prove that Eulerian numbers are indeednormal and we
give
an estimate of theirdiscrepancy. Finally,
the rate ofconvergence to
equidistribution
for the Eulerian numbers is discussed inSection 5.
2. DEFINITIONS AND NOTATION
2.1. Normal numbers.
Except
for the rationals of the kindm/b’,
anum-ber x E
0,1
has aunique
b-adicexpansion
x(1)(2) - x(n) ,
which isthe sequence on
Zb
such that x = The b-adic block from siten to site n + k in the b-adic
expansion
of x is denotedby
x(n : n + k).
A number x E[0, 1]
is said to be a b-adic norrraal number if for eachfinite b-adic block
q(l : k)
EZk
where
N), q(l : k))
is thefrequency
ofq(l : k)
as subblock of~(1 : N).
The rate of convergence to
equidistribution
is measuredby
the(N,
k)-discrepancy
associated to x E[0, 1].
It is denotedby
Drr,k
and is defined asfollows:
We
readily
see that x E~0,1~
is normal if andonly
if 0for all k E N.
2.2.
Digraphs.
Adigraphs
is acouple
(Tl, A),
where V is a finite set and A abinary
relation on that set. The elements of V are calledvertices,
andthe ordered
pairs
in A are called arrows. We denoteby v H
v’ the arrowE A.
To a
given
vertex v E V we associate the sets0(v) =
fv’
Ev’l
and
I(v) =
{v’
Evl.
Given v H v’ we call v’ the head and v the tail.
A
digraph (V, A)
isb-regular
if for each vertex v E VI I(v) 1 0 (v)
I
= b.A
path
in(V, A)
is a sequence(vl,
V2,... , v9)
of vertices such that foreach 1 i s, vi H vi+l.
A
path
(Vl,V2,... va)
in(A, V)
such that Va M vi defines acycle
in(V, A),
which is theequivalence
class of allpaths
of the kind(Vi,
vi+i, ... , vs,vl, ... ,
vi- i)
obtainedby cyclic
permutations
of the vertices in theoriginal
path.
Since a
cycle
is determinedby
one of itspossible paths,
we use any of itspaths
to denote it.The
digraph
(V, A)
is connected. if for eachcouple
v, v’
of vertices thereis a
cycle
(v,
v,....v’,
vi, ... ,
containing
them.Let
(V, A)
be a connecteddigraph.
The arrow v H v’ in A is abridge
if the
digraph
(V, A B
v’~),
obtainedby erasing
that arrow form theoriginal digraph,
is nolonger
connected.A
path
where each vertex in V appearsexactly
once is a Hamiltonianpath,
while apath
where each arrow appearsexactly
once is an Eulerianpath.
Correspondingly,
Hamiltoniancycles
and Euleriancycles
arecycles
made
respectively
of Hamiltonian and Eulerianpaths.
2.3. The de
Bruijn digraphs.
The(b,kJ-de
Bruijn
digraph,
denotedby
B(b, k),
has vertices in the set of b-adic blocks oflength
k,
and arrowsbetween
overlapping
blocks.Thus,
p(l : k)
~-4q(l : k)
if andonly
ifp(2 :
k)
=q(l :
k -1).
Note thatB(b, k)
isb-regular
for all k.The
family
B(b, k)
was introducedby
deBruijn
[Br]
and wasalready
used in the framework of normal numbers
by
Good~Go~.
An Eulerian
path
onB(b, k)
defines a Hamiltonianpath
inB(b, k
+ 1)
by
identifying
the arrows of the firstdigraph
with the vertices of the seconddigraph.
We also associatepaths
inB(b,
k)
to b-adic blocks. Thepath
(a(1 : k), a(2 : k
+1), ... , a(s : s
+ k -1))
inB(b, k)
is associated to the blocka(1 :
s + k -1)
E~b+k-1,
A b-adic block
q(1 :
s)
oflength s
> t is an extensions of the b-adic blockp(1 : t) if p(1 : t)
=q(l : t).
Similarly,
an extension of apath
(vl, v2, ... , vt)
is a
path
of the form(vl , v2, ... ,
vt, ... ,vs ) .
3. CONSTRUCTION OF THE EULERIAN NUMBERS
A b-adic Eulerian number contains in its b-adic
expansion
all the b-adic blocks of alllengths,
but in the mostcompact
possible
arrangement.
The main
ingredient
in the construction of Eulerian numbers is the func-tion Ext which extends b-adic blocks associated to Hamiltonianpaths
toblocks associated to Eulerian
paths.
For b >2,
given
the b-adic blocka(l : bk + k -
1)
defining
a Hamiltonianpath
inB(b, k),
k-1))
=a(l :
+k)
is one of thepossible
extensions ofa(1 : bk
+ k -1)
whose associated
path
inB(b,
k)
is Eulerian.Since there is more than one
possible
extension with therequired
prop-erty,
Ext is a non-deterministic function.In the 2-adic case this extension is not
possible,
but a similaralgorithm
can beimplemented. Nevertheless,
since 2-adic normal numbers can beobtained from 4-adic normals
(see
[Ma]),
in what follows weonly
examinethe case b > 2.
To construct and determine a b-adic Eulerian number e =
we
only
have to iterate the functionExt,
A
possible
outcome of thisprocedure
gives
a number whose 3-adicex-pansion
starts withWe call any number whose lr-adic
expansion
is obtained in the way de-scribedabove,
an Eulerian number.3.1. The non-deterministic function Ext. To
complete
thedescription
of thisconstruction,
we have to prove that these extensions exist. In fact we will propose analgorithm
to construct theoutputs
of the functionExt,
following
the idea in[Tu],
where thefollowing
result isproved.
Theorem 1. A
digraph
(V, A)
has an Euleriancycle
(vo, vl, ... , I VI, vo) if
and
only if
(V, A)
is connected andfor
each vertex v E VIO(v)1 = II(v)l.
Note that the de
Bruijn
digraphs satisfy
thehypotheses
of thistheorem,
but in order to extend a Hamiltoniancycle
into an Eulerian one we need alittle more than this result. We prove the
following.
Theorem 2. Let
(V, A)
be a connecteddigraph
with nobridges,
and suchthat
for
all v E V10(v)l =
N(v).
Suppose
(A,Y)
admits aHamiltonian
cycle defined by
thepath
(vo, vl,
... ,7 vi).
Then there exists anEulerian
cycle
determinedby
apath
(VO,V1,...
ve)
which extendsthe
given
Hamiltonianpath.
We divide the
proof
into twoparts.
First wejust apply
thealgorithm
skeleton of the construction. After that we
modify
the Euleriancycle
weobtained to
give
it the desired form.Proof.
Let us order all the arrows of A in a table.In this table there is one line for each vertex in V. In the line
corresponding
to the vertex v we
put
all the arrows of the setO(v)
following
anarbitrary
order,
except
for the lastentry,
where weplace
the arrowappearing
in theHamiltonian
cycle.
Since(V, A)
is notnecessarily regular,
different rowsmay have different
lengths.
The initial Eulerian
cycle: Using
this table we determine an Euleriancycle
as follows.
~ Initialization: vl is the first vertex of the Eulerian
path.
~ Recursion: At a
given
step
of the construction wealready
have asequence
(Vi,... , v).
Let v - v’ be the first arrowappearing
in theline of the vertex v in the table.
-
Increase the sequence
(vl,... v)
by appending
v’.So,
the newsequence is
(v,~, ... ,
v,v’ ) .
-
Erase v H v’ from the table.
This
procedure
stops
at a vertex v when all the arrows ofO(v)
have beenerased from the table. When it
happens,
theresulting
path
... ,v)
hasN(v)
arrows with v astail,
and in the last arrow of thepath v
is head.Since
10(v)l
=BI(v)l,
theonly
possibility
is v =vl.
Now,
let us show that all the arrows of A are included in thispath.
Suppose vk
H v’ is not in(Vi,... , 7 VI);
then neither is Vk ~ Vk+1, which isthe last arrow in the line of vk in the
original
table. Because of the choicewe made for the last entries of each line of the
table,
this wouldimply
thatnone of the arrows Vk+1 M Vk+2, vk+2 H Vk+3,... , Vi-1 M vl is in the
path,
but this isimpossible
since the lineof vi
wasalready
erased from the table.The sequence
(vi, ... , vl)
determinedby
thisprocedure
defines anEuler-ian
cycle
which preserves the order of the arrows in theoriginal
HamiltonianIn this
picture,
eitherCk
isempty,
or it is apath
(Vk,l,
Vk,2, ... ,which
preceded by vk
defines acycle
7 Vk,nk).
We denotethis
cycle by vk fH
C~ .
Modifying
the Euleriancycle:
Thefollowing algorithm
allows us to movethe
cycles
vk -Ck
for kt,
to include them inside thecycle vi
HCi.
Note that for 1k
t7
ifCk
is notempty,
then itonly
contains vertices with indexlarger
than orequal
to k. This is because when we first enterCk,
wehave
already
finished all the lines associated to vertices vj with0 j
k. IfCk
shares a vertex withOi
then we can moveCk
to include all itsarrows inside a new
Cl.
. Basic IteTation: For k = 0 to l -
1,
ifCk
is notempty,
and
MCk
shares one vertex
with vi -
Cl,
thenmodify
the Euleriancycle
asindicated below.
Let vk -
Vk,l t-+
... MVk,r r-7
~ ~ ~ H vk,nk and Vi ~HCi
vi H viI H . - ·H- Vi s t-+
... · H vi nl be such that Then eraseCk
from theoriginal
Euleriancycle
andreplace
Vi ~-4
Cl by
thepath
where
Ck
isempty
and the newCl
has more vertices than theoriginal
one.o Recursion:
Repeat
theprevious
step
until none of theremaining cycles
vk -
Ck
shares a vertexwith VI.
HCl.
At the end of the recursion we obtain a
cycle
which is defined
by
the sequence(vo, vl, ... , ,Vi,Ci,Vi).
This is the desiredextension.
In order to
complete
theproof
we have to ensure that at the end of therecursion,
which takes no more than i + 1steps,
we have eliminated all thecycles
vk ~Ck
for 0 k t.Suppose
on thecontrary
that it remains a nonempty
path
Ck,
with k minimal. In that case all the vertices betweenthe first vk and the the first vl, have index
larger
orequal
to k. On the otherhand,
between the last ve and the first vk, all vertices have indexsmaller than k. In this situation all
paths
from vi
with j
k to vk containthe arrow Vk-1 H- Vk,
making
this arrow abridge.
This is a contradictionto one of the
hypotheses
of the theorem. 0Extension
procedure
for the deBruijn
digraphs.
Theorem 3. Let b > 3 and b-adic block
defining
aHamiltonian
cycle
inB(b, k).
There exists an extensione(1 :
bk+1
+k)
of
e(l : bk +
k -1),
whichdefines
an Eulerian,cycle
inB(b, k).
Proof.
Wesimply apply
Theorem 2. SinceB(b, k)
isb-regular,
itimme-diately
satisfies therequirement
IO(v)1 = II(v)l.
On the otherhand,
it is easy to check thatB(b, k)
is connected. Theonly
nontrivialrequirement
isthe lack of
bridges.
Let us prove that for b >3,
B(b, k)
does not contain anybridge.
Let us eliminate the arrow ala2 ~ - ~ ak - aZa3 ~ ~ ~ ak+i from
B(b, k).
Totake any
pair
of vertices P1P2... Pk and q1q2... qk inB(b, k).
For anya E
f al, ak+1I,
the b-adic block inZfk,
with a in the middle
repeated k
times,
determines apath
inB(b, k)
which never passesthrough
the arrow ak H a2ag ~ ~ ~ ak+1. Note that inthe
path
definedby
Pkaa... qk, the arrowscorrespond
tosubblocks of
length
k +1,
but the choice of a ensures that all thosesub-blocks are different from ala2 ~ ~ ~ Note also that the choice of a may
be
impossible
in the case b = 2. 0The
procedure
described in theproof
of Theorem 2 is notadequate
forcomputer
implementation.
Instead we use the Tutte’salgorithm:
~ Start with the block
e(l :
b)
= O1 ~ ~ ~(b -
1).
~ At a
given
step
of the construction we have a b-adic blocke(1 :
bk
+k -
1)
which defines a Hamiltonianpath
inB(b, k).
-
Erase from
B(b, k)
all the arrowse( j : j -~ k -1) ~ e( j
+ 1 : j
+k)
appearing
in thatpath.
-
Order the arrows of the new
digraph
in a table similar to the onewe used in Theorem
2,
but now, at the end of each rowplace
the arrows
appearing
on aspanning
treeconverging
to the vertex + k -1)
(see [Tu]
fordetails).
-
Following
the order in thistable,
as we did in theproof
ofThe-orem
2,
wefinally
determine an Eulerianpath starting
atbk
+ k -1)
andending
ate(1 :
k).
-
The b-adic block associated to this
path,
appended
toe(1 :
bk
+k -
1),
is the desired extension.4. DISCREPANCY AND EQUIDISTRIBUTION
Our aim in this section is to prove the
normality
of the Euleriannum-bers. The structure of the
proof
is the classical onegiven
in[Ch, Be].
We use theentropic
bound definedbelow,
to estimate the(N, k)-discrepancy.
Unfortunately
this estimate is not the bestpossible
one. We discuss thistopic
in more detail in the next section.For all
q(l : k)
EZ~
anda(l : N)
E with k NE N‘,
letf (a(1 :
N), q(1 :
k))
be thefrequency
ofq(l :
k)
as subblock ofa(l : N),
andLet
be the
(e, k)-entropic
rate of convergence.Theorem 4
(Entropic bound).
There are constants a and Cdepending
only
on b andk,
such thatProof.
Let v be theprobability
distribution on7G6
generated by
the b-adicblock
a(l : N)
as follows:The number of b-adic blocks
generating
the same distribution can becomputed
as follows.Let
k-1)
the"multi-digraph"
(where
an arrow may appear severaltimes
repeated)
obtained fromB(b, k - 1),
by repeating
each arrowq(I :
k -
1)
~q(2 : k), (N - k
+1)v(q(l : k))
times.By
construction,
thismulti-digraph
allows Eulerianpaths,
inparticu-lar the
path
definedby
the b-adic block oflength
N whichoriginally
de-termined v. As in theproof
of Theorem2,
to each Eulerianpath
therecorresponds
a tablecontaining
all the arrows in agiven
order. There areflq(l:k-1)
(Lq(k)(N - s
+1)v(q(l :
k))) !
possible
tables of thatkind,
notall of them
yielding
an Eulerianpath.
Each Eulerian
path
inBv(b, k - 1)
corresponds
to a b-adic blockgener-ating
the measure v, but the converse is not true. All therepetitions
of one arrow inB(b, k - 1)
that we included in1)
give
rise to differentEulerian
paths
whenthey
arepermuted
in thetable,
but all thosepaths
define the same b-adic block. Because of
this,
the number of b-adic blocksof
length
Ngenerating
the same distribution v is less thanI I I I
The
Stirling
approximation gives
us the more usefulexponential
boundand
Ci
a constantdepending
only
on b and k.Zk
On the otherhand,
the number ofprobability
distributions inZj
thatcan be
generated by
a b-adic block oflength
N is boundedby C2N",
whereC2
and a are constantsdepending
only
on b and k.From these two bounds we
finally
deduce thatwhere
hk(e)
=I
maxq(l:x)
11I(q(l : k)) -
e)
and C =CiC2
depends only
on b and k.It
only
remains tocompute
hk (e).
We can do thisby
standard variationalprocedures,
taking
into account someproperties
satisfiedby hk
that aredescribed in
[EI].
Thoseproperties
allow us to restrict our search of theminimum to the set of
product
probability
distributions inZ~.
We obtainRemark: A similar result can be derived from
general
techniques
ofLarge
Deviations
Theory
[El] .
Here we use a combinatorialproof
which follows theideas
presented
in[Cs],
wherethey
deriveentropic
rates from thecounting
ofpossible
Eulerianpaths
given
by
Tutte’s theorem.Lemma 1. For all
Proof.
Theentropic
rate[0, 1 -
b-k]
-4 1R issmooth,
convex, andincreasing. Taylor’s
Theoremapplies,
andgives
us thequadratic
behaviorFrom this we
readily
obtain the result. Infact,
since bothhk (e)
andPk (6)
=-(bkE/k) 2/(2(b -
1))
are convex,they
intersect at most in twopoints.
It iseasy to
verify
thatthey
intersectonly
at E =0,
and for all e E(0, 1 -
b-k~,
4.1.
Normality
of the Eulerian numbers.Theorem 5. E
(0,1~
be a b-adic Euleriannumbers,
thenfor
all kThe
implicit
constant in 0depends only
on b and k.Proof.
Let n E N be the maximalinteger
such that bn N - n + 1.By
construction,
x ( 1 :
bn + n -1)
contains all the b-adic blocks oflength
n assubblocks,
and there are of those subblockshaving
agiven
q(l : k)
EZj
asprefix. Then,
On the other
hand,
thefrequency
of agiven
q(l : k)
in + k :N)
can be estimated from thefrequency
ofq(1 : k)
inside the blocks oflengths
n + 1appearing
inx(bn
+ k :N).
Theorem 4 ensures that if we take en such that a
then the number of
(En, k)-bad
blocks oflength
is at mostUnder this condition we have
which
gives
The last term in the
right
hand side is neverlarger
thanb/(n
+1).
Note also that Lemma 1implies
thatsome
C2
depending
only
on b and 1~.Then,
for nlarge
we can choose aconstant
C,
depending
only
on k andb,
such thatfor all
q(1 : k)
0As an immediate
corollary
of this result we obtain thenormality
of the5. CONCLUDING REMARKS
The estimate on the
(N, k)-discrepancy
given by
theprevious
theorem isnot the best
possible
one. It was shown in[Sc]
that for ahuge
class of normalnumbers
including
theChampernowne
number 0.12345678910111213141516 ~ ~ ~ ,
the best bound for the convergence rate to theequidistribution
isO(I / log(N)).
Our numericalexperiments
show that thediscrepancy
for the Eulerian numbers should be eveno(I/log(N)),
but at the moment we are unable to prove it.We also did numerical
experiments
using
thegeneralized Champernowne
numbers(see
[DK]
fordetails),
and we also found a convergenceslightly
faster than
Both the
generalized Champernowne
numbers and the Eulerian numbers have in common a randomdisposition
of all the blocks of agiven
length.
We think this is the source of a faster convergence.
So,
it is not the efficientpacking
of blocks in the Euleriannumbers,
but the random nature of the extensionfunction,
thatproduces
a convergence faster thanWe may think in a
probabilistic
result of the kind: "for almost all Euleriannumber x,
DNk(x)
=o( 1/ log (N) )".
In order to prove such a statementwe should
probably
have tocompute
the distribution ofDN,k,
consideredas a random variable in and
apply
a kind of central limit theorem.Acknowledgements. During
thepreparation
of this paper I was fellowof the
Programa
deRepatriación
deCONACyT
México at IICO-UASLP. Ialso received financial
support
from the Universidad Aut6noma de San Luis Potosithrough
the Convenio FAI-UASLP No. C97-FAI-03-2.15. I thank Gelasio Salazar and Jesus Urias for their carefulreading
and comments.REFERENCES
[Bo] E. Borel, Sur les probabilités dénombrables et leurs applications arithmétiques. Circ. Mat. d. Palermo 29 (1909), 247-271.
[Br] N.G. de Bruijn, A combinatorial problem. Konink. Nederl. Akad. Wetersh. Afd. Naturuk. Eerste Reelss, A49 (1946), 758-764.
[Be] A.S. Besicovitch, The asymtotic distribution of the numerals in the decimal representation
of the squares of the natural numbers. Math. Z. 39 (1935), 146-156.
[Ch] D.G. Champernowne, The Construction of The Decimals Normal in base Ten. J. Lond. Math. Soc. 8 (1933), 254-260.
[CE] A. Copeland, P. Erdös, Note on normal numbers. Bull. Amer. Math. Soc. 52 (1946), 857-860.
[Cs] I. Csiszar, T. M. Coven, B.-S. Choi, Conditional limit theorem under Markov conditioning.
IEEE Trans. Inform. Theory IT-33 6 (1987), 788-801.
[DK] M. Denker, K. F. Krämer, Upper and lower class results for subsequences of the
Champer-nowne number. Ergodic theory and related topics III, LNM 1541 Springer (1992), 83-89.
[E1] R.S. Ellis, Entropy, large deviations and statistical mechanics. Springer-Verlag, 1985.
[Go] I. J. Good, Normal Recurring Decimals. J. Lond. Math. Soc. 21 (1946), 167-169.
[Ma] J.E. Maxfield, Normal k-tuples. Pacif. J. Math. 3 (1957), 189-196.
[NS] Y.-N. Nakai&I. Shiokawa, Discrepancy estimates for a class of normal numbers. Acta Arith. 62 (1992), 271-284.
[Tu] R. Tutte, Graph Theory. Encyclopedia of Mathematics and its Applications Vol 21 Addison
Wesley, 1984.
Edgardo UGALDE
IICO-UASLP,
Av. Karakorum 1470, Lomas 4ta
San Luis Potosi S.L.P., 78210 MEXICO