Matrix Library
A simple Matrix operation library to perform Matrix Multiplication and find the transpose of a Matrix.
matrix.h File Reference

The main Matrix library header file. More...

Go to the source code of this file.

Classes

class  MATOPS::Matrix< T, m, n >
 This class is for matrices of smaller size. The user can define a Matrix A of size m x n of Datatype T as follows: MATOPS::Matrix<T,m,n> A. More...
 
class  MATOPS::BigMatrix< Data1 >
 This is the Class for handling Large Matrices. It takes in large Matrices stored as comma-separated values (CSV) files and perform both Multiplication (Strassan's Algorithm) and transpose. It contains all the important functions namely ,matmul function, StrassanMultiply function and other helper functions that are needed for smooth functioning of the library. This class also contains blocks of code that are gated by the SET_LEAF_SIZE flag, for example the set_LEAF_SIZE() function and the set_configerd_Leaf_size() function. When matrix.h is compiled with the SET_LEAF_SIZE flag raised the set_LEAF_SIZE() function is active and set_configerd_Leaf_size() function is inactive. And the vice-versa happens when matrix.h is compiled without the SET_LEAF_SIZE flag. More...
 

Namespaces

 MATOPS
 The main matrix.h namespace named MATOPS- MATrix OPerations. It contains 2 Matrix classes, namely class Matrix and class BigMatrix to perform matrix operations. The class Matrix uses the naive O(n^3) solution to perform matrix multiplication and the class BigMatrix uses a mixture of Strassesn's algorithm and Naive O(n^3) solution to perform Matrix multiplication. Both the classes perform matrix transpose in similar fashion, i.e. by swapping the off diagonal elements.
 

Functions

template<typename Data2 >
void MATOPS::store_csv (Data2 **C, int m_1, int n_2, std::string path)
 Function template to Store csv file at a given destination file. This function is internally called by matmul and Transpose function (with Data2:= int, float etc) to store the Resultant BigMatrix from the memory to a CSV file. More...
 
template<typename My_data >
My_data MATOPS::convert_to (const std::string &str)
 Function template to convert variable type from string to int,float, double or any other Datatype spcified by My_data. More...
 

Detailed Description

The main Matrix library header file.

Author
Shiladitya Biswas (https://github.com/notu97)
Version
0.1
Date
2021-01-30