18 #ifndef GMM_INTERFACE_HH 19 #define GMM_INTERFACE_HH 39 static inline std::string
name(
void )
53 A.resize(A_stl[0].
size(),A_stl.size());
55 for (
int j=0;
j<A_stl.size() ;
j++){
56 for (
int i=0;
i<A_stl[
j].size() ;
i++){
73 for (
int j=0;
j<
N;
j++){
75 for (
int i=0;
i<
N;
i++){
86 gmm::mult(gmm::transposed(A),gmm::transposed(B), X);
89 static inline void ata_product(
const gene_matrix &
A, gene_matrix &
X,
int N){
90 gmm::mult(gmm::transposed(A),A, X);
93 static inline void aat_product(
const gene_matrix &
A, gene_matrix &
X,
int N){
94 gmm::mult(A,gmm::transposed(A), X);
101 static inline void atv_product(gene_matrix &
A, gene_vector &
B, gene_vector &
X,
int N){
102 gmm::mult(gmm::transposed(A),B,X);
105 static inline void axpy(
const real coef,
const gene_vector &
X, gene_vector &
Y,
int N){
110 gmm::add(gmm::scaled(X,a), gmm::scaled(Y,b), Y);
113 static inline void copy_matrix(
const gene_matrix & source, gene_matrix & cible,
int N){
117 static inline void copy_vector(
const gene_vector & source, gene_vector & cible,
int N){
121 static inline void trisolve_lower(
const gene_matrix &
L,
const gene_vector&
B, gene_vector &
X,
int N){
123 gmm::lower_tri_solve(L, X,
false);
128 std::vector<int> ipvt(N);
129 gmm::lu_factor(R, ipvt);
132 static inline void hessenberg(
const gene_matrix &
X, gene_matrix &
R,
int N){
134 gmm::Hessenberg_reduction(R,X,
false);
139 gmm::Householder_tridiagonalization(R,X,
false);
std::vector< real > stl_vector
static void partial_lu_decomp(const gene_matrix &X, gene_matrix &R, int N)
static void copy_vector(const gene_vector &source, gene_vector &cible, int N)
static std::string name(void)
static void ata_product(const gene_matrix &A, gene_matrix &X, int N)
static void trisolve_lower(const gene_matrix &L, const gene_vector &B, gene_vector &X, int N)
Rot2 R(Rot2::fromAngle(0.1))
static void vector_from_stl(gene_vector &B, stl_vector &B_stl)
static void hessenberg(const gene_matrix &X, gene_matrix &R, int N)
static void atv_product(gene_matrix &A, gene_vector &B, gene_vector &X, int N)
static void transposed_matrix_matrix_product(const gene_matrix &A, const gene_matrix &B, gene_matrix &X, int N)
static void axpy(const real coef, const gene_vector &X, gene_vector &Y, int N)
static void aat_product(const gene_matrix &A, gene_matrix &X, int N)
static void matrix_matrix_product(const gene_matrix &A, const gene_matrix &B, gene_matrix &X, int N)
static void vector_to_stl(gene_vector &B, stl_vector &B_stl)
static void matrix_from_stl(gene_matrix &A, stl_matrix &A_stl)
static void tridiagonalization(const gene_matrix &X, gene_matrix &R, int N)
static void matrix_to_stl(gene_matrix &A, stl_matrix &A_stl)
static void axpby(real a, const gene_vector &X, real b, gene_vector &Y, int N)
static void matrix_vector_product(gene_matrix &A, gene_vector &B, gene_vector &X, int N)
std::vector< stl_vector > stl_matrix
static void copy_matrix(const gene_matrix &source, gene_matrix &cible, int N)
static void free_vector(gene_vector &B)
graph add(PriorFactor< Pose2 >(1, priorMean, priorNoise))
int EIGEN_BLAS_FUNC() copy(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
static void free_matrix(gene_matrix &A, int N)
gmm::dense_matrix< real > gene_matrix