/MathToolKitCPP

C++ numpy like toolbox for applied maths

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Build Status Coverage Status License: GPL v3

MathToolKitCPP 1.2.0

Introduction

Note Coverage has not been updated and values don't reflect real status of the code (~90% with gcov evaluation on ~70 unit tests).

MathToolKit is a C++ maths framework. It introduces common mathematical abstractions such as matrix, vector, numerical fields, ODE... Designed to save time solving commons mathematical problems for engineering.

The library uses both . It's designed It's template based implementation to provide .

  • High level numpy like syntax

  • Efficient computing using a mix of STL standardization and low level C++

  • Many abstractions from algebra to geometry are introduced

  • Lightweight enough to be embedded on various microelectronic devices

  • Customization oriented template based implementation

Currently only NAlgebra library is fully tested and functional. Work in progress on other libraries. The full documentation of the framework is hosted here.

Install

  1. Clone the project

  2. Copy the directories of the libraries you want to import onto your project. eg : import NAlgebra if you want to use NPMatrix.

  3. Take a look at tutorials here.

Additional information

Copyright : © 2019-2018 Sami Dahoux (GitHub), All Rights Reserved

Last Update : 08/01/2019

Version log :

  • 1.2.0 : Adding matrix and vector resize interface and optimizing transposition, minor changes on API
  • 1.1.2 : Minor fixes for gcc8
  • 1.1.1 : minor fixes related to integration of CI tool and generating doc using doxygen.
  • 1.1.0 : Adding cascade calls interface for NAlgebra API (vect.shift().swap()). Simplifying code structure. Optimizing execution time.
  • 1.0.1 : Adding unit testing for NGeometry and NAnalyis and attempt to create a unified data structure for geometrical N-dimensional shapes. Minor fixes.
  • 1.0.0 : First release.