SNAP Library 2.1, User Reference
2013-09-25 10:47:25
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
#include <mag.h>
Public Member Functions | |
TMAGAffMtx () | |
TMAGAffMtx (const int &Dim) | |
TMAGAffMtx (const TFltV &SeedMatrix) | |
TMAGAffMtx (const TMAGAffMtx &Kronecker) | |
TMAGAffMtx & | operator= (const TMAGAffMtx &Kronecker) |
bool | operator== (const TMAGAffMtx &Kronecker) const |
int | GetPrimHashCd () const |
int | GetSecHashCd () const |
int | GetDim () const |
int | Len () const |
bool | Empty () const |
bool | IsProbMtx () const |
TFltV & | GetMtx () |
const TFltV & | GetMtx () const |
void | SetMtx (const TFltV &ParamV) |
void | SetRndMtx (TRnd &Rnd, const int &PrmMtxDim=2, const double &MinProb=0.0) |
void | PutAllMtx (const double &Val) |
void | GenMtx (const int &Dim) |
void | SetEpsMtx (const double &Eps1, const double &Eps0, const int &Eps1Val=1, const int &Eps0Val=0) |
void | AddRndNoise (TRnd &Rnd, const double &SDev) |
TStr | GetMtxStr () const |
const double & | At (const int &Row, const int &Col) const |
double & | At (const int &Row, const int &Col) |
const double & | At (const int &ValN) const |
double & | At (const int &ValN) |
double | GetMtxSum () const |
double | GetRowSum (const int &RowId) const |
double | GetColSum (const int &ColId) const |
double | Normalize () |
void | GetLLMtx (TMAGAffMtx &LLMtx) |
void | GetProbMtx (TMAGAffMtx &ProbMtx) |
void | Swap (TMAGAffMtx &Mtx) |
void | Dump (const TStr &MtxNm=TStr(), const bool &Sort=false) const |
Static Public Member Functions | |
static double | GetAvgAbsErr (const TMAGAffMtx &Mtx1, const TMAGAffMtx &Mtx2) |
static double | GetAvgFroErr (const TMAGAffMtx &Mtx1, const TMAGAffMtx &Mtx2) |
static TMAGAffMtx | GetMtx (TStr MatlabMtxStr) |
static TMAGAffMtx | GetRndMtx (TRnd &Rnd, const int &Dim=2, const double &MinProb=0.0) |
Private Attributes | |
TInt | MtxDim |
TFltV | SeedMtx |
Static Private Attributes | |
static const double | NInf = -DBL_MAX |
TMAGAffMtx::TMAGAffMtx | ( | ) | [inline] |
TMAGAffMtx::TMAGAffMtx | ( | const int & | Dim | ) | [inline] |
TMAGAffMtx::TMAGAffMtx | ( | const TFltV & | SeedMatrix | ) |
TMAGAffMtx::TMAGAffMtx | ( | const TMAGAffMtx & | Kronecker | ) | [inline] |
void TMAGAffMtx::AddRndNoise | ( | TRnd & | Rnd, |
const double & | SDev | ||
) |
const double& TMAGAffMtx::At | ( | const int & | Row, |
const int & | Col | ||
) | const [inline] |
double& TMAGAffMtx::At | ( | const int & | Row, |
const int & | Col | ||
) | [inline] |
const double& TMAGAffMtx::At | ( | const int & | ValN | ) | const [inline] |
double& TMAGAffMtx::At | ( | const int & | ValN | ) | [inline] |
void TMAGAffMtx::Dump | ( | const TStr & | MtxNm = TStr() , |
const bool & | Sort = false |
||
) | const |
Definition at line 128 of file mag.cpp.
{ /*printf("%s: %d x %d\n", MtxNm.Empty()?"Mtx":MtxNm.CStr(), GetDim(), GetDim()); for (int r = 0; r < GetDim(); r++) { for (int c = 0; c < GetDim(); c++) { printf(" %8.2g", At(r, c)); } printf("\n"); }*/ if (! MtxNm.Empty()) printf("%s\n", MtxNm.CStr()); double Sum=0.0; TFltV ValV = SeedMtx; if (Sort) { ValV.Sort(false); } for (int i = 0; i < ValV.Len(); i++) { printf(" %10.4g", ValV[i]()); Sum += ValV[i]; if ((i+1) % GetDim() == 0) { printf("\n"); } } printf(" (sum:%.4f)\n", Sum); }
bool TMAGAffMtx::Empty | ( | ) | const [inline] |
void TMAGAffMtx::GenMtx | ( | const int & | Dim | ) | [inline] |
double TMAGAffMtx::GetAvgAbsErr | ( | const TMAGAffMtx & | Mtx1, |
const TMAGAffMtx & | Mtx2 | ||
) | [static] |
double TMAGAffMtx::GetAvgFroErr | ( | const TMAGAffMtx & | Mtx1, |
const TMAGAffMtx & | Mtx2 | ||
) | [static] |
double TMAGAffMtx::GetColSum | ( | const int & | ColId | ) | const |
int TMAGAffMtx::GetDim | ( | ) | const [inline] |
void TMAGAffMtx::GetLLMtx | ( | TMAGAffMtx & | LLMtx | ) |
TFltV& TMAGAffMtx::GetMtx | ( | ) | [inline] |
const TFltV& TMAGAffMtx::GetMtx | ( | ) | const [inline] |
TMAGAffMtx TMAGAffMtx::GetMtx | ( | TStr | MatlabMtxStr | ) | [static] |
Definition at line 173 of file mag.cpp.
{ TStrV RowStrV, ColStrV; MatlabMtxStr.ChangeChAll(',', ' '); MatlabMtxStr.SplitOnAllCh(';', RowStrV); IAssert(! RowStrV.Empty()); RowStrV[0].SplitOnWs(ColStrV); IAssert(! ColStrV.Empty()); const int Rows = RowStrV.Len(); const int Cols = ColStrV.Len(); IAssert(Rows == Cols); TMAGAffMtx Mtx(Rows); for (int r = 0; r < Rows; r++) { RowStrV[r].SplitOnWs(ColStrV); IAssert(ColStrV.Len() == Cols); for (int c = 0; c < Cols; c++) { Mtx.At(r, c) = (double) ColStrV[c].GetFlt(); } } return Mtx; }
TStr TMAGAffMtx::GetMtxStr | ( | ) | const |
double TMAGAffMtx::GetMtxSum | ( | ) | const |
int TMAGAffMtx::GetPrimHashCd | ( | ) | const [inline] |
Definition at line 22 of file mag.h.
{ return SeedMtx.GetPrimHashCd(); }
void TMAGAffMtx::GetProbMtx | ( | TMAGAffMtx & | ProbMtx | ) |
TMAGAffMtx TMAGAffMtx::GetRndMtx | ( | TRnd & | Rnd, |
const int & | Dim = 2 , |
||
const double & | MinProb = 0.0 |
||
) | [static] |
Definition at line 191 of file mag.cpp.
{ TMAGAffMtx Mtx; Mtx.SetRndMtx(Rnd, Dim, MinProb); return Mtx; }
double TMAGAffMtx::GetRowSum | ( | const int & | RowId | ) | const |
int TMAGAffMtx::GetSecHashCd | ( | ) | const [inline] |
Definition at line 23 of file mag.h.
{ return SeedMtx.GetSecHashCd(); }
bool TMAGAffMtx::IsProbMtx | ( | ) | const |
int TMAGAffMtx::Len | ( | ) | const [inline] |
double TMAGAffMtx::Normalize | ( | ) |
TMAGAffMtx & TMAGAffMtx::operator= | ( | const TMAGAffMtx & | Kronecker | ) |
bool TMAGAffMtx::operator== | ( | const TMAGAffMtx & | Kronecker | ) | const [inline] |
void TMAGAffMtx::PutAllMtx | ( | const double & | Val | ) | [inline] |
void TMAGAffMtx::SetEpsMtx | ( | const double & | Eps1, |
const double & | Eps0, | ||
const int & | Eps1Val = 1 , |
||
const int & | Eps0Val = 0 |
||
) |
void TMAGAffMtx::SetMtx | ( | const TFltV & | ParamV | ) | [inline] |
void TMAGAffMtx::SetRndMtx | ( | TRnd & | Rnd, |
const int & | PrmMtxDim = 2 , |
||
const double & | MinProb = 0.0 |
||
) |
void TMAGAffMtx::Swap | ( | TMAGAffMtx & | Mtx | ) |
TInt TMAGAffMtx::MtxDim [private] |
const double TMAGAffMtx::NInf = -DBL_MAX [static, private] |
TFltV TMAGAffMtx::SeedMtx [private] |