About
67
Publications
11,552
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
13,851
Citations
Introduction
Skills and Expertise
Publications
Publications (67)
Guides Fortran programmers through the latest standards using a tapestry of examples. Codes are downloadable from the SIAM publications web site.
Programmers have long practiced the matter of mixed language procedure calls. This is particularly true for the programming languages C and Fortran. The use of the alternate language often results in efficient running time or the effective use of human or other resources.
Prior to the Fortran 2003 standard there was silence about how the two langua...
First we report on a correction and improvement to the Level 1 BLAS routine srotmg for computing the Modified Givens Transformation (MG). We then, in the light of the performance of the code on modern compiler/hardware combinations, reconsider the strategy of supplying separate routines to compute and apply the transformation. Finally, we show that...
Least-squares approximation refers to a wide variety of mathematical optimization problems in which the objective is to make a residual vector small in the sense of minimizing the integral of the squared residual function.
Pthreads is the library of POSIX standard functions for concurrent, multithreaded programming. The POSIX standard only defines an application programming interface (API) to the C programming language, not to Fortran. Many scientific and engineering applications are written in Fortran. Also, many of these applications exhibit functional, or task-lev...
Pthreads is the library of POSIX standard functions for concurrent, multithreaded programming. The POSIX standard only defines an application programming interface (API) to the C programming language, not to Fortran. Many scientific and engineering applications are written in Fortran. Also, many of these applications exhibit functional, or taskleve...
The determination of eigenvalues and their eigenvectors and the singular value decomposition (SVD) is a rather common linear algebra operation. A novel approach to both tasks on a single-instruction multiple-data (SIMD) machine is considered here. Also illustrated is how the choice of language can strongly affect the performance of the algorithm’s...
Standard F90 lets a programmer define operators, corresponding to mathematical operations, that apply to arrays or more complicated classes of objects: The matrix-vector and matrix-matrix products y=Ax are expressed in F90 as defined operations. Use of more complex linear algebra operations is simplified with generic functions. Combined, these yiel...
This paper describes an extension to the set of Basic Linear Algebra Subprograms. The extensions proposed are targeted at matrix vector operations which should provide for more efficient and portable implementations of algorithms for high performance computers.
This paper describes an extension to the set of Basic Linear Algebra Subprograms. The extensions are targeted at matrix-vector operations which should provide for efficient and portable implementations of algorithms for high performance computers.
A new algorithm is presented for solving nonlinear least-squares and nonlinear equation problems. The algorithm is based on approximating the nonlinear functions using the quadratic-tensor model proposed by Schnabel and Frank. The problem statement may include simple bounds or more general linear constraints on the unknowns. The algorithm uses a tr...
In future computing environments where computer resources are abundant, a linear programming (LP) approach to maximum entropy signal/image restoration could have advantages over traditional techniques. A revised simplex LP algorithm with inequality constraints is presented. Dantzig's bounded-variable method is used to express the maximum entropy re...
This paper describes a model implementation and test software for the Level 2 Basic Linear Algebra Subprograms (Level 2 BLAS). Level 2 BLAS are targeted at matrix-vector operations with the aim of providing more efficient, but portable, implementations of algorithms on high-performance computers. The model implementation provides a portable set of...
This paper describes an extension to the set of Basic Linear Algebra Subprograms. The extensions are targeted at matrix-vector operations that should provide for efficient and portable implementations of algorithms for high-performance computers.
An algorithm is given for solving linear least squares systems of algebraic equations subject to simple bounds on the unknowns and (more general) linear equality and inequality constraints.
The method used is a penalty function approach wherein the linear constraints are (effectively) heavily weighted. The resulting system is then solved as an ordi...
Popular codes for the numerical solution of nonstiff ordinary differential equations (ODEs) are based on a (fixed order) Runge-Kutta method, a variable order Adams method, or an extrapolation method. Extrapolation can be viewed as a variable order Runge-Kutta ...
The algorithm provides the original references, titles, and volume, issue, and page numbers for the algorithms published in the The Collected Algorithms from ACM (CALGO). They have all appeared in two ACM publications, with the exception of Algorithm 568, which appeared in ACM Transactions on Programming Languages and Systems (ACM-TOPLAS). Algorith...
A Gauss-Newton algorithm is presented for solving nonlinear least squares problems. The problem statement may include simple bounds or more general constraints on the unknowns. The algorithm uses a trust region that allows the objective function to increase with logic for retreating to best values. The computations for the linear problem are done u...
The Basic Linear Algebra Subprograms (BLAS) library is a collection of 38 FORTRAN-callable routines for performing basic operations of numerical linear algebra. BLAS library is portable and efficient source of basic operations for designers of programs involving linear algebriac computations. BLAS library is supplied in portable FORTRAN and Assembl...
We present a new algorithm for solving a linear least squares problem with linear constraints. These are equality constraint equations and nonnegativity constraints on selected variables. This problem, while appearing to be quite special, is the core problem arising in the solution of the general linearly constrained linear least squares problem. T...
The paper describes a 51 dam, 56 time period long-range simulation model of the hydropower system in the Snake-Columbia basin, including projects on those two rivers and on major tributaries thereof. The model is applied to study a series of alternative basin management scenarios, and the consequences in lost power of these scenarios are evaluated...
A package of 38 low level subprograms for many of the basic operations of numerical linear algebra is presented. The package is intended to be used with Fortran. The operations in the package include dot product, elementary vector operation, Givens transformations, vector copy and swap, vector norm, vector scaling, and the determination of the inde...
An abstract is not available.
An efficient and numerically stable method is presented for the problem of updating an orthogonal decomposition of a matrix of column (or row) vectors. The fundamental idea is to add a column (or row) analogous to adding an additional row of data in a linear least squares problem. A column (or row) is dropped by a formal scaling with the imaginary...
The problem of finding the middle of a feasible region defined by solutions to a set of linear inequalities is considered. The solution of this problem is formulated as a primal-dual pair of linear optimization problems whose solutions can be obtained using linear programming computations.
An efficient and numerically stable method is presented for the problem of updating an orthogonal decomposition of a matrix of column (or row) vectors. The fundamental idea is to add a column (or row) analogous to adding an additional row of data in a linear least-squares problem. A column (or row) is dropped by a formal scaling with the imaginary...
A general procedure is presented for numerically solving linear Fredholm integral equations of the first kind in two integration variables. The approximate solution is expressed as piecewise bilinear or linear functions on rectangles or triangles, respectively. The method involves collocation followed by the solution of an appropriately scaled stab...
Have you ever wanted to regularly meet with people having interests in numerical analysis? Perhaps forming a local ACM-SIGNUM group is the answer. What needs to be done to start such a group? This question often stymies people and kills the whole idea. Some of the major points that must be considered are these.
A general procedure is presented for numerically solving linear Fredholm integral equations of the first kind. The approximate solution is expressed as a continuous piecewise linear (spline) function. The method involves collocation followed by the solution of an appropriately scaled stabilized linear algebraic system. The procedure may be used ite...
By considering the (sample) mean of a set of data as a fit to this data by a constant function, a computational method is given based on a matrix formulation and Givens transformations. The (sample) mean and standard deviation can be updated as data accumulates. The procedure is numerically stable and does not require storage of the data. Methods f...
An accessible text for the study of numerical methods for solving least squares problems remains an essential part of a scientific software foundation. Feedback that we have received from practicing engineers and scientists, as well as from educators and students in numerical analysis, indicates that this book has served this purpose. We were pleas...
In algorithms for linear algebraic computations there are a fairly small number of basic operations which are generally responsible for a significant percentage of the total execution time. We mention particularly the dot product operation, ω := xTy, the elementary vector operation, y :=αx+y, and the euclidean vector norm, η = (xTx)1/2.
During the Eigensystem Workshop at Argonne National Laboratory, June 23-29, 1973, several attendees (including the author) listened to instruction regarding the use of the eigenvalue software product of NATS. [EISPACK. User's Information, from Argonne National Laboratory.]
The inversion of a particular integral equation of the first (Fredholm) kind is the basic problem considered. The strategy which yielded success consisted of three essential points: fit the known experimental data by a curve with properties which derive from properties of the (as yet unknown) function; stabilize the computation for the unknown func...
First kind Fredholm integral equation approximation by numerical quadrature formulas plus collocation, using singular value decomposition for solution
Modular component computational algorithm for sequential least squares estimation /filtering/ with process noise for straightforward computer code conversion
Algorithm for solving general quadratic programming problem with linear constraints
A guide for persons who must compute numerical solutions of linear algebraic systems of equations is presented. Subprogram usage instructions are presented. Five often-occurring FORTRAN program examples arising from linear algebraic equations are listed. These are the following: solving Ax = b, computing matrix products Aâ»Â¹D or EAâ»Â¹, iterativ...
The Generalized Minimum Residual (GMRES) iterative method and variations of it are frequently used for solving systems of linear equations of the form Ax = b, where A is a large sparse nonsingular nonsymmetric matrix. We discuss ways to reorganize the algorithm to improve its efficiency.
Reliable numerical methods for solving constrained least-squares problems are described. Linear least-squares problems with linear constraints are considered. The constraints may be equalities or inequalities. The form of the inequalities determines two problem classes that are discussed in the report: Problem LSEI has general inequality constraint...
The mathematical and algorithmic details that are necessary for reliable, general-purpose linear programming software are documented. FORTRAN subprograms LPMGB( ) and LPMG( ) are described. These subprograms accept a linear minimization problem subject to linear equality constraints with lower and upper bounds on selected variables. The subprogram...
LPMGB minimizes a linear function of several variables subject to linear equality constraints with bounds on selected variables.
FC allows a user to fit discrete data, in a weighted least-squares sense, using piece-wise polynomial functions represented by B-splines on a given set of knots. In addition to the least-squares fitting of the data, equality, inequality, and periodic constraints at a discrete, user-specified set of points can be imposed on the fitted curve or its d...
A computer data structure and computer program are described for the fast evaluation and computation of power for 47 generation projects, and release evaluation for 4 storage reservoirs on the Snake and Columbia Rivers and tributaries. The system and its parameters are defined, complications in power computation are described, and the method of the...
FORTRAN subprograms for low-level operations associated with sparse matrices are described. The primary function of these codes is the storage and retrieval of the matrix entries using any of five commonly used data structures. The code user chooses the type of data structure for each matrix as a first step. The software implements out-of-memory st...
An orthogonally linked data structure is used to represent sparse rectangular matrices. This representation requires four type INTEGER locations and one type REAL location per nonzero entry in the matrix. Operations are presented that perform many of the basic computations required in numerical linear algebra. The operations are available in portab...
The mathematical and numerical least squares solution of a general linear system of equations is discussed. Perturbation and differentiability theorems for pseudoinverses are given. Computational procedures for calculating least squares solutions using orthonormal transformations, multiplying matrices by a matrix of orthonormal basis vectors for th...
Second order systems of linear differential equations eliminating all nonessential difficulties associated with initial value problem