Search:

Product Information All Elsevier Sites   Advanced Product Search
SiteStat.jsp
OBJECT-ORIENTED IMPLEMENTATION OF NUMERICAL METHODS
Object-Oriented Implementation of Numerical Methods
An Introduction with Java & Smalltalk
To order this title, and for more information, click here

By
Didier Besset, Consultant, Geneva, Switzerland.

Description
Numerical methods naturally lend themselves to an object-oriented approach. Mathematics builds high- level ideas on top of previously described, simpler ones. Once a property is demonstrated for a given concept, it can be applied to any new concept sharing the same premise as the original one, similar to the ideas of reuse and inheritance in object-oriented (OO) methodology.

Few books on numerical methods teach developers much about designing and building good code. Good computing routines are problem-specific. Insight and understanding are what is needed, rather than just recipes and black box routines. Developers need the ability to construct new programs for different applications.

Object-Oriented Implementation of Numerical Methods reveals a complete OO design methodology in a clear and systematic way. Each method is presented in a consistent format, beginning with a short explanation and following with a description of the general OO architecture for the algorithm. Next, the code implementations are discussed and presented along with real-world examples that the author, an experienced software engineer, has used in a variety of commercial applications.

On the enclosed CD-ROM, you'll find files containing tested source code implementations of all the algorithms discussed in the book in both Java and Smalltalk. This includes repository files for VisualAge for Java and VisualAge for Smalltalk under ENVY.

Contents
Code Listings Preface 1 Introduction 1.1 Object-Oriented Paradigm and Mathematical Objects 1.2 Object-Oriented Concepts in a Nutshell 1.3 Dealing with Numerical Data 1.3.1 Floating Point Representation 1.3.2 Rounding Errors 1.3.3 Real Example of Rounding Error 1.3.4 Outsmarting Rounding Errors 1.3.5 Wisdom from the Past 1.4 Finding the Numerical Precision of a Computer 1.4.1 Computer Numerical Precision?General Implementation 1.4.2 Computer Numerical Precision?Smalltalk Implementation 1.4.3 Computer Numerical Precision?Java Implementation 1.5 Comparing Floating-Point Numbers 1.5.1 Comparing Floating-Point Numbers?Smalltalk Code 1.6 Speed Consideration 1.6.1 Smalltalk Particular 1.7 Conventions 1.7.1 Class Diagrams 1.7.2 Smalltalk Code 1.7.3 Java Code 1.8 Road Map 2 Function Evaluation 2.1 Function Concept 2.1.1 Function?Smalltalk Implementation 2.1.2 Function?Java Implementation 2.2 Polynomials 2.2.1 Mathematical Definitions 2.2.2 Polynomials?General Implementation 2.2.3 Polynomials?Smalltalk Implementation 2.2.4 Polynomials?Java implementation 2.3 Error Function 2.3.1 Mathematical Definitions 2.3.2 Error Function?Smalltalk Implementation 2.3.3 Error Function?Java Implementation 2.4 Gamma Function 2.4.1 Mathematical Definitions 2.4.2 Gamma Function?Smalltalk Implementation 2.4.3 Gamma Function?Java Implementation 2.5 Beta Function 2.5.1 Mathematical Definitions 2.5.2 Beta Function?Smalltalk Implementation 2.5.3 Beta Function?Java Implementation 3 Interpolation 3.1 General Remarks 3.1.1 Interpolation Concepts and Examples 3.2 Lagrange Interpolation 3.2.1 Lagrange Interpolation?Smalltalk Implementation 3.2.2 Lagrange Interpolation?Java Implementation 3.3 Newton Interpolation 3.3.1 Newton Interpolation?General Implementation 3.3.2 Newton Interpolation?Smalltalk Implementation 3.3.3 Newton Interpolation?Java Implementation 3.4 Neville Interpolation 3.4.1 Neville Interpolation?General Implementation 3.4.2 Neville Interpolation?Smalltalk Implementation 3.4.3 Neville Interpolation?Java Implementation 3.5 Bulirsch-Stoer Interpolation 3.5.1 Bulirsch-Stoer Interpolation?General Implementation 3.5.2 Bulirsch-Stoer Interpolation?Smalltalk Implementation 3.5.3 Bulirsch-Stoer Interpolation?Java Implementation 3.6 Cubic Spline Interpolation 3.6.1 Cubic Spline Interpolation?General Implementation 3.6.2 Cubic Spline Interpolation?Smalltalk Implementation 3.6.3 Cubic Spline Interpolation?Java Implementation 3.7 Which Method to Choose? 4 Iterative Algorithms 4.1 Successive Approximations 4.1.1 Iterative Process?Smalltalk Implementation 4.1.2 Iterative Process?JAVA Implementation 4.2 Evaluation with Relative Precision 4.2.1 Relative Precision?Smalltalk Implementation 4.2.2 Relative Precision?Java Implementation 4.3 Examples 5 Finding the Zero of a Function 5.1 Introduction 5.2 Finding the Zeroes of a Function?Bisection Method 5.2.1 Bisection Algorithm?General Implementation 5.2.2 Bisection Algorithm?Smalltalk Implementation 5.2.3 Bisection Algorithm?Java Implementation 5.3 Finding the Zero of a Function?Newton's Method 5.3.1 Newton's Method?Smalltalk Implementation 5.3.2 Newton's Method?Java Implementation 5.4 Example of Zero Finding?Roots of Polynomials 5.4.1 Roots of Polynomials?Smalltalk Implementation 5.4.2 Roots of Polynomials?Java Implementation 5.5 Which Method to Choose? 6 Integration of Functions 6.1 Introduction 6.2 General Framework?Trapeze Integration Method 6.2.1 End Game Strategy 6.2.2 Trapeze Integration?General Implementation 6.2.3 Trapeze Integration?Smalltalk Implementation 6.2.4 Trapeze Integration?Java Implementation 6.3 Simpson Integration Algorithm 6.3.1 Simpson Integration?General Implementation 6.3.2 Simpson Integration?Smalltalk Implementation 6.3.3 Simpson Integration?Java Implementation 6.4 Romberg Integration Algorithm 6.4.1 Romberg Integration?General Implementation 6.4.2 Romberg Integration?Smalltalk Implementation 6.4.3 Romberg Integration?Java Implementation 6.5 Evaluation of Open Integrals 6.5.1 Bag of Tricks 6.6 Which Method to Choose? 6.6.1 Smalltalk Comparison 6.6.2 Java Comparison 7 Series 7.1 Introduction 7.2 Infinite Series 7.2.1 Infinite Series?Smalltalk Implementation 7.2.2 Infinite Series?Java Implementation 7.3 Continued Fractions 7.3.1 Continued Fractions?Smalltalk Implementation 7.3.2 Continued Fractions?Java Implementation 7.4 Incomplete Gamma Function 7.4.1 Mathematical Definitions 7.4.2 Incomplete Gamma Function?Smalltalk Implementation 7.4.3 Incomplete Gamma Function?Java Implementation 7.5 Incomplete Beta Function 7.5.1 Mathematical Definitions 7.5.2 Incomplete Beta Function?Smalltalk Implementation 7.5.3 Incomplete Beta Function?Java Implementation 8 Linear Algebra 8.1 Vectors and Matrices 8.1.1 Vector and Matrix?Smalltalk Implementation 8.1.2 Vector and Matrix?Java Implementation 8.2 Linear Equations 8.2.1 Backward Substitution 8.2.2 Gaussian Elimination 8.2.3 Fine Points 8.2.4 Linear Equations?General Implementation 8.2.5 Linear Equations?Smalltalk Implementation 8.2.6 Linear Equations?Java Implementation 8.3 LUP Decomposition 8.3.1 LUP Decomposition?General Implementation 8.3.2 LUP Decomposition?Smalltalk Implementation 8.3.3 LUP Decomposition?Java Implementation 8.4 Computing the Determinant of a Matrix 8.4.1 Computing the Determinant of Matrix?General Implementation 8.4.2 Computing the Determinant of Matrix?Smalltalk Implementation 8.4.3 Computing the Determinant of Matrix?Java Implementation 8.5 Matrix Inversion 8.5.1 Implementation Strategy 8.5.2 Matrix Inversion?Smalltalk Implementation 8.5.3 Matrix Inversion?Java Implementation 8.5.4 Matrix Inversion?Rounding Problems 8.6 Matrix Eigenvalues and Eigenvectors of a Nonsymmetrical Matrix 8.6.1 Finding the Largest Eigenvalue?General Implementation 8.6.2 Finding the Largest Eigenvalue?Smalltalk Implementation 8.6.3 Finding the Largest Eigenvalue?Java Implementation 8.7 Matrix Eigenvalues and Eigenvectors of a Symmetrical Matrix 8.7.1 Jacobi's Algorithm 8.7.2 Jacobi's Algorithm?General Implementation 8.7.3 Jacobi's Algorithm?Smalltalk Implementation 8.7.4 Jacobi's Algorithm?Java Implementation 9 Elements of Statistics 9.1 Statistical Moments 9.1.1 Statistical Moments?General Implementation 9.1.2 Statistical Moments?Smalltalk Implementation 9.1.3 Statistical Moments?Java Implementation 9.2 Robust Implementation of Statistical Moments 9.2.1 Robust Central Moments?General Implementation 9.2.2 Robust Central Moments?Smalltalk Implementation 9.2.3 Robust Central Moments?Java Implementation 9.3 Histograms 9.3.1 Histograms?General Implementation 9.3.2 Histograms?Smalltalk Implementation 9.3.3 Histograms?Java Implementation 9.4 Random Number Generator 9.4.1 Linear Congruential Random Generators 9.4.2 Additive Sequence Generators 9.4.3 Bit-Pattern Generators 9.4.4 Random Number Generator?Smalltalk Implementation 9.4.5 Random Number Generator?Java Implementation 9.5 Probability Distributions 9.5.1 Probability Distributions?General Implementation 9.5.2 Probability Distributions?Smalltalk Implementation 9.5.3 Probability Distributions?Java Implementation 9.6 Normal Distribution 9.6.1 Normal Distribution?Smalltalk Implementation 9.6.2 Normal Distribution?Java Implementation 9.7 Gamma Distribution 9.7.1 Gamma Distribution?Smalltalk Implementation 9.7.2 Gamma Distribution?Java Implementation 9.8 Experimental Distribution 9.8.1 Experimental Distribution?General Implementation 9.8.2 Experimental Distribution?Smalltalk Implementation 9.8.3 Experimental Distribution?Java Implementation 10 Statistical Analysis 10.1 F-Test and the Fisher-Snedecor Distribution 10.1.1 Fisher-Snedecor Distribution?Smalltalk Implementation 10.1.2 Fisher-Snedecor Distribution?Java Implementation 10.2 t-Test and the Student Distribution 10.2.1 Student Distribution?Smalltalk Implementation 10.2.2 Student Distribution?Java Implementation 10.3 . 2 -Test and . 2 Distribution 10.3.1 . 2 Distribution?Smalltalk Implementation 10.3.2 . 2 Distribution?Java Implementation 10.3.3 Weighted-Point Implementation 10.4 . 2 -Test on Histograms 10.4.1 . 2 -Test on Histograms?Smalltalk Implementation 10.4.2 . 2 -Test on Histograms?Java Implementation 10.5 Definition of Estimation 10.5.1 Maximum-Likelihood Estimation 10.5.2 Least-Square Estimation 10.6 Least-Square Fit with Linear Dependence 10.7 Linear Regression 10.7.1 Linear Regression?General Implementation 10.7.2 Linear Regression?Smalltalk Implementation 10.7.3 Linear Regression?Java Implementation 10.8 Least-Square Fit with Polynomials 10.8.1 Polynomial Least-Square Fits?Smalltalk Implementation 10.8.2 Polynomial Least-Square Fits?Java Implementation 10.9 Least-Square Fit with Nonlinear Dependence 10.9.1 Nonlinear Fit?General Implementation 10.9.2 Nonlinear Fit?Smalltalk Implementation 10.9.3 Nonlinear Fit?Java Implementation 10.10 Maximum-Likelihood Fit of a Probability Density Function 10.10.1 Maximum-Likelihood Fit?General Implementation 10.10.2 Maximum-Likelihood Fit?Smalltalk Implementation 10.10.3 Maximum-Likelihood Fit?Java Implementation 11 Optimization 11.1 Introduction 11.2 Extended Newton Algorithms 11.3 Hill-Climbing Algorithms 11.3.1 Optimizing?General Implementation 11.3.2 Common Optimizing Classes?Smalltalk Implementation 11.3.3 Common Optimizing Classes?Java Implementation 11.4 Optimizing in One Dimension 11.4.1 Optimizing in One Dimension?Smalltalk Implementation 11.4.2 Optimizing in One Dimension?Java Implementation 11.5 Bracketing the Optimum in One Dimension 11.5.1 Bracketing the Optimum?Smalltalk Implementation 11.5.2 Bracketing the Optimum?Java Implementation 11.6 Powell's Algorithm 11.6.1 Powell's Algorithm?General Implementation 11.6.2 Powell's Algorithm?Smalltalk Implementation 11.6.3 Powell's Algorithm?Java Implementation 11.7 Simplex Algorithm 11.7.1 Simplex Algorithm?General Implementation 11.7.2 Simplex Algorithm?Smalltalk Implementation 11.7.3 Simplex Algorithm?Java Implementation 11.8 Genetic Algorithm 11.8.1 Mapping the Search Space on Chromosomes 11.8.2 Genetic Algorithm?General Implementation 11.8.3 Genetic Algorithm?Smalltalk Implementation 11.8.4 Genetic Algorithm?Java Abstract Implementation 11.8.5 Genetic Algorithm?Java Implementation with Vectors 11.9 Multiple Strategy Approach 11.9.1 Multiple Strategy Approach?General Implementation 12 Data Mining 12.1 Data Server 12.1.1 Data Server?Smalltalk Implementation 12.1.2 Data Server?Java Implementation 12.2 Covariance and Covariance Matrix 12.2.1 Using Covariance Information 12.2.2 Covariance Matrix?General Implementation 12.2.3 Covariance Matrix?Smalltalk Implementation 12.2.4 Covariance Matrix?Java Implementation 12.3 Multidimensional Probability Distribution 12.4 Covariance Data Reduction 12.5 Mahalanobis Distance 12.5.1 Examples of Use 12.5.2 Mahalanobis Distance?General Implementation 12.5.3 Mahalanobis Distance?Smalltalk Implementation 12.5.4 Mahalanobis Distance?Java Implementation 12.6 Cluster Analysis 12.6.1 Algorithm Details 12.6.2 Cluster Analysis?General Implementation 12.6.3 Cluster Analysis?Smalltalk Implementation 12.6.4 Cluster Analysis?Java Implementation 12.7 Covariance Clusters 12.7.1 Covariance Clusters?General Implementation App. A Decimal Floating-Point Simulation App. B Smalltalk Primer for Java Programmers B.1 Syntax in a Nutshell B.1.1 Smalltalk Expressions B.1.2 Precedence B.1.3 Assignment, Equality, and Identity B.2 Class and Methods B.2.1 Instance Methods B.2.2 Class Methods B.2.3 Block Context B.3 Iterator Methods B.3.1 do: B.3.2 collect: B.3.3 inject:into: B.4 Double Dispatching B.5 Multiple Dispatching App. C Java Primer for Smalltalk Programmers C.1 Remarks on the Syntax C.1.1 Classes C.1.2 Instance Variables C.1.3 Method Declaration and Method Calling C.1.4 Objects and Nonobjects C.1.5 Packages C.1.6 Scope qualifiers C.1.7 Static Qualifier C.2 Abstract Class and Interface C.3 Exception Handling C.4 Collections and Related Topics App. D Additional Probability Distributions D.1 Beta Distribution D.1.1 Beta Distribution?Smalltalk Implementation D.1.2 Beta Distribution?Java Implementation D.2 Cauchy Distribution D.2.1 Cauchy Distribution?Smalltalk Implementation D.2.2 Cauchy Distribution?Java Implementation D.3 Exponential Distribution D.3.1 Exponential Distribution?Smalltalk Implementation D.3.2 Exponential Distribution?Java Implementation D.4 Fisher-Tippett Distribution D.4.1 Fisher-Tippett Distribution?Smalltalk Implementation D.4.2 Fisher-Tippett Distribution?Java Implementation D.5 Laplace Distribution D.5.1 Laplace Distribution?Smalltalk Implementation D.5.2 Laplace Distribution?Java Implementation D.6 Log Normal Distribution D.6.1 Log Normal Distribution?Smalltalk Implementation D.6.2 Log Normal Distribution?Java Implementation D.7 Triangular Distribution D.7.1 Triangular Distribution?Smalltalk Implementation D.7.2 Triangular Distribution?Java Implementation D.8 Uniform Distribution D.8.1 Uniform Distribution?Smalltalk Implementation D.8.2 Uniform Distribution?Java Implementation D.9 Weibull Distribution D.9.1 Weibull Distribution?Smalltalk Implementation D.9.2 Weibull Distribution?Java Implementation App. E Accurate Accumulation of Expectation Values E.1 Accurate Accumulation of Central Moments E.2 Accurate Accumulation of the Covariance App. F Accompanying CD-ROM F.1 Smalltalk code F.1.1 non-ENVY users F.1.2 ENVY users F.2 Java code F.2.1 Visual Age for Java F.2.2 Other Java systems F.3 Utilities F.3.1 Distribution demo F.3.2 File reader References Index

Bibliographic details
Hardbound, 766 pages, publication date: OCT-2000
ISBN-13: 978-1-55860-679-1
ISBN-10: 1-55860-679-3
Imprint: MORGAN KAUFFMAN

Price and Ordering
Price:
GBP 57
EUR 66.95
USD 93.95
order now
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

077/760
Last update: 7 Sep 2009
Book contents
Table of contents
Reviews
View other people's reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version