Supercomputing for Industry


PermonQP is a package providing a base for solution of quadratic programing (QP) problems. It includes data structures, transformations, algorithms, and supporting functions for QP. Chain of QP problemsProgramming interface (API) is carefully designed to be easy-to-use, and at the same time efficient and suitable for HPC. The solution process is from the user’s point of view divided into the following sequence of actions: QP problem specification; performing QP transforms, which reformulate the original problem and create sort of a chain of QP problems where the last one is passed to the solver; automatic or manual choice of an appropriate solver; the solver is called.

PermonQP as a stand-alone package allows solving unconstrained QP problems (i.e. linear systems with a positive semidefinite matrix) or equality constrained ones. In both cases it makes use of the PETSc KSP package which includes both direct and iterative solvers, including interfaces to many external solvers. Examples of equality constraints are for instance so called multipoint constraints or the alternative enforcing of Dirichlet boundary conditions without modifying the stiffness matrix.

PermonQP capabilities can be further extended by using PermonIneq (algorithms for solution of inequality constrained problems) and/or PermonFLLOP (FETI domain decomposition methods).

The PermonQP package extends the PETSc software framework for numerical computations. It is therefore usable on all main operating systems and architectures of personal computers and supercomputers. The code is written in ANSI C and requires PETSc 3.4 or higher. It is recommended to link PETSc with at least one external parallel direct solver (MUMPS, SuperLU, PaStiX).

Key features



This product is distributed under the 2-clause BSD licence.