* mark Geometry as experimental * install QtAlignedMalloc * finish the renaming Regression->LeastSquares * install LeastSquares directory (!!!) * misc dox fixes
diff --git a/Eigen/Array b/Eigen/Array index fe2a861..c847f95 100644 --- a/Eigen/Array +++ b/Eigen/Array
@@ -7,7 +7,7 @@ namespace Eigen { -/** \defgroup Array Array module +/** \defgroup Array_Module Array module * This module provides several handy features to manipulate matrices as simple array of values. * In addition to listed classes, it defines various methods of the Cwise interface * (accessible from MatrixBase::cwise()), including:
diff --git a/Eigen/CMakeLists.txt b/Eigen/CMakeLists.txt index 76aca5e..f416148 100644 --- a/Eigen/CMakeLists.txt +++ b/Eigen/CMakeLists.txt
@@ -1,4 +1,4 @@ -set(Eigen_HEADERS Core LU Cholesky QR Geometry Sparse Array SVD LeastSquares StdVector) +set(Eigen_HEADERS Core LU Cholesky QR Geometry Sparse Array SVD LeastSquares QtAlignedMalloc StdVector) if(EIGEN_BUILD_LIB) set(Eigen_SRCS
diff --git a/Eigen/Geometry b/Eigen/Geometry index 5a674a1..617b25e 100644 --- a/Eigen/Geometry +++ b/Eigen/Geometry
@@ -14,7 +14,10 @@ namespace Eigen { -/** \defgroup GeometryModule Geometry module +/** \defgroup Geometry_Module Geometry module + * + * \nonstableyet + * * This module provides support for: * - fixed-size homogeneous transformations * - translation, scaling, 2D and 3D rotations
diff --git a/Eigen/LeastSquares b/Eigen/LeastSquares index 71c1677..4f9fcba 100644 --- a/Eigen/LeastSquares +++ b/Eigen/LeastSquares
@@ -11,15 +11,15 @@ namespace Eigen { -/** \defgroup Regression_Module Regression module +/** \defgroup LeastSquares_Module LeastSquares module * This module provides linear regression and related features. * * \code - * #include <Eigen/Regression> + * #include <Eigen/LeastSquares> * \endcode */ -#include "src/Regression/Regression.h" +#include "src/LeastSquares/LeastSquares.h" } // namespace Eigen
diff --git a/Eigen/QR b/Eigen/QR index 5116b7f..97907d1 100644 --- a/Eigen/QR +++ b/Eigen/QR
@@ -19,6 +19,9 @@ namespace Eigen { /** \defgroup QR_Module QR module + * + * \nonstableyet + * * This module mainly provides QR decomposition and an eigen value solver. * This module also provides some MatrixBase methods, including: * - MatrixBase::qr(),
diff --git a/Eigen/SVD b/Eigen/SVD index f006a4b..eef0556 100644 --- a/Eigen/SVD +++ b/Eigen/SVD
@@ -8,6 +8,9 @@ namespace Eigen { /** \defgroup SVD_Module SVD module + * + * \nonstableyet + * * This module provides SVD decomposition for (currently) real matrices. * This decomposition is accessible via the following MatrixBase method: * - MatrixBase::svd()
diff --git a/Eigen/Sparse b/Eigen/Sparse index 2d5854e..57e9af6 100644 --- a/Eigen/Sparse +++ b/Eigen/Sparse
@@ -70,6 +70,17 @@ namespace Eigen { +/** \defgroup Sparse_Module Sparse module + * + * \nonstableyet + * + * See the \ref TutorialSparse "Sparse tutorial" + * + * \code + * #include <Eigen/QR> + * \endcode + */ + #include "src/Sparse/SparseUtil.h" #include "src/Sparse/SparseMatrixBase.h" #include "src/Sparse/CompressedStorage.h"
diff --git a/Eigen/src/CMakeLists.txt b/Eigen/src/CMakeLists.txt index e1a0d60..b244809 100644 --- a/Eigen/src/CMakeLists.txt +++ b/Eigen/src/CMakeLists.txt
@@ -5,6 +5,6 @@ ADD_SUBDIRECTORY(Cholesky) ADD_SUBDIRECTORY(Array) ADD_SUBDIRECTORY(Geometry) -ADD_SUBDIRECTORY(Regression) +ADD_SUBDIRECTORY(LeastSquares) ADD_SUBDIRECTORY(Sparse) ADD_SUBDIRECTORY(StdVector)
diff --git a/Eigen/src/LU/LU.h b/Eigen/src/LU/LU.h index a48ee8d..ff4410b 100644 --- a/Eigen/src/LU/LU.h +++ b/Eigen/src/LU/LU.h
@@ -429,8 +429,7 @@ .template marked<UpperTriangular>() .solveTriangularInPlace(y); - for(int i = 0; i < m_rank; ++i) - result->row(m_q.coeff(i)) = y.row(i); + for(int i = 0; i < m_rank; ++i) result->row(m_q.coeff(i)) = y.row(i); for(int i = m_rank; i < cols; ++i) result->row(m_q.coeff(i)).setZero(); for(int k = 0; k < dimker; ++k) result->coeffRef(m_q.coeff(m_rank+k), k) = Scalar(1); }
diff --git a/Eigen/src/LeastSquares/CMakeLists.txt b/Eigen/src/LeastSquares/CMakeLists.txt new file mode 100644 index 0000000..805d578 --- /dev/null +++ b/Eigen/src/LeastSquares/CMakeLists.txt
@@ -0,0 +1,6 @@ +FILE(GLOB Eigen_LeastSquares_SRCS "*.h") + +INSTALL(FILES + ${Eigen_LeastSquares_SRCS} + DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LeastSquares + )
diff --git a/Eigen/src/Regression/Regression.h b/Eigen/src/LeastSquares/LeastSquares.h similarity index 96% rename from Eigen/src/Regression/Regression.h rename to Eigen/src/LeastSquares/LeastSquares.h index 61d4cdc..cd6ec3c 100644 --- a/Eigen/src/Regression/Regression.h +++ b/Eigen/src/LeastSquares/LeastSquares.h
@@ -22,12 +22,12 @@ // License and a copy of the GNU General Public License along with // Eigen. If not, see <http://www.gnu.org/licenses/>. -#ifndef EIGEN_REGRESSION_H -#define EIGEN_REGRESSION_H +#ifndef EIGEN_LEASTSQUARES_H +#define EIGEN_LEASTSQUARES_H -/** \ingroup Regression_Module +/** \ingroup LeastSquares_Module * - * \regression_module + * \leastsquares_module * * For a set of points, this function tries to express * one of the coords as a linear (affine) function of the other coords. @@ -128,9 +128,9 @@ ei_assert((m.adjoint()*m).lu().solve(v, result)); } -/** \ingroup Regression_Module +/** \ingroup LeastSquares_Module * - * \regression_module + * \leastsquares_module * * This function is quite similar to linearRegression(), so we refer to the * documentation of this function and only list here the differences. @@ -195,4 +195,4 @@ } -#endif // EIGEN_REGRESSION_H +#endif // EIGEN_LEASTSQUARES_H
diff --git a/Eigen/src/Regression/CMakeLists.txt b/Eigen/src/Regression/CMakeLists.txt deleted file mode 100644 index c691f52..0000000 --- a/Eigen/src/Regression/CMakeLists.txt +++ /dev/null
@@ -1,6 +0,0 @@ -FILE(GLOB Eigen_Regression_SRCS "*.h") - -INSTALL(FILES - ${Eigen_Regression_SRCS} - DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Regression - )
diff --git a/Mainpage.dox b/Mainpage.dox index 17f4d9c..ccab801 100644 --- a/Mainpage.dox +++ b/Mainpage.dox
@@ -18,7 +18,7 @@ // DOXYGEN_SET_MULTILINE_CPP_IS_BRIEF = NO // DOXYGEN_SET_DETAILS_AT_TOP = YES // DOXYGEN_SET_INHERIT_DOCS = YES -// DOXYGEN_SET_ALIASES = "only_for_vectors=This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column." "array_module=This is defined in the %Array module. \code #include <Eigen/Array> \endcode" "lu_module=This is defined in the %LU module. \code #include <Eigen/LU> \endcode" "cholesky_module=This is defined in the %Cholesky module. \code #include <Eigen/Cholesky> \endcode" "qr_module=This is defined in the %QR module. \code #include <Eigen/QR> \endcode" "svd_module=This is defined in the %SVD module. \code #include <Eigen/SVD> \endcode" "geometry_module=This is defined in the %Geometry module. \code #include <Eigen/Geometry> \endcode" "regression_module=This is defined in the %Regression module. \code #include <Eigen/Regression> \endcode" "addexample=\anchor" "label=\bug" "redstar=<a href='#warningarraymodule' style='color:red;text-decoration: none;'>*</a>" "nonstableyet=\warning This class/function is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\"" +// DOXYGEN_SET_ALIASES = "only_for_vectors=This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column." "array_module=This is defined in the %Array module. \code #include <Eigen/Array> \endcode" "lu_module=This is defined in the %LU module. \code #include <Eigen/LU> \endcode" "cholesky_module=This is defined in the %Cholesky module. \code #include <Eigen/Cholesky> \endcode" "qr_module=This is defined in the %QR module. \code #include <Eigen/QR> \endcode" "svd_module=This is defined in the %SVD module. \code #include <Eigen/SVD> \endcode" "geometry_module=This is defined in the %Geometry module. \code #include <Eigen/Geometry> \endcode" "regression_module=This is defined in the %Regression module. \code #include <Eigen/Regression> \endcode" "addexample=\anchor" "label=\bug" "redstar=<a href='#warningarraymodule' style='color:red;text-decoration: none;'>*</a>" "nonstableyet=\warning This is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\"" // DOXYGEN_SET_DISTRIBUTE_GROUP_DOC = NO // DOXYGEN_SET_SUBGROUPING = YES // DOXYGEN_SET_TYPEDEF_HIDES_STRUCT = NO
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index b30ffe0..873dd24 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in
@@ -210,11 +210,11 @@ "qr_module=This is defined in the %QR module. \code #include <Eigen/QR> \endcode" \ "svd_module=This is defined in the %SVD module. \code #include <Eigen/SVD> \endcode" \ "geometry_module=This is defined in the %Geometry module. \code #include <Eigen/Geometry> \endcode" \ - "regression_module=This is defined in the %Regression module. \code #include <Eigen/Regression> \endcode" \ + "leastsquares_module=This is defined in the %LeastSquares module. \code #include <Eigen/LeastSquares> \endcode" \ "addexample=\anchor" \ "label=\bug" \ "redstar=<a href='#warningarraymodule' style='color:red;text-decoration: none;'>*</a>" \ - "nonstableyet=\warning This class/function is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\"" + "nonstableyet=\warning This is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\"" # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C.
diff --git a/doc/Experimental.dox b/doc/Experimental.dox index f55a47f..2191c2b 100644 --- a/doc/Experimental.dox +++ b/doc/Experimental.dox
@@ -12,7 +12,7 @@ Experimental features may at any time: \li be removed; \li be subject to an API incompatible change; -\li introduce API or ABI incompatible changes in your own application if you let them affect your API or ABI. +\li introduce API or ABI incompatible changes in your own code if you let them affect your API or ABI. \section modules Experimental modules @@ -20,6 +20,7 @@ \li SVD \li QR \li Sparse +\li Geometry \section core Experimental parts of the Core module