Implement a module for approximating integrals using composite numerical integration formulas of the form
where
Implement a module for solving Ordinary Differential Equations (ODEs) of the form
where
CSV file with header columns t, y1, y2, ..., yN.Boost (e.g., the modules Histogram, JSON, Math, Odeint)Eigen, for linear algebra classes (vectors, matrices, linear solvers)GetPot, for parsing command line arguments and configuration filesGNU GSL, for a wide range of mathematical routinesmuParserX, to parse string expressions such as "sin(pi * x) * exp(x)" as mathematical functionsOrganize your implementation into subfolders and files with meaningful names.
Ensure a clear separation between function declarations and definitions by placing them in different files whenever possible.
The two modules implemented should be part of the same framework, e.g., by sharing namespaces, styling, and common utilities. However, each of them should be compilable as a standalone shared library, allowing independent use.
Before submission, ensure your code's compatibility (e.g., with various compilers by testing it on platforms such as GodBolt) using the following compilation flags:
-std=c++17 -Wall -Wextra -Wpedantic -Werror
README.md file that:
CMakeLists.txt script(s) for building the libraries and testing your implementation.Homework_02_Surname1_Surname2.{zip|tar.gz}) containing all source code, the README, and any other relevant files. If including third-party libraries, ensure compliance with their licenses.CMake build system, with compilability as standalone shared libraries.