Skip to main content
Entropy logoLink to Entropy
. 2021 Nov 14;23(11):1509. doi: 10.3390/e23111509

Random Integer Lattice Generation via the Hermite Normal Form

Gengran Hu 1,2,*, Lin You 1, Liang Li 1, Liqin Hu 1, Hui Wang 1
Editor: T Aaron Gulliver
PMCID: PMC8620907  PMID: 34828207

Abstract

Lattices used in cryptography are integer lattices. Defining and generating a “random integer lattice” are interesting topics. A generation algorithm for a random integer lattice can be used to serve as a random input of all the lattice algorithms. In this paper, we recall the definition of the random integer lattice given by G. Hu et al. and present an improved generation algorithm for it via the Hermite normal form. It can be proven that with probability ≥0.99, this algorithm outputs an n-dim random integer lattice within O(n2) operations.

Keywords: random integer lattice, Hermite normal form, generation algorithm

1. Introduction

Lattices are discrete subgroups in Rn. Since Ajtai’s discovery of the average-case/worst-case connection in lattice problems [1], lattice-based cryptography has attracted much attention [2,3,4,5]. Up to now, lattice-based cryptographic schemes have been considered to be a promising alternative to more traditional ones based on the factoring and discrete logarithm problems since lattice-based schemes can be resistant to efficient quantum algorithms [6]. Lattice algorithms such as LLL [7] and BKZ [8,9] are commonly used in analyzing these lattice-based schemes’ security. The lattices used in cryptography and lattice algorithms are integer lattices (discrete subgroups of Zn). Thus, the problem of suitably defining and generating a random integer lattice is a meaningful topic. In [10], P. Q. Nguyen found that for dimensions up to 50, LLL almost outputs the shortest lattice vector, while in theory, LLL’s output is just an approximately short vector. Once we are able to generate a random integer lattice, such a generation algorithm can be used to serve as a random input for all lattice algorithms to obtain their output qualities on average.

In [1], M. Ajtai defined a family of “random integer lattices” in terms of the worst-case to average-case connection and showed how to generate one from this lattice family. For uniform AZqn×m, the lattice family is defined as Λ(A)={AxZm:Ax=0Zqn}. In [10], P. Q. Nguyen and D. Stehle gave a definition of the “random integer lattice” in the sense of the Haar measure, which was approximated by the Goldstein–Mayer method [11]. For large number N, this “random integer lattice” is uniformly chosen from the set of all n×n Hermite normal forms with the determinant equal to N. When N is prime, to generate such a random integer lattice, one only needs to set hnn=N, hin[0,N) uniformly and hii=1 for i<n. This type of “random integer lattice” is used in many cryptographic applications. From the perspective of mathematics, studying whether the requirement that N be a prime can be removed is also a meaningful issue.

In [12], G. Maze studied the probabilistic distribution of the random HNF with a special diagonal structure, where the randomness was derived from a random square matrix whose elements were all chosen uniformly from [B,B] for large enough B. In [13], G. Hu et al. introduced a different definition of randomness, in which the definition “random integer lattice” means the lattice’s HNF is chosen uniformly from all n×n HNFs whose determinants are upper bounded by a large number M. In the same paper [13], G. Hu et al. also presented a complete random integer lattice generation algorithm. In this algorithm, the first step is to generate a determinant. To make the final output uniform, it is necessary to compute the total number of HNFs with fixed determinant N. Since the total number can be figured out only in the case that the factorization of N is known, a subroutine to factor integers is necessary in this algorithm. In this paper, we improved this algorithm with the help of the diagonal elements’ distribution in the random HNF. This improved algorithm first generates the diagonal elements h11,,hn1,n1 without computing the total number of HNFs with a fixed determinant, then it uses the reverse sampling method to generate the final diagonal element hnn. Thus, the factorization subroutine is no longer needed in this improved algorithm, which makes it more efficient.

The remainder of the paper is organized as follows. In Section 2, we give some necessary preliminaries. In Section 3, we recall the definition of the random integer lattice given by G. Hu et al. and discuss the distribution of all the diagonal elements in the random integer lattice’s HNF. For the next section, we present our improved algorithm to generate the random integer lattice via the HNF. Finally, we give our conclusion in Section 5.

2. Preliminaries

We denote by Z the integer ring and R the real number field. We use GLn(Z) to denote the general linear group over Z. For convenience, we denote the set of all n×n nonsingular integer matrices by GLn(R)Zn×n.

Lattice and the HNF

Given a matrix B=(bij)Rn×m with rank n, the lattice L(B) spanned by the rows of B is:

L(B)={xB=i=1nxibi|xiZ},

where bi is the i-th row of B. We call m the dimension of L(B) and n its rank. The determinant of L(B), say det(L(B)), is defined as det(BTB). It is easy to see that when B is full-rank (n=m), its determinant becomes |det(B)|.

Two lattices L(B1) and L(B2) are exactly the same when there exists a matrix UGLn(Z) s.t. B1=UB2. Lattices used in cryptography are usually “integer lattices”, whose basis matrices are over Z instead of R. Thus, the space of all full-rank integer lattices is actually (GLn(R)Zn×n)/GLn(Z).

The Hermite Normal Form (HNF) is a useful tool to study integer matrices:

Definition 1.

A square nonsingular integer matrix HZn×n is called in the HNF if:

• H is upper triangular, i.e., hij=0 for all i>j;

• All diagonal elements are positive, i.e., hii>0 for all i;

• All nondiagonal elements are reduced modulo the corresponding diagonal element at the same column, i.e., 0hij<hjj for all i<j.

There exists a famous result for the HNF [14] (Chapter 2, page 66):

Theorem 1.

For every AGLn(R)Zn×n, there exists a unique n×n matrix BSn,Z (HNF) of the form B=UA with UGLn(Z).

By this theorem, an integer lattice corresponds to its unique HNF, implying that generating an integer lattice is actually equivalent to generating an HNF.

3. Random Integer Lattice

3.1. Definition

In this part, we refer to [13] to recall some results related to the random integer lattice.

First, for M,NZ+,

Hn(M){Hisn-dimHNF|det(H)M},
Hn(N){Hisn-dimHNF|det(H)=N}.

Gruber [15] counted the size of |Hn(N)|:

Theorem 2.

If N has prime decomposition N=p1r1ptrt, then:

|Hn(N)|=i=1tj=1n1piri+j1pij1.

There exists an asymptotic estimation for |Hn(M)| in [13]:

Theorem 3.

For large positive integer M,

|Hn(M)|=s=2nζ(s)nMn+O(Mn1logM).

H is called an n-dim random nonsingular HNF if for large integer M>0, H is chosen from Hn(M) uniformly, and the lattice L(H) generated by such an H is called a random integer lattice.

3.2. Diagonal Distribution

In [13], Hu et al. studied the expectation and variance of every entry and the probability distribution of every diagonal entry:

Theorem 4.

Let H=(hij) be an n-dim random nonsingular HNF with the determinant bounded by M>0 and t be an integer in [1,n1], given an increasing subset {i1,,it} of {1,,n} and its increasing complementary subset {j1,,jnt}, for positive integers b1bt; when M+, we have:

P(hik,ik=bkforallk)=0(it=n)k=1nt1ζ(n+1jk)s=2nζ(s)l=1tbliln1(it<n) (1)

If we take t=1, a one-element set T={i}(i[1,n1]), and positive integers b, then the increasing complementary subset of T in {1,2,,n} is {1,,i1,i+1,,n}. We apply the above theorem and obtain the following corollary:

Corollary 1.

Let H=(hij) be an n-dim random nonsingular HNF with the determinant bounded by M>0, then for i[1,n1] and positive integer b, when M+, we have:

P(hii=b)=1ζ(n+1i)·bn+1i(b=1,2,).

We denote this distribution of hii by D(n,i).

Remark 1.

Notice that in Theorem 4, when it<n and M, both cases: t=1 and 1<t<n are valid conditions, which corresponds to the joint distribution of hik,ik(k=1,,t) for 1<t<n or a marginal distribution of the single variable hi1,i1 for t=1 as in Corollary 1. Considering Theorem 4 and Corollary 1, it can be deduced that when M, the first n1 diagonal elements h11,,hn1,n1 are independent variables.

4. Generating the Random Integer Lattice via the HNF

In this section, we present our random integer lattice generation algorithm via the HNF. Firstly, we introduce the inverse sampling method in probability theory to generate all the diagonal elements. Then, we generate all the nondiagonal elements accordingly.

4.1. Inverse Sampling Method

Given a distribution D over some ordered set A, we can use the inverse sampling method to generate a random variable according to the distribution D. We present two versions of the inverse sampling method: continuous-ISM and discrete-ISM.

Theorem 5.  

(Continuous-ISM) For distribution D over interval [a,b] with cumulative distribution function FX(x), choose a random y uniformly from [0,1] and compute z s.t. F(z)=y, then the resulting variable Z has distribution D.

Proof. 

Our goal is to prove Z has FX as its cumulative distribution function. Namely, for any x[a,b], we have to prove P(Zx)=FX(x). Since F is a monotonically increasing function, we have:

P(Zx)=P(FZ(z)FX(x))=P(yFX(x))=FX(x)

where the second equality comes from F(z)=y and the last one is a direct result of y’s uniformity in [0,1]. Thus, the cumulative distribution function of Z is actually FX, which completes the proof.    □

Theorem 6. 

(Discrete-ISM) For distribution D over finite-ordered set A={ak}k=1nZ with corresponding density fk=P(X=ak), choose a random number y uniformly from [0,1] and compute the minimum j s.t. k=1jfky; then, we let Z=aj, and Z will have distribution D.

Proof. 

For any ajA, we need to prove P(Z=aj)=fj. Since j is the minimum value s.t. k=1jfky, we know that k=1j1fk<y. Then, we have:

P(Z=aj)=P(k=1jfiy,k=1j1fi<y)=P(k=1jfky)P(k=1j1fky))=k=1jfkk=1j1fk(sinceyisuniformin[0,1])=fj

which completes the proof.    □

4.2. Generating the Random Integer Lattice via the HNF

From Section 3.1, we can generate a random integer lattice by equivalently generating a random nonsingular HNF. To begin with, we generate the first n1 diagonal elements h11,h22,,hn1,n1. Then, we generate the last diagonal element hnn. Finally, all the nondiagonal elements are generated, and we output the matrix H as a lattice basis for our random integer lattice.

4.2.1. Generating h11,h22,,hn1,n1

From Corollary 1, we know that for an n-dim nonsingular HNF, when i[1,n1], the distribution of hii is:

D(n,i):P(X=x)=1ζ(n+1i)·x(n+1i)(x=1,2). (2)

Therefore, we generate these diagonal elements h11,h22,,hn1,n1 according to D(n,i) by discrete-ISM (Theorem 6).

For i[1,n1], we choose y uniformly randomly from [0,1] and increasingly iterate ji starting from 1 until it satisfies 1ζ(n+1i)k=1jik(n+1i)y. Then, we set hii=ji. By Theorem 6, each diagonal hii has distribution D(n,i), which is what we need.

4.2.2. Generating hnn

After generating the first n1 diagonal elements hii, we set Dn1i=1n1hii. Since the determinant upper bound is M, the last diagonal element hnn should be in [1,MDn1]. We point out that Dn1 is a small number compared to M with high probability. More specifically, the following theorem can be proven.

Theorem 7.

Let H=(hij) be an n-dim random nonsingular HNF with the determinant bounded by M>0; for Dn1i=1n1hii, we have:

E(Dn1)=1ζ(n)logM+O(1).

Moreover, by Markov’s inequality, we find that:

P(Dn1(logM)2)1logM.

To prove Theorem 7, the following lemma from [13] is needed.

Lemma 1.

Given an integer n4 and a large integer M>0, for any non-negative increasing sequence (si)1in s.t. snsn32,snsn21 and a respective summation:

S(M,s1sn)aiZ+,i=1naiMa1s1ansn,

we have the following Table 1 on asymptotic formulas for S(M,s1sn).

where ζ(s)=i=1is is the well-known Riemann zeta function and the constant in the O notation is only relevant to n.

Table 1.

Asymptotic formulas of S(M,s1sn) in different cases.

S(M,s1sn) If
j=1n1ζ(sn+1sj)sn+1Msn+1+O(MsnlogM) sn3sn2<sn1<sn
j=1n1ζ(sn+1sj)sn+1Msn+1+OMsn(logM)2 sn3<sn2=sn1<sn
j=1n2ζ(sn+1sj)sn+1Msn+1logM+O(Msn+1) sn3sn2<sn1=sn

Now, we start to prove Theorem 7.

Proof. 

For the expectation of Dn1=i=1n1hii, we find that:

E(Dn1)=kMk·P(Dn1=k)=kMk·|Hn1(k)|·anM/kann1|Hn(M)|=kMj=1n1ajj=1n1aj=kj=1n1ajj1anM/kann1|Hn(M)|=kMj=1n1aj=kj=1n1ajjanM/kann1|Hn(M)|=j=1najMj=1n1ajj·ann1j=1najMj=1najj1=S(M,1,2,,n2,n1,n1)S(M,0,1,,n2,n1)(asinLemma1)=s=2n1ζ(s)n·MnlogM+O(Mn)s=2n1ζ(s)nMn+O(Mn1logM)(byLemma1)=s=2n1ζ(s)n·logM+O(1)s=2n1ζ(s)n+O(logM/M)=1ζ(n)logM+O(1),

which completes the first part of Theorem 7.

For the second part, recall that for any non-negative random variable X, Markov’s inequality tells us that:

P(Xa)E(X)/a.

Since Dn1 is non-negative, we apply Markov’s inequality to it by setting a=(logM)2 and obtain:

P(Dn1(logM)2)(1ζ(n)logM+O(1))/(logM)21logM

which completes the second part of the proof.    □

From Theorem 7, we know that Dn1 is small compared to M with high probability; thus, MDn1 is still large enough for us to obtain a similar result for hnn. We think this is a relatively reasonable way to describe the distribution of hnn. Thus, for the random nonsingular HNF with the determinant bounded by M, on the condition that i=1n1hii=Dn1, the distribution of hnn is the following:

D˜(n,M,Dn1):P(X=x)=1k=1M/Dn1kn1·xn1=11nMDn1n+O(MDn1n1)·xn1(x=1,2,MDn1). (3)

Moreover, the corresponding cumulative distribution function is:

FX(x)=P(Xx)=11nMDn1n+O(MDn1n1)·k=1xkn1=1nxn+O(xn1)1nMDn1n+O(MDn1n1)(x=1,2,MDn1). (4)

Since MDn1 is still super large, we know that:

FX(x)xn/nM/Dn1n/n=(xM/Dn1)nGX(x).

As a result, GX(x) is a rather good estimation for FX(x). In fact, if we define the distribution D˜0(n,M,Dn1) by the cumulative distribution function GX(x) as follows:

D0˜(n,M,Dn1):P(Xx)=(xM/Dn1)n(x=1,2,MDn1), (5)

then we have the following theorem.

Theorem 8.

For large enough MZ+ and positive integer Dn1=o(M), the statistical distance between D˜(n,M,Dn1) and D˜0(n,M,Dn1) is at most n·O(Dn1M).

Proof. 

According to (4), the cumulative distribution function of D˜(n,M,Dn1) is FX(x)=1nxn+O(xn1)1nMDn1n+O(MDn1n1), since the cumulative distribution function of D˜0(n,M,Dn1) is GX(x)=(xM/Dn1)n; denote MDn1 by M˜, then xM˜, and for every x[1,M˜], we have:

|FX(x)GX(x)|=|1nxn+O(xn1)1nM˜n+O(M˜n1)(xM˜)n|=|xn+n·O(xn1)M˜n+n·O(M˜n1)(xM˜)n|=|(xn+n·O(xn1))M˜n(M˜n+n·O(M˜n1))xnM˜2n+n·O(M˜2n1)|=|n·O(xn1)M˜nn·O(M˜n1)xnM˜2n+n·O(M˜2n1)|=|n·O(M˜n1)M˜nn·O(M˜n1)M˜nM˜2n+n·O(M˜2n1)|(sincexM˜)=|n·O(M˜2n1)M˜2n+n·O(M˜2n1)|=|n·O(1M˜)1+n·O(1M˜)|=n·O(1M˜)=n·O(Dn1M)

which implies that the statistical distances D˜(n,M,Dn1) and D˜0(n,M,Dn1) are bounded by n·O(Dn1M).    □

Since M/Dn1 is still super large, we can generate hnn according to D˜0(n,M,Dn1) (close enough to D˜(n,M,Dn1)) by continuous-ISM (Theorem 5).

We choose y uniformly randomly from [0,1] and compute zR+ s.t.:

(zM/Dn1)n=y.

Then, we set hnn=z. By Theorems 6 and 8, the diagonal hnn has distribution D˜0(n,M,Dn1), which is close enough to D˜(n,M,Dn1).

4.2.3. Generating hij(ij)

This part is relatively easier. For i,j=1,,n, let hij be chosen from [0,hjj) uniformly randomly if i<j and let hij=0 if i>j.

4.2.4. Correctness

By the discussion above, for large enough M>0, the distribution of the diagonal h11,,hnn generated by this algorithm is close enough to its distribution as a random nonsingular HNF. For i<j[1,n], since a random nonsingular HNF’s hij is uniform in [0,hjj) and hij is generated in the same way, we know that the output of this algorithm is also close enough to a real random nonsingular HNF, which implies the correctness of this algorithm.

4.3. Algorithm 1: Generate Random Integer Lattice

Now we present the Algorithm 1 to generate a random integer lattice.

Algorithm 1: Random Integer Lattice Generation
Require: Dimension n, large integer M
Ensure: n-dim random integer lattice L with det(L)M
 Step 1: Generate h11,,hn1,n1
 D0=1
 for i=1 to n1 do
     ji=1, si=1
     choose yi[0,1] uniformly
     while si<ζ(n+1i)·yi do
         ji=ji+1
         si=si+ji(n+1i)
     end while
     Di=Di1·ji
     set hii=ji
 end for
 Step 2: Generate hnn
 choose y[0,1] uniformly
 z=y1/n
 z=z·MDn1
 set hnn=z
 Step 3: Generate hij(ij)
 for j=1 to n do
     for i=1 to j1 do
         choose hij[0,hjj) uniformly
     end for
     for i=j+1 to n do
         set hij=0
     end for
 end for
 Step 4: Set H=(hij), and output L(H)

4.4. Time Complexity of Algorithm 1

Now, we analyze the time complexity of Algorithm 1. Obviously, the most time-consuming part of Algorithm 1 is the floating-point operations si=si+ji(n+1i) inside the while iteration for each i in Step 1. Denote the number of computing si=si+ji(n+1i) in the i-th while iteration by T(i). Notice that:

P(hii=1)=1ζ(n+1i);

since ζ(s) converges to one quite fast as s grows, the majority of hii will be set to one. In fact, by the numerical results, we have following result:

Fact 1: For any integer n10,

1s=10nζ(s)0.999.

By this fact, for in10, all the hii are very likely to be set to one, implying that T(1),T(2),,T(n10)=0 with probability 0.999. Then, we consider T(n9),T(n8),,T(n1). If we set the probability bound for each T(i) to be 0.999, then by accurate numerical results, we have the following Table 2:

Table 2.

Upper bound for T(i) with probability0.999.

T(i) Upper Bound
T(n9) 0
T(n8) 1
T(n7) 1
T(n6) 1
T(n5) 2
T(n4) 3
T(n3) 6
T(n2) 19
T(n1) 607

Thus, we have the following theorem:

Theorem 9.

The number of floating-point operations performed in Algorithm 1 is bounded by 1300 with probability 0.99.

Proof. 

By the above table, i=n9n1T(i) is bounded by 640 with probability 0.9999. Since T(1),T(2),,T(n10)=0 with probability 0.999, we know that i=1n1T(i) is bounded by 640 with probability 0.999100.99. Notice that each si=si+ji(n+1i) needs two floating-point operations, and it also needs another four floating-point operations to generate hnn in Step 2; thus, with probability 0.99, the total number of floating-point operations performed in Algorithm 1 is bounded by 640×2+4=1284<1300, which completes the proof. □

Remark 2.

We point out that the accuracy of the floating-point affects the actual running time of Algorithm 1. By experiments, 150 bit are a suitable option.

It is not hard to see that in Algorithm 1, besides the floating-point operations, the remaining parts of Step 1, Step 2, and Step 3 take O(n2),O(1), and O(n2) operations, respectively. Combining this with Theorem 9, we have the following result:

Theorem 10.

Algorithm 1 outputs a random integer lattice within O(n2) operations with probability 0.99.

5. Conclusions

In this paper, we presented an improved algorithm for generating random integer lattices and discussed its time complexity. We proved that with probability 0.99, this algorithm outputs an n-dim random integer lattice within O(n2) operations. We pointed out that there is still space for improvement of our algorithm, and we leave this as an open problem.

Acknowledgments

We thank Yanbin Pan for his wonderful suggestions about this paper, and we thank the referees for putting forward their excellent advice on how to improve the presentation of this paper.

Author Contributions

Conceptualization, G.H.; formal analysis, L.Y.; funding acquisition, G.H. and L.Y.; investigation, G.H.; methodology, G.H.; validation, L.L.; writing—original draft, G.H.; writing—review and editing, L.L., L.H., and H.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the National Natural Science Foundation of China (No. 61602143, No. 61772166) and in part by the Natural Science Foundation of Zhejiang Province of China (No. LZ17F020002).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Footnotes

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Ajtai M. Gennerating hard instances of lattice problems. In: Miller G., editor. Proceedings of the STOC ’96 Twenty-Eighth Annual ACM Symposium on Theory of Computing; Philadelphia, PA, USA. 22–24 May 1996; New York, NY, USA: ACM Press; 1996. pp. 99–108. [Google Scholar]
  • 2.Ajtai M., Dwork C. A public-key cryptosystem with worst-case/average-case equivalence. In: Leighton F.T., Shor P., editors. Proceedings of the STOC ’97 Twenty-Ninth Annual ACM Symposium on Theory of Computing; El Paso, TX, USA. 4–6 May 1997; New York, NY, USA: ACM Press; 1997. pp. 284–293. [Google Scholar]
  • 3.Hoffstein J., Pipher J., Silverman J.H. NTRU: A Ring-Based Public Key Cryptosystem. In: Buhler J.P., editor. Proceedings of the ANTS-III Third International Symposium on Algorithmic Number Theory; Portland, OR, USA. 21–25 June 1998; Heidelberg, Germany: Springer; 1998. pp. 267–288. [Google Scholar]
  • 4.Regev O. On lattices, learning with errors, random linear codes, and cryptography. In: Gabow H.N., Fagin R., editors. Proceedings of the STOC ’05 Thirty-Seventh Annual ACM Symposium on Theory of Computing; Baltimore, MD, USA. 22–24 May 2005; New York, NY, USA: ACM Press; 2005. pp. 84–93. [Google Scholar]
  • 5.Gentry C., Peikert C., Vaikuntanathan V. Trapdoors for hard lattices and new cryptographic constructions. In: Ladner R., Dwork C., editors. Proceedings of the STOC ’08 Fortieth Annual ACM Symposium on Theory of Computing; Victoria, BC, Canada. 17–20 May 2008; New York, NY, USA: ACM Press; 2008. pp. 197–206. [Google Scholar]
  • 6.Shor P.W. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 1997;26:1484–1509. doi: 10.1137/S0097539795293172. [DOI] [Google Scholar]
  • 7.Lenstra A.K., Lenstra H.W., Jr., Lovasz L. Factoring polynomials with rational coefficients. Math. Ann. 1982;261:513–534. doi: 10.1007/BF01457454. [DOI] [Google Scholar]
  • 8.Schnorr C.P., Euchner M. Lattice basis reduction: Improved practical algorithms and solving subset sum problems. Math. Program. 1994;66:181–199. doi: 10.1007/BF01581144. [DOI] [Google Scholar]
  • 9.Chen Y., Nguyen P.Q. BKZ 2.0: Better Lattice Security Estimates. In: Lee D.H., Wang X., editors. Proceedings of the ASIACRYPT 2011 17th International Conference on the Theory and Application of Cryptology and Information Security; Seoul, Korea. 4–8 December 2011; Heidelberg, Germany: Springer; 2011. pp. 1–20. [Google Scholar]
  • 10.Nguyen P.Q., Stehle D. LLL on the average. In: Hess F., Pauli S., Pohst M.E., editors. Proceedings of the ANTS-XII 7th International Symposium on Algorithmic Number Theory; Berlin, Germany. 23–28 July 2006; Heidelberg, Germany: Springer; 2006. pp. 238–256. [Google Scholar]
  • 11.Goldstein D., Mayer A. On the equidistribution of Hecke points. Forum Math. 2003;15:165–189. doi: 10.1515/form.2003.009. [DOI] [Google Scholar]
  • 12.Maze G. Natural density distribution of Hermite normal forms of integer matrices. J. Number Theory. 2011;131:2398–2408. doi: 10.1016/j.jnt.2011.06.010. [DOI] [Google Scholar]
  • 13.Hu G., Pan Y., Liu R., Chen Y. On Random Nonsingular Hermite Normal Form. J. Number Theory. 2016;164:66–86. doi: 10.1016/j.jnt.2015.12.004. [DOI] [Google Scholar]
  • 14.Cohen H. A Course in Computational Algebraic Number Theory. Volume 138. Springer-Verlag; Berlin/Heidelberg, Germany: 1993. p. 66. [Google Scholar]
  • 15.Gruber B. Alternative formulae for the number of sublattices. Acta Cryst. 1997;A53:807–808. doi: 10.1107/S0108767397009781. [DOI] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Not applicable.


Articles from Entropy are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES