#include <boost/numeric/ublas/banded.hpp>#include <boost/numeric/ublas/matrix.hpp>#include <boost/numeric/ublas/symmetric.hpp>#include <boost/numeric/ublas/vector.hpp>#include <boost/numeric/ublas/operation.hpp>#include <boost/numeric/ublas/lu.hpp>#include <boost/numeric/ublas/vector_proxy.hpp>#include <cassert>#include "mimasconfig.h"#include "angle.h"#include "mimasexception.h"#include "linalg.tcc"Include dependency graph for linalg.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Namespaces | |
| namespace | mimas |
Classes | |
| struct | mimas::gglse_t< T > |
| Function-object for gglse. More... | |
| struct | mimas::inv_t< T > |
| Function-object for inv. More... | |
| struct | mimas::gels_t< T > |
| Function-object for gels. More... | |
| struct | mimas::gesvd_t< T > |
| Function-object for gesvd. More... | |
| struct | mimas::gesdd_t< T > |
| Function-wrapper for gesdd. More... | |
| struct | mimas::syev_t< T > |
| Function-wrapper for syev. More... | |
| struct | mimas::pptrf_t< T > |
| Function-object for pptrf. More... | |
Functions | |
| template<typename T> | |
| boost::numeric::ublas::vector< T > | mimas::unit (const boost::numeric::ublas::vector< T > &x) |
| Compute unit vector. | |
| template<typename T> | |
| T | mimas::scalar_cross_product (const boost::numeric::ublas::vector< T > &a, const boost::numeric::ublas::vector< T > &b) |
| Scalar cross product. | |
| template<typename T> | |
| angle | mimas::getAngle (const boost::numeric::ublas::vector< T > &a, const boost::numeric::ublas::vector< T > &b) |
| Compute angle between two 2-dimensional vectors. | |
| template<typename T> | |
| boost::numeric::ublas::vector< T > | mimas::rotate (const boost::numeric::ublas::vector< T > &v, const angle &a) |
| 2-dimensional rotation in the mathematical direction. | |
| template<typename T> | |
| boost::numeric::ublas::vector< T > | mimas::crossProduct (boost::numeric::ublas::vector< T > &a, boost::numeric::ublas::vector< T > &b) |
| Cross product for 3-dimensional vectors. | |
| template<typename T> | |
| boost::numeric::ublas::vector< T > | mimas::rodrigues (boost::numeric::ublas::vector< T > const &u, boost::numeric::ublas::vector< T > const &v, double angle) |
| Rodrigues' rotation formula. | |
| template<typename T> | |
| double | mimas::determinant (boost::numeric::ublas::matrix< T > const &M) |
| Determinant of a matrix using the LU factorization. | |
| template<typename T> | |
| boost::numeric::ublas::vector< T > | mimas::gglse (const boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > &A, const boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > &B, const boost::numeric::ublas::vector< T > &c, const boost::numeric::ublas::vector< T > &d) |
| Solve the linear equality-constrained least squares (LSE) problem. | |
| template<typename T> | |
| boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > | mimas::inv (const boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > &A) |
| Compute matrix inverse by using LU factorization. | |
| template<typename T> | |
| boost::numeric::ublas::vector< T > | mimas::gels (const boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > &A, const boost::numeric::ublas::vector< T > &b) |
| solve overdetermined linear systems using QR factorization. | |
| template<typename T> | |
| boost::numeric::ublas::banded_matrix< T > | mimas::gesvd (const boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > &A, boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > *U, boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > *Vt) |
| Compute the singular value decomposition (SVD) of a matrix A. | |
| template<typename T> | |
| boost::numeric::ublas::banded_matrix< T > | mimas::gesdd (const boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > &A, boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > *U, boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > *Vt) |
| Compute the singular value decomposition (SVD) of a matrix A (fast). | |
| template<typename T> | |
| boost::numeric::ublas::diagonal_matrix< T > | mimas::syev (const boost::numeric::ublas::symmetric_matrix< T, boost::numeric::ublas::upper > &A, boost::numeric::ublas::matrix< T, boost::numeric::ublas::column_major > *E) |
| Compute all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. | |
| template<typename T> | |
| boost::numeric::ublas::triangular_matrix< T, boost::numeric::ublas::upper, boost::numeric::ublas::column_major > | mimas::pptrf (const boost::numeric::ublas::symmetric_matrix< T, boost::numeric::ublas::upper, boost::numeric::ublas::column_major > &A) |
| Compute the Cholesky decomposition of a symmetric matrix A. | |