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.