Pipal  1.2.0
Penalty Interior-Point ALgorithm
Loading...
Searching...
No Matches
Types.hxx File Reference
#include <string>
#include <iostream>
#include <iomanip>
#include <ostream>
#include <cmath>
#include <limits>
#include <algorithm>
#include <functional>
#include <type_traits>
#include <numeric>
#include <memory>
#include <Eigen/Dense>
#include <Eigen/Sparse>
#include <Eigen/SparseCholesky>
Include dependency graph for Types.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Pipal::Parameter< Real >
 Internal parameters for the solver algorithm. More...
struct  Pipal::Input< Real >
 Input structure holding all the data defining the optimization problem. More...
struct  Pipal::Iterate< Real >
 Class for managing the current iterate of the solver. More...
struct  Pipal::Direction< Real >
 Class for managing the current search direction of the solver. More...
struct  Pipal::Acceptance< Real >
 Class for managing the acceptance criteria of the solver. More...

Namespaces

namespace  Pipal
 Namespace for the Pipal library.

Macros

#define INCLUDE_PIPAL_DEFINES_HXX
#define PIPAL_ERROR(MSG)
#define PIPAL_ASSERT(COND, MSG)
#define PIPAL_WARNING(MSG)
#define PIPAL_ASSERT_WARNING(COND, MSG)
#define PIPAL_DEFAULT_INTEGER_TYPE   int
#define CMD   "Pipal::Solver::insert_block(...): "
#define CMD   "Pipal::Solver::insert_block(...): "

Typedefs

using Pipal::Integer = PIPAL_DEFAULT_INTEGER_TYPE
 The Integer type as used for the API.
template<typename Real>
using Pipal::Vector = Eigen::Vector<Real, Eigen::Dynamic>
template<typename Real>
using Pipal::Matrix = Eigen::Matrix<Real, Eigen::Dynamic, Eigen::Dynamic>
template<typename Real>
using Pipal::SparseMatrix = Eigen::SparseMatrix<Real>
template<typename Real>
using Pipal::Array = Eigen::Array<Real, Eigen::Dynamic, 1>
using Pipal::Indices = Eigen::Array<Integer, Eigen::Dynamic, 1>
using Pipal::Mask = Eigen::Array<bool, Eigen::Dynamic, 1>
using Pipal::Algorithm = enum class Algorithm : Integer {CONSERVATIVE = 0, ADAPTIVE = 1}
 Enumeration for the algorithm choice.
using Pipal::Counter
 Internal counters for solver statistics.

Functions

static Indices Pipal::find (Mask const &mask)
 Select elements from a vector based on a boolean mask.
template<typename Real>
static void Pipal::insert_block (SparseMatrix< Real > &mat, SparseMatrix< Real > const &blk, Integer const row_offset, Integer const col_offset)
 Insert a sparse block into a sparse matrix at the specified offsets.
template<typename Real>
static void Pipal::insert_block (SparseMatrix< Real > &mat, SparseMatrix< Real > const &blk, Indices const row_index, Indices const col_index, Integer const row_offset, Integer const col_offset)
 Insert a sparse block into a sparse matrix at the specified offsets.

Macro Definition Documentation

◆ CMD [1/2]

#define CMD   "Pipal::Solver::insert_block(...): "

◆ CMD [2/2]

#define CMD   "Pipal::Solver::insert_block(...): "

◆ INCLUDE_PIPAL_DEFINES_HXX

#define INCLUDE_PIPAL_DEFINES_HXX

◆ PIPAL_ASSERT

#define PIPAL_ASSERT ( COND,
MSG )
Value:
if (!(COND)) \
{ \
PIPAL_ERROR(MSG); \
}

◆ PIPAL_ASSERT_WARNING

#define PIPAL_ASSERT_WARNING ( COND,
MSG )
Value:
if (!(COND)) \
{ \
PIPAL_WARNING(MSG); \
}

◆ PIPAL_DEFAULT_INTEGER_TYPE

#define PIPAL_DEFAULT_INTEGER_TYPE   int

◆ PIPAL_ERROR

#define PIPAL_ERROR ( MSG)
Value:
{ \
std::ostringstream os; \
os << MSG; \
throw std::runtime_error(os.str()); \
}

◆ PIPAL_WARNING

#define PIPAL_WARNING ( MSG)
Value:
{ \
std::cout << MSG << std::endl; \
}