2.1. Linux
2.2. Windows
5.1. Initializers
5.2. Slicing
5.3. Printing/Viewing
5.4. Indexing
5.5. Operators
5.6. Broadcasting
5.7. Minimum, Maximum
5.10. Matrix Algebra
5.11. Miscellaneous
This describes the installation process using cmake. As pre-requisites, you'll need git and cmake installed.
# Check out the library. $ git clone https://github.com/mlcpp/Matrix.git && cd Matrix # Make a build directory to place the build output. $ cmake -E make_directory "build" # Generate build system files with cmake. $ cmake -E chdir "build" cmake -DCMAKE_BUILD_TYPE=Release ../ # Build the library. $ cmake -DCMAKE_BUILD_TYPE=Release -S . -B "build"
On a unix system, the build directory should now look something like this:
/Matrix
/build
/examples
/abs
/addition
...
# Check out the library. $ git clone https://github.com/mlcpp/Matrix.git && cd Matrix # Create build directory. $ mkdir build # Enter into build directory. $ cd build # Run CMake. This step will generate a Makefile in the build/ folder. $ cmake ../ # Compile all files and place the binaries inside build/examples/ folder. $ make # Compile single file and place the binary inside build/examples/ folder. $ make <file_name_without_extension>
Add these tools to PATH.
Note: Run the following commands in msysgit terminal.
# Check out the library. $ git clone https://github.com/mlcpp/Matrix.git && cd Matrix # Create build directory. $ mkdir build # Enter into build directory. $ cd build # Run CMake. This step will generate a Makefile in the build/ folder. $ cmake ../ # Compile all files and place the binaries inside build/examples/ folder. $ mingw-make # use mingw32-make if using 32-bit Windows # Compile single file and place the binary inside build/examples/ folder. $ mingw-make <file_name_without_extension> # use mingw32-make if using 32-bit Windows
To compile g_benchmark binaries:
Linux: make benchmarks
Windows: mingw32-make benchmarks
To compile g_test binaries:
Linux: make tests
Windows: mingw32-make tests
This guide contains detailed explanation of all the methods and functions available and how to use them.
More detailed information about how to use these methods and functions is available in /examples
.
Note: Here d-type
means any C++ data type.
Many initializer functions are provided that return Matrix
object.
matrix.init()
1 Parameter:
Type: d-type
/std::vector<d-type>
/std::vector<std::vector<d-type>>
/std::vector<std::vector<std::string>>
Job: value(s) of elements in the Matrix
object
Matrix
object Creates a Matrix
object of same dimensions and values as provided in the parameter. matrix.eye()
1 Parameter:
Type: int
Job: Size of the identity matrix
Matrix
object Creates an identity Matrix
object of the size given as parameters. matrix.zeros()
2 Parameters:
Type: int
; int
Job: Number of rows; Number of columns
Matrix
object Creates a Matrix
object of all elements 0
of the size given as parameters. matrix.ones()
2 Parameters:
Type: int
; int
Job: Number of rows; Number of columns
Matrix
object Creates a Matrix
object of all elements 1
of the size given as parameters. matrix.genfromtxt()
2 Parameters:
Type: std::string
;char
Job: Path of the .csv
file
Matrix
object Creates a Matrix
object with data elements as in the given file.
Matrix
objects can be sliced like NumPy
arrays.
Matrix.slice()
4 Parameter:
Type: int
; int
; int
; int
Job: Starting row index; Ending row index; Starting column index; Ending column index
Matrix
object Slices the Matrix
object according to the indices provided. Matrix.slice_select()
4 Parameter:
Type: Matrix<d-type1>
; Matrix<d-type2>
; d-type2
; int
Job: Matrix
to select values on; Matrix
to select values from; value to select; column index on which to select
Matrix
object Slices the Matrix
object to get all rows which have value(3rd parameter) in second Matrix
object and one column(4th parameter)
A number of methods are provided to print/view a Matrix
object in different ways.
Matrix.print()
0 Parameters
void
Prints the whole Matrix
object onto the console. Matrix.head()
0 Parameters
void
Prints first 5 rows of the Matrix
object onto the console. Matrix.tail()
0 Parameters
void
Prints first 5 rows of the Matrix
object onto the console. Matrix.view()
2 Parameters:
Type: int
; int
Job: row index; column index
void
Prints the value on the provided index. Matrix.view()
4 Parameters:
Type: int
; int
; int
; int
ob: Starting row index; Ending row index; Starting column index; Ending column index
void
Prints the Matrix
object according to the indices provided.
Indexing can be used to get or assign value to a particular element.
For example, let there is a Matrix
object named mat. If we want to get the value at index (5,3) we can do this as follows:
Similarly, if we want to assign the value to index (5,3) we can do this by:
Support for almost all standard C++ operators is provided. This includes:
Broadcasting is in-built in the Basic Mathematical operations i.e., addition, subtraction, multiplication and division.
Following binary operations are possible:
where, @ is any operator from (+, -, *, /)
Note: Vector is a Matrix
object where row length or column length is equal to 1.
Following unary operations are possible:
where, @ is any operator from (-)
Function Parameters Return value Descriptionmatrix.min()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
to find minimum; dimension across which to find minimum
Matrix
object Method to get the minimum value along an axis matrix.max()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
to find maximum; dimension across which to find maximum
Matrix
object Method to get the maximum value along an axis matrix.argmin()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
to find index of minimum; dimension across which to find index of minimum
Matrix
object Method to get the index of minimum value along an axis matrix.argmax()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
to find index of maximum; dimension across which to find index of maximum
Matrix
object Method to get the index of maximum value along an axis Function Parameters Return value Description matrix.sqrt()
1 Parameter:
Type: Matrix
Job: Matrix
object to apply method on
Matrix
object Method to get the sqrt of each element of aMatrix
object matrix.power()
2 Parameters:
Type: Matrix
; double
Job: Matrix
object to apply method on; power of Matrix
elements
Matrix
object Method to calculate power of each element of a Matrix
object matrix.power()
2 Parameters:
Type: Matrix
; Matrix
Job: Matrix
object to apply method on; power of Matrix
elements
Matrix
object Method to calculate power of each element of a Matrix
object matrix.exp()
1 Parameter:
Type: Matrix
Job: Matrix
object to apply method on
Matrix
object Method to calculate exponential of all elements in the Matrix
object matrix.log()
1 Parameter:
Type: Matrix
Job: Matrix
object to apply method on
Matrix
object Method to calculate natural logarithm of all elements in the in the Matrix
object matrix.abs()
1 Parameter:
Type: Matrix
Job: Matrix
object to apply method on
Matrix
object Method to get absolute value of all elements in the in the Matrix
object
Note: Broadcasting in power() methods works in the same way as in Basic Mathematical operations.
Function Parameters Return value Descriptionmatrix.sum()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
object to apply method on; Dimension on which to calculate sum
Matrix
object Method to calculate the sum over an axis of aMatrix
object matrix.mean()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
object to apply method on; Dimension on which to calculate mean
Matrix
object Method to calculate the mean over an axis of a Matrix
object matrix.std()
2 Parameters:
Type: Matrix
; std::string
Job: Matrix
object to apply method on; Dimension on which to calculate standard deviation
Matrix
object Method to calculate the standard deviation over an axis of a Matrix
object Function Parameters Return value Description Matrix.transpose()
0 Parameters
Matrix
object Method to return the Tranpose of aMatrix
object matrix.matmul()
2 Parameters:
Type: Matrix
; Matrix
Job: First Matrix
for matrix multiplication; Second Matrix
for matrix multiplication
Matrix
object Method to calculate matrix multiplication matrix.determinant()
2 Parameters:
Type: Matrix
; int
Job: Matrix
object to calculate determinant of; Size of the Matrix
object
double
Method to calculate the Determinant of a Matrix
object matrix.inverse()
1 Parameter:
Type: Matrix
Job: Matrix
object to calculate inverse of
Matrix
object Method to calculate the Inverse of a Matrix
object Function Parameters Return value Description matrix.concatenate()
3 Parameters:
Type: Matrix
; Matrix
; std::string
Job: Matrix
to concatenate on; Matrix
which is to be concatenated; Dimension on which to concatenate
Matrix
object Method to concatenate/join two Matrix
objects Matrix.get()
0 Parameters
std::vector<std::vector<d-type>>
Method to get the Matrix
object as a 2D vector Matrix.get_row()
1 Parameter:
Type: int
Job: row index
std::vector<d-type>
Method to get a row of a Matrix
object in the form of a vector Matrix.get_col()
1 Parameter:
Type: int
Job: column index
std::vector<d-type>
Method to get a column of a Matrix
object in the form of a vector matrix.delete_()
3 Parameters:
Type: Matrix
; int
; std::string
Job: Matrix
to delete row/column of; index to be deleted; Dimension on which to delete
Matrix
object Method to delete a row or column of a Matrix
object matrix.reciprocal()
1 Parameter:
Type: Matrix
Job: Matrix
object to apply method on
Matrix
object Method to calculate reciprocal of all elements in the Matrix
object Matrix.row_length()
0 Parameters
int
Method to get the number of rows in a Matrix
object Matrix.col_length()
0 Parameters
int
Method to get the number of columns in a Matrix
object
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4