diff --git a/.DS_Store b/.DS_Store index 612436f..5008ddf 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 085db6b..2e8d5a8 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,127 +1,131 @@ + + + + - - + 1574677757544 \ No newline at end of file diff --git a/ODElibrary/AbstractSolver.h b/ODElibrary/AbstractSolver.h index 9e5f8e6..f74a0ef 100644 --- a/ODElibrary/AbstractSolver.h +++ b/ODElibrary/AbstractSolver.h @@ -1,53 +1,53 @@ // // Created by lionel on 25.11.19. // #ifndef ODELIBRARY_ABSTRACTSOLVER_H #define ODELIBRARY_ABSTRACTSOLVER_H #include #include "LinearCoefficients.h" #include /** This is an abstract class for the solver of differential equations * */ class AbstractSolver { protected: // variables for the setting double stepSize; double initialTime; double finalTime; int dimension; // dimension of x int nSteps; Eigen::VectorXd initialValue; // variables for the rhs of the equation Eigen::MatrixXd A; Eigen::VectorXd (*g)(double t); // function g depending on time public: AbstractSolver(); virtual ~AbstractSolver(); void setInitialTime(double t0); void setFinalTime(double tf); void setStepSize(double h); void setNumberOfSteps(int n); void setSpaceDimension(int dim); void setRightHandSide(Eigen::MatrixXd & rhsMatrix, Eigen::VectorXd (*g_)(double t)); double getInitialTime() const; double getFinalTime() const; double getStepSize() const; int getSpaceDimension() const; - virtual void solve() = 0; + virtual void solve(std::ostream &stream) = 0; }; #endif //ODELIBRARY_ABSTRACTSOLVER_H diff --git a/ODElibrary/AdamsBashforth.cpp b/ODElibrary/AdamsBashforth.cpp index 05af25c..3751e9e 100644 --- a/ODElibrary/AdamsBashforth.cpp +++ b/ODElibrary/AdamsBashforth.cpp @@ -1,30 +1,41 @@ #include "AdamsBashforth.h" //#include "MultistepAbstractSolver.h" AdamsBashforth::AdamsBashforth(double t0,double tf,int n,int steps,Eigen::VectorXd& y0):MultistepAbstractSolver(t0,tf,n,steps,y0){ /**\brief * According to the number of steps n desired, the coefficients defining the algorithm are stored in bCoefficients. */ switch(steps){ ///When steps=1, Adams Bashforth multistep algorithm actually coincides with Forward Euler. case 1: bCoefficients[0]=1; break; case 2: bCoefficients[0]=1.5,bCoefficients[1]=-0.5; break; case 3: - bCoefficients[0]=(double)23/12,bCoefficients[1]=-(double)16/12,bCoefficients[2]=(double)5/12; + bCoefficients[0]=(double)23./12.,bCoefficients[1]=-(double)16./12.,bCoefficients[2]=(double)5/12; break; case 4: - bCoefficients[0]=(double)55/24,bCoefficients[1]=-(double)59/24,bCoefficients[2]=(double)37/24,bCoefficients[3]=-(double)9/24; + bCoefficients[0]=(double)55./24.,bCoefficients[1]=-(double)59./24.,bCoefficients[2]=(double)37/24,bCoefficients[3]=-(double)9/24; break; default: std::cerr<<"The number of steps has to be an integer between 1 and 4."<<"\n"; } /**\brief * The missing intial values are computed, with a suitable one step algorithm. */ computeMissingInitialValues(steps-1); } + +void AdamsBashforth::solve(std::ostream &stream){ + double tNext=initialTime+stepSize*stepsAlgo; + for (int step=0;step #include #include #include #include "MultistepAbstractSolver.h" class AdamsBashforth:public MultistepAbstractSolver{ public: AdamsBashforth(double t0,double tf,int n,int steps,Eigen::VectorXd& y0); + void solve(std::ostream &stream) override; }; #endif \ No newline at end of file diff --git a/ODElibrary/MultistepAbstractSolver.cpp b/ODElibrary/MultistepAbstractSolver.cpp index c69bab9..1209f94 100644 --- a/ODElibrary/MultistepAbstractSolver.cpp +++ b/ODElibrary/MultistepAbstractSolver.cpp @@ -1,54 +1,68 @@ #include "MultistepAbstractSolver.h" MultistepAbstractSolver::MultistepAbstractSolver(double t0,double tf,int n,int steps,Eigen::VectorXd& y0) { initialTime = t0; finalTime = tf; nSteps = n; + stepSize = (tf - t0) / n; + stepsAlgo=steps; Eigen::VectorXd v(steps); bCoefficients = v; initialValue = y0; - stepSize = (tf - t0) / n; yPreviousSteps.push_back(&y0); ///is it right? ask. }; void MultistepAbstractSolver::computeMissingInitialValues(int orderRK){ /** * This vector stores the coefficients needed by RK to compute the next value of y, yNext. * Such value is computed as yNext=yPrev+stepSize*(aCoeff[0]*k1+aCoeff[1]*k2+...), where * the ks correspond to evaluations of the rhs at some points of the interval (tPrev,tNext). * These points are some additional parameters of the Runge-Kutta method, chosen in order to guarantee * the desired convergence order. * In order to make the remaining part of the code more compact, the vector aCoeff is always created with length 3, * as if needed for the highest order R-K method allowed by the code. Lower order R-K methods may require fewer entries. * As a consequence, some of the entries are equal to zero for lower order methods. This procedure implies * a few unneeded computations but allows a more compact and easily extendable. */ Eigen::Vector3d aCoeff; switch(orderRK){ case 1: aCoeff[0]=1, aCoeff[1]=0, aCoeff[2]=0; break; case 2: aCoeff[0]=0.5, aCoeff[1]=0.5, aCoeff[2]=0; break; case 3: aCoeff[0]=(double)1/6, aCoeff[1]=(double)4/6, aCoeff[2]=(double)1/6; break; default: std::cerr<<"Order orderRK required too high. Try using a multistep method with fewer steps."<<"\n"; } auto yPrev=initialValue; - double tPrev=initialTime; + auto tPrev=initialTime; + /** + * \brief A pointer to the value of the rhs function at initialTime is stored in rhsPreviousSteps. + */ + Eigen::VectorXd rhsStart=A*initialValue+g(initialTime); + rhsPreviousSteps.push_back(&rhsStart); + /** + * \brief Vectors k2, k3 define the updates of the higher order R-K methods. + */ Eigen::VectorXd k2(dimension),k3(dimension); k2.setZero(), k3.setZero(); for (int i=0;i1) - auto k2=A*(yPrev+0.5*stepSize*k1)+g(tPrev+0.5*stepSize); /// With this choice, the order two method corresponds to Euler's modified method. + auto k2=A*(yPrev+0.5*stepSize*k1)+g(tPrev+0.5*stepSize); // With this choice, the order two method corresponds to Euler's modified method. if(orderRK>2) - auto k3=A*(yPrev+stepSize*(-1*k1+2*k2))+g(tPrev+stepSize);/// This choice for k3 allows us to "recycle" k1, k2, obtaining a 3rd oredr RK. - Eigen::VectorXd yNext=yPrev+stepSize*(aCoeff[0]*k1+aCoeff[1]*k2+aCoeff[2]*k3); ///why 'auto' does not work? ->check if it is right - yPreviousSteps.push_back(&yNext); + auto k3=A*(yPrev+stepSize*(-1*k1+2*k2))+g(tPrev+stepSize);// This choice for k3 allows us to "recycle" k1, k2, obtaining a 3rd oredr RK. + Eigen::VectorXd yNext=yPrev+stepSize*(aCoeff[0]*k1+aCoeff[1]*k2+aCoeff[2]*k3); // why 'auto' does not work? ->check if it is right + /** + * \brief The value of the rhs function at tNext=tPrev+stepSize is stored in rhsPreviousSteps. + */ + Eigen::VectorXd rhsNext=A*yNext+g(tPrev+stepSize); + rhsPreviousSteps.push_back(&rhsNext); + //yPreviousSteps.push_back(&yNext); tPrev+=stepSize; } } \ No newline at end of file diff --git a/ODElibrary/MultistepAbstractSolver.h b/ODElibrary/MultistepAbstractSolver.h index b27731c..7d1c477 100644 --- a/ODElibrary/MultistepAbstractSolver.h +++ b/ODElibrary/MultistepAbstractSolver.h @@ -1,62 +1,71 @@ /** * This abstract class is daughter of the AbstractSolver class. * It is designed to be the mother class to its daughter classes AdamsBashforth, AdamsMoulton, BDF. * These classes will not be abstract and are the one that will be instanciated to solve ODE systems. */ #ifndef ODELIBRARY_MULTISTEPABSTRACTSOLVER_H #define ODELIBRARY_MULTISTEPABSTRACTSOLVER_H #include #include #include #include #include "AbstractSolver.h" class MultistepAbstractSolver:public AbstractSolver{ protected: + /** + * This variable refers to the number of steps that characterizes the multistep algorithm. + */ + int stepsAlgo; /** * bCoefficients stores the coefficients that determine the multistep algorithm. The coefficients depend on the * specific method chosen to solve the equation. */ Eigen::VectorXd bCoefficients; /** - * This vector stores only the values of y needed to perform the next integration step. + * This vector stores pointers to the values of y needed to perform the next integration step. * The size of this vector depends on the number of steps that characterizes the multistep algorithm. */ std::vector yPreviousSteps; + /** + * This vector stores pointers to the values of the rhs function needed to perform the next integration step. + * Its size depends on the number of steps of the algorithm. + */ + std::vector rhsPreviousSteps; /** * This vector stores the values of the vectorial function g(t) needed to perform the next integration step. * The size depends on the number of steps that characterizes the multistep algorithm. */ std::vector gPreviousSteps; public: MultistepAbstractSolver(double t0,double tf,int n,int steps,Eigen::VectorXd& y0); /** * A multistep method of n steps needs n initial values to start its iterative process. Since only one initial value is usually * provided, i.e. the initial value corresponding to t=t0, the other missing values need to be computed. Such task * can be performed applying a one step method with convergence rate equal to the convergence rate of the multistep method minus 1. * By doing so, the numerical solution to the ODE system provided by the algorithm is guaranteed to converge to the true solution * with the convergence rate characterising the multistep method. In the context of this project, a suitable Runge-Kutta method is used. * @param orderRK: order of the RK method to be applied to compute missing initial values. */ void computeMissingInitialValues(int orderRK); - virtual void solve() = 0; + virtual void solve(std::ostream &stream) = 0; }; #endif \ No newline at end of file diff --git a/cmake-build-debug/CMakeFiles/pscsproject.dir/main.cpp.o b/cmake-build-debug/CMakeFiles/pscsproject.dir/main.cpp.o index 763e828..e7aced1 100644 Binary files a/cmake-build-debug/CMakeFiles/pscsproject.dir/main.cpp.o and b/cmake-build-debug/CMakeFiles/pscsproject.dir/main.cpp.o differ diff --git a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AbstractSolver.cpp.o b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AbstractSolver.cpp.o index e5757d8..0788f65 100644 Binary files a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AbstractSolver.cpp.o and b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AbstractSolver.cpp.o differ diff --git a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AdamsBashforth.cpp.o b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AdamsBashforth.cpp.o index 0d15962..cfacc9d 100644 Binary files a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AdamsBashforth.cpp.o and b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/AdamsBashforth.cpp.o differ diff --git a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/CXX.includecache b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/CXX.includecache index c2ae03b..fb9a210 100644 --- a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/CXX.includecache +++ b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/CXX.includecache @@ -1,1084 +1,1074 @@ #IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) #IncludeRegexScan: ^.*$ #IncludeRegexComplain: ^$ #IncludeRegexTransform: -/Users/DaniH/pcscproject/ODElibrary/AbstractSolver.cpp -cassert -- -AbstractSolver.h -/Users/DaniH/pcscproject/ODElibrary/AbstractSolver.h - /Users/DaniH/pcscproject/ODElibrary/AbstractSolver.h vector - LinearCoefficients.h /Users/DaniH/pcscproject/ODElibrary/LinearCoefficients.h Eigen/Dense - /Users/DaniH/pcscproject/ODElibrary/AdamsBashforth.cpp AdamsBashforth.h /Users/DaniH/pcscproject/ODElibrary/AdamsBashforth.h /Users/DaniH/pcscproject/ODElibrary/AdamsBashforth.h iostream - Eigen/Dense - list - vector - MultistepAbstractSolver.h /Users/DaniH/pcscproject/ODElibrary/MultistepAbstractSolver.h /Users/DaniH/pcscproject/ODElibrary/LinearCoefficients.h -/Users/DaniH/pcscproject/ODElibrary/MultistepAbstractSolver.cpp -MultistepAbstractSolver.h -/Users/DaniH/pcscproject/ODElibrary/MultistepAbstractSolver.h - /Users/DaniH/pcscproject/ODElibrary/MultistepAbstractSolver.h iostream - Eigen/Dense - list - vector - AbstractSolver.h /Users/DaniH/pcscproject/ODElibrary/AbstractSolver.h /usr/local/include/eigen3/Eigen/Cholesky Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h src/Cholesky/LLT.h /usr/local/include/eigen3/Eigen/src/Cholesky/LLT.h src/Cholesky/LDLT.h /usr/local/include/eigen3/Eigen/src/Cholesky/LDLT.h src/misc/lapacke.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h src/Cholesky/LLT_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h math_functions.hpp - new - src/Core/util/Macros.h /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h complex - src/Core/util/MKL_support.h /usr/local/include/eigen3/Eigen/src/Core/util/MKL_support.h malloc.h - immintrin.h - mmintrin.h - emmintrin.h - xmmintrin.h - pmmintrin.h - tmmintrin.h - smmintrin.h - nmmintrin.h - immintrin.h - altivec.h - altivec.h - arm_neon.h - vecintrin.h - vector_types.h - host_defines.h - cuda_fp16.h - omp.h - cerrno - cstddef - cstdlib - cmath - cassert - functional - iosfwd - cstring - string - limits - climits - algorithm - type_traits - iostream - intrin.h - src/Core/util/Constants.h /usr/local/include/eigen3/Eigen/src/Core/util/Constants.h src/Core/util/Meta.h /usr/local/include/eigen3/Eigen/src/Core/util/Meta.h src/Core/util/ForwardDeclarations.h /usr/local/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h src/Core/util/StaticAssert.h /usr/local/include/eigen3/Eigen/src/Core/util/StaticAssert.h src/Core/util/XprHelper.h /usr/local/include/eigen3/Eigen/src/Core/util/XprHelper.h src/Core/util/Memory.h /usr/local/include/eigen3/Eigen/src/Core/util/Memory.h src/Core/NumTraits.h /usr/local/include/eigen3/Eigen/src/Core/NumTraits.h src/Core/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h src/Core/GenericPacketMath.h /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h src/Core/MathFunctionsImpl.h /usr/local/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h src/Core/arch/SSE/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h src/Core/arch/AVX/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h src/Core/arch/AVX512/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h src/Core/arch/AVX512/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h src/Core/arch/SSE/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h src/Core/arch/SSE/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h src/Core/arch/SSE/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h src/Core/arch/AVX/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h src/Core/arch/AVX/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h src/Core/arch/AVX/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h src/Core/arch/AVX/TypeCasting.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h src/Core/arch/SSE/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h src/Core/arch/SSE/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h src/Core/arch/SSE/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h src/Core/arch/SSE/TypeCasting.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h src/Core/arch/AltiVec/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h src/Core/arch/AltiVec/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h src/Core/arch/AltiVec/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h src/Core/arch/NEON/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h src/Core/arch/NEON/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h src/Core/arch/NEON/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h src/Core/arch/ZVector/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h src/Core/arch/ZVector/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h src/Core/arch/ZVector/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h src/Core/arch/CUDA/Half.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/Half.h src/Core/arch/CUDA/PacketMathHalf.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/PacketMathHalf.h src/Core/arch/CUDA/TypeCasting.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/TypeCasting.h src/Core/arch/CUDA/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/PacketMath.h src/Core/arch/CUDA/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/MathFunctions.h src/Core/arch/Default/Settings.h /usr/local/include/eigen3/Eigen/src/Core/arch/Default/Settings.h src/Core/functors/TernaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h src/Core/functors/BinaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h src/Core/functors/UnaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h src/Core/functors/NullaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h src/Core/functors/StlFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/StlFunctors.h src/Core/functors/AssignmentFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h src/Core/arch/CUDA/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h src/Core/IO.h /usr/local/include/eigen3/Eigen/src/Core/IO.h src/Core/DenseCoeffsBase.h /usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h src/Core/DenseBase.h /usr/local/include/eigen3/Eigen/src/Core/DenseBase.h src/Core/MatrixBase.h /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h src/Core/EigenBase.h /usr/local/include/eigen3/Eigen/src/Core/EigenBase.h src/Core/Product.h /usr/local/include/eigen3/Eigen/src/Core/Product.h src/Core/CoreEvaluators.h /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h src/Core/AssignEvaluator.h /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h src/Core/Assign.h /usr/local/include/eigen3/Eigen/src/Core/Assign.h src/Core/ArrayBase.h /usr/local/include/eigen3/Eigen/src/Core/ArrayBase.h src/Core/util/BlasUtil.h /usr/local/include/eigen3/Eigen/src/Core/util/BlasUtil.h src/Core/DenseStorage.h /usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h src/Core/NestByValue.h /usr/local/include/eigen3/Eigen/src/Core/NestByValue.h src/Core/ReturnByValue.h /usr/local/include/eigen3/Eigen/src/Core/ReturnByValue.h src/Core/NoAlias.h /usr/local/include/eigen3/Eigen/src/Core/NoAlias.h src/Core/PlainObjectBase.h /usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h src/Core/Matrix.h /usr/local/include/eigen3/Eigen/src/Core/Matrix.h src/Core/Array.h /usr/local/include/eigen3/Eigen/src/Core/Array.h src/Core/CwiseTernaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h src/Core/CwiseBinaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h src/Core/CwiseUnaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h src/Core/CwiseNullaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h src/Core/CwiseUnaryView.h /usr/local/include/eigen3/Eigen/src/Core/CwiseUnaryView.h src/Core/SelfCwiseBinaryOp.h /usr/local/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h src/Core/Dot.h /usr/local/include/eigen3/Eigen/src/Core/Dot.h src/Core/StableNorm.h /usr/local/include/eigen3/Eigen/src/Core/StableNorm.h src/Core/Stride.h /usr/local/include/eigen3/Eigen/src/Core/Stride.h src/Core/MapBase.h /usr/local/include/eigen3/Eigen/src/Core/MapBase.h src/Core/Map.h /usr/local/include/eigen3/Eigen/src/Core/Map.h src/Core/Ref.h /usr/local/include/eigen3/Eigen/src/Core/Ref.h src/Core/Block.h /usr/local/include/eigen3/Eigen/src/Core/Block.h src/Core/VectorBlock.h /usr/local/include/eigen3/Eigen/src/Core/VectorBlock.h src/Core/Transpose.h /usr/local/include/eigen3/Eigen/src/Core/Transpose.h src/Core/DiagonalMatrix.h /usr/local/include/eigen3/Eigen/src/Core/DiagonalMatrix.h src/Core/Diagonal.h /usr/local/include/eigen3/Eigen/src/Core/Diagonal.h src/Core/DiagonalProduct.h /usr/local/include/eigen3/Eigen/src/Core/DiagonalProduct.h src/Core/Redux.h /usr/local/include/eigen3/Eigen/src/Core/Redux.h src/Core/Visitor.h /usr/local/include/eigen3/Eigen/src/Core/Visitor.h src/Core/Fuzzy.h /usr/local/include/eigen3/Eigen/src/Core/Fuzzy.h src/Core/Swap.h /usr/local/include/eigen3/Eigen/src/Core/Swap.h src/Core/CommaInitializer.h /usr/local/include/eigen3/Eigen/src/Core/CommaInitializer.h src/Core/GeneralProduct.h /usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h src/Core/Solve.h /usr/local/include/eigen3/Eigen/src/Core/Solve.h src/Core/Inverse.h /usr/local/include/eigen3/Eigen/src/Core/Inverse.h src/Core/SolverBase.h /usr/local/include/eigen3/Eigen/src/Core/SolverBase.h src/Core/PermutationMatrix.h /usr/local/include/eigen3/Eigen/src/Core/PermutationMatrix.h src/Core/Transpositions.h /usr/local/include/eigen3/Eigen/src/Core/Transpositions.h src/Core/TriangularMatrix.h /usr/local/include/eigen3/Eigen/src/Core/TriangularMatrix.h src/Core/SelfAdjointView.h /usr/local/include/eigen3/Eigen/src/Core/SelfAdjointView.h src/Core/products/GeneralBlockPanelKernel.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h src/Core/products/Parallelizer.h /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h src/Core/ProductEvaluators.h /usr/local/include/eigen3/Eigen/src/Core/ProductEvaluators.h src/Core/products/GeneralMatrixVector.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h src/Core/products/GeneralMatrixMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h src/Core/SolveTriangular.h /usr/local/include/eigen3/Eigen/src/Core/SolveTriangular.h src/Core/products/GeneralMatrixMatrixTriangular.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h src/Core/products/SelfadjointMatrixVector.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h src/Core/products/SelfadjointMatrixMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h src/Core/products/SelfadjointProduct.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h src/Core/products/SelfadjointRank2Update.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h src/Core/products/TriangularMatrixVector.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h src/Core/products/TriangularMatrixMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h src/Core/products/TriangularSolverMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h src/Core/products/TriangularSolverVector.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h src/Core/BandMatrix.h /usr/local/include/eigen3/Eigen/src/Core/BandMatrix.h src/Core/CoreIterators.h /usr/local/include/eigen3/Eigen/src/Core/CoreIterators.h src/Core/ConditionEstimator.h /usr/local/include/eigen3/Eigen/src/Core/ConditionEstimator.h src/Core/BooleanRedux.h /usr/local/include/eigen3/Eigen/src/Core/BooleanRedux.h src/Core/Select.h /usr/local/include/eigen3/Eigen/src/Core/Select.h src/Core/VectorwiseOp.h /usr/local/include/eigen3/Eigen/src/Core/VectorwiseOp.h src/Core/Random.h /usr/local/include/eigen3/Eigen/src/Core/Random.h src/Core/Replicate.h /usr/local/include/eigen3/Eigen/src/Core/Replicate.h src/Core/Reverse.h /usr/local/include/eigen3/Eigen/src/Core/Reverse.h src/Core/ArrayWrapper.h /usr/local/include/eigen3/Eigen/src/Core/ArrayWrapper.h src/Core/products/GeneralMatrixMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h src/Core/products/GeneralMatrixVector_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h src/Core/products/SelfadjointMatrixMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h src/Core/products/SelfadjointMatrixVector_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h src/Core/products/TriangularMatrixMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h src/Core/products/TriangularMatrixVector_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h src/Core/products/TriangularSolverMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h src/Core/Assign_MKL.h /usr/local/include/eigen3/Eigen/src/Core/Assign_MKL.h src/Core/GlobalFunctions.h /usr/local/include/eigen3/Eigen/src/Core/GlobalFunctions.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/Dense Core /usr/local/include/eigen3/Eigen/Core LU /usr/local/include/eigen3/Eigen/LU Cholesky /usr/local/include/eigen3/Eigen/Cholesky QR /usr/local/include/eigen3/Eigen/QR SVD /usr/local/include/eigen3/Eigen/SVD Geometry /usr/local/include/eigen3/Eigen/Geometry Eigenvalues /usr/local/include/eigen3/Eigen/Eigenvalues /usr/local/include/eigen3/Eigen/Eigenvalues Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h Cholesky /usr/local/include/eigen3/Eigen/Cholesky Jacobi /usr/local/include/eigen3/Eigen/Jacobi Householder /usr/local/include/eigen3/Eigen/Householder LU /usr/local/include/eigen3/Eigen/LU Geometry /usr/local/include/eigen3/Eigen/Geometry src/misc/RealSvd2x2.h /usr/local/include/eigen3/Eigen/src/misc/RealSvd2x2.h src/Eigenvalues/Tridiagonalization.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h src/Eigenvalues/RealSchur.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h src/Eigenvalues/EigenSolver.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h src/Eigenvalues/SelfAdjointEigenSolver.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h src/Eigenvalues/HessenbergDecomposition.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h src/Eigenvalues/ComplexSchur.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h src/Eigenvalues/ComplexEigenSolver.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h src/Eigenvalues/RealQZ.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h src/Eigenvalues/GeneralizedEigenSolver.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h src/Eigenvalues/MatrixBaseEigenvalues.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h src/misc/lapacke.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h src/Eigenvalues/RealSchur_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h src/Eigenvalues/ComplexSchur_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/Geometry Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h SVD /usr/local/include/eigen3/Eigen/SVD LU /usr/local/include/eigen3/Eigen/LU limits - src/Geometry/OrthoMethods.h /usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h src/Geometry/EulerAngles.h /usr/local/include/eigen3/Eigen/src/Geometry/EulerAngles.h src/Geometry/Homogeneous.h /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h src/Geometry/RotationBase.h /usr/local/include/eigen3/Eigen/src/Geometry/RotationBase.h src/Geometry/Rotation2D.h /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h src/Geometry/Quaternion.h /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h src/Geometry/AngleAxis.h /usr/local/include/eigen3/Eigen/src/Geometry/AngleAxis.h src/Geometry/Transform.h /usr/local/include/eigen3/Eigen/src/Geometry/Transform.h src/Geometry/Translation.h /usr/local/include/eigen3/Eigen/src/Geometry/Translation.h src/Geometry/Scaling.h /usr/local/include/eigen3/Eigen/src/Geometry/Scaling.h src/Geometry/Hyperplane.h /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h src/Geometry/ParametrizedLine.h /usr/local/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h src/Geometry/AlignedBox.h /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h src/Geometry/Umeyama.h /usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h src/Geometry/arch/Geometry_SSE.h /usr/local/include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/Householder Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h src/Householder/Householder.h /usr/local/include/eigen3/Eigen/src/Householder/Householder.h src/Householder/HouseholderSequence.h /usr/local/include/eigen3/Eigen/src/Householder/HouseholderSequence.h src/Householder/BlockHouseholder.h /usr/local/include/eigen3/Eigen/src/Householder/BlockHouseholder.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/Jacobi Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h src/Jacobi/Jacobi.h /usr/local/include/eigen3/Eigen/src/Jacobi/Jacobi.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/LU Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h src/misc/Kernel.h /usr/local/include/eigen3/Eigen/src/misc/Kernel.h src/misc/Image.h /usr/local/include/eigen3/Eigen/src/misc/Image.h src/LU/FullPivLU.h /usr/local/include/eigen3/Eigen/src/LU/FullPivLU.h src/LU/PartialPivLU.h /usr/local/include/eigen3/Eigen/src/LU/PartialPivLU.h src/misc/lapacke.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h src/LU/PartialPivLU_LAPACKE.h /usr/local/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h src/LU/Determinant.h /usr/local/include/eigen3/Eigen/src/LU/Determinant.h src/LU/InverseImpl.h /usr/local/include/eigen3/Eigen/src/LU/InverseImpl.h src/LU/arch/Inverse_SSE.h /usr/local/include/eigen3/Eigen/src/LU/arch/Inverse_SSE.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/QR Core /usr/local/include/eigen3/Eigen/Core src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h Cholesky /usr/local/include/eigen3/Eigen/Cholesky Jacobi /usr/local/include/eigen3/Eigen/Jacobi Householder /usr/local/include/eigen3/Eigen/Householder src/QR/HouseholderQR.h /usr/local/include/eigen3/Eigen/src/QR/HouseholderQR.h src/QR/FullPivHouseholderQR.h /usr/local/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h src/QR/ColPivHouseholderQR.h /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h src/QR/CompleteOrthogonalDecomposition.h /usr/local/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h src/misc/lapacke.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h src/QR/HouseholderQR_LAPACKE.h /usr/local/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h src/QR/ColPivHouseholderQR_LAPACKE.h /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/SVD QR /usr/local/include/eigen3/Eigen/QR Householder /usr/local/include/eigen3/Eigen/Householder Jacobi /usr/local/include/eigen3/Eigen/Jacobi src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h src/misc/RealSvd2x2.h /usr/local/include/eigen3/Eigen/src/misc/RealSvd2x2.h src/SVD/UpperBidiagonalization.h /usr/local/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h src/SVD/SVDBase.h /usr/local/include/eigen3/Eigen/src/SVD/SVDBase.h src/SVD/JacobiSVD.h /usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h src/SVD/BDCSVD.h /usr/local/include/eigen3/Eigen/src/SVD/BDCSVD.h src/misc/lapacke.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h src/SVD/JacobiSVD_LAPACKE.h /usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Cholesky/LDLT.h /usr/local/include/eigen3/Eigen/src/Cholesky/LLT.h /usr/local/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Core/Array.h /usr/local/include/eigen3/Eigen/src/Core/ArrayBase.h ../plugins/CommonCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h ../plugins/MatrixCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h ../plugins/ArrayCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h ../plugins/CommonCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h ../plugins/MatrixCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h ../plugins/ArrayCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/Core/ArrayWrapper.h /usr/local/include/eigen3/Eigen/src/Core/Assign.h /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h /usr/local/include/eigen3/Eigen/src/Core/Assign_MKL.h /usr/local/include/eigen3/Eigen/src/Core/BandMatrix.h /usr/local/include/eigen3/Eigen/src/Core/Block.h /usr/local/include/eigen3/Eigen/src/Core/BooleanRedux.h /usr/local/include/eigen3/Eigen/src/Core/CommaInitializer.h /usr/local/include/eigen3/Eigen/src/Core/ConditionEstimator.h /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h /usr/local/include/eigen3/Eigen/src/Core/CoreIterators.h /usr/local/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h /usr/local/include/eigen3/Eigen/src/Core/CwiseUnaryView.h /usr/local/include/eigen3/Eigen/src/Core/DenseBase.h ../plugins/BlockMethods.h /usr/local/include/eigen3/Eigen/src/plugins/BlockMethods.h /usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h /usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h /usr/local/include/eigen3/Eigen/src/Core/Diagonal.h /usr/local/include/eigen3/Eigen/src/Core/DiagonalMatrix.h /usr/local/include/eigen3/Eigen/src/Core/DiagonalProduct.h /usr/local/include/eigen3/Eigen/src/Core/Dot.h /usr/local/include/eigen3/Eigen/src/Core/EigenBase.h /usr/local/include/eigen3/Eigen/src/Core/Fuzzy.h /usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h /usr/local/include/eigen3/Eigen/src/Core/GlobalFunctions.h /usr/local/include/eigen3/Eigen/src/Core/IO.h /usr/local/include/eigen3/Eigen/src/Core/Inverse.h /usr/local/include/eigen3/Eigen/src/Core/Map.h /usr/local/include/eigen3/Eigen/src/Core/MapBase.h /usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h /usr/local/include/eigen3/Eigen/src/Core/Matrix.h /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h ../plugins/CommonCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h ../plugins/CommonCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h ../plugins/MatrixCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h ../plugins/MatrixCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/Core/NestByValue.h /usr/local/include/eigen3/Eigen/src/Core/NoAlias.h /usr/local/include/eigen3/Eigen/src/Core/NumTraits.h /usr/local/include/eigen3/Eigen/src/Core/PermutationMatrix.h /usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h /usr/local/include/eigen3/Eigen/src/Core/Product.h /usr/local/include/eigen3/Eigen/src/Core/ProductEvaluators.h /usr/local/include/eigen3/Eigen/src/Core/Random.h /usr/local/include/eigen3/Eigen/src/Core/Redux.h /usr/local/include/eigen3/Eigen/src/Core/Ref.h /usr/local/include/eigen3/Eigen/src/Core/Replicate.h /usr/local/include/eigen3/Eigen/src/Core/ReturnByValue.h /usr/local/include/eigen3/Eigen/src/Core/Reverse.h /usr/local/include/eigen3/Eigen/src/Core/Select.h /usr/local/include/eigen3/Eigen/src/Core/SelfAdjointView.h /usr/local/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h /usr/local/include/eigen3/Eigen/src/Core/Solve.h /usr/local/include/eigen3/Eigen/src/Core/SolveTriangular.h /usr/local/include/eigen3/Eigen/src/Core/SolverBase.h /usr/local/include/eigen3/Eigen/src/Core/StableNorm.h /usr/local/include/eigen3/Eigen/src/Core/Stride.h /usr/local/include/eigen3/Eigen/src/Core/Swap.h /usr/local/include/eigen3/Eigen/src/Core/Transpose.h /usr/local/include/eigen3/Eigen/src/Core/Transpositions.h /usr/local/include/eigen3/Eigen/src/Core/TriangularMatrix.h /usr/local/include/eigen3/Eigen/src/Core/VectorBlock.h /usr/local/include/eigen3/Eigen/src/Core/VectorwiseOp.h /usr/local/include/eigen3/Eigen/src/Core/Visitor.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/Half.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/PacketMathHalf.h /usr/local/include/eigen3/Eigen/src/Core/arch/CUDA/TypeCasting.h /usr/local/include/eigen3/Eigen/src/Core/arch/Default/Settings.h /usr/local/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h /usr/local/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h /usr/local/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h /usr/local/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h stdint.h - /usr/local/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/StlFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h /usr/local/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h /usr/local/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h /usr/local/include/eigen3/Eigen/src/Core/util/BlasUtil.h /usr/local/include/eigen3/Eigen/src/Core/util/Constants.h /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h /usr/local/include/eigen3/Eigen/src/Core/util/MKL_support.h mkl.h - ../../misc/blas.h /usr/local/include/eigen3/Eigen/src/misc/blas.h /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h cstdlib - iostream - /usr/local/include/eigen3/Eigen/src/Core/util/Memory.h /usr/local/include/eigen3/Eigen/src/Core/util/Meta.h cfloat - math_constants.h - cstdint - /usr/local/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h /usr/local/include/eigen3/Eigen/src/Core/util/StaticAssert.h /usr/local/include/eigen3/Eigen/src/Core/util/XprHelper.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h ./ComplexSchur.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h ./HessenbergDecomposition.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h ./RealSchur.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h ./RealQZ.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h ./Tridiagonalization.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h ./HessenbergDecomposition.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h ./Tridiagonalization.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h /usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h /usr/local/include/eigen3/Eigen/src/Geometry/AngleAxis.h /usr/local/include/eigen3/Eigen/src/Geometry/EulerAngles.h /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h /usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h /usr/local/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h /usr/local/include/eigen3/Eigen/src/Geometry/RotationBase.h /usr/local/include/eigen3/Eigen/src/Geometry/Scaling.h /usr/local/include/eigen3/Eigen/src/Geometry/Transform.h /usr/local/include/eigen3/Eigen/src/Geometry/Translation.h /usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h /usr/local/include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h /usr/local/include/eigen3/Eigen/src/Householder/BlockHouseholder.h /usr/local/include/eigen3/Eigen/src/Householder/Householder.h /usr/local/include/eigen3/Eigen/src/Householder/HouseholderSequence.h /usr/local/include/eigen3/Eigen/src/Jacobi/Jacobi.h /usr/local/include/eigen3/Eigen/src/LU/Determinant.h /usr/local/include/eigen3/Eigen/src/LU/FullPivLU.h /usr/local/include/eigen3/Eigen/src/LU/InverseImpl.h /usr/local/include/eigen3/Eigen/src/LU/PartialPivLU.h /usr/local/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h /usr/local/include/eigen3/Eigen/src/LU/arch/Inverse_SSE.h /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h /usr/local/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h /usr/local/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h /usr/local/include/eigen3/Eigen/src/QR/HouseholderQR.h /usr/local/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h /usr/local/include/eigen3/Eigen/src/SVD/BDCSVD.h /usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h /usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h /usr/local/include/eigen3/Eigen/src/SVD/SVDBase.h /usr/local/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h /usr/local/include/eigen3/Eigen/src/misc/Image.h /usr/local/include/eigen3/Eigen/src/misc/Kernel.h /usr/local/include/eigen3/Eigen/src/misc/RealSvd2x2.h /usr/local/include/eigen3/Eigen/src/misc/blas.h /usr/local/include/eigen3/Eigen/src/misc/lapacke.h lapacke_config.h /usr/local/include/eigen3/Eigen/src/misc/lapacke_config.h stdlib.h - complex.h - complex.h - lapacke_mangling.h /usr/local/include/eigen3/Eigen/src/misc/lapacke_mangling.h /usr/local/include/eigen3/Eigen/src/misc/lapacke_mangling.h /usr/local/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/BlockMethods.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h /usr/local/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h diff --git a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/MultistepAbstractSolver.cpp.o b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/MultistepAbstractSolver.cpp.o index aaa4d37..fdc6376 100644 Binary files a/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/MultistepAbstractSolver.cpp.o and b/cmake-build-debug/ODElibrary/CMakeFiles/ODElibrary.dir/MultistepAbstractSolver.cpp.o differ diff --git a/cmake-build-debug/ODElibrary/libODElibrary.a b/cmake-build-debug/ODElibrary/libODElibrary.a index 46547aa..6692ab0 100644 Binary files a/cmake-build-debug/ODElibrary/libODElibrary.a and b/cmake-build-debug/ODElibrary/libODElibrary.a differ diff --git a/cmake-build-debug/pscsproject b/cmake-build-debug/pscsproject index 347547b..90a8006 100755 Binary files a/cmake-build-debug/pscsproject and b/cmake-build-debug/pscsproject differ diff --git a/main.cpp b/main.cpp index 020b596..9438852 100644 --- a/main.cpp +++ b/main.cpp @@ -1,56 +1,62 @@ // // Created by lionel on 25.11.19. // #include #include #include /** * This function will correspond to the rhs function g(t), where: * @param t time at which it has to be computed * @param dim dimension of the ODE system * @param result reference to a Eigen::VectorXd where g(t) will be stored * As it is now designed, it computes the values for a single time. This choice is motivated * by the fact that we do not need to store the values of g(t) for all time steps, since we do * not need them again once the integration step which concerns them has been performed. * (do you agree?) */ void function(double t,int dim, Eigen::VectorXd& result); int main(){ std::cout << "hello world" << std::endl; Eigen::MatrixXd m(2,2); Eigen::VectorXd v(2); Eigen::Vector4d w; v[0]=1.0,v[1]=2.0; m(0,0)=1.0, m(0,1)=2.0,m(1,0)=1.5, m(1,1)=4.0; w[0]=0,w[1]=1,w[2]=2,w[3]=3; Eigen::VectorXd s(2); function(2,2,s); - std::cout< vec; vec.push_back(&v); vec.push_back(&s); + //std::cout<<*vec[0]<<"\n"; + + vec.erase(vec.begin()); std::cout<<*vec[0]<<"\n"; + //std::cout<<*(*vec.begin())<<"\n"; + + auto k=m*v; - std::cout<