#include "boost/version.hpp"#include <boost/preprocessor/cat.hpp>#include <boost/preprocessor/stringize.hpp>#include "boost/numeric/bindings/traits/ublas_matrix.hpp"#include "boost/numeric/bindings/traits/std_vector.hpp"#include "boost/numeric/ublas/matrix_proxy.hpp"#include "boost/numeric/ublas/matrix.hpp"#include "boost/numeric/ublas/io.hpp"#include "boost/numeric/ublas/operation.hpp"#include "boost/numeric/ublas/vector.hpp"#include "boost/numeric/ublas/vector_proxy.hpp"#include "boost/numeric/ublas/triangular.hpp"#include "boost/numeric/ublas/lu.hpp"#include "boost/numeric/bindings/lapack/gesvd.hpp"Macros | |
| #define | MRAWDATA(x) traits::matrix_storage(x) |
| #define | VRAWDATA(x) traits::vector_storage(x) |
| #define | MAL_VECTOR_TYPE(type) boost_ublas::vector<type> |
| #define | MAL_VECTOR(name, type) boost_ublas::vector<type> name |
| #define | MAL_VECTOR_DIM(name, type, nb_rows) boost_ublas::vector<type> name(nb_rows) |
| #define | MAL_VECTOR_SIZE(name) name.size() |
| #define | MAL_VECTOR_RESIZE(name, nb_rows) name.resize(nb_rows) |
| #define | MAL_VECTOR_FILL(name, value) { for(unsigned int i=0;i<name.size();name[i++]=value) ;} |
| #define | MAL_VECTOR_NORM(name) boost_ublas::norm_2(name) |
| #define | MAL_VECTOR_3D_CROSS_PRODUCT(res, v1, v2) |
| #define | MAL_RET_VECTOR_DATABLOCK(name) VRAWDATA(name) |
| #define | MAL_MATRIX_TYPE(type) boost_ublas::matrix<type> |
| #define | MAL_MATRIX(name, type) boost_ublas::matrix<type> name |
| #define | MAL_MATRIX_(type) boost_ublas::matrix<type> |
| #define | MAL_MATRIX_DIM(name, type, nb_rows, nb_cols) boost_ublas::matrix<type> name(nb_rows,nb_cols) |
| #define | MAL_MATRIX_RESIZE(name, nb_rows, nb_cols) name.resize(nb_rows,nb_cols) |
| #define | MAL_MATRIX_NB_ROWS(name) name.size1() |
| #define | MAL_MATRIX_NB_COLS(name) name.size2() |
| #define | MAL_MATRIX_CLEAR(name) name.clear() |
| #define | MAL_INVERSE(name, inv_matrix, type) |
| #define | MAL_PSEUDOINVERSE(matrix, pinv_matrix, type) |
| #define | MAL_RET_TRANSPOSE(matrix) trans(matrix) |
| #define | MAL_TRANSPOSE_A_in_At(A, At) At=trans(A) |
| #define | MAL_RET_TRANSPOSE_IN_PLACE(matrix) matrix=trans(matrix) |
| #define | MAL_RET_A_by_B(A, B) prod(A,B) |
| #define | MAL_C_eq_A_by_B(C, A, B) |
| #define | MAL_MATRIX_SET_IDENTITY(matrix) |
| #define | MAL_MATRIX_FILL(matrix, value) |
| #define | MAL_RET_MATRIX_DATABLOCK(matrix) MRAWDATA(matrix) |
| #define | MAL_MATRIX_C_eq_EXTRACT_A(C, A, type, top, left, nbrows, nbcols) |
| #define | MAL_MATRIX_RET_DETERMINANT(name, type) __ret_mal_matrix_ret_determinant<type>(name) |
| #define | _MAL_VERSION_ 1 |
Typedefs | |
| typedef boost_ublas::vector< double > | vectorN |
| typedef boost_ublas::matrix< double > | matrixNxP |
Functions | |
| void | dgesvd_ (char const *jobu, char const *jobvt, int const *m, int const *n, double *a, int const *lda, double *s, double *u, int const *ldu, double *vt, int const *ldvt, double *work, int const *lwork, int *info) |
| template<class type > | |
| double | __ret_mal_matrix_ret_determinant (boost_ublas::matrix< type > const &m) |
| #define _MAL_VERSION_ 1 |
| #define MAL_C_eq_A_by_B | ( | C, | |
| A, | |||
| B | |||
| ) |
| #define MAL_INVERSE | ( | name, | |
| inv_matrix, | |||
| type | |||
| ) |
| #define MAL_MATRIX | ( | name, | |
| type | |||
| ) | boost_ublas::matrix<type> name |
| #define MAL_MATRIX_ | ( | type | ) | boost_ublas::matrix<type> |
| #define MAL_MATRIX_C_eq_EXTRACT_A | ( | C, | |
| A, | |||
| type, | |||
| top, | |||
| left, | |||
| nbrows, | |||
| nbcols | |||
| ) |
| #define MAL_MATRIX_CLEAR | ( | name | ) | name.clear() |
| #define MAL_MATRIX_DIM | ( | name, | |
| type, | |||
| nb_rows, | |||
| nb_cols | |||
| ) | boost_ublas::matrix<type> name(nb_rows,nb_cols) |
| #define MAL_MATRIX_FILL | ( | matrix, | |
| value | |||
| ) |
| #define MAL_MATRIX_NB_COLS | ( | name | ) | name.size2() |
| #define MAL_MATRIX_NB_ROWS | ( | name | ) | name.size1() |
| #define MAL_MATRIX_RESIZE | ( | name, | |
| nb_rows, | |||
| nb_cols | |||
| ) | name.resize(nb_rows,nb_cols) |
| #define MAL_MATRIX_RET_DETERMINANT | ( | name, | |
| type | |||
| ) | __ret_mal_matrix_ret_determinant<type>(name) |
| #define MAL_MATRIX_SET_IDENTITY | ( | matrix | ) |
| #define MAL_MATRIX_TYPE | ( | type | ) | boost_ublas::matrix<type> |
| #define MAL_PSEUDOINVERSE | ( | matrix, | |
| pinv_matrix, | |||
| type | |||
| ) |
| #define MAL_RET_A_by_B | ( | A, | |
| B | |||
| ) | prod(A,B) |
| #define MAL_RET_MATRIX_DATABLOCK | ( | matrix | ) | MRAWDATA(matrix) |
| #define MAL_RET_TRANSPOSE | ( | matrix | ) | trans(matrix) |
| #define MAL_RET_TRANSPOSE_IN_PLACE | ( | matrix | ) | matrix=trans(matrix) |
| #define MAL_RET_VECTOR_DATABLOCK | ( | name | ) | VRAWDATA(name) |
| #define MAL_TRANSPOSE_A_in_At | ( | A, | |
| At | |||
| ) | At=trans(A) |
| #define MAL_VECTOR | ( | name, | |
| type | |||
| ) | boost_ublas::vector<type> name |
| #define MAL_VECTOR_3D_CROSS_PRODUCT | ( | res, | |
| v1, | |||
| v2 | |||
| ) |
| #define MAL_VECTOR_DIM | ( | name, | |
| type, | |||
| nb_rows | |||
| ) | boost_ublas::vector<type> name(nb_rows) |
| #define MAL_VECTOR_FILL | ( | name, | |
| value | |||
| ) | { for(unsigned int i=0;i<name.size();name[i++]=value) ;} |
| #define MAL_VECTOR_NORM | ( | name | ) | boost_ublas::norm_2(name) |
| #define MAL_VECTOR_RESIZE | ( | name, | |
| nb_rows | |||
| ) | name.resize(nb_rows) |
| #define MAL_VECTOR_SIZE | ( | name | ) | name.size() |
| #define MAL_VECTOR_TYPE | ( | type | ) | boost_ublas::vector<type> |
| #define MRAWDATA | ( | x | ) | traits::matrix_storage(x) |
| #define VRAWDATA | ( | x | ) | traits::vector_storage(x) |
| typedef boost_ublas::matrix<double> matrixNxP |
| typedef boost_ublas::vector<double> vectorN |
|
inline |
| void dgesvd_ | ( | char const * | jobu, |
| char const * | jobvt, | ||
| int const * | m, | ||
| int const * | n, | ||
| double * | a, | ||
| int const * | lda, | ||
| double * | s, | ||
| double * | u, | ||
| int const * | ldu, | ||
| double * | vt, | ||
| int const * | ldvt, | ||
| double * | work, | ||
| int const * | lwork, | ||
| int * | info | ||
| ) |