Difference between revisions of "IDEs"

From Eigen
Jump to: navigation, search
(Definite alphabetical order)
(Case insensitive alphabetical order)
Line 88: Line 88:
 
<mapping key="&lt;Eigen/src/Core/products/GeneralBlockPanelKernel.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralBlockPanelKernel.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixVector.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixVector.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixVector_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixVector_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
Line 111: Line 111:
 
<mapping key="&lt;Eigen/src/Core/util/DisableStupidWarnings.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/DisableStupidWarnings.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/ForwardDeclarations.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/ForwardDeclarations.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/MKL_support.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
 
<mapping key="&lt;Eigen/src/Core/util/Macros.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/Macros.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/Memory.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/Memory.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/Meta.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/Meta.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/Core/util/MKL_support.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/ReenableStupidWarnings.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/ReenableStupidWarnings.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/StaticAssert.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/Core/util/StaticAssert.h&gt;" value="&lt;Eigen/Core&gt;"/>
Line 121: Line 121:
 
<mapping key="&lt;Eigen/src/Eigen2Support/Cwise.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/Cwise.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/CwiseOperators.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/CwiseOperators.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/LU.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
 
<mapping key="&lt;Eigen/src/Eigen2Support/Lazy.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/Lazy.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/LeastSquares.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/LeastSquares.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 +
<mapping key="&lt;Eigen/src/Eigen2Support/LU.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/Macros.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/Macros.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/MathFunctions.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
 
<mapping key="&lt;Eigen/src/Eigen2Support/MathFunctions.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
Line 186: Line 186:
 
<mapping key="&lt;Eigen/src/LU/PartialPivLU_MKL.h&gt;" value="&lt;Eigen/LU&gt;"/>
 
<mapping key="&lt;Eigen/src/LU/PartialPivLU_MKL.h&gt;" value="&lt;Eigen/LU&gt;"/>
 
<mapping key="&lt;Eigen/src/LU/arch/Inverse_SSE.h&gt;" value="&lt;Eigen/LU&gt;"/>
 
<mapping key="&lt;Eigen/src/LU/arch/Inverse_SSE.h&gt;" value="&lt;Eigen/LU&gt;"/>
 +
<mapping key="&lt;Eigen/src/misc/blas.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/misc/Image.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/misc/Kernel.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/misc/Solve.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/misc/SparseSolve.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/OrderingMethods/Amd.h&gt;" value="&lt;Eigen/OrderingMethods&gt;"/>
 
<mapping key="&lt;Eigen/src/OrderingMethods/Amd.h&gt;" value="&lt;Eigen/OrderingMethods&gt;"/>
<mapping key="&lt;Eigen/src/PaStiXSupport/PaStiXSupport.h&gt;" value="&lt;Eigen/PaStiXSupport&gt;"/>
 
 
<mapping key="&lt;Eigen/src/PardisoSupport/PardisoSupport.h&gt;" value="&lt;Eigen/PardisoSupport&gt;"/>
 
<mapping key="&lt;Eigen/src/PardisoSupport/PardisoSupport.h&gt;" value="&lt;Eigen/PardisoSupport&gt;"/>
 +
<mapping key="&lt;Eigen/src/PaStiXSupport/PaStiXSupport.h&gt;" value="&lt;Eigen/PaStiXSupport&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/ArrayCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/ArrayCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/BlockMethods.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/CommonCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/CommonCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/MatrixCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 +
<mapping key="&lt;Eigen/src/plugins/MatrixCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/ColPivHouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/ColPivHouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/ColPivHouseholderQR_MKL.h&gt;" value="&lt;Eigen/QR&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/ColPivHouseholderQR_MKL.h&gt;" value="&lt;Eigen/QR&gt;"/>
Line 194: Line 206:
 
<mapping key="&lt;Eigen/src/QR/HouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/HouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/HouseholderQR_MKL.h&gt;" value="&lt;Eigen/QR&gt;"/>
 
<mapping key="&lt;Eigen/src/QR/HouseholderQR_MKL.h&gt;" value="&lt;Eigen/QR&gt;"/>
<mapping key="&lt;Eigen/src/SVD/JacobiSVD.h&gt;" value="&lt;Eigen/SVD&gt;"/>
 
<mapping key="&lt;Eigen/src/SVD/JacobiSVD_MKL.h&gt;" value="&lt;Eigen/SVD&gt;"/>
 
<mapping key="&lt;Eigen/src/SVD/UpperBidiagonalization.h&gt;" value="&lt;Eigen/SVD&gt;"/>
 
 
<mapping key="&lt;Eigen/src/SparseCholesky/SimplicialCholesky.h&gt;" value="&lt;Eigen/SparseCholesky&gt;"/>
 
<mapping key="&lt;Eigen/src/SparseCholesky/SimplicialCholesky.h&gt;" value="&lt;Eigen/SparseCholesky&gt;"/>
 
<mapping key="&lt;Eigen/src/SparseCore/AmbiVector.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
 
<mapping key="&lt;Eigen/src/SparseCore/AmbiVector.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
Line 224: Line 233:
 
<mapping key="&lt;Eigen/src/SparseCore/SparseView.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
 
<mapping key="&lt;Eigen/src/SparseCore/SparseView.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
 
<mapping key="&lt;Eigen/src/SparseCore/TriangularSolver.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
 
<mapping key="&lt;Eigen/src/SparseCore/TriangularSolver.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
 +
<mapping key="&lt;Eigen/src/StlSupport/details.h&gt;" value="&lt;Eigen/StdDeque&gt;"/>
 
<mapping key="&lt;Eigen/src/StlSupport/StdDeque.h&gt;" value="&lt;Eigen/StdDeque&gt;"/>
 
<mapping key="&lt;Eigen/src/StlSupport/StdDeque.h&gt;" value="&lt;Eigen/StdDeque&gt;"/>
 
<mapping key="&lt;Eigen/src/StlSupport/StdList.h&gt;" value="&lt;Eigen/StdList&gt;"/>
 
<mapping key="&lt;Eigen/src/StlSupport/StdList.h&gt;" value="&lt;Eigen/StdList&gt;"/>
 
<mapping key="&lt;Eigen/src/StlSupport/StdVector.h&gt;" value="&lt;Eigen/StdVector&gt;"/>
 
<mapping key="&lt;Eigen/src/StlSupport/StdVector.h&gt;" value="&lt;Eigen/StdVector&gt;"/>
<mapping key="&lt;Eigen/src/StlSupport/details.h&gt;" value="&lt;Eigen/StdDeque&gt;"/>
 
 
<mapping key="&lt;Eigen/src/SuperLUSupport/SuperLUSupport.h&gt;" value="&lt;Eigen/SuperLUSupport&gt;"/>
 
<mapping key="&lt;Eigen/src/SuperLUSupport/SuperLUSupport.h&gt;" value="&lt;Eigen/SuperLUSupport&gt;"/>
 +
<mapping key="&lt;Eigen/src/SVD/JacobiSVD.h&gt;" value="&lt;Eigen/SVD&gt;"/>
 +
<mapping key="&lt;Eigen/src/SVD/JacobiSVD_MKL.h&gt;" value="&lt;Eigen/SVD&gt;"/>
 +
<mapping key="&lt;Eigen/src/SVD/UpperBidiagonalization.h&gt;" value="&lt;Eigen/SVD&gt;"/>
 
<mapping key="&lt;Eigen/src/UmfPackSupport/UmfPackSupport.h&gt;" value="&lt;Eigen/UmfPackSupport&gt;"/>
 
<mapping key="&lt;Eigen/src/UmfPackSupport/UmfPackSupport.h&gt;" value="&lt;Eigen/UmfPackSupport&gt;"/>
<mapping key="&lt;Eigen/src/misc/Image.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/misc/Kernel.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/misc/Solve.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/misc/SparseSolve.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/misc/blas.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/ArrayCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/ArrayCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/BlockMethods.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/CommonCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/CommonCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/MatrixCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
<mapping key="&lt;Eigen/src/plugins/MatrixCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
 
 
</unconditional_substitution_map>
 
</unconditional_substitution_map>
 
<optional_substitution_map/>
 
<optional_substitution_map/>
Line 263: Line 263:
 
xml_file.write('<unconditional_substitution_map>\n')
 
xml_file.write('<unconditional_substitution_map>\n')
  
for header_dir in sorted(os.listdir(src_path)):
+
for header_dir in sorted(os.listdir(src_path),key=lambda c: c.lower()):
 
     if (header_dir=="plugins" or header_dir=="misc"):
 
     if (header_dir=="plugins" or header_dir=="misc"):
 
         header_name = 'Core'
 
         header_name = 'Core'
Line 269: Line 269:
 
         header_name = header_dir
 
         header_name = header_dir
 
     for root, dirs, files in os.walk(join(src_path, header_dir)):
 
     for root, dirs, files in os.walk(join(src_path, header_dir)):
         dirs.sort()
+
         dirs.sort(key=lambda c: c.lower())
         files.sort()
+
         files.sort(key=lambda c: c.lower())
 
         for header in files:
 
         for header in files:
 
             if header.endswith(".h"):
 
             if header.endswith(".h"):

Revision as of 10:58, 10 February 2016

Some workarounds and hacks might be useful for IDEs in order to use Eigen in an optimal way. This page is meant to collect them, to help newcomers.

Eclipse CDT

Paths

Apart from "Organize includes" (see the section below), everything works out of the box. For example, if Eigen is installed in /usr/include/eigen3 and this path is added to the Project Properties > C/C++ General > Paths & Symbols > Includes > GNU C++, you only need to add includes of the form
#include <Eigen/Dense>
as used in Eigen's documentation.

Organizing includes

This handy feature of Eclipse (Ctrl+Shift+O) does not work out of the box for Eigen. Eclipse tries to include by default the .h files of the library but those are not sufficient to build the project correctly. As done by default by Eclipse for the stdlib, substitution rules need to be used in order for Eclipse to automatically handle includes correctly.

Go to Preferences > C/C++ > Coding Style > Organize Includes > Header Substitution. There you can add a new rule, and import the following xml file:

<?xml version="1.0" encoding="UTF-8"?>
<header_substitution_map cpp_only="false" name="Eigen Header Substitution">
<unconditional_substitution_map>
<mapping key="&lt;Eigen/src/Cholesky/LDLT.h&gt;" value="&lt;Eigen/Cholesky&gt;"/>
<mapping key="&lt;Eigen/src/Cholesky/LLT.h&gt;" value="&lt;Eigen/Cholesky&gt;"/>
<mapping key="&lt;Eigen/src/Cholesky/LLT_MKL.h&gt;" value="&lt;Eigen/Cholesky&gt;"/>
<mapping key="&lt;Eigen/src/CholmodSupport/CholmodSupport.h&gt;" value="&lt;Eigen/CholmodSupport&gt;"/>
<mapping key="&lt;Eigen/src/Core/Array.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/ArrayBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/ArrayWrapper.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Assign.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Assign_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/BandMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Block.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/BooleanRedux.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/CommaInitializer.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/CwiseBinaryOp.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/CwiseNullaryOp.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/CwiseUnaryOp.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/CwiseUnaryView.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/DenseBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/DenseCoeffsBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/DenseStorage.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Diagonal.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/DiagonalMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/DiagonalProduct.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Dot.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/EigenBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Flagged.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/ForceAlignedAccess.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Functors.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Fuzzy.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/GeneralProduct.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/GenericPacketMath.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/GlobalFunctions.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/IO.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Map.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/MapBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/MathFunctions.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Matrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/MatrixBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/NestByValue.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/NoAlias.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/NumTraits.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/PermutationMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/PlainObjectBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Product.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/ProductBase.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Random.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Redux.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Replicate.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/ReturnByValue.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Reverse.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Select.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/SelfAdjointView.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/SelfCwiseBinaryOp.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/SolveTriangular.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/StableNorm.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Stride.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Swap.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Transpose.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Transpositions.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/TriangularMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/VectorBlock.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/VectorwiseOp.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/Visitor.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/AltiVec/Complex.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/AltiVec/PacketMath.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/Default/Settings.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/NEON/Complex.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/NEON/PacketMath.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/SSE/Complex.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/SSE/MathFunctions.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/arch/SSE/PacketMath.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/CoeffBasedProduct.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralBlockPanelKernel.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixVector.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/GeneralMatrixVector_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/Parallelizer.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/SelfadjointMatrixMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/SelfadjointMatrixVector.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/SelfadjointProduct.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/SelfadjointRank2Update.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularMatrixMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularMatrixVector.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularMatrixVector_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularSolverMatrix.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularSolverMatrix_MKL.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/products/TriangularSolverVector.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/BlasUtil.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/Constants.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/DisableStupidWarnings.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/ForwardDeclarations.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/Macros.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/Memory.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/Meta.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/MKL_support.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/ReenableStupidWarnings.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/StaticAssert.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Core/util/XprHelper.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Block.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Cwise.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/CwiseOperators.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Lazy.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/LeastSquares.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/LU.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Macros.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/MathFunctions.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Memory.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Meta.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Minor.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/QR.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/SVD.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/TriangularSolver.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/VectorBlock.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/AlignedBox.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/All.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/AngleAxis.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/Hyperplane.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/Quaternion.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/Rotation2D.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/RotationBase.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/Scaling.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/Transform.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigen2Support/Geometry/Translation.h&gt;" value="&lt;Eigen/Eigen2Support&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/ComplexEigenSolver.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/ComplexSchur.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/ComplexSchur_MKL.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/EigenSolver.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/HessenbergDecomposition.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/RealSchur.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/RealSchur_MKL.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Eigenvalues/Tridiagonalization.h&gt;" value="&lt;Eigen/Eigenvalues&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/AlignedBox.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/AngleAxis.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/EulerAngles.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Homogeneous.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Hyperplane.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/OrthoMethods.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/ParametrizedLine.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Quaternion.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Rotation2D.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/RotationBase.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Scaling.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Transform.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Translation.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/Umeyama.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Geometry/arch/Geometry_SSE.h&gt;" value="&lt;Eigen/Geometry&gt;"/>
<mapping key="&lt;Eigen/src/Householder/BlockHouseholder.h&gt;" value="&lt;Eigen/Householder&gt;"/>
<mapping key="&lt;Eigen/src/Householder/Householder.h&gt;" value="&lt;Eigen/Householder&gt;"/>
<mapping key="&lt;Eigen/src/Householder/HouseholderSequence.h&gt;" value="&lt;Eigen/Householder&gt;"/>
<mapping key="&lt;Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h&gt;" value="&lt;Eigen/IterativeLinearSolvers&gt;"/>
<mapping key="&lt;Eigen/src/IterativeLinearSolvers/BiCGSTAB.h&gt;" value="&lt;Eigen/IterativeLinearSolvers&gt;"/>
<mapping key="&lt;Eigen/src/IterativeLinearSolvers/ConjugateGradient.h&gt;" value="&lt;Eigen/IterativeLinearSolvers&gt;"/>
<mapping key="&lt;Eigen/src/IterativeLinearSolvers/IncompleteLUT.h&gt;" value="&lt;Eigen/IterativeLinearSolvers&gt;"/>
<mapping key="&lt;Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h&gt;" value="&lt;Eigen/IterativeLinearSolvers&gt;"/>
<mapping key="&lt;Eigen/src/Jacobi/Jacobi.h&gt;" value="&lt;Eigen/Jacobi&gt;"/>
<mapping key="&lt;Eigen/src/LU/Determinant.h&gt;" value="&lt;Eigen/LU&gt;"/>
<mapping key="&lt;Eigen/src/LU/FullPivLU.h&gt;" value="&lt;Eigen/LU&gt;"/>
<mapping key="&lt;Eigen/src/LU/Inverse.h&gt;" value="&lt;Eigen/LU&gt;"/>
<mapping key="&lt;Eigen/src/LU/PartialPivLU.h&gt;" value="&lt;Eigen/LU&gt;"/>
<mapping key="&lt;Eigen/src/LU/PartialPivLU_MKL.h&gt;" value="&lt;Eigen/LU&gt;"/>
<mapping key="&lt;Eigen/src/LU/arch/Inverse_SSE.h&gt;" value="&lt;Eigen/LU&gt;"/>
<mapping key="&lt;Eigen/src/misc/blas.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/misc/Image.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/misc/Kernel.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/misc/Solve.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/misc/SparseSolve.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/OrderingMethods/Amd.h&gt;" value="&lt;Eigen/OrderingMethods&gt;"/>
<mapping key="&lt;Eigen/src/PardisoSupport/PardisoSupport.h&gt;" value="&lt;Eigen/PardisoSupport&gt;"/>
<mapping key="&lt;Eigen/src/PaStiXSupport/PaStiXSupport.h&gt;" value="&lt;Eigen/PaStiXSupport&gt;"/>
<mapping key="&lt;Eigen/src/plugins/ArrayCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/plugins/ArrayCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/plugins/BlockMethods.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/plugins/CommonCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/plugins/CommonCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/plugins/MatrixCwiseBinaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/plugins/MatrixCwiseUnaryOps.h&gt;" value="&lt;Eigen/Core&gt;"/>
<mapping key="&lt;Eigen/src/QR/ColPivHouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
<mapping key="&lt;Eigen/src/QR/ColPivHouseholderQR_MKL.h&gt;" value="&lt;Eigen/QR&gt;"/>
<mapping key="&lt;Eigen/src/QR/FullPivHouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
<mapping key="&lt;Eigen/src/QR/HouseholderQR.h&gt;" value="&lt;Eigen/QR&gt;"/>
<mapping key="&lt;Eigen/src/QR/HouseholderQR_MKL.h&gt;" value="&lt;Eigen/QR&gt;"/>
<mapping key="&lt;Eigen/src/SparseCholesky/SimplicialCholesky.h&gt;" value="&lt;Eigen/SparseCholesky&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/AmbiVector.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/CompressedStorage.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/ConservativeSparseSparseProduct.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/CoreIterators.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/MappedSparseMatrix.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseAssign.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseBlock.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseCwiseBinaryOp.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseCwiseUnaryOp.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseDenseProduct.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseDiagonalProduct.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseDot.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseFuzzy.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseMatrix.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseMatrixBase.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparsePermutation.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseProduct.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseRedux.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseSelfAdjointView.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseSparseProductWithPruning.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseTranspose.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseTriangularView.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseUtil.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseVector.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/SparseView.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/SparseCore/TriangularSolver.h&gt;" value="&lt;Eigen/SparseCore&gt;"/>
<mapping key="&lt;Eigen/src/StlSupport/details.h&gt;" value="&lt;Eigen/StdDeque&gt;"/>
<mapping key="&lt;Eigen/src/StlSupport/StdDeque.h&gt;" value="&lt;Eigen/StdDeque&gt;"/>
<mapping key="&lt;Eigen/src/StlSupport/StdList.h&gt;" value="&lt;Eigen/StdList&gt;"/>
<mapping key="&lt;Eigen/src/StlSupport/StdVector.h&gt;" value="&lt;Eigen/StdVector&gt;"/>
<mapping key="&lt;Eigen/src/SuperLUSupport/SuperLUSupport.h&gt;" value="&lt;Eigen/SuperLUSupport&gt;"/>
<mapping key="&lt;Eigen/src/SVD/JacobiSVD.h&gt;" value="&lt;Eigen/SVD&gt;"/>
<mapping key="&lt;Eigen/src/SVD/JacobiSVD_MKL.h&gt;" value="&lt;Eigen/SVD&gt;"/>
<mapping key="&lt;Eigen/src/SVD/UpperBidiagonalization.h&gt;" value="&lt;Eigen/SVD&gt;"/>
<mapping key="&lt;Eigen/src/UmfPackSupport/UmfPackSupport.h&gt;" value="&lt;Eigen/UmfPackSupport&gt;"/>
</unconditional_substitution_map>
<optional_substitution_map/>
</header_substitution_map>

This file is useful in the case where the path of Eigen (for example /usr/include/eigen3) is defined as above. If not, the file needs to be adapted accordingly.

In case the Eigen architecture changes and the previous file is not up to date, you can use the following Python3 script (and adapt it with your own Eigen's path if different) to generate a new one:

import os
from os.path import join
 
Eigen_path = "/usr/include/eigen3"
src_path = join(Eigen_path,"Eigen/src")
 
xml_file = open("generated_substitution_list.xml",'w')
xml_file.write('<?xml version="1.0" encoding="UTF-8"?>\n')
xml_file.write('<header_substitution_map cpp_only="false" name="Eigen Header Substitution">\n')
xml_file.write('<unconditional_substitution_map>\n')
 
for header_dir in sorted(os.listdir(src_path),key=lambda c: c.lower()):
    if (header_dir=="plugins" or header_dir=="misc"):
        header_name = 'Core'
    else:
        header_name = header_dir
    for root, dirs, files in os.walk(join(src_path, header_dir)):
        dirs.sort(key=lambda c: c.lower())
        files.sort(key=lambda c: c.lower())
        for header in files:
            if header.endswith(".h"):
                if (header_dir == "StlSupport"):
                    if (header == "details.h"):
                        header_name = 'StdDeque'
                    else:
                        header_name = header.replace('.h','')
                xml_file.write('<mapping key="&lt;Eigen/src')
                xml_file.write(root.replace(src_path,''))
                xml_file.write('/')
                xml_file.write(header)
                xml_file.write('&gt;" value="&lt;Eigen/')
                xml_file.write(header_name)
                xml_file.write('&gt;"/>\n')
 
xml_file.write('</unconditional_substitution_map>\n')
xml_file.write('<optional_substitution_map/>\n')
xml_file.write('</header_substitution_map>')
 
xml_file.close()

Other IDEs