Searcharxiv⌕ Search

arXiv subjects

Richard P. Brent

Publications and source records attributed to Richard P. Brent.

At least 55 records · Page 3Linked to original sources

High-Performance Pseudo-Random Number Generation on Graphics Processing Units

This work considers the deployment of pseudo-random number generators (PRNGs) on graphics processing units (GPUs), developing an approach based on the xorgens generator to rapidly produce pseudo-random numbers of high statistical quality. The chosen algorithm has configurable state size and period, making it ideal for tuning to the GPU architecture. We present a comparison of both speed and statistical quality with other common parallel, GPU-based PRNGs, demonstrating favourable performance of the xorgens-based approach.

cs.DC↗

An O(M(n) log n) algorithm for the Jacobi symbol

The best known algorithm to compute the Jacobi symbol of two n-bit integers runs in time O(M(n) log n), using Schönhage's fast continued fraction algorithm combined with an identity due to Gauss. We give a different O(M(n) log n) algorithm based on the binary recursive gcd algorithm of Stehlé and Zimmermann. Our implementation - which to our knowledge is the first to run in time O(M(n) log n) - is faster than GMP's quadratic implementation for inputs larger than about 10000 decimal digits.

cs.DS↗

Multiple-precision zero-finding methods and the complexity of elementary function evaluation

We consider methods for finding high-precision approximations to simple zeros of smooth functions. As an application, we give fast methods for evaluating the elementary functions log(x), exp(x), sin(x) etc. to high precision. For example, if x is a positive floating-point number with an n-bit fraction, then (under rather weak assumptions) an n-bit approximation to log(x) or exp(x) may be computed in time asymptotically equal to 13M(n)lg(n), where M(n) is the time required to multiply floating-point numbers with n-bit fractions. Similar results are given for the other elementary functions. Some analogies with operations on formal power series (over a field of characteristic zero) are discussed. In particular, it is possible to compute the first n terms in log(1 + a_1.x + ...) or exp(a_1.x + ...) in time O(M(n)), where M(n) is the time required to multiply two polynomials of degree n - 1. It follows that the first n terms in a q-th power (1 + a_1.x + ...)^q can be computed in time O(M(n)), independent of q. One of the results of this paper is the "Gauss-Legendre" or "Brent-Salamin" algorithm for computing pi. This is the first quadratically convergent algorithm for pi. It was also published in Brent [J. ACM 23 (1976), 242-251], and independently by Salamin [Math. Comp. 30 (1976), 565-570].

math.NA↗

Some comments on C. S. Wallace's random number generators

We outline some of Chris Wallace's contributions to pseudo-random number generation. In particular, we consider his idea for generating normally distributed variates without relying on a source of uniform random numbers, and compare it with more conventional methods for generating normal random numbers. Implementations of Wallace's idea can be very fast (approximately as fast as good uniform generators). We discuss the statistical quality of the output, and mention how certain pitfalls can be avoided.

cs.MS↗

The great trinomial hunt

We describe a search for primitive trinomials of high degree and its interaction with the Great Internet Mersenne prime search (GIMPS). The search is complete for trinomials whose degree is the exponent of a Mersenne prime, for all 47 currently known Mersenne primes.

math.NT↗

The myth of equidistribution for high-dimensional simulation

A pseudo-random number generator (RNG) might be used to generate w-bit random samples in d dimensions if the number of state bits is at least dw. Some RNGs perform better than others and the concept of equidistribution has been introduced in the literature in order to rank different RNGs. We define what it means for a RNG to be (d,w)-equidistributed, and then argue that (d,w)-equidistribution is not necessarily a desirable property.

cs.MS↗

George Forsythe's last paper

We describe von Neumann's elegant idea for sampling from the exponential distribution, Forsythe's generalization for sampling from a probability distribution whose density has the form exp(-G(x)), where G(x) is easy to compute (e.g. a polynomial), and my refinement of these ideas to give an efficient algorithm for generating pseudo-random numbers with a normal distribution. Later developments are also mentioned.

math.NA↗

A Simple Approach to Error Reconciliation in Quantum Key Distribution

We discuss the error reconciliation phase in quantum key distribution (QKD) and analyse a simple scheme in which blocks with bad parity (that is, blocks containing an odd number of errors) are discarded. We predict the performance of this scheme and show, using a simulation, that the prediction is accurate.

cs.DS↗

Note on Computing Ratings from Eigenvectors

We consider the problem of computing ratings using the results of games played between a set of n players, and show how this problem can be reduced to computing the positive eigenvectors corresponding to the dominant eigenvalues of certain n by n matrices. There is a close connection with the stationary probability distributions of certain Markov chains. In practice, if n is large, then the matrices involved will be sparse, and the power method may be used to solve the eigenvalue problems efficiently. We give an algorithm based on the power method, and also derive the same algorithm by an independent method.

math.NA↗

Error analysis of a partial pivoting method for structured matrices

Many matrices that arise in the solution of signal processing problems have a special displacement structure. For example, adaptive filtering and direction-of-arrival estimation yield matrices of Toeplitz type. A recent method of Gohberg, Kailath and Olshevsky (GKO) allows fast Gaussian elimination with partial pivoting for such structured matrices. In this paper, a rounding error analysis is performed on the Cauchy and Toeplitz variants of the GKO method. It is shown the error growth depends on the growth in certain auxiliary vectors, the generators, which are computed by the GKO algorithms. It is also shown that in certain circumstances, the growth in the generators can be large, and so the error growth is much larger than would be encountered with normal Gaussian elimination with partial pivoting. A modification of the algorithm to perform a type of row-column pivoting is proposed; it may ameliorate this problem.

math.NA↗

Stability of fast algorithms for structured linear systems

We survey the numerical stability of some fast algorithms for solving systems of linear equations and linear least squares problems with a low displacement-rank structure. For example, the matrices involved may be Toeplitz or Hankel. We consider algorithms which incorporate pivoting without destroying the structure, and describe some recent results on the stability of these algorithms. We also compare these results with the corresponding stability results for the well known algorithms of Schur/Bareiss and Levinson, and for algorithms based on the semi-normal equations.

math.NA↗

A weakly stable algorithm for general Toeplitz systems

We show that a fast algorithm for the QR factorization of a Toeplitz or Hankel matrix A is weakly stable in the sense that R^T.R is close to A^T.A. Thus, when the algorithm is used to solve the semi-normal equations R^T.Rx = A^Tb, we obtain a weakly stable method for the solution of a nonsingular Toeplitz or Hankel linear system Ax = b. The algorithm also applies to the solution of the full-rank Toeplitz or Hankel least squares problem.

math.NA↗

Parallel algorithms in linear algebra

This report provides an introduction to algorithms for fundamental linear algebra problems on various parallel computer architectures, with the emphasis on distributed-memory MIMD machines. To illustrate the basic concepts and key issues, we consider the problem of parallel solution of a nonsingular linear system by Gaussian elimination with partial pivoting. This problem has come to be regarded as a benchmark for the performance of parallel machines. We consider its appropriateness as a benchmark, its communication requirements, and schemes for data distribution to facilitate communication and load balancing. In addition, we describe some parallel algorithms for orthogonal (QR) factorization and the singular value decomposition (SVD).

cs.DS↗

On the periods of generalized Fibonacci recurrences

We give a simple condition for a linear recurrence (mod 2^w) of degree r to have the maximal possible period 2^(w-1).(2^r-1). It follows that the period is maximal in the cases of interest for pseudo-random number generation, i.e. for 3-term linear recurrences defined by trinomials which are primitive (mod 2) and of degree r > 2. We consider the enumeration of certain exceptional polynomials which do not give maximal period, and list all such polynomials of degree less than 15.

math.NT↗

On computing factors of cyclotomic polynomials

For odd square-free n > 1 the n-th cyclotomic polynomial satisfies an identity of Gauss. There are similar identity of Aurifeuille, Le Lasseur and Lucas. These identities all involve certain polynomials with integer coefficients. We show how these coefficients can be computed by simple algorithms which require O(n^2) arithmetic operations and work over the integers. We also give explicit formulae and generating functions for the polynomials, and illustrate the application to integer factorization with some numerical examples.

math.NT↗

An asymptotic expansion inspired by Ramanujan

Corollary 2, Entry 9, Chapter 4 of Ramanujan's first notebook claims that a certain sum is asymptotic to ln(x) + gamma, where x is a real variable in the sum and gamma is Euler's constant. Ramanujan's claim is known to be correct for the case n = 1, but incorrect for n > 2 (here n is an integer parameter in the sum). We show that the result is correct for n = 2. We also consider the order of the error term, and discuss a different, correct generalisation of the case n = 1.

math.NA↗

On the stability of the Bareiss and related Toeplitz factorization algorithms

This report contains a numerical stability analysis of factorization algorithms for computing the Cholesky decomposition of symmetric positive definite matrices of displacement rank 2. The algorithms in the class can be expressed as sequences of elementary downdating steps. The stability of the factorization algorithms follows directly from the numerical properties of algorithms for realizing elementary downdating operations. It is shown that the Bareiss algorithm for factorizing a symmetric positive definite Toeplitz matrix is in the class and hence the Bareiss algorithm is stable. Some numerical experiments that compare behavior of the Bareiss algorithm and the Levinson algorithm are presented. These experiments indicate that in general (when the reflection coefficients are not all positive) the Levinson algorithm is not stable; certainly it can give much larger residuals than the Bareiss algorithm.

math.NA↗