Nash - Scientific Computing with PCs (523165), страница 59
Текст из файла (страница 59)
For example, the Gauss-Jordan reduction for the solution of linear least squares regressioncalculations may suffer from severe (and usually undetectable) numerical instability. Yet this approach20: YOUR OWN STRATEGY179lends itself extremely well to the determination of linear regression models in a stepwise fashion, withconvenient statistical tests for the variables that should enter or leave the regression. The sameGauss-Jordan steps (or sweeps) are similarly useful for linear programming calculations.
The use ofnumerically more reliable approaches such as the QR decomposition achieved by Householder or Givenstransformations or by the modified Gram-Schmidt method (Dahlquist and Bjorck, 1974) may leave thenumerical analyst happy that the code is secure from computational disaster. However, the users or clientsmay still use the "old" programs, even if some efforts are made to discourage them.Providing the intermediate output that users want while still using stable methods in their computationusually requires a good deal of extra program code.
This may be an unwelcome addition to a computerprogram. The extra code is an annoyance not only because it requires effort to develop, but also becauseit increases the chance of errors and enlarges the chore of maintenance and documentation. If memoryis scarce, then the extra code length and temporary variable and array storage may also create difficulties.The weaning of users from unstable codes may require some compromise for both programmer and user.Sometimes, of course, these are the same person trying to reconcile conflicting objectives.
When themethod we would like to implement does not offer precisely the same output as wanted, there are oftenalternative possibilities that may ultimately prove more satisfactory. In linear regression, stepwiseoperation may be replaced, for instance, by a user selection of variables to appear in the model.Where programs are provided as a service to others, the preservation of desired output formats can behelpful in the avoidance of objections based solely on unfamiliarity. If the benefits of the "new" methodcan be convincingly shown, then adoption of this method will generally follow.
In linear regression,failures of the existing programs are a tremendous encouragement to change, but only if such failuresoccur on the user’s own problems. Test cases, unless extremely realistic and relevant to the user’sexperience, may be written off as contrived.
In our own experience however, users have often unwittinglybrought us problems that provided far more challenges to software and methods than conventional testsfound in the literature.The ability to use a program with existing software and data is an important consideration for users,particularly if they have made a considerable investment of time, effort and money in existing collections.20.5 Personal Choice and SatisfactionThe ultimate reason we use PCs is because they are under our own control.
We can choose to follow orignore fashions in computing. We can use our favorite program long after others have condemned it tothe museum, or we can be the first on the block to break the seal on the diskette envelope of some newand untried software product. The main point is that we find we can do our job and find satisfaction inso doing.We find the pressure to upgrade annoying, and the cost to our stretched budgets painful, especially asmany "upgrades" seem only to repair errors or deficiencies in the versions for which we have already paidgood money.
Unfortunately, we may eventually be forced to adopt the new software as colleagues wantto exchange data with us in new formats, or want us to carry out operations on this data using featuresonly found in more recent versions of software.Previous Home180Copyright © 1984, 1994 J C & M M NashNash Information Services Inc., 1975 Bel Air Drive, Ottawa, ON K2C 0X1 CanadaSCIENTIFIC COMPUTING WITH PCsCopy for:Dr. Dobb’s JournalBibliographySome items are not cited in the body of the book but were used for background information. Sectionnumber references are given in square brackets.ANSI (1978). American National Standard - Programming language FORTRAN.
New York: ANSI. [2.9, 7.2]Abramowitz, M. and Stegun, I. (1965). Handbook of mathematical functions. New York, NY: Dover. [8.5, 13.6]Aghai-Tabriz, K. see Okamura, K. (1985)Anderson, D. J. and Nash, J. C. (1982). Catalog builder. Interface Age, vol. 7, no. 3, March, pp.
98, 156-157. [5.3]Anderson, D. J. and Nash, J. C. (1983). Finding the location of a variable or array in North Star BASIC. Microsystems, vol. 4, no. 8,August, pp. 98-102. [8.2]Anderson, E. et al. (1992). LAPACK Users’ Guide. Philadelphia, PA: SIAM. [8.2]Anderson, W. E. see Kahaner, D. K.(1990)Aptech Systems, Inc. (1984-91). The GAUSS System version 2.1. Kent, WA: Aptech Systems, Inc. [3.3]Baglivo, J. Olivier, D. and Pagano, M. (1992). Methods for exact goodness-of-fit tests. Journal of the American Statistical Association,vol.
87, no. 418, June, pp. 464-469. [3.4]Barnett, D. see Kahaner, D. K. (1989)Battiste, E. (1981). Scientific computations using micro-computers. ACM Signum Newsletter, vol. 16, no. 1, March, pp. 18-22. [9.8]Battiste, E. and Nash, J. C. (1983). Micro-computers and mathematical software. University of Ottawa, Faculty of Administration,Working paper 83-29.
[13.3]Bethlehem, J. A. see Keller, W. (1992)Björck, A. see Dahlquist, G. (1974)Brooke, A. et al. (1988). GAMS: A user’s guide. San Francisco, CA: The Scientific Press. [3.3, 3.5, 6.1]Businger, P. A. and Golub, G. H. (1969). Algorithm 358: Singular Value Decomposition of a Complex Matrix. Communications ofthe ACM, v. 12, pp.
564-65. [12.2]Byrd, M. see Derfler, F. J. Jr. (1991)Chan, T. F. (1982). An improved algorithm for computing the singular value decomposition. ACM Trans. Math Software, vol. 8, no.1, March. pp. 72-88. [12.2]Chan, T. F. et al. (1979). Updating formulae and a pairwise algorithm for computing sample variances. STAN-CS-79-773, November.[3.3]Cleveland, W.
S. (1985). Elements of graphing data. Monterey, CA: Wadsworth. [19.1]Cody, W. J. Jr. and Waite, W. (1980). Software manual for the elementary functions. Englewood Cliffs, NJ: Prentice Hall. [9.8, 13.6]ACM (Association for Computing Machinery), Communications of the ACM (1991) vol. 34, no.
12, December, entire issue. [2.2]Conn, A. R., Gould, N. I. M., and Toint, Ph. L. (1991). LANCELOT: a Fortran package for large scale nonlinear optimization (ReleaseA), FUNDP Report 91/1, Namur, Belgium. [3.3]Dagpunar, J. (1988). Principles of random variate generation. Oxford: Clarendon Press.
[17.3]Dahlquist, G. and Björck, A. (1974). Numerical methods. Englewood Cliffs, NJ: Prentice Hall. [3.3, 12.2]Denning, P. (1990). Computers under attack. New York, NY: ACM Press. [10.6]Derfler, F. J. Jr. and Byrd, M. (1991). 2,400-BPS modems; affordable access. PC Magazine, vol. 10, no. 6, March 26. pp. 211-268. [2.2]Dongarra, J. J. and Grosse, E.
(1987). Distribution of software by electronic mail. Communications of the ACM, vol. 30, no. 5, pp.403-407. [13.5]Dongarra, J. J. et al (1979). LINPACK Users’ guide. Philadelphia, PA: SIAM. [8.2]Dorrenbacher, J. et al. (1979). POLISH, a Fortran program to edit Fortran programs. University of Colorado, Department of ComputerScience, Boulder, CO. [9.3]Duggleby, R.
G. and Nash, J. C. (1989). A single parameter family of adjustments for fitting enzyme kinetic models to progress curvedata. Biochemical Journal, v. 257, pp. 57-64.BIBLIOGRAPHY181Dyck, V. A., Lawson, J. D. and Smith, J. A. (1979). Introduction to computing. Reston, VA: Reston Publishing Company. [6.3]Evans, J. R. and Minieka, E. (1992). Optimization algorithms for networks and graphs, Second Edition, New York, NY: Marcel Dekker.[3.3]Feshbach, H. see Morse, P. M. (1953)Field, R.
J. (1980). A BASIC version of the Gear numerical integration algorithm for use in problems in chemical kinetics. RadiationLaboratory, University of Notre Dame, IN. [3.3]Flower, J. R. (1989). Letter to the editor, ACM Signum Newsletter, vol. 24, no. 1, January. pp. 13-14.Forsythe, G. E., Malcolm, M. A. and Moler, C. B. (1977). Computer methods for mathematical computations. Englewood Cliffs, NJ:Prentice Hall. [13.6, 16.2, 16.3, 16.4]Gay, D. M. (1987). Using a large library on a small machine, in Wouk, A.
(ed.) New computing environments: microcomputers inlarge-scale computing. Philadelphia, PA: SIAM. 1987, pg. 80-87.Gear, C. W. (1971). Numerical initial value problems in ordinary differential equations. Englewood Cliffs, NJ: Prentice Hall. [3.3]George, A. and Liu, J.