Results 1  10
of
18
Objectoriented software for quadratic programming
 ACM Transactions on Mathematical Software
, 2001
"... The objectoriented software package OOQP for solving convex quadratic programming problems (QP) is described. The primaldual interior point algorithms supplied by OOQP are implemented in a way that is largely independent of the problem structure. Users may exploit problem structure by supplying li ..."
Abstract

Cited by 68 (2 self)
 Add to MetaCart
(Show Context)
The objectoriented software package OOQP for solving convex quadratic programming problems (QP) is described. The primaldual interior point algorithms supplied by OOQP are implemented in a way that is largely independent of the problem structure. Users may exploit problem structure by supplying linear algebra, problem data, and variable classes that are customized to their particular applications. The OOQP distribution contains default implementations that solve several important QP problem types, including general sparse and dense QPs, boundconstrained QPs, and QPs arising from support vector machines and Huber regression. The implementations supplied with the OOQP distribution are based on such well known linear algebra packages as MA27/57, LAPACK, and PETSc. OOQP demonstrates the usefulness of objectoriented design in optimization software development, and establishes standards that can be followed in the design of software packages for other classes of optimization problems. A number of the classes in OOQP may also be reusable directly in other codes.
Algorithm 887: Cholmod, supernodal sparse cholesky factorization and update/downdate
 ACM Transactions on Mathematical Software
, 2008
"... CHOLMOD is a set of routines for factorizing sparse symmetric positive definite matrices of the form A or A A T, updating/downdating a sparse Cholesky factorization, solving linear systems, updating/downdating the solution to the triangular system Lx = b, and many other sparse matrix functions for b ..."
Abstract

Cited by 61 (7 self)
 Add to MetaCart
CHOLMOD is a set of routines for factorizing sparse symmetric positive definite matrices of the form A or A A T, updating/downdating a sparse Cholesky factorization, solving linear systems, updating/downdating the solution to the triangular system Lx = b, and many other sparse matrix functions for both symmetric and unsymmetric matrices. Its supernodal Cholesky factorization relies on LAPACK and the Level3 BLAS, and obtains a substantial fraction of the peak performance of the BLAS. Both real and complex matrices are supported. CHOLMOD is written in ANSI/ISO C, with both C and MATLAB TM interfaces. It appears in MATLAB 7.2 as x=A\b when A is sparse symmetric positive definite, as well as in several other sparse matrix functions.
A numerical evaluation of sparse direct solvers for the solution of large sparse, symmetric linear systems of equations
, 2005
"... ..."
Dynamic supernodes in sparse Cholesky update/downdate and triangular solves
 ACM Trans. Math. Software
, 2006
"... The supernodal method for sparse Cholesky factorization represents the factor L as a set of supernodes, each consisting of a contiguous set of columns of L with identical nonzero pattern. A conventional supernode is stored as a dense submatrix. While this is suitable for sparse Cholesky factorizatio ..."
Abstract

Cited by 23 (10 self)
 Add to MetaCart
(Show Context)
The supernodal method for sparse Cholesky factorization represents the factor L as a set of supernodes, each consisting of a contiguous set of columns of L with identical nonzero pattern. A conventional supernode is stored as a dense submatrix. While this is suitable for sparse Cholesky factorization where the nonzero pattern of L does not change, it is not suitable for methods that modify a sparse Cholesky factorization after a lowrank change to A (an update/downdate, A = A±WW T). Supernodes merge and split apart during an update/downdate. Dynamic supernodes are introduced, which allow a sparse Cholesky update/downdate to obtain performance competitive with conventional supernodal methods. A dynamic supernodal solver is shown to exceed the performance of the conventional (BLASbased) supernodal method for solving triangular systems. These methods are incorporated into CHOLMOD, a sparse Cholesky factorization and update/downdate package, which forms the basis of x=A\b in MATLAB when A is sparse and symmetric positive definite. 1
Algorithm 8xx: Cholmod, supernodal sparse cholesky factorization and update/downdate
 ACM Transactions on Mathematical Software
, 2006
"... ..."
(Show Context)
Experiences of Sparse Direct Symmetric Solvers
"... We recently carried out an extensive comparison of the performance of stateoftheart sparse direct solvers for the numerical solution of symmetric linear systems of equations. Some of these solvers were written primarily as research codes while others have been developed for commercial use. Our ex ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We recently carried out an extensive comparison of the performance of stateoftheart sparse direct solvers for the numerical solution of symmetric linear systems of equations. Some of these solvers were written primarily as research codes while others have been developed for commercial use. Our experiences of using the different packages to solve a wide range of problems arising from real applications were mixed. In this paper, we highlight some of these experiences with the aim of providing advice to both software developers and users of sparse direct solvers. We discuss key features that a direct solver should offer and conclude that while performance is an essential factor to consider when choosing a code, there are other features that a user should also consider looking for that vary significantly between packages. Categories and Subject Descriptors: G.1.0 [Numerical Analysis]: General—Numerical algorithms; G.1.3 [Numerical Analysis]: Numerical Linear Algebra—Sparse, structured, and very
The Data Field Model
 Coyne R D, Rosenman M A, Radford A D, Balachandran M and Gero J S Knowledgebased
, 2001
"... Indexed data structures are prevalent in many programming applications. Collectionoriented languages provide means to operate directly on these structures, rather than having to loop or recurse through them. This style of programming will often yield clear and succinct programs. However, these prog ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Indexed data structures are prevalent in many programming applications. Collectionoriented languages provide means to operate directly on these structures, rather than having to loop or recurse through them. This style of programming will often yield clear and succinct programs. However, these programming languages will often provide only a limited choice of indexed data types and primitives, and the exact semantics of these primitives will sometimes vary with the data type and language. In this paper we develop a unifying semantical model for indexed data structures. The purpose is to support the construction of abstract data types and language features for such structures from first principles, such that they are largely generic over many kinds of data structures. The use of these abstract data types can make programs and their semantics less dependent of the actual data structure. This makes programs more portable across different architectures and facilitates the early design phase. The model is a generalisation of arrays, which we call data fields: these are functions with explicit information about their domains. This information can be conventional array bounds but it could also define other shapes, for instance sparse. Data fields can be interpreted as partial functions, and we define a metalanguage for partial functions. In this language we define abstract versions of collectionoriented operations, and we show a number of identities for them. This theory is used to guide the design of data fields and their operations so they correspond closely to the more abstract notion of partial functions. We define phiabstraction, a lambdalike syntax for defining data fields in a shapeindependent manner, and prove a theorem which relates phiabstraction and lambdaabstraction semantically. We also define a small data field language whose semantics is given by formal data fields, and give examples of data field programming for parallel algorithms with arrays and sparse structures, database quering and computing, and specification of symbolic drawings.
Amesos: A Set of General Interfaces to Sparse Direct Solver Libraries
 Proceedings of PARA’06 Conference
, 2006
"... Abstract. We present the Amesos project, which aims to define a set of general, flexible, consistent, reusable and efficient interfaces to direct solution software libraries for systems of linear equations on both serial and distributed memory architectures. Amesos is composed of a collection of pu ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We present the Amesos project, which aims to define a set of general, flexible, consistent, reusable and efficient interfaces to direct solution software libraries for systems of linear equations on both serial and distributed memory architectures. Amesos is composed of a collection of pure virtual classes, as well as several concrete implementations in the C++ language. These classes allow access to the linear system matrix and vector elements and their distribution, and control the solution of the linear system. We report numerical results that show that the overhead induced by the objectoriented design is negligible under typical conditions of usage. We include examples of applications, and we comment on the advantages and limitations of the approach. 1
The Design of I/OEfficient Sparse Direct Solvers
"... We consider two problems related to I/O: First, find the minimum primary memory size required to factor a sparse, symmetric matrix when permitted to read and write the data exactly once. Second, find the minimum data traffic between core and external memory when permitted to read and write the data ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We consider two problems related to I/O: First, find the minimum primary memory size required to factor a sparse, symmetric matrix when permitted to read and write the data exactly once. Second, find the minimum data traffic between core and external memory when permitted to read and write the data many times. These problems are likely to be intractable in general, but we prove upper and lower bounds on these quantities for several model problems with useful sparsity (i.e., whose computational graphs have small separators). We provide fast algorithms for computing these quantities through simulation for irregular problems. The choice of factorization algorithms (leftlooking, rightlooking, multifrontal), orderings (nested dissection or minimum degree), and blocking techniques (1 or 2 dimensional blocks) can change the memory size and traffic by orders of magnitude. Explicitly moving the data (files managed by the program) improves performance significantly over implicit data movement (pages managed by the operating system). Thus this work guides us in designing a software library that implements an external memory sparse solver. 1
The Computational Complexity of the Minimum Degree Algorithm
 Proceedings of 14th Norwegian Computer Science Conference, NIK 2001, University of Troms, Norway. Also available as ICASE Report 200142, NASA/CR2001 211421, NASA Langley Research
, 2001
"... The Minimum Degree algorithm, one of the classical algorithms of sparse matrix computations, is widely used to order graphs to reduce the work and storage needed to solve sparse systems of linear equations. There has been extensive research involving practical implementations of this algorithm over ..."
Abstract
 Add to MetaCart
The Minimum Degree algorithm, one of the classical algorithms of sparse matrix computations, is widely used to order graphs to reduce the work and storage needed to solve sparse systems of linear equations. There has been extensive research involving practical implementations of this algorithm over the past two decades. However, little has been done to establish theoretical bounds on the computational complexity of these implementations. We study the Minimum Degree algorithm, and prove time complexity bounds for its widely used variants.