This package includes ONE copy of the source code software (produced by DYNACOMP), plus ONE copy (in the original shrink-wrap) of the matching 316-page hard-covered book published by McGraw-Hill.
BASIC SCIENTIFIC SUBROUTINES, VOLUME I - MATHEMATICAL PROGRAMMING
BASIC SCIENTIFIC SUBROUTINES, VOLUME I by Dr. F. R. Ruckdeschel (published by McGraw-Hill) is designed to provide microcomputer users with subroutines written in BASIC. Through arrangements with the author and McGraw- Hill, DYNACOMP is the exclusive distributor of the software keyed to the above text.
Unlike other software packages keyed to texts, this one includes menu-driven demonstration programs which allow you to easily exercise each routine before incorporating it into your own application.
The source code software covers 6 chapters in the text, and includes:
o Alphanumeric data plotting (for daisy wheel printers)
o Complex variables
o Spherical and polar coordinate conversion
o Vector and matrix operations (cofactors, determinants, eigenvalues, multiplication, inversion, etc.)
o Random number generators (uniform, normal, Poisson, binomial, exponential, Fermi, Cauchy, gamma, beta, Weibull)
o Series approximations (trig, log, exp)
o And more!
Accompanying the collection is documentation which describes how to use the associated menu programs. Detailed descriptions of the programs, input/output parameters, and the algorithms employed are to be found in the associated 316page book. We strongly recommend this book.
Price: $49.95 Source Code Software on Disk
Price: $31.95 Book (Volume I)
Taken from the INTRODUCTION to the text:
BASIC Scientific Subroutines is a coordinated collection of programs written in BASIC which provides many of the library functions common to large time-sharing computer systems. Most of the subroutines presented are based on standard methods found in texts on applied mathematics, numerical methods, and statistics.
These analysis techniques have been converted into computer programs using a language subset of North Star and/or Microsoft BASIC [the Microsoft BASIC source code is almost entirely compatible with the QuickBASIC compiler and Visual BASIC; in most cases you can just cut and paste].
Each subroutine is documented with a description of the class of problems addressed by that program, an outline of the mathematical principles, a program listing, and at least one example. In some cases alterations that extend the use of the routine are discussed. In all cases every effort has been made to clearly present the information, ensuring minimal difficulty in implementation.
Although this book is not intended to be a complete software library, it does provide a spectrum of programs of interest to many scientific programmers. The material is written with several audiences in mind, ranging from the engineering student who is just learning how to program to the professional who wishes to more fully understand the sources of the techniques used.
This text is not meant to provide a tutorial on programming in BASIC. However, the programs listed are extensively documented internally through the liberal use of REMark statements. This permits the user to follow the logic of the program and perhaps make alterations to suit a particular need. However, this internal documentation has a negative effect on the amount of memory required and on execution speed. To overcome this, al1 programs presented in the main text are reproduced in the appendix in compacted form.
This book is the first in a series on scientific subroutines. The present text, Volume I, deals with plotting routines, matrix mathematics, and approximation techniques. Volume II considers approximation, regression, interpolation, integration, root-seeking, and optimization. These are subjects common to many of the sciences.
In preparing this book, choices had to be made regarding content. The content was ultimately determined by an estimate of the estimated use of the routines and their relevance to common scientific computing needs.
Plotting routines [this section is out of date] are always needed, and Chapter II addresses graphical displays in several ways. Each routine recognizes the fact that most programmers have only limited access to high-resolution XY plotters. Thus, the programs given are designed to utilize the limited capability of the character-oriented terminals commonly used for direct programming and printout.
Chapter III focuses on complex variables. In one case, the rules of complex algebra are applied to converting between rectangular and polar (cylindrical, polar, and spherical) coordinates. In another case, the powers of Z=X+iY are considered.
The subroutine presented for that problem has further utility in the polynomial expansion of analytic functions.
Chapter IV contains several subroutines pertaining to matrix operations. It provides functions generally not found in BASIC interpreters for microcomputers, such as matrix inversion. Also presented are equation-solving techniques which employ matrix algebra methods.
Chapter V considers one of the most important functions used in computer simulations, the random number generator. Subroutines are supplied for generating both uniform and normally distributed random number sequences. Many of the common BASIC interpreters contain uniformly distributed random number functions, but few, if any, offer any others. The Normal distribution in particular is useful in many applications, such as Monte Carlo analysis and signal/noise evaluations.
Series approximations are dealt with in Chapter VI in a preliminary fashion. Several important functions are approximated using series which slightly differ from the Taylor expansions often used by computer programmers. The techniques presented tend to be high in accuracy and fast in execution. Also discussed is the generation of other series approximations to suit particular needs.
Each subroutine presentation is laid out in a particular pattern. First there is a discussion of the scientific use of the subroutine, followed by an outline of the mathematical techniques which form the basis of the computer code. In many cases, the mathematical outline will be of interest to the reader by itself, since it represents a digestion of a more complete discussion to be found in the cited references. Next comes a description of the input and output characteristics of the subroutine, including the memory requirements and approximate execution speed. Also given are the functions and variables used within the subroutine code. A listing of the subroutine is provided, followed by examples. In some cases, extensions of the subroutine to other or more complex problems are considered along with cautions regarding blanket application of the program. The latter discussion is important because situations can arise in which even the most well-written program fails to operate as expected.
The above structure was chosen after reviewing a few of the current books on software. Some books dwell on the mathematics of the technique with little discussion of probable use. Other books are primarily program listings with little background. Interestingly, some of the most well-rounded texts are those written for programmable calculators, in particular the Hewlett-Packard series. In some cases the classical algorithms presented in programmable calculator handbooks are nearly ideal for computer implementation, particularly those involving iteration techniques.
The specific hardware and software requirements are listed in each subsection for the program being considered. The full set of statements and operations available with Microsoft and North Star BASIC was not fully utilized in order to permit wider use of the subroutines. In particular, multiple statement lines are not used, and the input/output formats are kept very simple. Few functions are assumed, and even those can be replaced by subroutines found elsewhere in the text. For example, the trigonometric functions are used in some routines, but series expansions for them are also provided.
The programs are presented as subroutines; that is, they are terminated with a RETURN statement. Since it might be desirable to assemble the software into a subroutine library package, the routines are sequentially numbered, starting at statement 40000. This places them high enough in line number to be out of the way of the main calling program.
From the inside of the dust jacket:
Programs that deal with mathematical or scientific concepts often contain subroutines to handle various tasks. Until now, many of these subroutines had to be written by the programmer because a central subroutine library for the scientific microcomputer user was lacking.
BASIC Scientific Subroutines, Volume I was created to fill this need.
It is a complete scientific subroutine package written in the BASIC language and designed for the engineer, computer scientist, computer experimenter, or student. It provides a microcomputer version of the extensive subroutine libraries of large timesharing systems. In it you will find the mathematical equations and background discussion to use each routine as a tool, along with program listings in North Star BASIC and standard Microsoft BASIC. Here are subroutines for plotting, complex variables, vector and matrix operations, random number generators, and basic series approximations. Also included are subroutine cross- references for easy access, compacted listings, and appendices showing how these routines can be easily converted to other types of BASIC.
About the Author
Fred Ruckdeschel is a Principal Scientist at DYNACOMP, Inc.; in Pittsford, New York. He received an A.B. and M.S. in physics from Cornell University, and a M.S.E.E. and Ph.D. from the University of Rochester. He has authored more than thirty papers on various subjects in physics and engineering, and, more recently, computer hardware and software. He has received 13 U.S. patents and developed the algorithms for the mathematical support software on ROM for the Atari computer.
Dr. Ruckdeschel's interest in computer software originated with the IBM 650 and its associated peripherals. He has also had working experience with the IBM 650, 7700, and 360 computers. With the advent of the Altair microcomputer, Dr. Ruckdeschel shifted his leisure interest to microcomputer hardware and software, resulting in this book and other contributions.