Psi is an open-source package that implements convex optimisation algorithms. It is designed to provide support for primal-dual simulations in the Puri-Psi package.
- CMake: Program building software.
- tiff: Tag Image File Format library
- OpenMP: Optional. Parallelises operations across multiple threads.
- MPI: Optional. Parallelises operations across multiple processes.
- Eigen 3: Modern C++ linear algebra.
- spdlog: Logging library.
- Catch2: A C++ unit-testing framework.
- google/benchmark: Micro-benchmarking framework.
Once the dependencies are present, the program can be built with:
cd /path/to/code
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
Psi has been developed by:
- Adrian Jackson
- Pierre-Antoine Thouvenin
- Ming Jiang
- Alex Onose
- Yves Wiaux
Psi started life as a fork of the Sopt software package, developed in collaboration with UCL.
Psi: Copyright (C) 2015-2020
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details (LICENSE.txt).
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.