Skip to main content

2003 | Buch

Interdisciplinary Computing in Java Programming

insite
SUCHEN

Über dieses Buch

Books on computation in the marketplace tend to discuss the topics within specific fields. Many computational algorithms, however, share common roots. Great advantages emerge if numerical methodologies break the boundaries and find their uses across disciplines. Interdisciplinary Computing In Java Programming Language introduces readers of different backgrounds to the beauty of the selected algorithms. Serious quantitative researchers, writing customized codes for computation, enjoy cracking source codes as opposed to the black-box approach. Most C and Fortran programs, despite being slightly faster in program execution, lack built-in support for plotting and graphical user interface. This book selects Java as the platform where source codes are developed and applications are run, helping readers/users best appreciate the fun of computation.

Interdisciplinary Computing In Java Programming Language is designed to meet the needs of a professional audience composed of practitioners and researchers in science and technology. This book is also suitable for senior undergraduate and graduate-level students in computer science, as a secondary text.

Inhaltsverzeichnis

Frontmatter

Java Language

Frontmatter
Chapter 1. Java Basics
Abstract
Java1 programming language, espousing the tenet of object orientation, evolves in the time of the Internet and has been gaining much popularity among programmers. We start in this chapter introducing Java syntax by elaborating on an object example.
Sun-Chong Wang
Chapter 2. Graphical and Interactive Java
Abstract
After numerical calculations, it is often desirable that relations of the numbers are displayed in charts, curves, histograms, contour plots, or any other graphical forms. In traditional languages like Fortran or C, we usually have to resort to some plotting tools available in the host system. In this scenario, not only do we have to learn the the graphics package, but also are concerned about the input/output formats between various tools. In contrast, Java comes with a rich supply of graphics classes. Results of numerical objects can be passed around and readily plotted by the graphics objects within the same application. Seamless integration of the two operations is another advantage of Java.
Sun-Chong Wang
Chapter 3. High Performance Computing
Abstract
Since the advent of the first digital computer decades ago, prices of computers have dropped significantly, making personal computers affordable. Meanwhile, the performances [in terms of the memory size and speed of the central processing unit (CPU)] double every 18 to 24 months (the so-called Moore’s law). Computers are usually connected to one another to form a web of computers called Internet. A conceivable avenue of achieving high-performance computing is to coordinate together the vast number of otherwise idle computers on the network to tackle single tough tasks of computation. This is the very idea behind grid computing where both data and computing power are shared and accessible to a user. We will demonstrate an implementation of the so-called distributed computing to boost the performance in this chapter. Before this, let’s introduce the other high performance computing via parallelism in Java.1
Sun-Chong Wang

Computing

Frontmatter
Chapter 4. Simulated Annealing
Abstract
In many applications, the parameters which are sought to minimize (or maximize) the objective function are not continuously varying. For instance, a salesperson is to travel through a series of cities in an order that gives the shortest traveling distance. The parameters take the form of integers in this case. And as the number of cities increases, the number of possible configurations (sequences) grows rapidly, rendering exhaustive search infeasible.
Sun-Chong Wang
5. Artificial Neural Network
Abstract
Inspired by the sophisticated functionality of human brains where hundreds of billions of interconnected neurons process information in parallel, researchers have successfully tried demonstrating certain levels of intelligence on silicon. Examples include language translation and pattern recognition software. While simulation of human consciousness and emotion is still in the realm of science fiction, we, in this chapter, consider artificial neural networks as universal function approximators. Especially, we introduce neural networks which are suited for time series forecasts.
Sun-Chong Wang
6. Genetic Algorithm
Abstract
Organisms are one of the most wonderful systems in the world. Like the method of the last chapter, we introduce here another powerful problem solving technique inspired from biology. Genetic algorithm, just like simulated annealing, is suitable to both combinatorial and numerical optimizations. They find wide applications in different research fields, such as management, engineering, industrial design, and so forth.
Sun-Chong Wang
Chapter 7. Monte Carlo Simulation
Abstract
Monte Carlo, Monaco, hosts casinos where games of chance, such as slot machines, are played. Although a slot machine occasionally spews out chunks of tokens to lucky patrons, it, in the long run, earns a predictable fortune for the casino owner. A scientist usually devices her games of chance with various tunable parameters. After many plays, she compares the outcome with that of the real experiment. By changing the values of the parameters, she hopefully reproduces in the game the experimental result. This way, scientists gain a better knowledge of the world. In other cases where experiments are hard or expensive to carry out, simulation is the only alternative. The method of simulation or calculation that involves sampling from random numbers is coined Monte Carlo method. We show how to generate specific distributions from a uniform random distribution. We introduce and implement in the example a stochastic-volatility jump-diffusion process to simulate the complex dynamics of the price of a financial asset.
Sun-Chong Wang
Chapter 8. Molecular Dynamics
Abstract
Molecular dynamics simulation is widely used in, for example, molecular biology, material engineering, and surface physics to study protein folding, structure defect, and crack propagation. Structures of proteins, working parts of a cell, are believed to determine their functions, the knowledge of which helps understand life and also accelerate drug design. In this chapter, we establish the connection between microscopic motions of atoms and their macroscopic properties. A molecular dynamics example is then provided to simulate release of particles from a compartment (vaporization of a droplet).
Sun-Chong Wang
Chapter 9. Cellular Automata
Abstract
An ant, compared with other species, is a simple creature. Yet, a colony of ants forms a single complex hierarchical system, which, in some sense, can be more efficient than other ingregarious, yet more advanced, organisms. Ants utilize simple protocols in communications between each other. An ordered system is thereby formed and individuals know where/how to efficiently locate/transport foods. Careful examinations revealed that the system works from bottom up. The result is remarkable: the whole is greater than the sum of the parts.
Sun-Chong Wang
Chapter 10. Path Integral
Abstract
Feynman’s method of path integration offers an alternative to the conventional solutions to the Schrodinger’s equation. Path integrals provide not only a new computational approach to quantum mechanics, but also a different conceptual perspective of view. The advantage of path integral manifests itself particularly when the number of particles (or number of degrees of freedom) of the many-body system increases. Furthermore, the formalism derived for the dynamics of a system can, after slight modification, be applied to calculate interesting quantities of systems in thermodynamic equilibrium.
Sun-Chong Wang
Chapter 11. Data Fitting
Abstract
An experimenter, to test the ideas or theories in mind, prepares her experiment. She excites the sample by a well controlled means. Reactions from the sample are measured by appropriate apparatus. The next step is to compare the recorded data with the theory. The task of comparison is most usually practiced by the method of chi-square (or least squares) fitting. Another application of chi-square fits is in data interpolation/extrapolation. Since chi-square fits are so commonly used by researchers in data analysis, we demonstrate a class which performs a 2-dimensional chi-square fit.
Sun-Chong Wang
Chapter 12. Bayesian Analysis
Abstract
With Bayesian techniques, programs can be written to select, among possible choices, the model which best explains the data. The program therefore makes inferences. Applications of Bayesian inference can be seen in pattern/image recognition, radar target identification, medical diagnosis, relevant-gene scoring, text/e-mail classification, and so on. Inclusion of Bayes theorem in neural networks also enhances artificial intelligence’s capability in such a way that it deals better with a real world full of errors and uncertainties.
Sun-Chong Wang
Chapter 13. Graphical Model
Abstract
Complexity in nature or biology results more from the structure of the system than from some ‘magic’ parameter values in the system. Examples are transcriptional networks of genes and the Internet, both of which are resilient to random attacks. Network structures have been studied by graphical models.
Sun-Chong Wang
Chapter 14. JNI Technology
Abstract
Before the introduction of Java programming language, there had existed many collections of general-purpose or specialized subroutines or functions written in other languages, such as Fortran and C. These well-established and tested libraries represent decades’ efforts of experts in an assortment of fields. As a programmer in Java, she might want to reap the fruits instead of redoing the hard jobs. The capability of calling methods in other languages from within Java programs is accomplished by Java Native Interface (JNI). We provide an example of calling CERN (European Organization for Nuclear Research) library routines in this chapter.
Sun-Chong Wang
Backmatter
Metadaten
Titel
Interdisciplinary Computing in Java Programming
verfasst von
Sun-Chong Wang
Copyright-Jahr
2003
Verlag
Springer US
Electronic ISBN
978-1-4615-0377-4
Print ISBN
978-1-4613-5046-0
DOI
https://doi.org/10.1007/978-1-4615-0377-4