|
NTPoly
|
A Module For Performing Distributed Sparse Matrix Operations. More...
#include <DistributedSparseMatrix.h>
Public Member Functions | |
| DistributedSparseMatrix (int matrix_dimension) | |
| DistributedSparseMatrix (std::string file_name, bool is_binary=false) | |
| DistributedSparseMatrix (const DistributedSparseMatrix &matB) | |
| void | WriteToBinary (std::string file_name) const |
| void | WriteToMatrixMarket (std::string file_name) const |
| void | FillFromTripletList (const TripletList &triplet_list) |
| void | FillDistributedPermutation (const Permutation &lb, bool permuterows=true) |
| void | FillIdentity () |
| Fills this matrix as the identity matrix. | |
| int | GetActualDimension () const |
| get the actual dimension of the matrix. | |
| int | GetLogicalDimension () const |
| the logical dimension is scaled so each process has an even slice. | |
| double | Dot (const DistributedSparseMatrix &matB) |
| void | Increment (const DistributedSparseMatrix &matB, double alpha=1.0, double threshold=0.0) |
| void | PairwiseMultiply (const DistributedSparseMatrix &matA, const DistributedSparseMatrix &matB) |
| void | Gemm (const DistributedSparseMatrix &matA, const DistributedSparseMatrix &matB, DistributedMatrixMemoryPool &memory_pool, double alpha=1.0, double beta=0.0, double threshold=0.0) |
| void | Scale (double constant) |
| double | Norm () const |
| compute the norm of a matrix. | |
| double | Trace () const |
| compute the trace of a matrix. | |
| ~DistributedSparseMatrix () | |
| Destructor. | |
Friends | |
| class | LoadBalancer |
| class | SolverBase |
| class | TripletList |
A Module For Performing Distributed Sparse Matrix Operations.
| NTPoly::DistributedSparseMatrix::DistributedSparseMatrix | ( | int | matrix_dimension | ) |
Construct an empty matrix.
| matrix_dimension | size fo the matrix. |
| NTPoly::DistributedSparseMatrix::DistributedSparseMatrix | ( | std::string | file_name, |
| bool | is_binary = false |
||
| ) |
Construct a matrix from file.
| file_name | name of the file to build from. |
| is_binary | true if the file is a binary file. |
| NTPoly::DistributedSparseMatrix::DistributedSparseMatrix | ( | const DistributedSparseMatrix & | matB | ) |
Copy constructor.
| matB | matrix to opy from. |
| double NTPoly::DistributedSparseMatrix::Dot | ( | const DistributedSparseMatrix & | matB | ) |
this = dot(this,matB)
| matB | the matrix to dot. |
| void NTPoly::DistributedSparseMatrix::FillDistributedPermutation | ( | const Permutation & | lb, |
| bool | permuterows = true |
||
| ) |
Fill the matrix based on a permutation.
| lb | the permutation. |
| permuterows | true if this is a row permutation matrix. |
| void NTPoly::DistributedSparseMatrix::FillFromTripletList | ( | const TripletList & | triplet_list | ) |
Fill in the matrix based on the contents of triplet lists.
| triplet_list | list of values. Need to be absolute coordinates. |
| void NTPoly::DistributedSparseMatrix::Gemm | ( | const DistributedSparseMatrix & | matA, |
| const DistributedSparseMatrix & | matB, | ||
| DistributedMatrixMemoryPool & | memory_pool, | ||
| double | alpha = 1.0, |
||
| double | beta = 0.0, |
||
| double | threshold = 0.0 |
||
| ) |
this := alpha*matA*matB+ beta*this (GEMM)
| matA | first mat. |
| matB | second mat. |
| memory_pool | memory pool for intermediates. |
| alpha | scaling factor. |
| beta | scaling factor. |
| threshold | for flushing small values. |
| void NTPoly::DistributedSparseMatrix::Increment | ( | const DistributedSparseMatrix & | matB, |
| double | alpha = 1.0, |
||
| double | threshold = 0.0 |
||
| ) |
this = alpha*MatB + this (AXPY)
| matB | the matrix to add. |
| alpha | scaling factor. |
| threshold | for flushing small values. |
| void NTPoly::DistributedSparseMatrix::PairwiseMultiply | ( | const DistributedSparseMatrix & | matA, |
| const DistributedSparseMatrix & | matB | ||
| ) |
Pairwise multiply two matrices.
| matA | first mat. |
| matB | second mat. |
| void NTPoly::DistributedSparseMatrix::Scale | ( | double | constant | ) |
scale the matrix by a constatn. constant the value to scale by.
| void NTPoly::DistributedSparseMatrix::WriteToBinary | ( | std::string | file_name | ) | const |
Write the matrix to a custom binary format.
| file_name | file to write to. |
| void NTPoly::DistributedSparseMatrix::WriteToMatrixMarket | ( | std::string | file_name | ) | const |
Write the matrix to the matrix market format.
| file_name | file to write to. |
1.8.13