Tori's Corner

Project Title

Header-Only Mathematics library for advanced mathematics.

This project is available on Github.
This project has been discontinued and will not receive updates.

What is Mathlib?

Mathlib is a header-only maths library for C/C++. It goes above and beyond math.h, providing functionality for advanced mathematics such as Calculus and Vectors.
The library also reimplements several libc functions, such as trigonometric functions and exponents/logarithms. Functions such as these rely heavily on Taylor Series Expansions[1], meaning an advanced knowledge of Mathematics and Calculus will be necessary to interpret the source code of this library.

What is the purpose of this project?

This project was created to further my knowledge of Mathematics, and improve my grasp on concepts needed for my Mathematics and Further Mathematics A-Levels[2]. Throughout the development of this project, I learned several valuable problem-solving and optimisation skills, as well as furthering my knowledge of advanced mathematic concepts, with the help of my Mathematics teachers, and websites such as Khan Academy.

Implementation

The library is implemented across 6 header files, however the user should only need to include "mathlib.h" into a source file that uses the library. Each file is responsible for a specific part of the library.

Each header file contains structure and function definitions that can be referenced externally to perform operations. mathlib_core defines aliases for common data types that the library uses.

Functions - mathlib_core.h

Arguments are assumed to be real numbers unless otherwise stated.

Functions - mathlib_discrete.h

Arguments are assumed to be real numbers unless otherwise stated.

Functions - mathlib_pure.h

Arguments are assumed to be real numbers unless otherwise stated.

Functions - mathlib_vector.h

Arguments are assumed to be vectors unless otherwise stated.

Functions - mathlib_complex.h

Arguments are assumed to be complex numbers unless otherwise stated.

References

  1. Talyor Series - Wikipedia | Khan Academy
  2. A-Levels - Wikipedia