gtsam  3.2.1
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Matrix.cpp File Reference

matrix class More...

Namespaces

 gtsam
 Global functions in a separate testing namespace.
 

Functions

Matrix gtsam::zeros (size_t m, size_t n)
 Creates an zeros matrix, with matlab-like syntax. More...
 
Matrix gtsam::ones (size_t m, size_t n)
 Creates an ones matrix, with matlab-like syntax.
 
Matrix gtsam::eye (size_t m, size_t n)
 Creates an identity matrix, with matlab-like syntax. More...
 
Matrix gtsam::diag (const Vector &v)
 
bool gtsam::assert_equal (const Matrix &A, const Matrix &B, double tol=1e-9)
 equals with an tolerance, prints out message if unequal More...
 
bool gtsam::assert_inequal (const Matrix &A, const Matrix &B, double tol=1e-9)
 inequals with an tolerance, prints out message if within tolerance More...
 
bool gtsam::assert_equal (const std::list< Matrix > &As, const std::list< Matrix > &Bs, double tol=1e-9)
 equals with an tolerance, prints out message if unequal
 
bool gtsam::linear_independent (const Matrix &A, const Matrix &B, double tol=1e-9)
 check whether the rows of two matrices are linear independent
 
bool gtsam::linear_dependent (const Matrix &A, const Matrix &B, double tol=1e-9)
 check whether the rows of two matrices are linear dependent More...
 
void gtsam::multiplyAdd (double alpha, const Matrix &A, const Vector &x, Vector &e)
 BLAS Level-2 style e <- e + alpha*A*x.
 
void gtsam::multiplyAdd (const Matrix &A, const Vector &x, Vector &e)
 BLAS Level-2 style e <- e + A*x.
 
Vector gtsam::operator^ (const Matrix &A, const Vector &v)
 overload ^ for trans(A)*v We transpose the vectors for speed.
 
void gtsam::transposeMultiplyAdd (double alpha, const Matrix &A, const Vector &e, Vector &x)
 BLAS Level-2 style x <- x + alpha*A'*e.
 
void gtsam::transposeMultiplyAdd (const Matrix &A, const Vector &e, Vector &x)
 BLAS Level-2 style x <- x + A'*e.
 
void gtsam::transposeMultiplyAdd (double alpha, const Matrix &A, const Vector &e, SubVector x)
 BLAS Level-2 style x <- x + alpha*A'*e.
 
void gtsam::print (const Matrix &A, const std::string &s="", std::ostream &stream=std::cout)
 print a matrix More...
 
void gtsam::save (const Matrix &A, const std::string &s, const std::string &filename)
 save a matrix to file, which can be loaded by matlab More...
 
istream & gtsam::operator>> (std::istream &inputStream, Matrix &destinationMatrix)
 Read a matrix from an input stream, such as a file. More...
 
void gtsam::insertSub (Matrix &fullMatrix, const Matrix &subMatrix, size_t i, size_t j)
 
Matrix gtsam::diag (const std::vector< Matrix > &Hs)
 Create a matrix with submatrices along its diagonal.
 
void gtsam::insertColumn (Matrix &A, const Vector &col, size_t j)
 inserts a column into a matrix IN PLACE NOTE: there is no size checking Alternate form allows for vectors smaller than the whole column to be inserted More...
 
void gtsam::insertColumn (Matrix &A, const Vector &col, size_t i, size_t j)
 
Vector gtsam::columnNormSquare (const Matrix &A)
 
void gtsam::solve (Matrix &A, Matrix &B)
 solve AX=B via in-place Lu factorization and backsubstitution After calling, A contains LU, B the solved RHS vectors
 
Matrix gtsam::inverse (const Matrix &A)
 invert A
 
pair< Matrix, Matrix > gtsam::qr (const Matrix &A)
 Householder QR factorization, Golub & Van Loan p 224, explicit version. More...
 
list< boost::tuple< Vector,
double, double > > 
gtsam::weighted_eliminate (Matrix &A, Vector &b, const Vector &sigmas)
 Imperative algorithm for in-place full elimination with weights and constraint handling. More...
 
void gtsam::householder_ (Matrix &A, size_t k, bool copy_vectors)
 Imperative version of Householder QR factorization, Golub & Van Loan p 224 version with Householder vectors below diagonal, as in GVL. More...
 
void gtsam::householder (Matrix &A, size_t k)
 Householder tranformation, zeros below diagonal. More...
 
Vector gtsam::backSubstituteLower (const Matrix &L, const Vector &b, bool unit=false)
 backSubstitute L*x=b More...
 
Vector gtsam::backSubstituteUpper (const Matrix &U, const Vector &b, bool unit=false)
 backSubstitute U*x=b More...
 
Vector gtsam::backSubstituteUpper (const Vector &b, const Matrix &U, bool unit=false)
 backSubstitute x'*U=b' More...
 
Matrix gtsam::stack (size_t nrMatrices,...)
 create a matrix by stacking other matrices Given a set of matrices: A1, A2, A3... More...
 
Matrix gtsam::stack (const std::vector< Matrix > &blocks)
 
Matrix gtsam::collect (const std::vector< const Matrix * > &matrices, size_t m=0, size_t n=0)
 create a matrix by concatenating Given a set of matrices: A1, A2, A3... More...
 
Matrix gtsam::collect (size_t nrMatrices,...)
 
void gtsam::vector_scale_inplace (const Vector &v, Matrix &A, bool inf_mask=false)
 scales a matrix row or column by the values in a vector Arguments (Matrix, Vector) scales the columns, (Vector, Matrix) scales the rows More...
 
Matrix gtsam::vector_scale (const Vector &v, const Matrix &A, bool inf_mask)
 
Matrix gtsam::vector_scale (const Matrix &A, const Vector &v, bool inf_mask)
 
Matrix3 gtsam::skewSymmetric (double wx, double wy, double wz)
 skew symmetric matrix returns this: 0 -wz wy wz 0 -wx -wy wx 0 More...
 
Matrix gtsam::LLt (const Matrix &A)
 Calculate the LL^t decomposition of a S.P.D matrix.
 
Matrix gtsam::RtR (const Matrix &A)
 Calculate the R^tR decomposition of a S.P.D matrix.
 
Matrix gtsam::cholesky_inverse (const Matrix &A)
 Return the inverse of a S.P.D. More...
 
Matrix gtsam::inverse_square_root (const Matrix &A)
 Use Cholesky to calculate inverse square root of a matrix.
 
void gtsam::svd (const Matrix &A, Matrix &U, Vector &S, Matrix &V)
 SVD computes economy SVD A=U*S*V'. More...
 
boost::tuple< int, double, Vector > gtsam::DLT (const Matrix &A, double rank_tol=1e-9)
 Direct linear transform algorithm that calls svd to find a vector v that minimizes the algebraic error A*v. More...
 
Matrix gtsam::expm (const Matrix &A, size_t K=7)
 Numerical exponential map, naive approach, not industrial strength !!! More...
 
Matrix gtsam::Cayley (const Matrix &A)
 Cayley transform.
 
std::string gtsam::formatMatrixIndented (const std::string &label, const Matrix &matrix, bool makeVectorHorizontal)
 

Detailed Description

matrix class

Author
Christian Potthast