The Algorithm Design Manual Second Edition



Download 5,51 Mb.
Pdf ko'rish
bet295/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   291   292   293   294   295   296   297   298   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

Related Problems

: Nearest-neighbor search (see page

580

), point location (see



page

587


), range search (see page

584


).


13

Numerical Problems

If most problems you encounter are numerical in nature, there is an excellent

chance that you are reading the wrong book. Numerical Recipes [

PFTV07]

gives a


terrific overview to the fundamental problems in numerical computing, including

linear algebra, numerical integration, statistics, and differential equations. Different

flavors of the book include source code for all the algorithms in C++, Fortran, and

even Pascal. Their coverage is somewhat skimpier on the combinatorial/numerical

problems we consider in this section, but you should be aware of this book. Check

it out at http://www.nr.com.

Numerical algorithms tend to be different beasts than combinatorial algorithms

for at least two reasons:



• Issues of Precision and Error – Numerical algorithms typically perform re-

peated floating-point computations, which accumulate error at each operation

until, eventually, the results are meaningless. My favorite example [

MV99]


concerns the Vancouver Stock Exchange, which over a twenty-two month pe-

riod accumulated enough round-off error to reduce its index to 574.081 from

the correct value of 1098.982.

A simple and dependable way to test for round-off errors in numerical pro-

grams is to run them both at single and double precision, and then think

hard whenever there is a disagreement.



• Extensive Libraries of Codes – Large, high-quality libraries of numerical rou-

tines have existed since the 1960s, which is still not yet the case for combina-

torial algorithms. There are several reasons for this, including (1) the early

emergence of Fortran as a standard for numerical computation, (2) the na-

ture of numerical computations to be recognizably independent rather than

S.S. Skiena, The Algorithm Design Manual, 2nd ed., DOI: 10.1007/978-1-84800-070-4 13,

c

Springer-Verlag London Limited 2008



394

1 3 .


N U M E R I C A L P R O B L E M S

embedded within large applications, and (3) the existence of large scientific

communities needing general numerical libraries.

Regardless of why, you should exploit this software base. There is probably

no reason to implement algorithms for any of the problems in this section as

opposed to using existing codes. Searching Netlib (see Section

19.1.5

) is an


excellent place to start.

Many scientist’s and engineer’s ideas about algorithms culturally derive from

Fortran programming and numerical methods. Computer scientists grow up pro-

gramming with pointers and recursion, and so are comfortable with the more so-

phisticated data structures required for combinatorial algorithms. Both sides can

and should learn from each other, since problems such as pattern recognition can

be modeled either numerically or combinatorially.

There is a vast literature on numerical algorithms. In addition to Numerical



Recipes, recommended books include:

• Chapara and Canale

[CC05]


– The contemporary market leader in numerical

analysis texts.



• Mak

[Mak02]


– This enjoyable text introduces Java to the world of numerical

computation, and visa versa. Source code is provided.



• Hamming

[Ham87]


– This oldie but goodie provides a clear and lucid treat-

ment of fundamental methods in numerical computation. It is available in a

low-priced Dover edition.

• Skeel and Keiper

[SK00]


– A readable and interesting treatment of basic

numerical methods, avoiding overly detailed algorithm descriptions through

its use of the computer algebra system Mathematica. I like it.

• Cheney and Kincaid

[CK07]


– A traditional Fortran-based numerical analysis

text, with discussions of optimization and Monte Carlo methods in addition

to such standard topics as root-finding, numerical integration, linear systems,

splines, and differential equations.



• Buchanan and Turner

[BT92]


– Thorough language-independent treatment

of all standard topics, including parallel algorithms. It is the most compre-

hensive of the texts described here.



1 3 . 1

S O L V I N G L I N E A R E Q U A T I O N S



395

0

-1



1         2        3

y = -3x/2 + 4

1

 2

 3



y = x-1

0

-1



1         2        3

(2, 1)


 3

 2

1



INPUT

OUTPUT



Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   291   292   293   294   295   296   297   298   ...   488




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish