Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
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
void allBFS(int samplingMethod)
Based on sampling method, samples nodes from the graph and determines the distances from the sampled nodes to all other nodes in the graph.
Breadth First Search.
void bidiagonalize(double **A,
double **Ub,
double **Vb,
int m,
int n)
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
Calculate dot product of two vectors.
void givens(double a,
double b,
double *c,
double *s)
computes cos(theta) c and sin(theta) c given a and b.
node sampling is done by choosing the farthest node
void house(double *v,
double *x,
int size,
double *beta)
Returns the householder vector and the associated beta, given the size and the vector x.
void insert(int neighbor,
double dist)
Adds neighbor and edge weight.
Calculate magnitude of vector.
int main(int argv,
char **argc)
The main function for the Sampled Spectral Distance Embedding program.
Makes first input vector orthogonal to second input vector.
Returns the difference between two vectors.
Returns vector resulting from multiplying input vector by input constant.
Returns vector who’s elements average to zero.
Simplifies the sequence of multiplying input vector by Gamma, by L and then by Gamma again.
Multiplies C*INV*R
This class holds the information for a node in the graph.
Node(string name)
Default constructor (puts space for 5 neighbors)
Normalizes vector in-place
void normalizeCoords()
Normalizes the coordinates of the embedded graph.
void powerIteration()
Performs power iterations to find the largest eigenvectors of our distance matrix.
node sampling is done randomly
Samples nodes from the graph randomly.
void readFile(char *fileName)
Loads the graph data.
void readNodes(char *fileName)
Loads the list of nodes names.
void resize(int newSize)
Allocates more memory for neighbor info.
void sample()
Calculates all the necessary matrices involved in sampling (also performs the SVD algorithm).
This file contains the code for the Spectral Graph Embedding Method via Sampled Spectral Distance Embedding (SSDE).
void SVDstep(double **B,
double **Ue,
double **Ve,
int lower,
int upper)
Applies Givens rotations to the matrix on B bounded by upper and lower indices (call this Bbar).
void Tarjan(int v,
int &index,
std::deque<int> &S,
ofstream &scc_file)
Function to perform the Tarjan algorithm.
void writeFile(char *fileName)
Writes the coordinates of the embedded nodes.
void writeGraph(std::deque<int> &S)
Function for finding the Strongly Connected Components in the graph.
Close