A | |
allBFS, Coordinates File | |
B | |
BFS, Coordinates File | |
bidiagonalize, Coordinates File | |
C | |
Coordinates File | |
D | |
dotProduct, Coordinates File | |
E | |
Enumerations | |
F | |
Functions, Coordinates File | |
G | |
givens, Coordinates File | |
Graph File | |
GREEDY_SAMPLING | |
H | |
house, Coordinates File | |
I | |
insert, Coordinates File | |
M | |
mag, Coordinates File | |
main | |
makeOrtho, Coordinates File | |
minusSSDE, Coordinates File | |
multCons, Coordinates File | |
multGamma, Coordinates File | |
multGammaLGamma, Coordinates File | |
multL, Coordinates File | |
N | |
Node | |
Node Name File | |
normalize, Coordinates File | |
normalizeCoords, Coordinates File | |
P | |
powerIteration, Coordinates File | |
R | |
RANDOM_SAMPLING | |
randomSampleCR, Coordinates File | |
readFile, Coordinates File | |
readNodes, Coordinates File | |
resize, Coordinates File | |
S | |
sample, Coordinates File | |
SSDE.h | |
SVDstep, Coordinates File | |
T | |
Tarjan, Coordinates File | |
Type of Sampling nodes | |
W | |
writeFile, Coordinates File | |
writeGraph, Coordinates File |
Based on sampling method, samples nodes from the graph and determines the distances from the sampled nodes to all other nodes in the graph.
void allBFS( int samplingMethod )
Bidiagonalizes a given matrix A by overwriting it, also returns Ue and Ve which are the elements in the expression Ue^T*A*Ve = B (A is overwritten as B) A is supposed to be an m*n matrix where m >= n, Ub is m*m, Vb is n*n
void bidiagonalize( double ** A, double ** Ub, double ** Vb, int m, int n )
computes cos(theta) c and sin(theta) c given a and b.
void givens( double a, double b, double * c, double * s )
Returns the householder vector and the associated beta, given the size and the vector x.
void house( double * v, double * x, int size, double * beta )
Adds neighbor and edge weight.
void insert( int neighbor, double dist )
The main function for the Sampled Spectral Distance Embedding program.
int main( int argv, char ** argc )
Default constructor (puts space for 5 neighbors)
Node( string name )
Normalizes the coordinates of the embedded graph.
void normalizeCoords()
Performs power iterations to find the largest eigenvectors of our distance matrix.
void powerIteration()
Loads the graph data.
void readFile( char * fileName )
Loads the list of nodes names.
void readNodes( char * fileName )
Allocates more memory for neighbor info.
void resize( int newSize )
Calculates all the necessary matrices involved in sampling (also performs the SVD algorithm).
void sample()
Applies Givens rotations to the matrix on B bounded by upper and lower indices (call this Bbar).
void SVDstep( double ** B, double ** Ue, double ** Ve, int lower, int upper )
Function to perform the Tarjan algorithm.
void Tarjan( int v, int & index, std:: deque<int> & S, ofstream & scc_file )
Writes the coordinates of the embedded nodes.
void writeFile( char * fileName )
Function for finding the Strongly Connected Components in the graph.
void writeGraph( std:: deque<int> & S )