Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
TestHyperGraphOptimizationProblemVertexBased Class Reference
Inheritance diagram for TestHyperGraphOptimizationProblemVertexBased:
Inheritance graph
[legend]

Protected Types

using Edge1T = EdgeGenericScalarFun< pFVectorVertex, pFVectorVertex >
 
using Edge2T = EdgeGenericVectorFun< 2, pFVectorVertex >
 
using Edge3T = EdgeGenericVectorFun< 2, pFVectorVertex, pFVectorVertex >
 
using Edge4T = EdgeGenericVectorFun< 3, pFVectorVertex, pFVectorVertex >
 
using MixedEdge1T = MixedEdgeGenericVectorFun< pFVectorVertex, pFVectorVertex >
 
using MixedEdge2T = MixedEdgeGenericVectorFun< pFVectorVertex, pFVectorVertex >
 

Protected Member Functions

void computeSparseHessianEqualitiesViaTriplets (int nnz, int n, Eigen::SparseMatrix< double > &hessian, const double *multipliers=nullptr, bool lower_part_only=false)
 
void computeSparseHessianInequalitiesViaTriplets (int nnz, int n, Eigen::SparseMatrix< double > &hessian, const double *multipliers=nullptr, bool lower_part_only=false)
 
void computeSparseHessianObjectiveViaTriplets (int nnz, int n, Eigen::SparseMatrix< double > &hessian, double multiplier=1.0, bool lower_part_only=false)
 
void computeSparseHessiansViaTriplets (int nnz_obj, int n_obj, Eigen::SparseMatrix< double > &hessian_obj, int nnz_eq, int n_eq, Eigen::SparseMatrix< double > &hessian_eq, int nnz_ineq, int n_ineq, Eigen::SparseMatrix< double > &hessian_ineq, double multiplier_obj=1.0, const double *multipliers_eq=nullptr, const double *multipliers_ineq=nullptr, bool lower_part_only=false)
 
void computeSparseJacobianActiveInequalitiesViaTriplets (int nnz, int n, int m, Eigen::SparseMatrix< double > &jacobian, double weight=1.0)
 
void computeSparseJacobianEqualitiesViaTriplets (int nnz, int n, int m, Eigen::SparseMatrix< double > &jacobian, const double *multipliers=nullptr)
 
void computeSparseJacobianFiniteCombinedBoundsViaTriplets (int nnz, int n, int m, Eigen::SparseMatrix< double > &jacobian, double weight=1.0)
 
void computeSparseJacobianInequalitiesViaTriplets (int nnz, int n, int m, Eigen::SparseMatrix< double > &jacobian, const double *multipliers=nullptr)
 
void computeSparseJacobianObjectiveViaTriplets (int nnz, int n, int m, Eigen::SparseMatrix< double > &jacobian, const double *multipliers=nullptr)
 
void computeSparseJacobiansViaTriplets (int nnz_obj, int n_obj, int m_obj, Eigen::SparseMatrix< double > &jacobian_obj, int nnz_eq, int n_eq, int m_eq, Eigen::SparseMatrix< double > &jacobian_eq, int nnz_ineq, int n_ineq, int m_ineq, Eigen::SparseMatrix< double > &jacobian_ineq, const double *multipliers_obj=nullptr, const double *multipliers_eq=nullptr, const double *multipliers_ineq=nullptr, bool active_ineq=false, double active_ineq_weight=1.0)
 
void mixed_edge1_eq (const MixedEdge1T::VertexContainer &vertices, Eigen::Ref< Eigen::VectorXd > values_eq)
 
void mixed_edge1_ineq (const MixedEdge1T::VertexContainer &vertices, Eigen::Ref< Eigen::VectorXd > values_ineq)
 
void mixed_edge1_obj (const MixedEdge1T::VertexContainer &vertices, Eigen::Ref< Eigen::VectorXd > values_obj)
 
void mixed_edge1_precompute (const Edge4T::VertexContainer &vertices)
 
void mixed_edge2_eq (const MixedEdge1T::VertexContainer &vertices, Eigen::Ref< Eigen::VectorXd > values_eq)
 
void mixed_edge2_ineq (const MixedEdge1T::VertexContainer &vertices, Eigen::Ref< Eigen::VectorXd > values_ineq)
 
void mixed_edge2_obj (const MixedEdge1T::VertexContainer &vertices, Eigen::Ref< Eigen::VectorXd > values_obj)
 
void mixed_edge2_precompute (const Edge4T::VertexContainer &vertices)
 
void SetUp () override
 
void testCombinedSparseJacobian (const Eigen::MatrixXd *jacobian_lsq_obj_sol, const Eigen::MatrixXd *jacobian_eq_sol, const Eigen::MatrixXd *jacobian_ineq_sol, double tol, const Eigen::MatrixXd *finite_combined_bounds=nullptr, bool active_ineq=false, double weight_eq=1.0, double weight_ineq=1.0, double weight_bounds=1.0)
 
 TestHyperGraphOptimizationProblemVertexBased ()
 
void testObjectiveAndEqualityAndInequalityHessians (const Eigen::MatrixXd &hessian_obj_sol, const Eigen::MatrixXd &hessian_eq_sol, const Eigen::MatrixXd &hessian_ineq_sol, int dim_eq, int dim_ineq, int nnz_min_obj, int nnz_min_eq, int nnz_min_ineq, double tol, double multiplier_obj=1.0, const double *multipliers_eq=nullptr, const double *multipliers_ineq=nullptr)
 
void testObjectiveAndEqualityAndInequalityJacobians (const Eigen::VectorXd &gradient_obj_sol, const Eigen::VectorXd &gradient_non_lsq_obj_sol, const Eigen::MatrixXd &jacobian_lsq_obj_sol, const Eigen::MatrixXd &jacobian_eq_sol, const Eigen::MatrixXd &jacobian_ineq_sol, int nnz_min_obj, int nnz_min_eq, int nnz_min_ineq, double tol, const double *multipliers_lsq_obj=nullptr, const double *multipliers_eq=nullptr, const double *multipliers_ineq=nullptr)
 
virtual ~TestHyperGraphOptimizationProblemVertexBased ()
 

Static Protected Member Functions

static double edge1_fun (const Edge1T::VertexContainer &vertices)
 
static void edge2_fun (const Edge2T::VertexContainer &vertices, Eigen::Ref< Edge2T::ErrorVector > values)
 
static void edge3_fun (const Edge1T::VertexContainer &vertices, Eigen::Ref< Edge2T::ErrorVector > values)
 
static void edge4_fun (const Edge4T::VertexContainer &vertices, Eigen::Ref< Edge4T::ErrorVector > values)
 

Protected Attributes

OptimizationEdgeSet::Ptr edges
 
double mixed_edge_aux = 1.0
 
HyperGraphOptimizationProblem optim
 
pFVectorVertex::Ptr v1
 
pFVectorVertex::Ptr v2
 
VertexSet::Ptr vertices
 

Detailed Description

Definition at line 53 of file test_hyper_graph_optimization_problem_vertex_based.cpp.

Member Typedef Documentation

◆ Edge1T

◆ Edge2T

◆ Edge3T

◆ Edge4T

◆ MixedEdge1T

◆ MixedEdge2T

Constructor & Destructor Documentation

◆ TestHyperGraphOptimizationProblemVertexBased()

TestHyperGraphOptimizationProblemVertexBased::TestHyperGraphOptimizationProblemVertexBased ( )
inlineprotected

◆ ~TestHyperGraphOptimizationProblemVertexBased()

virtual TestHyperGraphOptimizationProblemVertexBased::~TestHyperGraphOptimizationProblemVertexBased ( )
inlineprotectedvirtual

Member Function Documentation

◆ computeSparseHessianEqualitiesViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseHessianEqualitiesViaTriplets ( int  nnz,
int  n,
Eigen::SparseMatrix< double > &  hessian,
const double *  multipliers = nullptr,
bool  lower_part_only = false 
)
inlineprotected

◆ computeSparseHessianInequalitiesViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseHessianInequalitiesViaTriplets ( int  nnz,
int  n,
Eigen::SparseMatrix< double > &  hessian,
const double *  multipliers = nullptr,
bool  lower_part_only = false 
)
inlineprotected

◆ computeSparseHessianObjectiveViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseHessianObjectiveViaTriplets ( int  nnz,
int  n,
Eigen::SparseMatrix< double > &  hessian,
double  multiplier = 1.0,
bool  lower_part_only = false 
)
inlineprotected

◆ computeSparseHessiansViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseHessiansViaTriplets ( int  nnz_obj,
int  n_obj,
Eigen::SparseMatrix< double > &  hessian_obj,
int  nnz_eq,
int  n_eq,
Eigen::SparseMatrix< double > &  hessian_eq,
int  nnz_ineq,
int  n_ineq,
Eigen::SparseMatrix< double > &  hessian_ineq,
double  multiplier_obj = 1.0,
const double *  multipliers_eq = nullptr,
const double *  multipliers_ineq = nullptr,
bool  lower_part_only = false 
)
inlineprotected

◆ computeSparseJacobianActiveInequalitiesViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseJacobianActiveInequalitiesViaTriplets ( int  nnz,
int  n,
int  m,
Eigen::SparseMatrix< double > &  jacobian,
double  weight = 1.0 
)
inlineprotected

◆ computeSparseJacobianEqualitiesViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseJacobianEqualitiesViaTriplets ( int  nnz,
int  n,
int  m,
Eigen::SparseMatrix< double > &  jacobian,
const double *  multipliers = nullptr 
)
inlineprotected

◆ computeSparseJacobianFiniteCombinedBoundsViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseJacobianFiniteCombinedBoundsViaTriplets ( int  nnz,
int  n,
int  m,
Eigen::SparseMatrix< double > &  jacobian,
double  weight = 1.0 
)
inlineprotected

◆ computeSparseJacobianInequalitiesViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseJacobianInequalitiesViaTriplets ( int  nnz,
int  n,
int  m,
Eigen::SparseMatrix< double > &  jacobian,
const double *  multipliers = nullptr 
)
inlineprotected

◆ computeSparseJacobianObjectiveViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseJacobianObjectiveViaTriplets ( int  nnz,
int  n,
int  m,
Eigen::SparseMatrix< double > &  jacobian,
const double *  multipliers = nullptr 
)
inlineprotected

◆ computeSparseJacobiansViaTriplets()

void TestHyperGraphOptimizationProblemVertexBased::computeSparseJacobiansViaTriplets ( int  nnz_obj,
int  n_obj,
int  m_obj,
Eigen::SparseMatrix< double > &  jacobian_obj,
int  nnz_eq,
int  n_eq,
int  m_eq,
Eigen::SparseMatrix< double > &  jacobian_eq,
int  nnz_ineq,
int  n_ineq,
int  m_ineq,
Eigen::SparseMatrix< double > &  jacobian_ineq,
const double *  multipliers_obj = nullptr,
const double *  multipliers_eq = nullptr,
const double *  multipliers_ineq = nullptr,
bool  active_ineq = false,
double  active_ineq_weight = 1.0 
)
inlineprotected

◆ edge1_fun()

static double TestHyperGraphOptimizationProblemVertexBased::edge1_fun ( const Edge1T::VertexContainer vertices)
inlinestaticprotected

◆ edge2_fun()

static void TestHyperGraphOptimizationProblemVertexBased::edge2_fun ( const Edge2T::VertexContainer vertices,
Eigen::Ref< Edge2T::ErrorVector values 
)
inlinestaticprotected

◆ edge3_fun()

static void TestHyperGraphOptimizationProblemVertexBased::edge3_fun ( const Edge1T::VertexContainer vertices,
Eigen::Ref< Edge2T::ErrorVector values 
)
inlinestaticprotected

◆ edge4_fun()

static void TestHyperGraphOptimizationProblemVertexBased::edge4_fun ( const Edge4T::VertexContainer vertices,
Eigen::Ref< Edge4T::ErrorVector values 
)
inlinestaticprotected

◆ mixed_edge1_eq()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge1_eq ( const MixedEdge1T::VertexContainer vertices,
Eigen::Ref< Eigen::VectorXd >  values_eq 
)
inlineprotected

◆ mixed_edge1_ineq()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge1_ineq ( const MixedEdge1T::VertexContainer vertices,
Eigen::Ref< Eigen::VectorXd >  values_ineq 
)
inlineprotected

◆ mixed_edge1_obj()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge1_obj ( const MixedEdge1T::VertexContainer vertices,
Eigen::Ref< Eigen::VectorXd >  values_obj 
)
inlineprotected

◆ mixed_edge1_precompute()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge1_precompute ( const Edge4T::VertexContainer vertices)
inlineprotected

◆ mixed_edge2_eq()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge2_eq ( const MixedEdge1T::VertexContainer vertices,
Eigen::Ref< Eigen::VectorXd >  values_eq 
)
inlineprotected

◆ mixed_edge2_ineq()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge2_ineq ( const MixedEdge1T::VertexContainer vertices,
Eigen::Ref< Eigen::VectorXd >  values_ineq 
)
inlineprotected

◆ mixed_edge2_obj()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge2_obj ( const MixedEdge1T::VertexContainer vertices,
Eigen::Ref< Eigen::VectorXd >  values_obj 
)
inlineprotected

◆ mixed_edge2_precompute()

void TestHyperGraphOptimizationProblemVertexBased::mixed_edge2_precompute ( const Edge4T::VertexContainer vertices)
inlineprotected

◆ SetUp()

void TestHyperGraphOptimizationProblemVertexBased::SetUp ( )
inlineoverrideprotected

◆ testCombinedSparseJacobian()

void TestHyperGraphOptimizationProblemVertexBased::testCombinedSparseJacobian ( const Eigen::MatrixXd *  jacobian_lsq_obj_sol,
const Eigen::MatrixXd *  jacobian_eq_sol,
const Eigen::MatrixXd *  jacobian_ineq_sol,
double  tol,
const Eigen::MatrixXd *  finite_combined_bounds = nullptr,
bool  active_ineq = false,
double  weight_eq = 1.0,
double  weight_ineq = 1.0,
double  weight_bounds = 1.0 
)
inlineprotected

◆ testObjectiveAndEqualityAndInequalityHessians()

void TestHyperGraphOptimizationProblemVertexBased::testObjectiveAndEqualityAndInequalityHessians ( const Eigen::MatrixXd &  hessian_obj_sol,
const Eigen::MatrixXd &  hessian_eq_sol,
const Eigen::MatrixXd &  hessian_ineq_sol,
int  dim_eq,
int  dim_ineq,
int  nnz_min_obj,
int  nnz_min_eq,
int  nnz_min_ineq,
double  tol,
double  multiplier_obj = 1.0,
const double *  multipliers_eq = nullptr,
const double *  multipliers_ineq = nullptr 
)
inlineprotected

◆ testObjectiveAndEqualityAndInequalityJacobians()

void TestHyperGraphOptimizationProblemVertexBased::testObjectiveAndEqualityAndInequalityJacobians ( const Eigen::VectorXd &  gradient_obj_sol,
const Eigen::VectorXd &  gradient_non_lsq_obj_sol,
const Eigen::MatrixXd &  jacobian_lsq_obj_sol,
const Eigen::MatrixXd &  jacobian_eq_sol,
const Eigen::MatrixXd &  jacobian_ineq_sol,
int  nnz_min_obj,
int  nnz_min_eq,
int  nnz_min_ineq,
double  tol,
const double *  multipliers_lsq_obj = nullptr,
const double *  multipliers_eq = nullptr,
const double *  multipliers_ineq = nullptr 
)
inlineprotected

Member Data Documentation

◆ edges

OptimizationEdgeSet::Ptr TestHyperGraphOptimizationProblemVertexBased::edges
protected

◆ mixed_edge_aux

double TestHyperGraphOptimizationProblemVertexBased::mixed_edge_aux = 1.0
protected

◆ optim

HyperGraphOptimizationProblem TestHyperGraphOptimizationProblemVertexBased::optim
protected

◆ v1

pFVectorVertex::Ptr TestHyperGraphOptimizationProblemVertexBased::v1
protected

◆ v2

pFVectorVertex::Ptr TestHyperGraphOptimizationProblemVertexBased::v2
protected

◆ vertices

VertexSet::Ptr TestHyperGraphOptimizationProblemVertexBased::vertices
protected

The documentation for this class was generated from the following file:


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:02