diff --git a/doc/A05_PortingFrom2To3.dox b/doc/A05_PortingFrom2To3.dox
index 783b99576..99eac75fc 100644
--- a/doc/A05_PortingFrom2To3.dox
+++ b/doc/A05_PortingFrom2To3.dox
@@ -8,12 +8,16 @@ and to help porting an application from Eigen2 to Eigen3.
\b Table \b of \b contents
- \ref CompatibilitySupport
- \ref VectorBlocks
+ - \ref Corners
- \ref CoefficientWiseOperations
- \ref PartAndExtract
- \ref TriangularSolveInPlace
+ - \ref Decompositions
+ - \ref LinearSolvers
- \ref Using
- - \ref Corners
- \ref LazyVsNoalias
+ - \ref AlignMacros
+ - \ref AlignedMap
\section CompatibilitySupport Eigen2 compatibility support
@@ -150,6 +154,39 @@ StrictlyLower
| \code A.triangularSolveInPlace(Y);\endcode | \code A.triangularView().solveInPlace(Y);\endcode |
+
+\section Decompositions Matrix decompositions
+
+Some of Eigen 2's matrix decompositions have been renamed in Eigen 3, while some others have been removed and are replaced by other decompositions in Eigen 3.
+
+
+
+ | Eigen 2 |
+ Eigen 3 |
+ Notes |
+
+
+ | LU |
+ FullPivLU |
+ See also the new PartialPivLU, it's much faster |
+
+
+ | QR |
+ HouseholderQR |
+ See also the new ColPivHouseholderQR, it's more reliable |
+
+
+ | SVD |
+ JacobiSVD |
+ We currently don't have a bidiagonalizing SVD; of course this is planned. |
+
+
+ | EigenSolver and friends |
+ \code #include \endcode |
+ Moved to separate module |
+
+
+
\section LinearSolvers Linear solvers
@@ -206,6 +243,25 @@ it might be useful to explicit request for a lay product, i.e., for a product wh
just like any other expressions. To this end you can use the MatrixBase::lazyProduct() function, however we strongly discourage you to
use it unless you are sure of what you are doing, i.e., you have rigourosly measured a speed improvement.
+\section AlignMacros Alignment-related macros
+
+The EIGEN_ALIGN_128 macro has been renamed to EIGEN_ALIGN16. Don't be surprised, it's just that we switched to counting in bytes ;-)
+
+The EIGEN_DONT_ALIGN option still exists in Eigen 3, but it has a new cousin: EIGEN_DONT_ALIGN_STATICALLY. It allows to get rid of all static alignment issues while keeping alignment of dynamic-size heap-allocated arrays, thus keeping vectorization for dynamic-size objects.
+
+\section AlignedMap Aligned Map objects
+
+A common issue with Eigen 2 was that when mapping an array with Map, there was no way to tell Eigen that your array was aligned. There was a ForceAligned option but it didn't mean that; it was just confusing and has been removed.
+
+New in Eigen3 is the Aligned option. See the documentation of class Map. Use it like this:
+\code
+Map myMappedVector(some_aligned_array);
+\endcode
+There also are related convenience static methods:
+\code
+result = Vector4f::MapAligned(some_aligned_array);
+\endcode
+
*/
}