Object-Oriented Implementation of Numerical Methods: An Introduction with Java & Smalltalk

Front Cover
Morgan Kaufmann, 2001 - Computers - 766 pages

"There are few books that show how to build programs of any kind. One common theme is compiler building, and there are shelves full of them. There are few others. It's an area, or a void, that needs filling. this book does a great job of showing how to build numerical analysis programs." -David N. Smith, IBM T J Watson Research Center 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. Features:

  • Reveals the design methodology behind the code, including design patterns where appropriate, rather than just presenting canned solutions.
  • Implements all methods side by side in both Java and Smalltalk. This contrast can significantly enhance your understanding of the nature of OO programming languages.
  • Provides a step-by-step pathway to new object-oriented techniques for programmers familiar with using procedural languages such as C or Fortran for numerical methods.
  • Includes a chapter on data mining, a key application of numerical methods.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

I
1
II
2
III
3
IV
4
VI
6
VII
7
VIII
8
IX
9
CLXX
333
CLXXII
343
CLXXIII
358
CLXXV
359
CLXXVI
360
CLXXVII
371
CLXXIX
376
CLXXX
384

X
10
XI
12
XIII
16
XIV
22
XV
23
XVII
25
XIX
26
XX
27
XXI
28
XXIII
33
XXIV
35
XXVII
36
XXVIII
39
XXX
41
XXXI
42
XXXII
56
XXXIII
58
XXXIV
60
XXXV
62
XXXVII
64
XXXVIII
66
XXXIX
69
XLI
70
XLIII
73
XLIV
74
XLVI
78
XLVII
80
XLVIII
83
XLIX
88
LI
89
LII
90
LIII
92
LIV
93
LV
94
LVI
96
LVII
98
LVIII
100
LX
101
LXI
102
LXII
103
LXIV
104
LXV
107
LXVI
110
LXVII
113
LXVIII
117
LXIX
121
LXX
126
LXXII
128
LXXIII
130
LXXIV
133
LXXV
134
LXXVII
136
LXXIX
138
LXXX
140
LXXXI
142
LXXXII
144
LXXXIII
147
LXXXIV
148
LXXXV
149
LXXXVI
150
LXXXVII
153
XC
155
XCI
157
XCIII
158
XCIV
160
XCV
162
XCVI
163
XCVIII
164
XCIX
165
C
166
CI
167
CII
168
CIII
170
CV
171
CVII
173
CVIII
177
CX
178
CXI
181
CXII
183
CXIII
184
CXIV
185
CXV
186
CXVI
188
CXVII
189
CXIX
190
CXX
193
CXXI
198
CXXII
199
CXXIV
202
CXXV
207
CXXVII
212
CXXVIII
222
CXXIX
242
CXXX
243
CXXXI
244
CXXXII
245
CXXXIII
246
CXXXV
250
CXXXVI
257
CXXXVII
259
CXXXVIII
260
CXXXIX
264
CXL
272
CXLI
273
CXLIII
274
CXLV
275
CXLVI
277
CXLVII
279
CXLVIII
287
CXLIX
288
CLI
289
CLII
290
CLIII
292
CLIV
296
CLVI
299
CLVII
300
CLIX
305
CLX
311
CLXII
314
CLXIII
315
CLXIV
317
CLXV
320
CLXVI
322
CLXVIII
326
CLXIX
331
CLXXXII
387
CLXXXIII
392
CLXXXV
397
CLXXXVI
403
CLXXXVIII
404
CLXXXIX
406
CXC
411
CXCI
413
CXCII
414
CXCIII
419
CXCIV
424
CXCV
426
CXCVI
431
CXCVII
436
CXCVIII
439
CXCIX
440
CC
442
CCI
448
CCII
450
CCIII
453
CCIV
456
CCV
457
CCVII
459
CCVIII
460
CCIX
462
CCXI
466
CCXII
471
CCXIII
474
CCXIV
478
CCXV
482
CCXVI
484
CCXVII
485
CCXVIII
489
CCXIX
499
CCXX
501
CCXXI
502
CCXXII
505
CCXXIII
511
CCXXIV
514
CCXXV
515
CCXXVI
516
CCXXVII
517
CCXXVIII
518
CCXXIX
524
CCXXX
540
CCXXXII
543
CCXXXIII
546
CCXXXV
548
CCXXXVI
550
CCXXXVII
551
CCXXXVIII
552
CCXXXIX
554
CCXL
558
CCXLI
560
CCXLIII
563
CCXLIV
568
CCXLV
569
CCXLVII
573
CCXLVIII
578
CCXLIX
585
CCL
592
CCLI
593
CCLII
599
CCLIII
601
CCLIV
602
CCLV
603
CCLVI
605
CCLVII
607
CCLIX
608
CCLX
611
CCLXI
616
CCLXII
617
CCLXIV
618
CCLXV
619
CCLXVI
620
CCLXVII
622
CCLXVIII
625
CCLXX
627
CCLXXI
629
CCLXXII
634
CCLXXIII
643
CCLXXV
647
CCLXXVI
651
CCLXXX
652
CCLXXXI
653
CCLXXXIII
654
CCLXXXIV
655
CCLXXXV
656
CCLXXXVI
657
CCLXXXVIII
658
CCLXXXIX
660
CCXC
661
CCXCIII
662
CCXCVI
663
CCXCVIII
664
CCXCIX
666
CCCI
668
CCCII
669
CCCIII
671
CCCVII
675
CCCVIII
680
CCCIX
681
CCCX
683
CCCXI
687
CCCXII
688
CCCXIII
690
CCCXIV
694
CCCXVI
698
CCCXVII
702
CCCXIX
705
CCCXX
710
CCCXXII
713
CCCXXIII
716
CCCXXV
719
CCCXXVI
723
CCCXXVIII
725
CCCXXIX
728
CCCXXX
730
CCCXXXI
732
CCCXXXII
737
CCCXXXIV
739
CCCXXXV
741
CCCXXXVI
743
CCCXXXVII
761
Copyright

Other editions - View all

Common terms and phrases

About the author (2001)

Didier Besset obtained a degree in physics at the Swiss Federal Institute of Technology Zurich (ETH Zurich) and a Ph.D. in high-energy physics at the University of Geneva. He did postgraduate research at the Stanford Linear Accelerator Center and was Adjunct Professor at Princeton University where he taught physics. Since 1990 he has worked as an independent consultant on decision-support systems based on medical or technical data, all written using object-oriented technology. He has been programming in Smalltalk since 1987 and in Java since 1997.

Bibliographic information