A modification of Talbot's method for the simultaneous approximation of several values of the inverse Laplace transformRizzardi, Mariarosaria
doi: 10.1145/212066.212068pmid: N/A
In recent years many results have been obtained in the field of the numerical inversion of Laplace transforms. Among them, a very accurate and general method is due to Talbot: this method approximates the value of the inverse Laplace transform f(t) , for t fixed, using the complex values of the Laplace transform F(s) sampled on a suitable contour of the complex plane. On the basis of the interest raised by Talbot's method implementation, the author has been induced to investigate more deeply the possibilities of this method and has been able to generalize Talbot's method, to approximate simultaneously several values of f(t) using the same sampling values of the Laplace transform. In this way, the only unfavorable aspect of the classical Talbot method, that is, that of recomputing all of the samples of F(s) for each t , has been eliminated.
A Fortran 90-based multiprecision systemBailey, David H.
doi: 10.1145/212066.212075pmid: N/A
A new version of a Fortran multiprecision computation system, based on the Fortran 90 language, is described. With this new approach, a translator program is not required—translation of Fortran code for multiprecision is accomplished by merely utilizing advanced features of Fortran 90, such as derived data types and operator extensions. This approach results in more-reliable translation and permits programmers of multiprecision applications to utilize the full power of Fortran 90. Three multiprecision data types are supported in this system: multiprecision integer, real, and complex. All the usual Fortran conventions for mixed-mode operations are supported, and many of the Fortran intrinsics, such as SIN, EXP, and MOD, are supported with multiprecision arguments. An interesting application of this software, wherein new number-theoretic identities have been discovered by means of multiprecision computations, is included also.
Exact solution of large-scale, asymmetric traveling salesman problemsCarpaneto, G.; Dell'Amico, M.; Toth, P.
doi: 10.1145/212066.212081pmid: N/A
A lowest-first, branch-and-bound algorithm for the Asymmetric Traveling Salesman Problem is presented. The method is based on the Assignment Problem relaxation and on a subtour elimination branching scheme . The effectiveness of the algorithm derives from reduction procedures and parametric solution of the relaxed problems associated with the nodes of the branch-decision tree. Large-size, uniformly, randomly generated instances of complete digraphs with up to 2000 vertices are solved on a DECstation 5000/240 computer in less than 3 minutes of CPU time. In addition, we solved on a PC 486/33 no wait flow shop problems with up to 1000 jobs in less than 11 minutes and real-world stacker crane problems with up to 443 movements in less than 6 seconds.
A set of Ada packages for high-precision calculationsDoman, B. G. S.; Pursglove, C. J.; Coen, W. M.
doi: 10.1145/212066.212087pmid: N/A
The packages described here are designed to perform efficient high-accuracy calculations in cases where there can be serious loss of significance due to rounding errors. Numbers are represented by a value part with a variable number of digits in the mantissa and an error estimate which is updated throughout the calculation and which gives a range of possible values for the result of the calculation. For economy and speed, intermediate results are truncated so that the least-significant digits correspond to values only a few orders of magnitude smaller than the error estimate. Type definitions and the standard arithmetic operations, together with conversions to and from integers, are provided in one package. The mathematical constants ॠ and Euler's gamma are incorporated to a maximum precision of 320 digits in a package that also contains all of the standard elementary functions. Separate packages contain input and output procedures and conversion to and from floating-point types.
An Arnoldi code for computing selected eigenvalues of sparse, real, unsymmetric matricesScott, Jennifer A.
doi: 10.1145/212066.212091pmid: N/A
Arnoldi methods can be more effective than subspace iteration methods for computing the dominant eigenvalues of a large, sparse, real, unsymmetric matrix. A code, <?Pub Fmt bold>EB12<?Pub Fmt /bold>, for the sparse, unsymmetric eigenvalue problem based on a subspace iteration algorithm, optionally combined with Chebychev acceleration, has recently been described by Duff and Scott and is included in the Harwell Subroutine Library. In this article we consider variants of the method of Arnoldi and discuss the design and development of a code to implement these methods. The new code, which is called <?Pub Fmt bold>EB13<?Pub Fmt /bold>, offers the user the choice of a basic Arnoldi algorithm, an Arnoldi algorithm with Chebychev acceleration, and a Chebychev preconditioned Arnoldi algorithm. Each method is available in blocked and unblocked form. The code may be used to compute either the rightmost eigenvalues, the eigenvalues of largest absolute value, or the eigenvalues of largest imaginary part. The performance of each option in the <?Pub Fmt bold>EB13<?Pub Fmt /bold> package is compared with that of subspace iteration on a range of test problems, and on the basis of the results, advice is offered to the user on the appropriate choice of method. —<?Pub Fmt italic>Author's Abstract<?Pub Fmt /italic>
Computing the MDM T decompositionKaufman, Linda
doi: 10.1145/212066.212092pmid: N/A
The MDM T factorization of an n×n symmetric indefinite matrix A can be used to solve a linear system with A as the coefficient matrix. This factorization can be computed efficiently using an algorithm given in 1977 by Bunch and Kaufman. The LAPACK project has been implementing block versions of well-known algorithms for solving dense linear systems and eigenvalue problems. The block version of the MDM T decomposition algorithm in LAPACK requires the user to specify a block size b by supplying an n×b scratch array. It then makes ( n/b −2) 2 /2 invocations of a matrix-matrix product subroutine with one matrix no larger than b×b, n 2 /(2 b )− b invocations of a matrix-vector product routine with a matrix no larger than b×b , and between n − n/b and 2( n − n/b ) invocations of a matrix-vector product routine with matrices with less than b columns. Because the user can query LAPACK about an optimal block size, our concern is focused on users who cannot change the amount of available scratch space or who neglect to use this facility and are unaware of a performance degradation with small block sizes. This article suggests two alternative algorithms. The first is a block algorithm requiring b×b scratch space and is about 5% slower than LAPACK's current block algorithm with large b . The user does not have to specify the block size. The second algorithm is a rejuvenation of an old implementation of the MDM T decomposition algorithm that requires n matrix-vector products. The performance of the various algorithms on a specific machine is dependent on the manufacturer's implementation of the different basic linear algebra subroutines that they each invoke. Our data indicate that on the Cray Y-MP, Alliant, and Convex the time for the rejuvenated algorithm is either less than or within 10% of that of LAPACK's block algorithm with large b .