- freely available
- re-usable

*Algorithms*
**2011**,
*4*(4),
307-333;
doi:10.3390/a4040307

Published: 1 November 2011

## Abstract

**:**For fixed k ≥ 2 and fixed data alphabet of cardinality m, the hierarchical type class of a data string of length n = k

^{j}for some j ≥ 1 is formed by permuting the string in all possible ways under permutations arising from the isomorphisms of the unique finite rooted tree of depth j which has n leaves and k children for each non-leaf vertex. Suppose the data strings in a hierarchical type class are losslessly encoded via binary codewords of minimal length. A hierarchical entropy function is a function on the set of m-dimensional probability distributions which describes the asymptotic compression rate performance of this lossless encoding scheme as the data length n is allowed to grow without bound. We determine infinitely many hierarchical entropy functions which are each self-affine. For each such function, an explicit iterated function system is found such that the graph of the function is the attractor of the system.

## 1. Introduction

A traditional type class consists of all permutations of a fixed finite-length data string. There is a well-developed data compression theory in which strings in a traditional type class are losslessly encoded into fixed-length binary codewords [1]. One can generalize the notion of traditional type class and the resulting data compression theory in the following natural way Let T be a finite rooted tree; an isomorphism of T is a one-to-one mapping of the set of vertices of T onto itself which preserves the parent-child relation. Let n be the number of leaves of T, let ℒ(T) be the set of leaves of T, and let σ be a one-to-one mapping of {1, 2, …, n} onto ℒ(T). Suppose (X_{1}, X_{2}, …, X_{n}) is a data string of length n. Define the T-type class of (X_{1}, …, X_{n}) to consist of all strings (Y_{1}, Y_{2}, …, Y_{n}) for which there exists an isomorphism ϕ of T such that

Consider the depth one tree T = T_{1}(n) in which there are n children of the root, which are the leaves of the tree. Then, the notion of T_{1}(n)-type class coincides with the notion of traditional type class. Now let n = k^{j} for positive integer j and integer k ≥ 2. Consider the depth j tree T = T_{j}(k) with n leaves such that each non-leaf vertex has k children. Then, a T_{j}(k)-type class is called a hierarchical type class, and k is called the partitioning parameter of the class. In the paper [2], we dealt with hierarchical type classes in which the partitioning parameter is k = 2. In the present paper, we deal with hierarchical type classes in which the partitioning parameter is an arbitrary k ≥ 2.

Given a hierarchical type class S, there is a simple lossless coding algorithm which encodes each string in S into a fixed-length binary codeword of minimal length, and decodes the string from its codeword. This algorithm is particularly simple for the case when the partitioning parameter is k = 2, and we illustrate this case in Example 1 which follows; the case of general k ≥ 2 is discussed in [3]. In Example 1 and subsequently, x^{1} * x^{2} * … * x^{k} shall denote the data string obtained by concatenating together the finite-length data strings x^{1}, x^{2}, …, x^{k} (left to right).

#### Example 1

Let k = 2, and let S be the hierarchical type class of data string AABBABAB. The 16 strings in S are illustrated in Figure 1. Each string x ∈ S has a tree representation in which each vertex of tree T_{3}(2) is assigned a label which is a substring of x. This assignment takes place as follows.

The leaves of the tree, traversed left to right, are labeled with the respective left-to-right entries of the data string x.

For each non-leaf vertex v, if the strings labeling the left and right children of v are x

_{L}, x_{R}, respectively, then the string labeling v is x_{L}* x_{R}if x_{L}precedes or is equal to x_{R}in the lexicographical order, and is x_{R}* x_{L}, otherwise.

In Figure 1, we have illustrated the tree representations of the strings AABBABAB and BAABBBAA. The root label of all 16 tree representations will be the same string, namely, the first string in S in lexicographical order, which is the string AABBABAB in this case. Each string in S is encoded by visiting, in depth-first order, the non-leaf vertices of its tree representation whose children have different labels. Each such vertex is assigned bit 0 if its label is x_{L} * x_{R}, where x_{L}, x_{R} are the labels of its left and right children, and is assigned bit 1 otherwise (meaning that the label is x_{R} * x_{L}). The resulting sequence of bits, in the order they are obtained, is the codeword of the string. Since both encoder and decoder will know what hierarchical type class is being encoded, the decoder will know what the root label of the tree representation should be, and then the successive bits of the codeword allow the decoder to grow the tree representation from the root downward.

Before discussing the nature of the results to be obtained in this paper, we need some definitions and notation. Fix integers m, k ≥ 2, which serve as parameters in the subsequent development; k is the partitioning parameter already introduced, and m is called the “alphabet cardinality parameter” because we shall be dealing with an m-letter data alphabet, denoted
_{m} = {a_{1}, a_{2}, …, a_{m}}. For each j ≥ 0, we define a j-string x to be a string of length k^{j} over
_{m}. Note that if j ≥ 1, for each j-string x there is a unique k-tuple (x^{1}, x^{2}, …, x^{k}) whose entries are (j − 1)-strings such that x = x^{1}*x^{2}*…*x^{k}; this k-tuple is called the k-partitioning of x. If S_{1}, S_{2}, …, S_{k} are non-empty sets of j-strings, let S_{1} * S_{2} * … * S_{k} be the set of all (j + 1)-strings of the form x^{1} * x^{2} * … * x^{k}, where x^{i} belongs to S_{i} for i = 1, 2, …, k. The 0-strings are the individual letters in
_{m}.

We wish to formally define the family
_{m,k} of all hierarchical type classes in which the alphabet cardinality parameter is m and the partitioning parameter is k. Instead of using the tree isomorphism definition of hierarchical type class given at the beginning of the paper, we will use an equivalent inductive definition, which is more convenient in the subsequent development. First, we define the hierarchical type class of a 0-string to be the set consisting of the string itself. Given j-string x with j ≥ 1, and assume hierarchical type classes of (j − 1)-strings have been defined. Let (x^{1}, …, x^{k}) be the k-partitioning of x and let S_{i} be the hierarchical type class of x^{i} (i = 1, …, k). The hierarchical type class of x is then defined as

_{k}is the set of all permutations of {1, 2, …, k}. A set is called a hierarchical type class of order j if it is the hierarchical type class of some j-string. A set is called a hierarchical type class if it is a hierarchical type class of order j for some j ≥ 0. The family

_{m,k}is then the set of all hierarchical type classes, of all orders.

We define the type of j-string x to be the vector (n_{1}, …, n_{m}) whose i-th component n_{i} is the frequency of letter a_{i} in x. For each j ≥ 0, let Λ_{j} (m, k) be the set of all types of j-strings. Let Λ(m, k) be the union of the Λ_{j}(m, k)'s for j ≥ 0, and let Λ^{+}(m, k) be the union of the Λ_{j}(m, k)'s for j ≥ 1. A type in Λ_{j}(m, k) will be said to be of order j. If λ ∈ Λ(m, k), let ‖λ‖ denote the sum of the components of λ. If λ is of order j, then ‖λ‖ = k^{j}. All strings in a hierarchical type class have the same type, because permuting a string does not change the type. This property is listed below, along with some other properties whose simple proofs are omitted.

**Prop. 1:**All strings in a hierarchical type class have the same type.**Prop. 2:**For each j ≥ 0, the distinct hierarchical type classes of order j form a partition of the set of all j-strings.**Prop. 3:**Let λ ∈ Λ(m, k), and let_{m,k}(λ) denote the set of all hierarchical type classes in_{m,k}whose strings are of type λ. Then_{m,k}(λ) forms a partition of the set of all strings of type λ.**Prop. 4:**Let S ∈_{m,k}be a hierarchical type class of order j ≥ 1. Then there is a k-tuple (S_{1}, S_{2}, …, S_{k}), unique up to permutation, such that each S_{i}is a hierarchical type class of order j − 1 and S is expressible as Expression (1).

#### Global Hierarchical Entropy Function

The global hierarchical entropy function is the function H :
_{m,k} → [0, ∞) such that

#### Lemma 1

Let S be a hierarchical type class of order j ≥ 1. Let (S_{1}, S_{2}, …, S_{k}) be the k-tuple of hierarchical type classes of order j − 1 associated with S according to Prop. 4, and let N(S) be the number of distinct permutations of this k-tuple. Then,

#### Proof

Represent S as the Expression (1). Formula (2) follows easily from this expression.

#### Remark

We see now how to inductively compute entropy values H(S), as follows. If S is of order 0, then |S| = 1 and so H(S) = 0. If S is of order j ≥ 1, assume all entropy values for hierarchical type classes of smaller order have been computed. Then Equation (2) is used to compute H(S).

#### Discussion

Let {S_{j} : j ≥ 1} be a sequence of hierarchical type classes from
_{m,k} such that S_{j} is of order j (j ≥ 1). Consider the sequence of normalized entropies {H(S_{j})/k^{j} : j ≥ 1}. As j becomes large, the normalized entropy H(S_{j})/k^{j} approximates more and more closely the compression rate in bits per data sample that results from the compression scheme on S_{j}. It is therefore of interest to determine circumstances under which such a sequence of normalized entropies will have a limit that we can compute. We discuss our approach to this problem, which will be pursued in the rest of this paper. A hierarchical source is defined to be a family {S(λ) : λ ∈ Λ(m, k)} in which each S(λ) is a hierarchical type class selected from
_{m,k}(λ). (We will also impose a natural consistency condition on how these selections are made in our formal hierarchical source definition to be given in the next section.) Let ℝ denote the real line, and let ℙ_{m} be the subset of ℝ^{m} consisting of all m-dimensional probability vectors. We consider ℙ_{m} to be a metric space with the Euclidean metric. For each λ ∈ Λ(m, k), let p_{λ} be the probability vector λ/‖λ‖ in ℙ_{m}. Suppose there exists a (necessarily unique) continuous function h : ℙ_{m} → [0, ∞) such that for each p ∈ ℙ_{m}, and each sequence {λ_{j} : j ≥ 0} for which λ_{j} ∈ Λ_{j}(m, k) (j ≥ 0) and lim_{j→∞} p_{λj} = p, the limit property

_{m}which is the hierarchical entropy function induced by some hierarchical source. One of the goals of hierarchical data compression theory is to identify hierarchical entropy functions and to learn about their properties. In the paper [2], two hierarchical entropy functions were introduced. In the present paper, we go further by identifying infinitely many hierarchical entropy functions which are each self-affine, and for each one of these entropy functions, we exhibit an explicit iterated function system whose attractor is the graph of the entropy function.

## 2. Hierarchical Sources

This section is devoted to the discussion of hierarchical sources. The concept of hierarchical source was informally described in the Introduction. In Section 2.1., we make this concept formal. In Section 2.2., we define the entropy-stable hierarchical sources, which are the hierarchical sources that induce hierarchical entropy functions. In Section 2.3., we introduce a particular type of entropy-stable hierarchical source called finitary hierarchical source. The finitary hierarchical sources induce the hierarchical entropy functions that are the subject of this paper.

#### 2.1. Formal Definition of Hierarchical Source

Let
= {S(λ) : λ ∈ Λ(m, k)} be a family of hierarchical type classes in which each class S(λ) belongs to the set of classes
_{m,k}(λ). Then
is defined to be a (Λ(m, k)-indexed) hierarchical source if the following additional condition is satisfied.

**Consistency Condition:**For each S ∈ of order > 0, each term in the k-tuple (S_{1}, S_{2}, …, S_{k}) associated with S in Prop. 4 also belongs to .

We discuss how the Consistency Condition gives us a way to describe every possible hierarchical source. Let Λ(m, k)^{k} be the set of all k-tuples whose entries come from Λ(m, k). Let Φ(m, k) be the set of all mappings ϕ: Λ(m, k)^{+} → Λ(m, k)^{k} such that whenever ϕ(λ) = (λ_{1}, λ_{2}, …, λ_{k}), we have

$\lambda ={\sum}_{i=1}^{k}{\lambda}_{i}$.

If λ is of order j, then each entry λ

_{i}of ϕ(λ) is of order j − 1.

Each ϕ ∈ Φ(m, k) gives rise to a Λ(m, k)-indexed hierarchical source
^{ϕ} = {S^{ϕ}(λ) : λ ∈ Λ(m, k)}, defined inductively as follows.

If λ ∈ Λ(m, k) is of order 0, define class S

^{ϕ}(λ) to be the set {a_{i}}, where a_{i}is the unique letter in_{m}whose type is λ.If λ ∈ Λ(m, k)

^{+}, assume class S^{ϕ}(λ*) has been defined for all types λ* of order less than the order of λ. Letting ϕ(λ) = (λ_{1}, λ_{2}, …, λ_{k}), define${S}^{\varphi}(\lambda )\triangleq {\cup}_{\pi \in {\Pi}_{k}}[{S}^{\varphi}({\lambda}_{\pi (1)})\ast {S}^{\varphi}({\lambda}_{\pi (2)})\ast \cdots \ast {S}^{\varphi}({\lambda}_{\pi (k)})]$

From the Consistency Condition, all possible hierarchical sources arise in this way, that is, given any Λ(m, k)-indexed hierarchical source
, there exists ϕ ∈ Φ(m, k) such that
=
^{ϕ}.

Another advantage of the Consistency Condition is that it allows the entropies of the classes in a hierarchical source to be recursively computed. To see this, let
= {S(λ) : λ ∈ Λ(m, k)} be a Λ(m, k)-indexed hierarchical source and choose ϕ ∈ Φ(m, k) such that
=
^{ϕ}. Define H_{ϕ} : Λ(m, k) → [0, ∞) to be the function which takes the value zero on Λ_{0}(m, k), and for each λ ∈ Λ^{+}(m, k),

_{1}, …, λ

_{k}) is the k-tuple ϕ(λ) and N(λ) is the number of distinct permutations of this k-tuple. By the Consistency Condition and Lemma 1,

#### 2.2. Entropy-Stable Hierarchical Sources

The concept of entropy-stable source discussed in this section allows us to formally define the concept of hierarchical entropy function.

For each j ≥ 0, define the finite set of probability vectors

_{λ}= λ/‖λ‖. Note that the sets {ℙ

_{m}(j) : j ≥ 0} are increasing in the sense that

Let
${\mathbb{P}}_{m}^{\ast}$ be the countably infinite set of probability vectors which is the union of the ℙ_{m}(j)'s.

Suppose we have a hierarchical source
= {S(λ) : λ ∈ Λ(m, k)}. For each j ≥ 0, let h_{j} : ℙ_{m}(j) → [0, ∞) be the unique function for which

Suppose
$p\in {\mathbb{P}}_{m}^{\ast}$ Because of the increasing sets property Equation (4), p is a member of the set ℙ_{m}(j) for j sufficiently large. Consequently, h_{j}(p) is defined for j sufficiently large, and so it makes sense to talk about the limit of the sequence {h_{j}(p) : j ≥ 0}, if this limit exists. We define the source
to be entropy-stable if there exists a continuous function h : ℙ_{m} → [0, ∞) such that

_{m}) is called the hierarchical entropy function induced by . Henceforth, the terminology “hierarchical entropy function” denotes a function which is the hierarchical entropy function induced by some entropy-stable hierarchical source.

#### 2.3. Finitary Hierarchical Sources

If λ = (n_{1}, n_{2}, …, n_{m}) is a type in Λ(m, k)^{+}, define

#### Definitions

ℛ(m, k) is defined to be the set of all m-tuples whose entries come from {0, 1, …, k − 1} and sum to an integer multiple of k.

Ψ(m, k) is defined to be the set of all mappings ψ from ℛ(m, k) to the set of binary k × m matrices such that if r = (r

_{1}, …, r_{m}) belongs to ℛ(m, k), then ψ(r) has left-to-right column sums r_{1}, r_{2}, …, r_{m}and row sums all equal to (r_{1}+ r_{2}+ … + r_{m})/k. The set Ψ(m, k) is nonempty for each choice of parameters m, k ≥ 2 [4,5].If ψ ∈ Ψ(m, k), define ψ* to be the unique mapping in Φ(m, k) which does the following. If λ = (n

_{1}, n_{2}, …, n_{m}) belongs to Λ(m, k)^{+}, let A = ψ(r(λ)). Then ψ*(λ) = (λ_{1}, λ_{2}, …, λ_{k}), where${\lambda}_{i}=(\lfloor {n}_{1}/k\rfloor ,\lfloor {n}_{2}/k\rfloor ,\cdots ,\lfloor {n}_{m}/k\rfloor )+A(i,1:m),\phantom{\rule{1em}{0ex}}i=1,2,\cdots ,k$with A(i, 1 : m) denoting the i-th row of A.Suppose ψ ∈ Ψ(m, k) and let ϕ = ψ*. The Λ(m, k)-indexed hierarchical source {S

^{ϕ}: λ ∈ Λ(m, k)} defines a finitary source. For each choice of parameters m, k ≥ 2, since Ψ(m, k) is nonempty, there is at least one finitary Λ(m, k)-indexed hierarchical source. The word “finitary” is used to describe these sources because they are each definable in finite terms by the specification of mk|ℛ(m, k)| bits (the elements of a number of k × m binary matrices).

#### Example 2

Note that (1122) belongs to ℛ(4, 3). Suppose

Note that (7758) ∈ Λ^{+}(4, 3), and that

Since ⌊(7758)/3⌋ = (2212), we see that ψ*(7758) = (λ_{1}, λ_{2}, λ_{3}), where

Note that the splitting up of (7758) into the three types (3312), (2223), (2223) indeed does make sense because these latter three types sum to (7758) and are of order 2, one less than the order of (7758).

#### Example 3

Fix the alphabet cardinality parameter to be 2, and fix the partitioning parameter k to be any integer ≥ 2. Let (r_{1}, r_{2}) belong to ℛ(2, k). Then either (a) (r_{1}, r_{2}) = (0, 0) or (b) r_{1} + r_{2} = k. In case (a), we define ψ(r_{1}, r_{2}) to be the k × 2 zero matrix. In case (b), we define ψ(r_{1}, r_{2}) to be the k × 2 matrix whose first r_{1} rows are (1, 0) and whose last r_{2} rows are (0, 1). Letting ϕ = ψ*, we obtain finitary Λ(2, k)-indexed hierarchical source
^{ϕ}.

#### Example 4

Now fix the alphabet cardinality parameter to be 3, and fix the partitioning parameter k to be any integer ≥ 2. Let (r_{1}, r_{2}, r_{3}) belong to ℛ(3, k). Then either (a) (r_{1}, r_{2}, r_{3}) = (0, 0, 0); (b) r_{1} + r_{2} + r_{3} = k; or (c) r_{1} + r_{2} + r_{3} = 2k. In case (a), we define ψ(r_{1}, r_{2}, r_{3}) to be the k × 3 zero matrix. In case (b), we define ψ(r_{1}, r_{2}, r_{3}) to be the k × 3 matrix whose first r_{1} rows are (100), whose next r_{2} rows are (010), and whose last r_{3} rows are (001). In case (c), we define ψ(r_{1}, r_{2}, r_{3}) to be the k × 3 matrix whose first k − r_{1} rows are (011), whose next k − r_{2} rows are (101), and whose last k − r_{3} rows are (110). Letting ϕ = ψ*, we obtain finitary Λ(3, k)-indexed hierarchical source
^{ϕ}.

#### Remarks

For each fixed k ≥ 2,

The source defined in Example 3 is the unique finitary Λ(2, k)-indexed hierarchical source.

The source defined in Example 4 is the unique finitary Λ(3, k)-indexed hierarchical source.

This is because the matrices employed in these examples are unique up to row permutation.

#### Theorem 1

Let m, k ≥ 2 be arbitrary, and let {S(λ) : λ ∈ Λ(m, k)} be any finitary Λ(m, k)-indexed hierarchical source. Then the source is entropy-stable and the hierarchical entropy function induced by the source can be characterized as the unique continuous function h : ℙ_{m} → [0, ∞) such that

Theorem 1 is proved in Appendix A.

#### Notations and Remarks

Fix k to be an arbitrary integer ≥ 2. Let {S(λ) : λ ∈ Λ(2, k)} be the unique finitary Λ(2, k)-indexed hierarchical source. H

_{2,k}: Λ(2, k) → [0, ∞) shall denote the entropy function${H}_{2,k}(\lambda )=H(S(\lambda )),\phantom{\rule{1em}{0ex}}\lambda \in \mathrm{\Lambda}(2,k)$For later use, we remark that

${H}_{2,k}({n}_{1},{n}_{2})={log}_{2}\phantom{\rule{0.3em}{0ex}}\left[\frac{k!}{{n}_{1}!{n}_{2}!}\right]={log}_{2}\phantom{\rule{0.3em}{0ex}}\left(\begin{array}{c}k\\ {n}_{1}\end{array}\right),\phantom{\rule{1em}{0ex}}({n}_{1},{n}_{2})\in {\mathrm{\Lambda}}_{1}(2,k)$The hierarchical entropy function induced by this source maps ℙ

_{2}into [0, ∞) and shall be denoted h_{2,k}. The relationship between functions H_{2,k}and h_{2,k}is${h}_{2k}(\lambda /\Vert \lambda \Vert )={H}_{2,k}(\lambda )/\Vert \lambda \Vert ,\phantom{\rule{1em}{0ex}}\lambda \in \mathrm{\Lambda}(2,k)$Fix k to be an arbitrary integer ≥ 2. Let {S(λ) : λ ∈ Λ(3, k)} be the unique finitary Λ(3, k)-indexed hierarchical source. H

_{3,k}: Λ(3, k) → [0, ∞) shall denote the entropy function${H}_{3,k}(\lambda )=H(S(\lambda )),\phantom{\rule{1em}{0ex}}\lambda \in \mathrm{\Lambda}(3,k)$For later use, we remark that

${H}_{3,k}({n}_{1},{n}_{2},{n}_{3})={log}_{2}\phantom{\rule{0.3em}{0ex}}\left[\frac{k!}{{n}_{1}!{n}_{2}!{n}_{3}!}\right]\phantom{\rule{0.3em}{0ex}},\phantom{\rule{1em}{0ex}}({n}_{1},{n}_{2},{n}_{3})\in {\mathrm{\Lambda}}_{1}(3,k)$The hierarchical entropy function induced by this source maps ℙ

_{3}into [0, ∞) and shall be denoted h_{3,k}. The relationship between functions H_{3,k}and h_{3,k}is${h}_{3,k}(\lambda /\Vert \lambda \Vert )={H}_{3,k}(\lambda )/\Vert \lambda \Vert ,\phantom{\rule{1em}{0ex}}\lambda \in \mathrm{\Lambda}(3,k)$

In Section 3, we show that hierarchical entropy function h_{2,k} is self-affine for each k ≥ 2, and in Section 4, we show that hierarchical entropy function h_{3,k} is self-affine for each k ≥ 2.

## 3. h_{2,k} Is Self-Affine

An iterated function system (IFS) on a closed nonempty subset Ω of a finite-dimensional Euclidean space is a finite nonempty set of mappings which map Ω into itself and are each contraction mappings. Given an IFS on Ω, there exists ([6], Theorem 9.1) a unique nonempty compact set Q ⊂ Ω such that

Q is called the attractor of the IFS .

Suppose h : ℙ_{m} → [0, ∞) is the hierarchical entropy function induced by an entropy-stable Λ(m, k)-indexed hierarchical source. Let Ω_{m} = ℙ_{m} × ℝ, regarded as a metric space with the Euclidean metric that it inherits from being regarded as a closed convex subset of ℝ^{m}^{+1}. We define h to be self-affine if there is an IFS
on Ω_{m} such that

Each mapping in is an affine mapping.

The attractor of is {(p, h(p)) : p ∈ ℙ

_{m}}, the graph of h.

For the rest of this section, k ≥ 2 is fixed. Our goal is to show that the function h_{2,k} : ℙ_{2} → [0, ∞) is self-affine, where h_{2,k} is the hierarchical entropy function induced by the unique finitary Λ(2, k)-indexed hierarchical source.

For each i = 0, 1, …, k − 1,

Define the matrix

${M}_{i}\triangleq \left[\begin{array}{cc}i+1& k-i-1\\ i& k-i\end{array}\right]$Define ${T}_{i}^{\ast}:{\mathbb{P}}_{2}\to {\mathbb{P}}_{2}$ to be the mapping

${T}_{i}^{\ast}(p)\triangleq {k}^{-1}p{M}_{i},\phantom{\rule{1em}{0ex}}p\in {\mathbb{P}}_{2}$Define the vector

${v}_{i}\triangleq \left({log}_{2}\left(\begin{array}{c}k\\ i+1\end{array}\right),{log}_{2}\left(\begin{array}{c}k\\ i\end{array}\right)\right)$Define T

_{i}: Ω_{2}→ Ω_{2}to be the mapping${T}_{i}(p,y)\triangleq ({T}_{i}^{\ast}(p),{k}^{-1}y+{k}^{-1}p\cdot {v}_{i}),\phantom{\rule{1em}{0ex}}(p,y)\in {\mathrm{\Omega}}_{2}$where p · v_{i}denotes the usual dot product.

#### Remarks

It is clear that the set of mappings
$\left\{{T}_{i}^{\ast}:i=0,1,\dots ,k-1\right\}$ is an IFS on ℙ_{2}. This fact allows one to prove (Lemma B.3 of Appendix B) that the related set of mappings {T_{i} : i = 0, 1, …, k − 1} is an IFS on Ω_{2}. This result is the first part of the following theorem.

#### Theorem 2

Let k ≥ 2 be arbitrary. The following statements hold:

**(a):**{T_{0}, T_{1}, …, T_{k−1}} is an IFS on Ω_{2}.**(b):**h_{2,k}is self-affine and its graph is the attractor of the IFS in (a).**(c):**For each i = 0, 1, …, k − 1,${T}_{i}(p,{h}_{2,k}(p))=({T}_{i}^{\ast}(p),{h}_{2,k}({T}_{i}^{\ast}(p))),\phantom{\rule{1em}{0ex}}p\in {\mathbb{P}}_{2}$

Our proof of Theorem 2 requires the following lemma.

#### Lemma 2

Let ϕ ∈ Φ(2, k) be the function in Example 3 such that
^{ϕ} is the unique finitary Λ(2, k)-indexed hierarchical source. For each i = 0, 1, …, k − 1,

**(a.1):**If λ ∈ Λ(2, k), then λM_{i}∈ Λ(2, k) and ‖λM_{i}‖ = k‖λ‖;**(a.2):**If λ ∈ Λ(2, k)^{+}and ϕ(λ) = (λ_{1}, λ_{2}, …, λ_{k}), then$\varphi (\lambda {M}_{i})=({\lambda}_{1}{M}_{i},{\lambda}_{2}{M}_{i},\cdots ,{\lambda}_{k}{M}_{i})$

#### Proof

Property (a.1), whose proof we omit, is a simple consequence of the fact that M_{i} has row sums equal to k. Fix a type λ from Λ(2, k)^{+}. Letting ϕ(λ) = (λ_{1}, λ_{2}, …, λ_{k}) and letting ϕ(λM_{i}) = (µ_{1}, µ_{2}, …, µ_{k}), we show µ_{s} = λ_{s}M_{i} (s = 1, …, k), which will establish Property (a.2). Write λ in the form

_{1}, r

_{2}). As remarked in Example 3, either r

_{1}= r

_{2}= 0, or r

_{1}+ r

_{2}= k. Let us first handle the case r

_{1}+ r

_{2}= k. Then

It is easy to show that

It follows that

For 1 ≤ s ≤ r_{1}, we have

For r_{1} + 1 ≤ s ≤ k, we have

The remaining case r_{1} = r_{2} = 0 is much easier. We have

#### Proof of Theorem 2

We first derive part(c) and then part(b) (part(a) is already taken care of, as remarked previously). We derive part(c) by establishing Equation (11) for a fixed i ∈ {0, 1, …, k − 1}. Let ϕ ∈ Φ(2, k) be the function given in Example 3 and recall that H_{2,k} denotes the entropy function H_{ϕ} on Λ(2, k). Referring to the definition of
${T}_{i}^{\ast}$ in Equation (9) and T_{i} in Equation (10), we see that proving Equation (11) is equivalent to proving

We first show that

Our proof of Equation (13) is by induction on ‖λ‖. We first must verify Equation (13) for ‖λ‖ = 1, which is the two cases λ = (1, 0) and λ = (0, 1). For λ = (1, 0), the left side of Equation (13) is the entropy of the first row of M_{i}, which by Equation (5) is

Similarly, if λ = (0, 1), both sides of Equation (13) are equal to ${log}_{2}\left(\begin{array}{c}k\\ i\end{array}\right)$. Fix λ* ∈ Λ(2, k) for which ‖λ*‖ > 1, and for the induction hypothesis assume that Equation (13) holds when ‖λ‖ is smaller than ‖λ*‖. The proof by induction is then completed by showing that Equation (13) holds for λ = λ*. Let

By the induction hypothesis,

Adding,

By Lemma 2,

Appealing to Equation (3), we then have

_{1}M

_{i}, …, λ

_{k}M

_{i}). Similarly,

_{2}is the number of permutations of the k-tuple (λ

_{1}, …, λ

_{k}). Since M

_{i}is nonsingular (its determinant is k), we have N = N

_{2}. Substituting the right hand sides of the previous two equations into Equation (14), we obtain Equation (13) for λ = λ*, completing the proof by induction. Dividing both sides of Equation (13) by ‖λ‖, and using the fact that ‖λM

_{i}‖ = k‖λ‖, we see that

It is easy to see that

Therefore,

Equation (12) then follows since the set
${\mathbb{P}}_{2}^{\ast}=\{{p}_{\lambda}:\lambda \in \mathrm{\Lambda}(2,k)\}$ is dense in ℙ_{2} and h_{2,k} is a continuous function on ℙ_{2}, completing the derivation of part(c) of Theorem 2. All that remains is to prove part(b) of Theorem 2. Let G = {(p, h_{2,k}(p)) : p ∈ ℙ_{2}} be the graph of h_{2,k}. Part(c) is equivalent to the property that

This property, together with the fact that
$\{{T}_{i}^{\ast}:i=0,1,\dots ,k-1\}$ is an IFS on ℙ_{2} with attractor ℙ_{2}, allows us to conclude that G is the attractor of the IFS {T_{0}, …, T_{i}_{−1}} (Lemma B.1 of Appendix B), and h_{2,k} is self-affine because the T_{i}'s are affine. Theorem 2(b) is therefore true.

#### Generating Hierarchical Entropy Function Plots

For each k ≥ 2, let ${h}_{2,k}^{\ast}:[0,1]\to \mathbb{R}$ be the function

We can obtain k^{n} points on the plot of
${h}_{2,k}^{\ast}$ as follows. Let {T_{i} : i = 0, 1, …, k − 1} be the IFS on Ω_{2} given in Theorem 2, such that the attractor of this IFS is the graph of h_{2,k}. Let S_{0}(k) = {(0, 1, 0)}, and generate subsets S_{1}(k), S_{2}(k), …, S_{n}(k) of ℝ^{3} by the recursion

Then S_{n}(k) consists of k^{n} points of the form (x, 1 − x, h_{2,k}(x, 1 − x)). Projecting according to

^{n}points on the plot of ${h}_{2,k}^{\ast}$. Using a Dell Latitude D620 laptop, we did S

_{n}(k) computations to obtain the plots in Figure 2, as follows.

The plot of ${h}_{2,2}^{\ast}$ used the set S

_{24}(2), consisting of 2^{24}= 16777216 points, computed in 4.2 seconds.The plot of ${h}_{2,3}^{\ast}$ used the set S

_{15}(3) consisting of 3^{15}= 14348907 points, computed in 3.3 seconds.The plot of ${h}_{2,4}^{\ast}$ used the set S

_{12}(4) consisting of 4^{12}= 16777216 points, computed in 3.5 seconds.

We point out that the functions ${h}_{2,2}^{\ast}$ and ${h}_{2,4}^{\ast}$, although their plots look similar, are not the same. For example, ${h}_{2,2}^{\ast}(1/2)=1/2$, whereas ${h}_{2,4}^{\ast}(1/2)={log}_{2}(6)/4\approx 0.646$.

## 4. h_{3,k} Is Self-Affine

Fix k ≥ 2. It is the purpose of this section to study h_{3,k} : ℙ_{3} → [0, ∞), the hierarchical entropy function induced by the unique finitary Λ(3, k)-indexed hierarchical source. In ℝ^{3}, let Q_{k} be the convex hull of the set {(k, 0, 0), (0, k, 0), (0, 0, k)}. Then Q_{k} is an equilateral triangle whose three vertices are (k, 0, 0), (0, k, 0), (0, 0, k). We employ the well-known quadratic partition [7] of Q_{k} into k^{2} congruent equilateral triangles, formed as follows. Partition each of the three sides of Q_{k} into k line segments of equal length by laying down k − 1 interior points along the side. For each vertex of Q_{k}, draw a line segment connecting the first interior points reached going out from the vertex along its two sides, then draw a line segment connecting the second interior points reached, and so forth until k − 1 line segments have been drawn. Doing this for each of the three vertices, you will have drawn a total of 3(k − 1) line segments, which subdivide Q_{k} into the k^{2} congruent equilateral triangles of the quadratic partition. See Figure 3, which illustrates the quadratic partition of triangle Q_{3} into nine sub-triangles.

Let V_{1} be the set of all points (a, b, c) in Q_{k} such that a is a positive integer and b, c are non-negative integers. There are k(k + 1)/2 points in V_{1}. For each v = (a, b, c) in V_{1}, let M_{1,v} be the 3 × 3 matrix

For each v ∈ V_{1}, the convex hull of the rows of M_{1,v} is one of the sub-triangles in the quadratic partition of Q_{k}, and these sub-triangles are distinct as v varies through V_{1}. This gives us a total of k(k + 1)/2 of the sub-triangles in the quadratic partition of Q_{k}, and we call these the V_{1} sub-triangles of the partition. Let V_{2} be the set of all (a, b, c) in Q_{k} such that a is a non-negative integer and b, c are positive integers. There are k(k − 1)/2 points in V_{2}. For each v = (a, b, c) in V_{2}, let M_{2,v} be the 3 × 3 matrix

For each v ∈ V_{2}, the convex hull of the rows of M_{2,v} is one of the sub-triangles in the quadratic partition of Q_{k}, and these sub-triangles are distinct as v varies through V_{2}. This gives us a total of k(k − 1)/2 of the sub-triangles in the quadratic partition of Q_{k}, and we call these the V_{2} sub-triangles of the partition. The V_{1} sub-triangles are all translations of each other; the V_{2} sub-triangles are all translations of each other and each one can be obtained by rotating a V_{1} sub-triangle about its center 180 degrees, followed by a translation. Together, the k(k + 1)/2 V_{1} sub-triangles and the k(k − 1)/2 V_{2} sub-triangles constitute all k^{2} sub-triangles in the quadratic partition of Q_{k}.

We define ℳ(k) to be the set of k^{2} matrices

Each row sum of each matrix in ℳ(k) is equal to k. Because of this property, we can define for each M ∈ ℳ(k) the mapping ${T}_{M}^{\ast}:{\mathbb{P}}_{3}\to {\mathbb{P}}_{3}$ in which

_{M}: Ω

_{3}→ Ω

_{3}in which

#### Remarks

It is clear that the set of k^{2} mappings
$\{{T}_{M}^{\ast}:M\in \mathcal{M}(k)\}$ is an IFS on ℙ_{3}. This fact allows one to prove (Lemma B.4 of Appendix B) that the related set of k^{2} mappings {T_{M} : M ∈ ℳ(k)} is an IFS on Ω_{3}. In the following example, we exhibit this IFS in a special case.

#### Example 5

Let k = 3. Referring to Figure 3, we see that the 9 matrices in ℳ (3) are

Following Equation (19), let v_{i} ∈ ℙ^{3} be the vector whose components are the H_{3,3} entropies of the rows of M_{i}. Letting α = log_{2} 3 and β = log_{2} 6, Formula (7) is used to obtain

Following Equation (18), for each i = 1, 2, …, 9, let T_{i} : Ω_{3} → Ω_{3} be the mapping defined by

Theorem 3 which follows will tell us that the graph of h_{3,3} is the attractor of the IFS
${\left\{{T}_{i}\right\}}_{i=1}^{9}$.

#### Theorem 3

Let k ≥ 2 be arbitrary The following statements hold:

**(a):**{T_{M}: M ∈ ℳ(k)} is an IFS on Ω_{3}.**(b):**h_{3,k}is self-affine and its graph is the attractor of the IFS in (a).**(c):**For each M ∈ ℳ(k),

Our proof of Theorem 3 requires a couple of lemmas, which follow.

#### Lemma 3

Let λ ∈ Λ(3,k)^{+}, let ϕ ∈ Φ(3,k) be the function given in Example 4, and let ϕ(λ) = (λ_{1}, λ_{2}, …, λ_{k}). Suppose we write

_{i}'s are non-negative, the r

_{i}'s belong to the set {1, 2, …, k}, and r

_{1}+ r

_{2}+ r

_{3}= 2k. Then

#### Proof

If each r_{i} < k, then by definition of ϕ(λ) in Example 4, the properties Equations (21)–(23) are true. Now suppose at least one r_{i} = k. Then exactly one r_{i} = k (since otherwise some r_{i} = 0, which is not allowed). By symmetry, we may suppose that r_{1} = k. We may now express λ as

Since r_{2}, r_{3} ∈ {1, 2, …, k − 1}, and r_{2} + r_{3} = k, the definition of ϕ(λ) tells us that

Equation (24) yields Equation (23), Equation (25) yields Equation (22), and Equation (21) is vacuously true because k − r_{1} = 0.

#### Lemma 4

Let ϕ ∈ Φ(3, k) be the function given in Example 4. Properties (a.1)-(a.2) below are true for any matrix M in the set ℳ(k).

**(a.1):**If λ is a type in Λ(3, k), then λM ∈ Λ(3, k) and ‖λM‖ = k‖λ‖;**(a.2):**If λ is a type in Λ(3, k)^{+}, and ϕ(λ) = (λ_{1}, λ_{2}, …, λ_{k}), then ϕ(λM) is some permutation of (λ_{1}M, λ_{2}M, …, λ_{k}M).

#### Proof

Property (a.1), whose proof we omit, is a simple consequence of the fact that each matrix in ℳ(k) has row sums equal to k. Fix λ ∈ Λ(3, k)^{+} and fix M ∈ ℳ(k). Let r(λ) = (r_{1}, r_{2}, r_{3}), and let

M is either of the form Equation (15) (Case 1) or of the form Equation (16) (Case 2). Throughout the rest of the proof, we employ the parameter β = (r_{1} + r_{2} + r_{3})/k. As remarked in Example 4, β ∈ {0, 1, 2}.

#### Proof for Case 1

We have $\lambda M=(k{q}_{1}^{\prime}+{r}_{1},k{q}_{2}^{\prime}+{r}_{2},k{q}_{3}^{\prime}+{r}_{3})$, where

Note that

If β = 0, then

From Equation (26), we have $({q}_{1},{q}_{2},{q}_{3})M=({q}_{1}^{\prime},{q}_{2}^{\prime},{q}_{3}^{\prime})$, and therefore Property (a.2) follows. If β = 1, by definition of ϕ(λ) and ϕ(λM) in Example 4,

Property (a.2) then follows if the equations

Finally, if β = 2,

Property (a.2) then follows if the equations

#### Proof for Case 2

We have

Note that

If β = 0, then

From Equation (33), we have

In view of the fact that Equations (27–29) also hold, Property (a.2) then follows if the equations

Thus, Property (a.2) holds. Finally, suppose that β = 2. The entries of $({r}_{1}^{\prime},{r}_{2}^{\prime},{r}_{3}^{\prime})$ belong to {1, 2, …, k} and their sum is k. Under these conditions, no entry of $({r}_{1}^{\prime},{r}_{2}^{\prime},{r}_{3}^{\prime})$ can be equal to k, and so all entries belong to the set {1, 2, …, k − 1}. By definition of ϕ(λM) in Example 4,

In view of the fact that Equations (30–32) also hold, Property (a.2) then follows if the equations

Thus, Property (a.2) holds.

#### Proof of Theorem 3

We first derive part(c) and then part(b) (part(a) is already taken care of, as remarked previously). We derive part(c) by establishing Equation (20) for a fixed M ∈ ℳ(k). Let ϕ ∈ Φ(3, k) be the function given in Example 4 and recall that H_{3,k} denotes the entropy function H_{ϕ} on Λ(3, k). Referring to the definition of
${T}_{M}^{\ast}$ in Equation (17) and T_{M} in Equation (18), we see that proving Equation (20) is equivalent to proving

We first show that

The proof is by induction on ‖λ‖. Equation (35) holds for ‖λ‖ = 1, which is the three cases λ = (1, 0, 0), λ = (0, 1, 0), λ = (0, 0, 1). Fix λ* ∈ Λ(3, k) for which ‖λ*‖ > 1, and for the induction hypothesis assume that Equation (35) holds when ‖λ‖ is smaller than ‖λ*‖. The proof by induction is then completed by showing that Equation (35) holds for λ = λ*. Let ϕ(λ*) = (λ_{1}, λ_{2}, …, λ_{k}). By the induction hypothesis,

Adding,

By Lemma 4, ϕ(λ*M) is a permutation of (λ_{1}M, λ_{2}M, …, λ_{k}M), and so by Equation (3),

_{1}M, …, λ

_{k}M). Similarly,

_{2}is the number of permutations of the k-tuple (λ

_{1}, …, λ

_{k}). Since M is nonsingular (its determinant is k), we must have N = N

_{2}. Substituting the right hand sides of the previous two equations into Equation (36), we obtain Equation (35) for λ = λ*, completing the proof by induction. Dividing both sides of Equation (35) by ‖λ‖, and using the fact that ‖λM‖ = k‖λ‖, we see that

It is easy to see that

Therefore,

Equation (34) then follows since the set
${\mathbb{P}}_{3}^{\ast}=\{{p}_{\lambda}:\lambda \in \mathrm{\Lambda}(3,k)\}$ is dense in ℙ_{3} and h_{3,k} is a continuous function on ℙ_{3}, completing the derivation of part(c) of Theorem 3. All that remains is to prove part(b) of Theorem 3. Letting G = {(p, h_{3,k}(p)) : p ∈ ℙ_{3}} be the graph of h_{3,k}, part(c) is equivalent to the property that

Note that

_{3}, and so ℙ

_{3}must be the attractor of the IFS $\{{T}_{M}^{\ast}:M\in \mathcal{M}(k)\}$. This fact, together with Equation (37), allows us to conclude (via Lemma B.1 of Appendix B) that G is the attractor of the IFS {T

_{M}: M ∈ ℳ(k)}, and h

_{3,k}is self-affine because the T

_{M}'s are affine. Theorem 3(b) is therefore true.

## 5. Properties of Hierarchical Entropy Functions

We conclude the paper with a discussion of some properties of the self-affine hierarchical entropy functions h_{2,k} and h_{3,k}. For each m ∈ {2, 3} and each k ≥ 2, hierarchical entropy function h_{m,k} obeys the following properties.

**P1:**h_{m,k}is a continuous function on ℙ_{m}.**P2:**If two probability vectors p_{1}, p_{2}in ℙ_{m}are permutations of each other, then${h}_{m,k}({p}_{1})={h}_{m,k}({p}_{2})$**P3:**If p ∈ ℙ_{m}is degenerate (meaning that it is a permutation of the vector (1, 0, 0, …, 0)), then h_{m,k}(p) = 0.**P4:**For each p ∈ ℙ_{m},$0\le {h}_{m,k}(p)\le {log}_{2}m$

Properties P1-P4 are simple consequences of what has gone before. For example, to see why the symmetry property P2 is true, first observe that H_{m,k}(λ_{1}) = H_{m,k}(λ_{2}) if λ_{1}, λ_{2} are types which are permutations of each other; this symmetry property for entropy on types then extends to ℙ_{m} using the fact that the finitary source which induces h_{m,k} is entropy-stable.

The well-known Shannon entropy function h_{m} on ℙ_{m} is defined by

_{i}log

_{2}p

_{i}is taken to be zero if p

_{i}= 0. We point out that h

_{m}also satisfies properties P1-P4. In addition, h

_{m}satisfies the property that it attains its maximum value at the equiprobable distribution (1/m, 1/m, …, 1/m). This property fails in general for the h

_{m,k}functions, although it is true for some of them; for example, referring to Figure 2, we see that h

_{2,2}and h

_{2,4}do not reach their maximum at (1/2, 1/2), but h

_{2,3}does. It is an open problem to determine the maximum value of each h

_{2,k}and h

_{3,k}and to see where the maximum is attained.

The inequality

_{m}; we have proved this strict inequality property in some special cases (for example, m = k = 2).

**Figure 1.**Example 1 Tree Representations and Codeword Table.

**Figure 2.**Plots of ${h}_{2,k}^{\ast}(x)={h}_{2,k}(x,1-x)$ for k = 2, 3, 4.

The work of the author was supported in part by National Science Foundation Grant CCF-0830457.

## Appendix A

In this Appendix, we prove Theorem 1. In the following, the infinity norm ‖x‖_{∞} of a vector x = (x_{1}, x_{2}, …, x_{m}) ∈ ℝ^{m} is defined as max_{i} |x_{i}|.

#### Lemma A.1

Let $f:{\mathbb{P}}_{m}^{\ast}\to \mathbb{R}$ be a function, and let

If ${\sum}_{j=0}^{\infty}{\u220a}_{j}<\infty $, then f is uniformly continuous on ${\mathbb{P}}_{m}^{\ast}$.

#### Proof

We show there exists B > 0 such that

**(p.1):**For each j ≥ 0 and each pair of distinct types λ_{0}, λ ∈ Λ_{j}(m, k), the following is true. Letting I = m‖λ_{0}− λ‖_{∞}, there exist types λ_{1}, λ_{2}, …, λ_{I}in Λ_{j}(m, k) such that λ_{I}= λ and${\Vert {\lambda}_{i}-{\lambda}_{i-1}\Vert}_{\infty}\le 1,\phantom{\rule{1em}{0ex}}i=1,2,\cdots ,I$(In other words, we can travel from λ_{0}to λ via a path in Λ_{j}(m, k) consisting of I terms, with successive terms no more than distance 1 apart in the infinity norm.)**(p.2):**There is a positive integer M for which the following is true. For each j ≥ 1 and each λ_{0}∈ Λ_{j}(m, k), there exist types λ_{1}, λ_{2}, …, λ_{M}in Λ_{j}(m, k) such that λ_{M}/k ∈ Λ_{j−1}(m, k) and${\Vert {\lambda}_{i}-{\lambda}_{i-1}\Vert}_{\infty}\le 1,\phantom{\rule{1em}{0ex}}i=1,2,\cdots ,M$(In other words, we can travel in Λ_{j}(m, k) from any type to a type divisible by k via a path consisting of M terms, with successive terms no more than distance 1 apart in the infinity norm.)

Let J ≥ 0. Suppose q_{1}, q_{2} belong to
${\mathbb{P}}_{m}^{\ast}$ and ‖q_{1} − q_{2}‖_{∞} ≤ k^{−J}. Fix J′ > J and types λ_{1}, λ_{2} in Λ_{J′}(m, k) such that q_{1} = p_{λ1} and q_{2} = p_{λ2}. Starting at λ_{1} and applying property (p.2) repeatedly (that is, for each j going backwards from j = J′ to j = J + 1), we obtain
${\lambda}_{1}^{\prime}\in {\mathrm{\Lambda}}_{J}(m,k)$ such that

Similarly, we find ${\lambda}_{2}^{\prime}\in {\mathrm{\Lambda}}_{J}(m,k)$ such that

By the triangle inequality, we have

Applying property (p.1),

#### Proof of Theorem 1

Let = {S(λ) : λ ∈ Λ(m, k)} be a finitary hierarchical source. For every λ ∈ Λ(m, k), we have H(S(kλ)) = kH(S(λ)) and hence the normalized entropies H(S(kλ))/‖kλ‖ and H(S(λ))/‖λ‖ coincide. It follows that there exists a unique function $f:{\mathbb{P}}_{m}^{\ast}\to [0,\infty )$ such that

It is easily seen that
is entropy-stable by the definition in Section 2.2 if f can be extended to a continuous function on ℙ_{m} (which will be the hierarchical entropy function induced by
). This extension will be possible if f is uniformly continuous on
${\mathbb{P}}_{m}^{\ast}$, and we establish this by showing that Σ_{j} ∊_{j} < ∞, where {∊_{j}} is the sequence in Equation (38). Let ϕ ∈ Φ(m, k) be such that
^{ϕ} =
. Let j ≥ 1 and let λ, µ be types in Λ_{j}(m, k) for which ‖λ − µ‖_{∞} ≤ 1. Letting

_{1}, N

_{2}are positive integers ≤ k!. The latter two equations imply

We conclude that

## Appendix B

This Appendix proves some auxiliary results useful for proving Theorems 2–3. Henceforth, ‖x‖_{2} shall denote the Euclidean norm of a vector x in a finite-dimensional Euclidean space.

#### Lemma B.1

Let
be an IFS of contraction mappings on Ω_{m}. Let π be the projection mapping (p, y) → p from Ω_{m} onto ℙ_{m}. Suppose for each T ∈
, there is a contraction mapping T* on ℙ_{m} such that T*(p) = π(T(p, y)) for every (p, y) in Ω_{m}, and suppose ℙ_{m} is the attractor of the IFS {T* : T ∈
}. Suppose h : ℙ_{m} → ℝ is a continuous mapping whose graph G_{h} = {(p, h(p)) : p ∈ ℙ_{m}} satisfies the property

Then G_{h} is the attractor of
.

#### Proof

Let Q be the attractor of
. Since each mapping in
maps the compact set G_{h} into itself, Q ⊂ G_{h} by uniqueness of the attractor. The proof is completed by showing the reverse inclusion G_{h} ⊂ Q. Since π(Q) is the attractor of the IFS {T* : T ∈
}, we must have π(Q) = ℙ_{m} by assumption. Let (p, h(p)) be an arbitrary element of G_{h}. Since π(Q) = ℙ_{m}, there exists a point in Q of the form (p, y). But (p, y) and (p, h(p)) both belong to G_{h}, so y = h(p). We conclude (p, h(p)) belongs to Q, and therefore G_{h} ⊂ Q.

#### Lemma B.2

Let T* : ℙ_{m} → ℙ_{m} be a contraction mapping with contraction coefficient σ ∈ (0, 1), meaning that

Let c = (c_{1}, c_{2}, …, c_{m}) be a vector in ℝ^{m} and define its variance by

_{m}→ Ω

_{m}be the mapping

Then T is a contraction mapping if V(c) < σ^{−2}(1 − σ^{2})^{2}.

#### Proof

By the intermediate value theorem, there is a real number λ in the interval [σ, 1) such that

Then T is a contraction if we show that

_{m}and u, v ∈ ℝ. The left hand side of Inequality (42) is less than or equal to

The right hand side of Inequality (42) is equal to

Therefore, we will be done if we can show that

_{m}and all real numbers t. If V(c) = 0, then we are done because the left side of Inequality (43) is identically zero (this is because λ = σ and because (p − q) · c = 0 due to the fact that the components of c are constant). We assume V(c) > 0 and therefore λ > σ. Letting Q

_{p,q}(t) for fixed p, q be the quadratic polynomial

_{p,q}(t) is a parabola opening upward because the coefficient of t

^{2}is the positive number λ

^{2}− σ

^{2}. Therefore, Q

_{p,q}(t) possesses a unique global minimum over t and it is easy to compute

It follows that Inequality (43) will be true for all p, q, u, v if

_{m}, which in turn will be true if we can show that

_{1}, x

_{2}, …, x

_{m}) ∈ ℝ

^{m}for which

It is a simple exercise in Lagrange multipliers, which we omit, to show that the vector x = (x_{1}, …, x_{m}) satisfying the constraints in Equation (44) which maximizes the dot product x · c is the vector for which

For this choice of x, x · c can be seen to be $\sqrt{V(c)}$. Therefore, we will be done if

But this is true with equality, by Equation (41).

#### Lemma B.3

Let k ≥ 2 be arbitrary. Then, for each i = 0, 1, …, k − 1, the mapping T_{i} : Ω_{2} → Ω_{2} defined in Section 3 is a contraction.

#### Proof

Fix i in {0, 1, …, i − 1}. The mapping
${T}_{i}^{\ast}:{\mathbb{P}}_{2}\to {\mathbb{P}}_{2}$ is a contraction mapping with contraction coefficient k^{−1}. Applying Lemma B.2 with σ = k^{−1}, T_{i} will be a contraction mapping if we can show that

It is easy to compute that

_{1}= i + 1, a

_{2}= k − i For any constant γ satisfying 0 < γ < 1, we have

Using the fact that

Choosing the smallest value of γ for which

Using calculus, it is easy to show that

Thus, Inequality (45) holds, and our proof is complete.

#### Lemma B.4

Let k ≥ 2 be arbitrary. Then, for each matrix M in the set of matrices ℳ(k), the mapping T_{M} : Ω_{3} → Ω_{3} defined in Section 4 is a contraction.

#### Proof

The mapping
${T}_{M}^{\ast}:{\mathbb{P}}_{3}\to {\mathbb{P}}_{3}$ is a contraction with contraction coefficient k^{−1}. Applying Lemma B.2 with σ = k^{−1}, we have to show that various variances are all less than (k − k^{−1})^{2}. Specifically, for each (a, b, c) ∈ V_{1} we wish to show

_{2}we wish to show

Using Formula (7), the variance on the left side of Inequality (47) is equal to

Let a_{1} = a, a_{2} = b + 1, a_{3} = c + 1. For any constant γ satisfying 0 < γ < 1, we have

Using the fact that

Choosing the smallest value of γ for which

Similarly, the variance on the left side of Inequality (48) is V(log_{2}(a + 1), log_{2} b, log_{2} c), and

Using calculus, it is easy to show that

Thus, for each (a, b, c) ∈ V_{1}, we have the desired inequality

_{2}, we have the desired inequality

## References

- Csiszár, I.; Körner, J. Information Theory: Coding Theorems for Discrete Memoryless Systems, 2nd ed. ed.; Cambridge University Press: Cambridge, UK, 2011.
- Kieffer, J. Hierarchical Type Classes and Their Entropy Functions. Proceedings of the 1st International Conference on Data Compression, Communication and Processing, Palinuro, Campania, Italy, 21–24 June 2011; pp. 246–254.
- Oh, S.-Y. Information Theory of Random Trees Induced by Stochastic Grammars. Ph.D. Thesis, University of Minnesota Twin Cities, Department of Electrical & Computer Engineering, Minneapolis, MN, USA, 2011.
- Brualdi, R. Algorithms for constructing (0,1)-matrices with prescribed row and column sum vectors. Discret. Math.
**2006**, 306, 3054–3062. - Fonseca, C.; Mamede, R. On (0,1)-matrices with prescribed row and column sum vectors. Discret. Math.
**2009**, 309, 2519–2527. - Falconer, K. Fractal Geometry; John Wiley & Sons: Hoboken, NJ, USA, 2003.
- Soifer, A. How Does One Cut a Triangle?; Springer-Verlag: Berlin, Heidelberg, Germany, 2010.

© 2011 by the author; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/.)