Friend, I try to run your project but I have errors.
I installed all the necessary packages: ATLAS, ARPACK, LAPACK, BLAS and ARMADILLO.
Which versions do you use?
ERROR:
joahannes@Joahannes:~/Downloads/kalman-cpp-master$ g++ main5.cpp -o test -O2 -larmadillo ekf.cpp
/tmp/ccAJNHBr.o: na função void arma::glue_times_redirect2_helper<false>::apply<arma::Mat<double>, arma::Col<double> >(arma::Mat<arma::Mat<double>::elem_type>&, arma::Glue<arma::Mat<double>, arma::Col<double>, arma::glue_times> const&)': ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE[_ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE]+0x12c): referência indefinida para
wrapper_dgemv_'
ekf.cpp:(.text.hot.ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE[ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE]+0x2f3): referência indefinida para wrapper_dgemv_' ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE[_ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE]+0x807): referência indefinida para
wrapper_dgemv'
/tmp/ccAJNHBr.o: na função void arma::glue_times::apply<double, false, false, false, arma::Mat<double>, arma::Mat<double> >(arma::Mat<double>&, arma::Mat<double> const&, arma::Mat<double> const&, double)': ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_[_ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_]+0x286): referência indefinida para
wrapper_dgemm'
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4[ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4]+0x4be): referência indefinida para wrapper_dgemv_' /tmp/ccAJNHBr.o: na função
arma::arma_real_only::result arma::op_dot::direct_dot(unsigned int, double const*, double const*)':
ekf.cpp:(.text.hot.ZN4arma6op_dot10direct_dotIdEENS_14arma_real_onlyIT_E6resultEjPKS3_S7[ZN4arma6op_dot10direct_dotIdEENS_14arma_real_onlyIT_E6resultEjPKS3_S7]+0xca): referência indefinida para wrapper_ddot_' /tmp/ccAJNHBr.o: na função
void arma::glue_times::apply<double, false, true, false, arma::Mat, arma::Mat >(arma::Mat&, arma::Mat const&, arma::Mat const&, double)':
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4]+0x298): referência indefinida para wrapper_dgemm_' ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_]+0x52d): referência indefinida para
wrapper_dgemv_'
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4]+0x63f): referência indefinida para wrapper_dsyrk_' /tmp/ccAJNHBr.o: na função
void arma::glue_times::apply<double, false, true, false, false, arma::Mat, arma::Mat, arma::Mat >(arma::Mat&, arma::Mat const&, arma::Mat const&, arma::Mat const&, double)':
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4]+0x2a1): referência indefinida para wrapper_dgemm_' ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_]+0x5cf): referência indefinida para
wrapper_dgemv_'
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4]+0x689): referência indefinida para wrapper_dgemv_' ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_]+0x72c): referência indefinida para
wrapper_dsyrk_'
/tmp/ccAJNHBr.o: na função void arma::glue_times_redirect3_helper<false>::apply<arma::Mat<double>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::Op<arma::eGlue<arma::Glue<arma::Glue<arma::Mat<double>, arma::Mat<double>, arma::glue_times>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::glue_times>, arma::Mat<double>, arma::eglue_plus>, arma::op_inv> >(arma::Mat<arma::Mat<double>::elem_type>&, arma::Glue<arma::Glue<arma::Mat<double>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::glue_times>, arma::Op<arma::eGlue<arma::Glue<arma::Glue<arma::Mat<double>, arma::Mat<double>, arma::glue_times>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::glue_times>, arma::Mat<double>, arma::eglue_plus>, arma::op_inv>, arma::glue_times> const&)': ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE[_ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE]+0x38f): referência indefinida para
wrapper_dgetri_'
ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE[ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE]+0x5a3): referência indefinida para wrapper_dgetrf_' ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE[_ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE]+0x963): referência indefinida para
wrapper_dgetri'
collect2: error: ld returned 1 exit status