#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. |