Results 1 -
6 of
6
Efficient Support for Complex Numbers in Java
, 1999
"... One glaring weakness of Java for numerical programming is its lack of support for complex numbers. Simply creating a Complex number class leads to poor performance relative to Fortran. We show in this paper, however, that the combination of such a Complex class and a compiler that understands its se ..."
Abstract
-
Cited by 32 (9 self)
- Add to MetaCart
One glaring weakness of Java for numerical programming is its lack of support for complex numbers. Simply creating a Complex number class leads to poor performance relative to Fortran. We show in this paper, however, that the combination of such a Complex class and a compiler that understands its semantics does indeed lead to Fortran-like performance. This performance gain is achieved while leaving the Java language completely unchanged and maintaining full compatibility with existing Java Virtual Machines. We quantify the effectiveness of our approach through experiments with linear algebra, electromagnetics, and computational fluid-dynamics kernels. 1 Introduction The Java Grande Forum has identified several critical issues related to the role of Java (TM)1 in numerical computing [14]. One of the key requirements is that Java must support efficient operations on complex numbers. Complex arithmetic and access to elements of complex arrays must be as efficient as the manipulation o...
Growing a Language
, 1999
"... is not the first till it comes to nought; then the first count is the sum. 4 2 5 0 Four plus two is the same as five plus one, which is the same as six plus nought, which is six. We shall take the word many to mean "more than two in number." Think of a machine that can keep track ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
is not the first till it comes to nought; then the first count is the sum. 4 2 5 0 Four plus two is the same as five plus one, which is the same as six plus nought, which is six. We shall take the word many to mean "more than two in number." Think of a machine that can keep track of two numbers, and count each one up or down, and test if a number be nought and by such a test choose to do this or that. The list of things that it can do and of choices that it can make must be of a known size that is some number. Here you can see the two numbers and a list. The machine starts its work with the first row of the list. Each row in the list has a state name; the word "up" or "down"; and which number to count up or count down. For "up," we have the name of the next state to go to (and the machine counts the number up by one); for "down," the machine first tests the number, and so we have the name of the new state to go to if the number be nought and the name of the new stat
Is Java ready for computational science?
, 1998
"... This paper provides quantitative and qualitative arguments that help to decide whether Java is ready for computational science. Current shortcomings of Java as well as appropriate countermeasures are discussed. ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
This paper provides quantitative and qualitative arguments that help to decide whether Java is ready for computational science. Current shortcomings of Java as well as appropriate countermeasures are discussed.
Complex Numbers for Java
, 1999
"... Efficient and elegant complex numbers are one of the preconditions for the use of Java in scientific computing. This paper introduces a preprocessor and its translation rules that map a new basic type coraplax and its operations to pure Java. For the mapping it is insufficient to just replace on ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Efficient and elegant complex numbers are one of the preconditions for the use of Java in scientific computing. This paper introduces a preprocessor and its translation rules that map a new basic type coraplax and its operations to pure Java. For the mapping it is insufficient to just replace one coraplax-variable with two double-variables.
Data Structures in Java for Matrix Computations
, 2002
"... In this paper it is shown how to utilize Java arrays for matrix computations. We discuss the disadvantages of Java arrays when used as two-dimensional array for dense matrix computation, and how to improve the performance. We show how to create efficient dynamic data structure for sparse matrix comp ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In this paper it is shown how to utilize Java arrays for matrix computations. We discuss the disadvantages of Java arrays when used as two-dimensional array for dense matrix computation, and how to improve the performance. We show how to create efficient dynamic data structure for sparse matrix computation using Java's native arrays. We construct a data structure for large sparse matrices that is unique for Java. This datastructure is shown to be more dynamic and efficient than the traditional storage schemes for large sparse matrices. Numerical results show that this new data structure, called Java Sparse Array (JSA), is competitive with the traditionally Compressed Row Storage scheme (CRS) on matrix computation routines. Java gives exibility without loosing efficiency. Compared to other object oriented data structures it is shown that JSA has the same flexibility.
Signature: A Type-Passing Implementation of Value Types and Genericity
"... I hereby declare that this thesis has not been submitted, either in the same or different form, to this or any other university for a degree. ..."
Abstract
- Add to MetaCart
I hereby declare that this thesis has not been submitted, either in the same or different form, to this or any other university for a degree.

