Scientific subroutine libraries can save you time and money. This is particularly true for scientific and technical applications, where analysis is a fundamental part of mission-critical applications. If you need to develop programs that contain mathematical formulas or scientific equations, you can substantially reduce program development time and cost --quickly and easily solving complex numerical analysis problems.
Choosing the right scientific library as the tool for this analysis is very important. The quality of the library obviously directly affects your productivity, and equally important, has a significant bearing on the accuracy, reliability, and scope of the analysis to be performed. Given this, one should select a scientific library that is easy to use, comprehensive and cost-effective, portable, and one which provides robust, state-of-the-art algorithms. Let me be more specific.
Choose a Comprehensive Library
Basically, the more routines the better. A good, comprehensive, general purpose library will have hundreds of routines usable in many different applications. Such a library provides "one-stop shopping" to get the exact routine you need, and eliminates the need to purchase several smaller, potentially incompatible, libraries or to "roll-your-own" algorithms.
Ease of Use
A library that is easy to use will improve your productivity. An easy-to-use scientific library should deliver routines in a format such as .OBJ files that allow the user to easily include and link the routines into their code.
To properly use the routines, detailed descriptions of the arguments and an overview of the algorithms used should be provided for your review. Items like argument descriptions and algorithms are increasingly provided on-line. In all cases, choose a package with lots of coding examples. If they're on-line, they have the added advantage of being able to be cut-and-paste into your own programs. Another advantage of on-line libraries is the ability to quickly search for the routines that meet your needs.
Another consideration is the ability to use the library routines in a mixed language environment, if necessary. You may need to use different programming languages to solve your problems. Some scientific libraries detail their ability to call the routines from multiple languages like Fortran and C/C++; other libraries are only callable by Fortran OR C/C++.
Quality
Finally, before you choose a scientific library, it is important to be sure the library has been thoroughly tested for seamless compatibility with the compilers with which compatibility is claimed and that you use. I'd recommend avoiding the use of a library with a given compiler if it is not supported by the developer. It's too much of a hassle if it turns out not to work...and you're on your own.
Prices Vary
Some scientific libraries charge thousands of dollars for their product, while others will charge only a few hundred dollars. As a rule of thumb, you should choose a library that is offered by a reputable vendor with 100% compatibility with your preferred compiler and HW/SW environment. Don't be "penny-wise and pound-foolish". It's ridiculous to save a few hundred dollars and then spend hours struggling to get your code running - you're better off using another library. Given a high-quality library, the cost of the library can usually be justified if only two or three routines are used, assuming standard software development costs.
Portability
Another critical feature to evaluate when choosing a scientific library is the portability of the code developed using the library routines. Choosing a library that is available on multiple platforms expands the reach and capability of your applications. For example, downsizing applications from the mainframe to PCs is becoming increasingly common. If the library you choose has identical versions for both the mainframe and the PC, you will be able to move your new PC application code back and forth between either platform with few or no changes with simple recompilation.
In addition, older, "legacy" applications currently existing on the mainframe can be easily moved to the PC if the library used is identical on both platforms. The user gains the ability to run tested, robust legacy applications on the desktop - with few or no changes.
State-of-the-Art & Robust
Check to be sure that the routines in the library you are considering were developed by experts in their field. Accurate and fast, mathematical and statistical routines require Ph. D.-level expertise to effectively understand and implement the appropriate algorithms into usable routines. A history of on-going improvement can help insure that only state-of-the-art algorithms, updated to reflect new, proven research, are used in the library routines. To use older algorithms is to risk the validity of your analysis.
Choosing the right library for you
In summary, one should choose a scientific subroutine library that is easy to use, comprehensive, cost-effective, portable, and one which provides robust, state-of-the-art algorithms. There are many to choose from in this catalog. Your specific needs (e.g. graphics, mathematics or statistics) and your target platform can narrow the choices to a few alternatives. Whichever you choose, you will substantially reduce program development time and cost --quickly
and easily solving complex numerical analysis problems.
--This article was contributed by Shannon Ruckauf, Fortran Specialist at SciTech International, with help by James P. Mastan, Microsoft Corporation.
© 1996 Scitech International, Inc. All rights reserved
Back to articles menu
Go to next article