4,511 research outputs found
Developing numerical libraries in Java
The rapid and widespread adoption of Java has created a demand for reliable
and reusable mathematical software components to support the growing number of
compute-intensive applications now under development, particularly in science
and engineering. In this paper we address practical issues of the Java language
and environment which have an effect on numerical library design and
development. Benchmarks which illustrate the current levels of performance of
key numerical kernels on a variety of Java platforms are presented. Finally, a
strategy for the development of a fundamental numerical toolkit for Java is
proposed and its current status is described.Comment: 11 pages. Revised version of paper presented to the 1998 ACM
Conference on Java for High Performance Network Computing. To appear in
Concurrency: Practice and Experienc
A comparison of computational methods and algorithms for the complex gamma function
A survey and comparison of some computational methods and algorithms for gamma and log-gamma functions of complex arguments are presented. Methods and algorithms reported include Chebyshev approximations, Pade expansion and Stirling's asymptotic series. The comparison leads to the conclusion that Algorithm 421 published in the Communications of ACM by H. Kuki is the best program either for individual application or for the inclusion in subroutine libraries
Efficient computation of Hamiltonian matrix elements between non-orthogonal Slater determinants
We present an efficient numerical method for computing Hamiltonian matrix
elements between non-orthogonal Slater determinants, focusing on the most
time-consuming component of the calculation that involves a sparse array. In
the usual case where many matrix elements should be calculated, this
computation can be transformed into a multiplication of dense matrices. It is
demonstrated that the present method based on the matrix-matrix multiplication
attains 80% of the theoretical peak performance measured on systems
equipped with modern microprocessors, a factor of 5-10 better than the normal
method using indirectly indexed arrays to treat a sparse array. The reason for
such different performances is discussed from the viewpoint of memory access.Comment: 8 pages, 3 figure
- …