Sparse matrix interface, tests & documentation

This PR builds onto PR 9 ("clang format config & includes & gitignore").

This Pullrequest is most likely still a "Work in Progress" as you are reading this but it tries to provide the following in its final state:

  • Tests for the added functionality (using Googles gtest framework) which
    • test correct functionality of the added classes & functions
    • are executing for diffrent template parameters (currently stuff like int, float, double, std::complex<float>, std::complex<double>
    • are easy to execute and have information on obtaining necessary tooling
    • also define the interface of the tested code and show sample usages
  • A well designed interface for a SparseMatrix Class which
    • is intuitive to beginner programmers
    • uses current c++ features and programming style
    • operates well given sensible template parameters
    • is similar to DenseMatrix
    • enables a somewhat efficient implementation for the features (since this is still a numerics library)

Future Work (PR after this one is done) will include:

  • Full implementation of the features
  • iterative Methods to utilize the structure of the matrix
  • examples for the examples/num0 folder
  • Benchmarks to compare the speed differences betweeen DenseMatrix and SparseMatrix
  • ? updates to DenseMatrix to fullfill a common interface

I am always open for feedback on the way and will try to keep this branch updated so it reflects my local changes, but so far its day one and there is a lot of work to do. 💯 🔥

Edited by Ghost User

Merge request reports

Loading