Mathematical Software (TOMS)


Search Issue
enter search term and/or author name


ACM Transactions on Mathematical Software (TOMS), Volume 44 Issue 1, July 2017

SYM-ILDL: Incomplete LDLT Factorization of Symmetric Indefinite and Skew-Symmetric Matrices
Chen Greif, Shiwen He, Paul Liu
Article No.: 1
DOI: 10.1145/3054948

SYM-ILDL is a numerical software package that computes incomplete LDLT (ILDL) factorizations of symmetric indefinite and real skew-symmetric matrices. The core of the algorithm is a Crout variant of incomplete LU (ILU), originally...

Complex Additive Geometric Multilevel Solvers for Helmholtz Equations on Spacetrees
Bram Reps, Tobias Weinzierl
Article No.: 2
DOI: 10.1145/3054946

We introduce a family of implementations of low-order, additive, geometric multilevel solvers for systems of Helmholtz equations arising from Schrödinger equations. Both grid spacing and arithmetics may comprise complex numbers, and we thus...

An Algorithm for the Optimization of Finite Element Integration Loops
Fabio Luporini, David A. Ham, Paul H. J. Kelly
Article No.: 3
DOI: 10.1145/3054944

We present an algorithm for the optimization of a class of finite-element integration loop nests. This algorithm, which exploits fundamental mathematical properties of finite-element operators, is proven to achieve a locally optimal operation...

On the Robustness of the 2Sum and Fast2Sum Algorithms
Sylvie Boldo, Stef Graillat, Jean-Michel Muller
Article No.: 4
DOI: 10.1145/3054947

The 2Sum and Fast2Sum algorithms are important building blocks in numerical computing. They are used (implicitely or explicitely) in many compensated algorithms (such as compensated summation or compensated polynomial evaluation). They are...

On Orienting Edges of Unstructured Two- and Three-Dimensional Meshes
Rainer Agelek, Michael Anderson, Wolfgang Bangerth, William L. Barth
Article No.: 5
DOI: 10.1145/3061708

Finite element codes typically use data structures that represent unstructured meshes as collections of cells, faces, and edges, each of which require associated coordinate systems. One then needs to store how the coordinate system of each edge...

BFO, A Trainable Derivative-free Brute Force Optimizer for Nonlinear Bound-constrained Optimization and Equilibrium Computations with Continuous and Discrete Variables
Margherita Porcelli, Philippe L. Toint
Article No.: 6
DOI: 10.1145/3085592

A direct-search derivative-free Matlab optimizer for bound-constrained problems is described, whose remarkable features are its ability to handle a mix of continuous and discrete variables, a versatile interface as well as a novel self-training...

Implementing High-performance Complex Matrix Multiplication via the 3m and 4m Methods
Field G. Van Zee, Tyler M. Smith
Article No.: 7
DOI: 10.1145/3086466

In this article, we explore the implementation of complex matrix multiplication. We begin by briefly identifying various challenges associated with the conventional approach, which calls for a carefully written kernel that implements complex...

Performance Evaluation of a Two-Dimensional Lattice Boltzmann Solver Using CUDA and PGAS UPC Based Parallelisation
Máté Szőke, Tamás István Józsa, Ádám Koleszár, Irene Moulitsas, László Könözsy
Article No.: 8
DOI: 10.1145/3085590

The Unified Parallel C (UPC) language from the Partitioned Global Address Space (PGAS) family unifies the advantages of shared and local memory spaces and offers a relatively straightforward code parallelisation with the Central Processing Unit...

Algorithm 975: TMATROM—A T-Matrix Reduced Order Model Software
M. Ganesh, S. C. Hawkins
Article No.: 9
DOI: 10.1145/3054945

The T-matrix (TMAT) of a scatterer fully describes the way the scatterer interacts with incident fields and scatters waves, and is therefore used extensively in several science and engineering applications. The T-matrix is independent of several...

Algorithm 976: Bertini_real: Numerical Decomposition of Real Algebraic Curves and Surfaces
Daniel A. Brake, Daniel J. Bates, Wenrui Hao, Jonathan D. Hauenstein, Andrew J. Sommese, Charles W. Wampler
Article No.: 10
DOI: 10.1145/3056528

Bertini_real is a compiled command line program for numerically decomposing the real portion of a positive-dimensional complex component of an algebraic set. The software uses homotopy continuation to solve a series of systems via regeneration...

Algorithm 977: A QR--Preconditioned QR SVD Method for Computing the SVD with High Accuracy
Zlatko Drmač
Article No.: 11
DOI: 10.1145/3061709

A new software for computing the singular value decomposition (SVD) of real or complex matrices is proposed. The method implemented in the code xGESVDQ is essentially the QR SVD algorithm available as xGESVD in LAPACK. The novelty is an extra...

Algorithm 978: Safe Scaling in the Level 1 BLAS
Edward Anderson
Article No.: 12
DOI: 10.1145/3061665

The square root of a sum of squares is well known to be prone to overflow and underflow. Ad hoc scaling of intermediate results, as has been done in numerical software such as the BLAS and LAPACK, mostly avoids the problem, but it can still occur...