libigl v2.5.0
Loading...
Searching...
No Matches
active_set.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_ACTIVE_SET_H
9#define IGL_ACTIVE_SET_H
10
11#include "igl_inline.h"
12#include "SolverStatus.h"
13#include <Eigen/Core>
14#include <Eigen/Sparse>
15
16namespace igl
17{
18 struct active_set_params;
58 template <
59 typename AT,
60 typename DerivedB,
61 typename Derivedknown,
62 typename DerivedY,
63 typename AeqT,
64 typename DerivedBeq,
65 typename AieqT,
66 typename DerivedBieq,
67 typename Derivedlx,
68 typename Derivedux,
69 typename DerivedZ
70 >
72 const Eigen::SparseMatrix<AT>& A,
73 const Eigen::PlainObjectBase<DerivedB> & B,
74 const Eigen::PlainObjectBase<Derivedknown> & known,
75 const Eigen::PlainObjectBase<DerivedY> & Y,
76 const Eigen::SparseMatrix<AeqT>& Aeq,
77 const Eigen::PlainObjectBase<DerivedBeq> & Beq,
78 const Eigen::SparseMatrix<AieqT>& Aieq,
79 const Eigen::PlainObjectBase<DerivedBieq> & Bieq,
80 const Eigen::PlainObjectBase<Derivedlx> & lx,
81 const Eigen::PlainObjectBase<Derivedux> & ux,
82 const igl::active_set_params & params,
83 Eigen::PlainObjectBase<DerivedZ> & Z
84 );
85};
86
87#include "EPS.h"
115
116#ifndef IGL_STATIC_LIBRARY
117# include "active_set.cpp"
118#endif
119
120#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
const double DOUBLE_EPS
Standard value for double epsilon.
Definition EPS.h:14
SolverStatus
Solver status type used by min_quad_with_fixed.
Definition SolverStatus.h:14
igl::SolverStatus active_set(const Eigen::SparseMatrix< AT > &A, const Eigen::PlainObjectBase< DerivedB > &B, const Eigen::PlainObjectBase< Derivedknown > &known, const Eigen::PlainObjectBase< DerivedY > &Y, const Eigen::SparseMatrix< AeqT > &Aeq, const Eigen::PlainObjectBase< DerivedBeq > &Beq, const Eigen::SparseMatrix< AieqT > &Aieq, const Eigen::PlainObjectBase< DerivedBieq > &Bieq, const Eigen::PlainObjectBase< Derivedlx > &lx, const Eigen::PlainObjectBase< Derivedux > &ux, const igl::active_set_params &params, Eigen::PlainObjectBase< DerivedZ > &Z)
Minimize convex quadratic energy subject to linear inequality constraints.
Input parameters controling active_set.
Definition active_set.h:92
bool Auu_pd
Auu_pd whether Auu is positive definite {false}.
Definition active_set.h:94
double solution_diff_threshold
solution_diff_threshold Threshold on the squared norm of the difference between two consecutive solut...
Definition active_set.h:105
int max_iter
max_iter Maximum number of iterations (0 = Infinity, {100})
Definition active_set.h:96
double constraint_threshold
constraint_threshold Threshold on whether constraints are violated (0 is perfect) {EPS}
Definition active_set.h:102
double inactive_threshold
inactive_threshold Threshold on Lagrange multiplier values to determine whether to keep constraints a...
Definition active_set.h:99