Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
cqpp.hpp File Reference

Classes

class  mundy::CQPP< Backend, LinearOp, QVector, ConvexSpace, Workspace >
 Constrained quadratic programming problem (CQPP) formulation. More...
class  mundy::MCQPP< Backend, LinearOpA, QVector, LinearOpL, FVector, ConvexSpace, WorkspaceA, WorkspaceL >
 Mixed constrained quadratic programming problem (MCQPP) formulation. More...
class  mundy::CongruentMCQPP< Backend, LinearOpDT, LinearOpM, LinearOpD, QVector, LinearOpL, FVector, ConvexSpace, WorkspaceDT, WorkspaceM, WorkspaceD, WorkspaceL >

Namespaces

namespace  mundy

Concepts

concept  mundy::CQPPSolverStrategy
 The strategy interface the solve_cqpp driver requires: initialize/iterate/done/result. Any method that solves a CQPP (PGD today, see pgd.hpp) satisfies this. Structurally generic across iterative methods.

Functions

Problems + state
template<class Backend, class LinearOpA, class QVector, class LinearOpL, class FVector, class ConvexSpace, class AWorkspace, class LWorkspace>
auto mundy::to_cqpp (const MCQPP< Backend, LinearOpA, QVector, LinearOpL, FVector, ConvexSpace, AWorkspace, LWorkspace > &P)
template<class Backend, class LinearOpDT, class LinearOpM, class LinearOpD, class QVector, class LinearOpL, class FVector, class ConvexSpace, class DTWorkspace, class MWorkspace, class DWorkspace, class LWorkspace>
auto mundy::to_cqpp (const CongruentMCQPP< Backend, LinearOpDT, LinearOpM, LinearOpD, QVector, LinearOpL, FVector, ConvexSpace, DTWorkspace, MWorkspace, DWorkspace, LWorkspace > &P)
template<typename Backend, typename LinearOp, typename QVector, ValidConvexSpace ConvexSpace>
auto mundy::make_cqpp (LinearOp &&A, QVector &&q, ConvexSpace &&space)
template<typename Backend, typename LinearOpDT, typename LinearOpM, typename LinearOpD, typename QVector, ValidConvexSpace ConvexSpace>
auto mundy::make_cqpp (LinearOpDT &&DT, LinearOpM &&M, LinearOpD &&D, QVector &&q, ConvexSpace &&space)
template<typename Backend, typename LinearOpDT, typename LinearOpM, typename LinearOpD, typename QVector, ValidConvexSpace ConvexSpace, typename FVector, typename UVector>
auto mundy::make_cqpp (LinearOpDT &&DT, LinearOpM &&M, LinearOpD &&D, QVector &&q, FVector &&f, UVector &&u, ConvexSpace &&space)
template<typename Backend, typename LinearOp, typename QVector, ValidConvexSpace ConvexSpace, typename Workspace>
auto mundy::make_cqpp (LinearOp &&A, QVector &&q, ConvexSpace &&space, Workspace &&workspace)
template<typename Backend, typename LinearOpA, typename QVector, typename LinearOpL, typename FVector, ValidConvexSpace ConvexSpace>
auto mundy::make_mixed_cqpp (LinearOpA &&A, QVector &&q, LinearOpL &&L, FVector &&f_b, ConvexSpace &&space)
template<typename Backend, typename LinearOpA, typename QVector, typename LinearOpL, typename FVector, ValidConvexSpace ConvexSpace, typename AWorkspace, typename LWorkspace>
auto mundy::make_mixed_cqpp (LinearOpA &&A, QVector &&q, LinearOpL &&L, FVector &&f_b, ConvexSpace &&space, AWorkspace &&a_workspace, LWorkspace &&l_workspace)
template<typename Backend, typename LinearOpDT, typename LinearOpM, typename LinearOpD, typename QVector, typename LinearOpL, typename FVector, ValidConvexSpace ConvexSpace>
auto mundy::make_mixed_cqpp (LinearOpDT &&DT, LinearOpM &&M, LinearOpD &&D, QVector &&q, LinearOpL &&L, FVector &&f_b, ConvexSpace &&space)
template<typename Backend, typename LinearOpDT, typename LinearOpM, typename LinearOpD, typename QVector, typename LinearOpB, typename LinearOpS, typename LinearOpBT, typename BVector, ValidConvexSpace ConvexSpace>
auto mundy::make_mixed_cqpp (LinearOpDT &&DT, LinearOpM &&M, LinearOpD &&D, QVector &&q, LinearOpB &&B, LinearOpS &&S, LinearOpBT &&BT, BVector &&b, ConvexSpace &&space)
template<class Problem, class Strategy, class State>
auto mundy::solve_cqpp (const Problem &prob, const Strategy &strat, State &state)
 Solve a constrained quadratic programming problem (CQPP): x* = argmin_{x in Omega} 0.5 x^T A x + q^T x.
template<class Problem, class Strategy, class State>
auto mundy::solve_mixed_cqpp (const Problem &prob, const Strategy &strat, State &state)
 Solve a mixed constrained convex quadratic programming problem (MCQPP).