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

Voorkant
Morgan Kaufmann, 2001 - 766 pagina's

"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.
 

Inhoudsopgave

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
XXXVI
58
XXXVII
60
XXXVIII
62
XL
64
XLI
66
XLII
69
XLIV
70
XLVI
73
XLVII
74
XLIX
78
LI
80
LII
83
LIII
88
LV
89
LVI
90
LVII
92
LVIII
93
LIX
94
LX
96
LXI
98
LXII
100
LXIV
101
LXV
102
LXVI
103
LXVIII
104
LXIX
107
LXX
110
LXXI
113
LXXII
117
LXXIII
121
LXXIV
126
LXXVI
128
LXXVII
130
LXXVIII
133
LXXIX
134
LXXXI
136
LXXXIII
138
LXXXIV
140
LXXXV
142
LXXXVI
144
LXXXVII
147
LXXXVIII
148
LXXXIX
149
XC
150
XCI
153
XCII
155
XCIII
157
XCV
158
XCVI
160
XCVII
162
XCVIII
163
C
164
CI
165
CII
166
CIII
167
CIV
168
CV
170
CVII
171
CIX
173
CX
177
CXII
178
CXIII
181
CXIV
183
CXV
184
CXVI
185
CXVII
186
CXVIII
188
CXIX
189
CXXI
190
CXXII
193
CXXIII
198
CXXIV
199
CXXVI
202
CXXVII
207
CXXVIII
212
CXXIX
222
CXXX
242
CXXXI
243
CXXXII
244
CXXXIII
245
CXXXIV
246
CXXXVI
250
CXXXVII
257
CXXXVIII
259
CXXXIX
260
CXL
264
CXLI
272
CXLII
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
CCLXXVII
652
CCLXXVIII
653
CCLXXX
654
CCLXXXI
655
CCLXXXII
656
CCLXXXIII
657
CCLXXXVII
658
CCLXXXVIII
660
CCLXXXIX
661
CCXCII
662
CCXCV
663
CCXCVII
664
CCXCVIII
666
CCC
668
CCCI
669
CCCII
671
CCCVI
675
CCCVII
680
CCCVIII
681
CCCIX
683
CCCX
687
CCCXI
688
CCCXII
690
CCCXIII
694
CCCXV
698
CCCXVI
702
CCCXVIII
705
CCCXIX
710
CCCXXI
713
CCCXXII
716
CCCXXIV
719
CCCXXV
723
CCCXXVII
725
CCCXXVIII
728
CCCXXIX
730
CCCXXX
732
CCCXXXI
737
CCCXXXII
739
CCCXXXIII
741
CCCXXXIV
743
CCCXXXV
761
Copyright

Overige edities - Alles bekijken

Veelvoorkomende woorden en zinsdelen

Over de auteur (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.

Bibliografische gegevens