25typedef Eigen::RowVectorXd RowVector;
45 throw std::runtime_error(
"Cannot convert HessianFactor to LinearCost");
52 throw std::runtime_error(
53 "Cannot convert a constrained JacobianFactor to LinearCost");
57 throw std::runtime_error(
58 "Only support single-valued linear cost factor!");
64 Base(i1, A1, Vector1::Zero()) {
69 Base(i1, A1, i2, A2, Vector1::Zero()) {
74 const RowVector& A3) :
75 Base(i1, A1, i2, A2, i3, A3, Vector1::Zero()) {
81 template<
typename TERMS>
83 Base(terms, Vector1::Zero()) {
97 DefaultKeyFormatter)
const override {
104 > (boost::make_shared < LinearCost > (*
this));
109 return unweighted_error(c);
Global functions in a separate testing namespace.
Definition chartTesting.h:28
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition Key.h:35
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition concepts.h:30
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:151
An abstract virtual base class for JacobianFactor and HessianFactor.
Definition GaussianFactor.h:39
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition GaussianFactor.h:42
A Gaussian factor using the canonical parameters (information form).
Definition HessianFactor.h:101
void print(const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
Definition JacobianFactor.cpp:414
const SharedDiagonal & get_model() const
get a copy of model
Definition JacobianFactor.h:291
JacobianFactor(const GaussianFactor &gf)
Convert from other GaussianFactor.
Definition JacobianFactor.cpp:60
bool equals(const GaussianFactor &lf, double tol=1e-9) const override
Equals for testable.
Definition JacobianFactor.cpp:431
bool isConstrained() const
is noise model constrained ?
Definition JacobianFactor.h:269
VectorValues represents a collection of vector-valued variables associated each with a unique integer...
Definition VectorValues.h:74
This class defines a linear cost function c'x which is a JacobianFactor with only one row.
Definition LinearCost.h:31
~LinearCost() override
Virtual destructor.
Definition LinearCost.h:87
LinearCost(Key i1, const RowVector &A1)
Construct unary factor.
Definition LinearCost.h:63
bool equals(const GaussianFactor &lf, double tol=1e-9) const override
equals
Definition LinearCost.h:91
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition LinearCost.h:35
LinearCost(Key i1, const RowVector &A1, Key i2, const RowVector &A2, Key i3, const RowVector &A3)
Construct ternary factor.
Definition LinearCost.h:73
JacobianFactor Base
Typedef to base class.
Definition LinearCost.h:34
Vector error_vector(const VectorValues &c) const
Special error_vector for constraints (A*x-b).
Definition LinearCost.h:108
void print(const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
Definition LinearCost.h:96
LinearCost()
default constructor for I/O
Definition LinearCost.h:39
double error(const VectorValues &c) const override
Special error for single-valued inequality constraints.
Definition LinearCost.h:113
LinearCost This
Typedef to this class.
Definition LinearCost.h:33
LinearCost(const TERMS &terms)
Construct an n-ary factor.
Definition LinearCost.h:82
LinearCost(const HessianFactor &hf)
Conversion from HessianFactor.
Definition LinearCost.h:44
LinearCost(const JacobianFactor &jf)
Conversion from JacobianFactor.
Definition LinearCost.h:49
LinearCost(Key i1, const RowVector &A1, Key i2, const RowVector &A2, double b)
Construct binary factor.
Definition LinearCost.h:68
GaussianFactor::shared_ptr clone() const override
Clone this LinearCost.
Definition LinearCost.h:102