Show EOL distros: 

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Ecl frontend to a linear matrix package (currently eigen).

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Ecl frontend to a linear matrix package (currently eigen).

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Ecl frontend to a linear matrix package (currently eigen).

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Ecl frontend to a linear matrix package (currently eigen).

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Ecl frontend to a linear matrix package (currently eigen).

Prerequisites

Using ros eigen now, but you can also opt to use the internal ecl_eigen.

Compiling & Linking

   1 // If you want to use the internal eigen
   2 // #define ECL_EIGEN_IS_INTERNAL
   3 
   4 // This brings in the whole eigen library
   5 #include <ecl/linear_algebra.hpp>
   6 
   7 // These calls bring in the individual modules
   8 #include <ecl/linear_algebra/core.hpp>
   9 #include <ecl/linear_algebra/cholesky.hpp>
  10 #include <ecl/linear_algebra/dense.hpp>
  11 #include <ecl/linear_algebra/eigenvalues.hpp>
  12 #include <ecl/linear_algebra/geometry.hpp>
  13 #include <ecl/linear_algebra/householder.hpp>
  14 #include <ecl/linear_algebra/jacobi.hpp>
  15 #include <ecl/linear_algebra/lu.hpp>
  16 #include <ecl/linear_algebra/qr.hpp>
  17 #include <ecl/linear_algebra/qtalignedmalloc.hpp>
  18 #include <ecl/linear_algebra/sparse.hpp>
  19 #include <ecl/linear_algebra/stddeque.hpp>
  20 #include <ecl/linear_algebra/stdlist.hpp>
  21 #include <ecl/linear_algebra/stdvector.hpp>
  22 #include <ecl/linear_algebra/svd.hpp>
  23 
  24 // There will also be some unsupported modules in ecl/linear_algebra/unsupported.
  25 #include <ecl/linear_algebra/unsupported/nonlinear_optimization.hpp>
  26 #include <ecl/linear_algebra/unsupported/numerical_diff.hpp>
  27 
  28 using namespace ecl::linear_algebra

Note that the namespace is simply an alias to the Eigen namespace. You can use either namespace, however the ecl namespace is preferred so its clear we're using our extended interface (via the eigen plugins).

Tutorials

  • Using Eigen - there are quite a few tricks you should be aware of when using eigen...

  • Eigen Extensions - some extensions built in and around eigen by the ecl.

Wiki: ecl_linear_algebra (last edited 2012-03-07 15:36:18 by DanielStonier)