|
SNAP Library, User Reference
2012-10-15 15:06:59
SNAP, a general purpose network analysis and graph mining library
|
#include <linalg.h>
Inherits TMatrix.
Public Member Functions | |
| TSparseRowMatrix () | |
| TSparseRowMatrix (TVec< TIntFltKdV > _RowSpVV) | |
| TSparseRowMatrix (TVec< TIntFltKdV > _RowSpVV, const int &_RowN, const int &_ColN) | |
| TSparseRowMatrix (const TStr &MatlabMatrixFNm) | |
| void | Save (TSOut &SOut) |
| void | Load (TSIn &SIn) |
Public Attributes | |
| int | RowN |
| int | ColN |
| TVec< TIntFltKdV > | RowSpVV |
Protected Member Functions | |
| virtual void | PMultiply (const TFltVV &B, int ColId, TFltV &Result) const |
| virtual void | PMultiply (const TFltV &Vec, TFltV &Result) const |
| virtual void | PMultiplyT (const TFltVV &B, int ColId, TFltV &Result) const |
| virtual void | PMultiplyT (const TFltV &Vec, TFltV &Result) const |
| int | PGetRows () const |
| int | PGetCols () const |
| TSparseRowMatrix::TSparseRowMatrix | ( | ) | [inline] |
| TSparseRowMatrix::TSparseRowMatrix | ( | TVec< TIntFltKdV > | _RowSpVV | ) | [inline] |
| TSparseRowMatrix::TSparseRowMatrix | ( | TVec< TIntFltKdV > | _RowSpVV, |
| const int & | _RowN, | ||
| const int & | _ColN | ||
| ) | [inline] |
| TSparseRowMatrix::TSparseRowMatrix | ( | const TStr & | MatlabMatrixFNm | ) |
Definition at line 53 of file linalg.cpp.
{
FILE *F = fopen(MatlabMatrixFNm.CStr(), "rt"); IAssert(F != NULL);
TVec<TTriple<TInt, TInt, TSFlt> > MtxV;
RowN = 0; ColN = 0;
while (! feof(F)) {
int row=-1, col=-1; float val;
if (fscanf(F, "%d %d %f\n", &row, &col, &val) == 3) {
IAssert(row > 0 && col > 0);
MtxV.Add(TTriple<TInt, TInt, TSFlt>(row, col, val));
RowN = TMath::Mx(RowN, row);
ColN = TMath::Mx(ColN, col);
}
}
fclose(F);
// create matrix
MtxV.Sort();
RowSpVV.Gen(RowN);
int cnt = 0;
for (int row = 1; row <= RowN; row++) {
while (cnt < MtxV.Len() && MtxV[cnt].Val1 == row) {
RowSpVV[row-1].Add(TIntFltKd(MtxV[cnt].Val2-1, MtxV[cnt].Val3()));
cnt++;
}
}
}
| void TSparseRowMatrix::Load | ( | TSIn & | SIn | ) | [inline] |
| int TSparseRowMatrix::PGetCols | ( | ) | const [inline, protected, virtual] |
| int TSparseRowMatrix::PGetRows | ( | ) | const [inline, protected, virtual] |
| void TSparseRowMatrix::PMultiply | ( | const TFltVV & | B, |
| int | ColId, | ||
| TFltV & | Result | ||
| ) | const [protected, virtual] |
Implements TMatrix.
Definition at line 101 of file linalg.cpp.
| void TSparseRowMatrix::PMultiply | ( | const TFltV & | Vec, |
| TFltV & | Result | ||
| ) | const [protected, virtual] |
Implements TMatrix.
Definition at line 112 of file linalg.cpp.
| void TSparseRowMatrix::PMultiplyT | ( | const TFltVV & | B, |
| int | ColId, | ||
| TFltV & | Result | ||
| ) | const [protected, virtual] |
Implements TMatrix.
Definition at line 79 of file linalg.cpp.
| void TSparseRowMatrix::PMultiplyT | ( | const TFltV & | Vec, |
| TFltV & | Result | ||
| ) | const [protected, virtual] |
Implements TMatrix.
Definition at line 90 of file linalg.cpp.
| void TSparseRowMatrix::Save | ( | TSOut & | SOut | ) | [inline] |