Merge pull request #1969 from calcmogul/remove-operator-from-matrix-and-subgraph-preconditioner
Remove operator^ from Matrix and SubgraphPreconditionerrelease/4.3a0
commit
49c67d3819
|
@ -126,17 +126,6 @@ bool linear_dependent(const Matrix& A, const Matrix& B, double tol) {
|
|||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
Vector operator^(const Matrix& A, const Vector & v) {
|
||||
if (A.rows()!=v.size()) {
|
||||
throw std::invalid_argument("Matrix operator^ : A.m(" + std::to_string(A.rows()) + ")!=v.size(" +
|
||||
std::to_string(v.size()) + ")");
|
||||
}
|
||||
// Vector vt = v.transpose();
|
||||
// Vector vtA = vt * A;
|
||||
// return vtA.transpose();
|
||||
return A.transpose() * v;
|
||||
}
|
||||
|
||||
const Eigen::IOFormat& matlabFormat() {
|
||||
static const Eigen::IOFormat matlab(
|
||||
Eigen::StreamPrecision, // precision
|
||||
|
|
|
@ -132,12 +132,6 @@ GTSAM_EXPORT bool linear_independent(const Matrix& A, const Matrix& B, double to
|
|||
*/
|
||||
GTSAM_EXPORT bool linear_dependent(const Matrix& A, const Matrix& B, double tol = 1e-9);
|
||||
|
||||
/**
|
||||
* overload ^ for trans(A)*v
|
||||
* We transpose the vectors for speed.
|
||||
*/
|
||||
GTSAM_EXPORT Vector operator^(const Matrix& A, const Vector & v);
|
||||
|
||||
/** products using old-style format to improve compatibility */
|
||||
template<class MATRIX>
|
||||
inline MATRIX prod(const MATRIX& A, const MATRIX&B) {
|
||||
|
|
|
@ -567,7 +567,7 @@ TEST(Matrix, matrix_vector_multiplication )
|
|||
Vector AtAv = Vector3(142., 188., 234.);
|
||||
|
||||
EQUALITY(A*v,Av);
|
||||
EQUALITY(A^Av,AtAv);
|
||||
EQUALITY(A.transpose() * Av,AtAv);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
|
@ -61,7 +61,7 @@ namespace gtsam {
|
|||
|
||||
/** Apply operator A'*e */
|
||||
Vector operator^(const Vector& e) const {
|
||||
return A_ ^ e;
|
||||
return A_.transpose() * e;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -71,7 +71,7 @@ namespace gtsam {
|
|||
|
||||
/** gradient of objective function 0.5*|Ax-b_|^2 at x = A_'*(Ax-b_) */
|
||||
Vector gradient(const Vector& x) const {
|
||||
return A() ^ (A() * x - b());
|
||||
return A().transpose() * (A() * x - b());
|
||||
}
|
||||
|
||||
/** Apply operator A */
|
||||
|
|
Loading…
Reference in New Issue