12.07.2015 Views

COPYRIGHT 2008, PRINCETON UNIVERSITY PRESS

COPYRIGHT 2008, PRINCETON UNIVERSITY PRESS

COPYRIGHT 2008, PRINCETON UNIVERSITY PRESS

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

168 chapter 8having different variables occupy the same memory location, the theory beingthat this would cause no harm as long as these variables were not being usedat the same time. This was done by the use of Common and Equivalencestatements in Fortran and by manipulations using pointers and references inother languages. These types of manipulations are now obsolete (the bane ofobject-oriented programming) and can cause endless grief; do not use themunless it is a matter of “life or death”!Say what’s happening: You decrease programming errors by using selfexplanatorylabels for your indices (subscripts), stating what your variablesmean, and describing your storage schemes.Tests: Always test a library routine on a small problem whose answer you know(such as the exercises in §8.3.4). Then you’ll know if you are supplying it withthe right arguments and if you have all the links working.8.3.2 Implementation: Scientific Libraries, World Wide WebSome major scientific and mathematical libraries available include the following.NETLIB A WWW metalib of free ScaLAPACK Distributed memorymath librariesLAPACKLAPACK Linear Algebra Pack JLAPACK LAPACK library in JavaSLATEC Comprehensive math and ESSL Engineering and Sciencestatistical packSubroutine Library (IBM)IMSL International Math and CERNLIB European Centre forStatistical LibrariesNuclear Research LibraryBLAS Basic Linear Algebra JAMA Java Matrix LibrarySubprogramsNAG Numerical Algorithms LAPACK ++ Linear algebra in C++Group (UK Labs)TNT C++ Template Numerical GNU Scientific Full scientific librariesToolkit GSL in C and C++Except for ESSL, IMSL, and NAG, all these libraries are in the public domain.However, even the proprietary ones are frequently available on a central computeror via an institutionwide site license. General subroutine libraries are treasures topossess because they typically contain optimized routines for almost everythingyou might want to do, such asLinear algebra manipulations Matrix operations Interpolation, fittingEigensystem analysis Signal processing Sorting and searchingSolutions of linear equations Differential equations Roots, zeros, and extremaRandom-number operations Statistical functions Numerical quadrature−101<strong>COPYRIGHT</strong> <strong>2008</strong>, PRINCET O N UNIVE R S I T Y P R E S SEVALUATION COPY ONLY. NOT FOR USE IN COURSES.ALLpup_06.04 — <strong>2008</strong>/2/15 — Page 168

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!