26 template<
typename TERMS>
33 template<
typename KEYS>
44 throw std::invalid_argument(
45 "Error in JacobianFactor constructor input. Number of provided keys plus\n"
46 "one for the RHS vector must equal the number of provided matrix blocks.");
49 if(augmentedMatrix(augmentedMatrix.
nBlocks() - 1).
cols() != 1)
50 throw std::invalid_argument(
51 "Error in JacobianFactor constructor input. The last provided matrix block\n"
52 "must be the RHS vector, but the last provided block had more than one column.");
59 template<
typename TERMS>
63 if(noiseModel && (
DenseIndex)noiseModel->dim() !=
b.size())
72 for(
typename TERMS::const_iterator it = terms.begin(); it != terms.end(); ++it) {
73 const std::pair<Key, Matrix>& term = *it;
74 const Matrix& Ai = term.second;
83 for(
typename TERMS::const_iterator it = terms.begin(); it != terms.end(); ++it) {
84 const std::pair<Key, Matrix>& term = *it;
86 const Matrix& Ai = term.second;