00001 00012 /***************************************************************************** 00013 ** Ifdefs 00014 *****************************************************************************/ 00015 00016 #ifndef ECL_LINEAR_ALGEBRA_HPP_ 00017 #define ECL_LINEAR_ALGEBRA_HPP_ 00018 00019 #include <ecl/eigen.hpp> 00020 00021 /***************************************************************************** 00022 ** Plugins 00023 *****************************************************************************/ 00024 00025 #ifndef EIGEN_MATRIXBASE_PLUGIN 00026 #define EIGEN_MATRIXBASE_PLUGIN <ecl/linear_algebra/eigen_plugin.hpp> 00027 #endif 00028 00029 /***************************************************************************** 00030 ** Includes 00031 *****************************************************************************/ 00032 00033 #include "linear_algebra/core.hpp" 00034 #include "linear_algebra/cholesky.hpp" 00035 #include "linear_algebra/dense.hpp" 00036 #include "linear_algebra/eigenvalues.hpp" 00037 #include "linear_algebra/geometry.hpp" 00038 #include "linear_algebra/householder.hpp" 00039 #include "linear_algebra/jacobi.hpp" 00040 //#include "linear_algebra/least_squares.hpp" // This is an eigen2 support module, forget it. 00041 #include "linear_algebra/lu.hpp" 00042 #include "linear_algebra/qr.hpp" 00043 // #include "linear_algebra/qtalignedmalloc.hpp" // This one is bad, it doesn't inline headers (v3.01) 00044 #ifdef EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET 00045 #include "linear_algebra/sparse.hpp" 00046 #endif 00047 #include "linear_algebra/stddeque.hpp" 00048 #include "linear_algebra/stdlist.hpp" 00049 #include "linear_algebra/stdvector.hpp" 00050 #include "linear_algebra/svd.hpp" 00051 // unsupported modules 00052 #include "linear_algebra/unsupported/numerical_diff.hpp" 00053 #include "linear_algebra/unsupported/nonlinear_optimization.hpp" 00054 00055 namespace ecl { 00056 namespace linear_algebra = Eigen; 00057 } 00058 00059 #endif /*ECL_MATH_LINEAR_ALGEBRA_HPP_*/