Software

ResPoND - Restoration of Poisson-Noisy Directional images

Short description

ResPoND (Restoration of Poisson-Noisy Directional images) is a MATLAB package for deblurring directional images corrupted by Poisson noise.

The main function in the package, named respond, performs the restoration by minimizing the KL-DTGV^2 model presented in [1]. Given the noisy and blurry observed image b, the linear bluring operator A, the background noise gamma, and the regularization parameter lambda, the function finds an approximate solution to the nonsmooth constrained minimization problem

min lambda*KL(A*u + gamma, b) + DTGV^2(u)

s.t. x >= 0,

where KL is the so-called Kullback-Leibler divergence of the blurred image A*u + gamma from the observed image b, and DTGV^2 is the discrete second-order Total Generalized Variation regularization term. The minimization problem is solved by a specialized version of a two-block Alternating Direction Method of Multipliers (ADMM) (see Algorithm 2 in [1]).

The respond function is also suited for the deblurring of general Poissonian images by the minimization of the KL-TGV^2 model (see the function documentation for further details).

Developers

Daniela di Serafino, University of Naples Federico II, Naples, Italy, daniela [dot] diserafino [at] unina [dot] it

Germana Landi, University of Bologna, Bologna, Italy, germana [dot] landi [at] unibo [dot] it

Marco Viola, University of Campania "L. Vanvitelli", Caserta, Italy, marco [dot] viola [at] unicampania [dot] it

References

[1] D. di Serafino, G. Landi and M. Viola, Directional TGV-Based Image Restoration under Poisson Noise, Journal of Imaging, volume 7(6), 2021, p. 99, DOI: 10.3390/jimaging7060099 (open access).

Last update

Version 1.1 (July 18, 2021)

Code distribution

ResPoND is free sofware, distributed under the GNU General Public License v. 3. It is available on GitHub.

SDG - Steepest-Descent Globalized method for the solution of unconstrained optimization problems

Short description

SDG is a MATLAB implementation of the Steepest-Descent Globalized (SDG) method for the solution of unconstrained optimization problems of the form

min f(x)

with f being at least continuously differentiable. The main idea of SDG is to combine Newton-type directions with scaled steepest-descent steps, to obtain at each iteration a descent direction d satisfying

-d^T g >= Epsilon * norm(d) * norm(g),

where g is the gradient of f at the current iterate and Epsilon is a given threshold. The descent direction has the form

d = beta*d_N - (1-beta)*xi*g,

where d_N may be a Newton, BFGS or LBFGS direction, xi is a step length for the gradient direction (e.g. a Barzilai-Borwein-type step length), and beta is a scalar value in [0,1]. See [1] for further details.

Developers

Daniela di Serafino, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it

Gerardo Toraldo, University of Naples Federico II, Naples, Italy, toraldo [at] unina [dot] it

Marco Viola, University of Campania "L. Vanvitelli", Caserta, Italy, marco [dot] viola [at] unicampania [dot] it

References

[1] D. di Serafino, G. Toraldo and M. Viola, Using gradient directions to get global convergence of Newton-type methods, Applied Mathematics and Computation, article 125612, 2020, DOI: 10.1016/j.amc.2020.125612. Preprint available from arXiv and Optimization Online.

Last update

Version 1.0 (August 28, 2020).

Code distribution

SDG is free sofware, distributed under the GNU General Public License v. 3. It is available on GitHub.

SBSA_QP - Split Bregman method with Subspace Acceleration for Quadratic Problems modeling sparse data recovery with fused lasso regularization

Short description

SBSA_QP is a MATLAB implementation of the Split Bregman method with Subspace Acceleration (SBSA), proposed in [1] for the solution of constrained optimization problems of the form

min f(u) + tau_1*||u||_1 + tau_2*||D*u||_1

s.t. A*u = b

modeling, e.g., multiperiod portfolio optimization problems, regularized least-squares regression problems or source detection problems in electroencephalography. Here f(u) is a quadratic function, having either the form

f(u) = 0.5*u'*Q*u - p'*u

or the least squares form

f(u) = 0.5*||Q*u - p||^2.

Developers

Valentina De Simone, Daniela di Serafino, Marco Viola, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it, valentina [dot] desimone [at] unicampania [dot] it, marco [dot] viola [at] unicampania [dot] it

References

[1] V. De Simone, D. di Serafino, M. Viola, A subspace-accelerated split Bregman method for sparse data recovery with joint l1-type regularizers, Electronic Transactions on Numerical Analysis, 53, 2020, pp. 406-425, ISSN: 10689613, doi: 10.1553/etna_vol53s406.

Last update

Version 1.0 (May 28, 2020).

Code distribution

SBSA_QP is free sofware, distributed under the GNU General Public License v. 3. It is available on GitHub.

ACQUIRE - Algorithm based on Consecutive QUadratic and Iteratively REweighted norm approximations for TV-based Poisson image restoration

Short description

ACQUIRE is a MATLAB implementation of the Algorithm based on Consecutive QUadratic and Iteratively REweighted norm approximations [1] for the solution of constrained optimization problems of the form

min F(x) := KL(A*x + b, y) + lambda*TV(x)

s.t. x in Omega,

modeling, e.g., the restoration of images corrupted by Poisson noise. The objective function is the sum of a data-fidelity term consisting of the generalized Kullback-Leibler divergence of the blurred image (A*x + b) from the observed image (y) and a regularization term consisting of the discrete isotropic Total Variation with weight lambda. Here A is a linear blurring operator and b is the background noise. The feasible set Omega represents either nonnegativity constraints or nonnegativity contraints plus a linear constraint imposing total flux conservation.

Developers

Daniela di Serafino, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it

Germana Landi, University of Bologna, Bologna, Italy, germana [dot] landi [at] unibo [dot] it

Marco Viola, Sapienza - University of Rome, Rome, Italy, marco [dot] viola [at] uniroma1 [dot] it

References

[1] D. di Serafino, G. Landi and M. Viola, ACQUIRE: an inexact iteratively reweighted norm approach for TV-based Poisson image restoration, Applied Mathematics and Computation, 364, 2020, article 124678, doi: 10.1016/j.amc.2019.124678.

Last update

Version 1.0 (November 1, 2019).

Code distribution

ACQUIRE is free sofware, distributed under the GNU General Public License v. 3. It is available on GitHub.

CPKRYLOV - Constraint-Preconditioned Krylov solvers for regularized saddle-point linear systems

Short description

CPKRYLOV is a MATLAB package implementing constraint-preconditioned variants of Krylov solvers for the solution of regularized saddle-point linear systems. The saddle-point matrix is assumed to be nonsingular; its leading block may be nonsymmetric, and its trailing block must be nonzero and symmetric. In particular, CPKRYLOV implements constraint-preconditioned variants of the CG, CG-Lanczos, MINRES, SYMMLQ, GMRES(m) and DQGMRES methods. Details on the solvers and the related constraint preconditioners are provided in [1].

Developers

Daniela di Serafino, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it

Dominique Orban, Polytechnique Montréal and GERAD, Montréal, QC, Canada, orban [at] gerad [dot] ca

References

[1] D. di Serafino and D. Orban, Constraint-Preconditioned Krylov Solvers for Regularized Saddle-Point Systems, SIAM Journal on Scientific Computing, 43 (2), 2021, pp. A1001-A1026. Peprint available as Cahier du GERAD G-2019-72, GERAD, Montréal, QC, Canada (revised in July 2020), and from Optimization Online and arXiv.

Last update

Version 1.0 (October 8, 2019).

Code distribution

CPKRYLOV is free sofware, distributed under the GNU Lesser General Public License v. 3. It is available on GitHub.

P2GP - Proportionality-based 2-phase Gradient Projection method

Short description

P2GP is a MATLAB code for the solution of Quadratic Programming problems with a Single Linear constraint and Bounds on the variables (SLBQPs). The problems are not required to be strictly convex. The code implements the Proportionality-based 2-phase Gradient Projection method proposed in [1]. It also includes SLBQPgen, a generator of SLBQPs (and BQPs) [1, Section 5.1].

Developers

Daniela di Serafino, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it

Gerardo Toraldo, University of Naples Federico II, Naples, Italy, toraldo [at] unina [dot] it

Marco Viola, Sapienza - University of Rome, Rome, Italy, marco [dot] viola [at] uniroma1 [dot] it

References

[1] D. di Serafino, G. Toraldo, M. Viola, J. Barlow, A two-phase gradient method for quadratic programming problems with a single linear constraint and bounds on the variables, SIAM Journal on Optimization, 28 (4), pp. 2809-2838, ISSN: 1052-6234, doi: 10.1137/17M1128538.

Last update

Version 1.0 (July 24, 2017).

Code distribution

P2GP is free sofware, distributed under the GNU General Public License v. 3. It is available on GitHub.

MLD2P4 - Multi-Level Domain Decomposition Parallel Preconditioners Package based on PSBLAS

Short description

MLD2P4 (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS) provides parallel Algebraic MultiGrid (AMG) and Domain Decomposition preconditioners, to be used in the iterative solution of linear systems.

The name of the package comes from its original implementation, containing multilevel additive and hybrid Schwarz preconditioners, as well as one-level additive Schwarz preconditioners. The current version extends the original plan by including multilevel cycles and smoothers widely used in multigrid methods. A purely algebraic approach is applied to generate coarse-level corrections, so that no geometric background is needed concerning the matrix to be preconditioned.

MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms) computational framework and is used in conjuction with the Krylov solvers available from PSBLAS. The package employs object-oriented design techniques in Fortran 2003, with interfaces to additional third party libraries such as MUMPS, UMFPACK, SuperLU, and SuperLU_Dist, which can be exploited in building multilevel preconditioners. The parallel implementation is based on a Single Program Multiple Data (SPMD) paradigm; the inter-process communication is based on MPI and is managed mainly through PSBLAS.

A detailed description of the package is provided in the MLD2P4 User's and Reference Guide, available on GitHub.

Developers

Pasqua D'Ambra, Institute for Applied Computing (IAC) - CNR, Naples, Italy, pasqua [dot] dambra [at] cnr [dot] it

Daniela di Serafino, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it

Salvatore Filippone, Cranfield University, Cranfield, UK, salvatore [dot] filippone [at] cranfield [dot] ac [dot] uk

Ambra Abdullahi Hassan, University of Rome Tor Vergata, Rome, Italy, ambra [dot] abdullahi [at] uniroma2 [dot] it (contributor to version 2.1)

Alfredo Buttari, Institut de Recherche en Informatique de Toulouse (IRIT) - CNRS, Toulouse, France, abuttari [at] n7 [dot] fr (contributor to the early stages of the MLD2P4 sofware project)

Main reference

[1] P. D'Ambra, D. di Serafino, S. Filippone, MLD2P4: a Package of Parallel Algebraic Multilevel Domain Decomposition Preconditioners in Fortran 95, ACM Transactions on Mathematical Software, 37 (3), 2010, art. 30, ISSN: 0098-3500, doi: 10.1145/1824801.1824808.

Further (selected) references

[2] A. Abdullahi Hassan, V. Cardellini, P. D'Ambra, D. di Serafino, S. Filippone, Efficient Algebraic Multigrid Preconditioners on Clusters of GPUs, Parallel Processing Letters, 29 (1), 1950001, 2019, ISSN: 0129-6264, doi: 10.1142/S0129626419500014.

[3] A. Borzì, V. De Simone, D. di Serafino, Parallel algebraic multilevel Schwarz preconditioners for a class of elliptic PDE systems, Computing and Visualization in Science, 16 (1), 2013, pp. 1-14, ISSN: 1432-9360, published in 2014, doi: 0.1007/s00791-014-0220-0.

[4] P. D'Ambra, D. di Serafino, S. Filippone, Performance analysis of parallel Schwarz preconditioners in the LES of turbulent channel flows, Computers and Mathematics with Applications, 65, 2013, pp. 352-361, ISSN: 0898-1221, doi: 10.1016/j.camwa.2012.06.023.

[5] A. Buttari, P. D'Ambra, D. di Serafino, Filippone, 2LEV-D2P4: a package of high-performance preconditioners for scientific and engineering applications, Applicable Algebra in Engineering, Communication and Computing, 18 (3), 2007, pp. 223-239, ISSN: 0938-1279, doi: 10.1007/s00200-007-0035-z.

[6] P. D'Ambra, D. di Serafino, S. Filippone, On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners, Applied Numerical Mathematics, 57, 2007, pp. 1181-1196, ISSN: 0168-9274, doi: 10.1016/j.apnum.2007.01.006.

Last update

Version 2.2.

Code distribution

MLD2P4 is free software, distibuted under a modified BSD licence. It is available on GitHub.

PRQP - Potential Reduction solver for Quadratic Programming

Short description

PRQP is a Fortran 90 Interior Point (IP) solver for the solution of large-scale convex Quadratic Programming (QP) problems. It implements an infeasible primal-dual Potential Reduction method (S. Mizuno, M. Kojima, and M.J. Todd, SIAM J. Optim. 5 (1995), 52-67), where the Newton step at each iteration is obtained by solving a KKT (saddle-point) linear system by either the LDL' factorization or the Conjugate Gradient (CG) method with a Constraint Preconditioner (CP). A symmetric QMR solver is also available, for use with inexact CPs. If the QP problem has only bound constraints, the IP method is feasible. Furthermore, the KKT linear systems are reduced to the normal equation form, and the iterative method used is CG with a limited-memory incomplete Cholesky factorization preconditioner.

The package uses the MA57 routine from the HSL Library (http://www.hsl.rl.ac.uk/catalogue/ma57.html) for computing the LDL' factorization and solving the associated triangular systems, and the ICFS package (http://www.mcs.anl.gov/~more/icfs/) for computing the limited-memory incomplete Cholesky factorization.

PRQP is a "research code", mainly used by the authors to develop and analyze preconditioning techniques for KKT systems arising in IP methods.

Developers

Sonia Cafieri, École Nationale de l'Aviation Civile, Toulouse, France, sonia [dot] cafieri [at] enac [dot] fr (first version, Fortran 77)

Marco D'Apuzzo (first version + starting point procedure)

Valentina De Simone, University of Campania "L. Vanvitelli", Caserta, Italy, valentina [dot] desimone [at] unicampania [dot] it (all versions)

Daniela di Serafino, University of Campania "L. Vanvitelli", Caserta, Italy, daniela [dot] diserafino [at] unicampania [dot] it (all versions)

Filippo Riccio, former PhD student at the Second University of Naples, Caserta, Italy (Fortran 90 version + preprocessing + regularization of KKT systems)

Gerardo Toraldo, University of Naples Federico II, Naples, Italy, toraldo [at] unina [dot] it (first version, Fortran 77)

References

[1] M. D'Apuzzo, V. De Simone, D. di Serafino, Starting-Point Strategies for an Infeasible Potential Reduction Method, Optimization Letters, 4 (1), 2010, pp. 131-146, ISSN: 1862-4472, doi: 10.1007/s11590-009-0150-9.

[2] M. D'Apuzzo, V. De Simone, D. di Serafino, On mutual impact of numerical linear algebra and large-scale optimization with focus on interior point methods, Computational Optimization and Applications, 45 (2), 2010, pp. 283-310, ISSN: 0926-6003, doi: 10.1007/s10589-008-9226-1.

[3] S. Cafieri, M. D'Apuzzo, V. De Simone, D. di Serafino, G. Toraldo, Convergence Analysis of an Inexact Potential Reduction Method for Convex Quadratic Programming, Journal of Optimization Theory and Applications, 135 (3), 2007, pp. 355-366, ISSN: 0022-3239, doi: 10.1007/s10957-007-9264-3.

[4] S. Cafieri, M. D'Apuzzo, V. De Simone, D. di Serafino, On the Iterative Solution of KKT Systems in Potential Reduction Software for Large Scale Quadratic Problems, Computational Optimization and Applications, 38, 2007, pp. 27-45, ISSN: 0926-6003, doi: 10.1007/s10589-007-9035-y.

[5] S. Cafieri, M. D'Apuzzo, V. De Simone, D. di Serafino, Stopping criteria for inner iterations in inexact Potential Reduction methods: a computational study, Computational Optimization and Applications, 36, 2007, pp. 165-193, ISSN: 0926-6003, doi: 10.1007/s10589-006-9007-7.

Code distribution

PRQP is a code used by the authors for research. It can be provided for research use upon request.