Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
stress.c File Reference
#include <cgraph/alloc.h>
#include <float.h>
#include <neatogen/neato.h>
#include <neatogen/dijkstra.h>
#include <neatogen/bfs.h>
#include <neatogen/pca.h>
#include <neatogen/matrix_ops.h>
#include <neatogen/conjgrad.h>
#include <neatogen/embed_graph.h>
#include <neatogen/kkutils.h>
#include <neatogen/stress.h>
#include <math.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
Include dependency graph for stress.c:

Go to the source code of this file.

Data Structures

struct  dist_data
 

Macros

#define stress_pca_dim   50
 
#define DegType   long double
 

Functions

static double compute_stressf (float **coords, float *lap, int dim, int n, int exp)
 
static double compute_stress1 (double **coords, dist_data *distances, int dim, int n, int exp)
 
int initLayout (int n, int dim, double **coords, node_t **nodes)
 
float * circuitModel (vtx_data *graph, int nG)
 
static int sparse_stress_subspace_majorization_kD (vtx_data *graph, int n, double **coords, int dim, int smart_ini, int exp, int reweight_graph, int n_iterations, int num_centers)
 
static float * compute_weighted_apsp_packed (vtx_data *graph, int n)
 
float * mdsModel (vtx_data *graph, int nG)
 
float * compute_apsp_packed (vtx_data *graph, int n)
 
float * compute_apsp_artificial_weights_packed (vtx_data *graph, int n)
 
int stress_majorization_kD_mkernel (vtx_data *graph, int n, double **d_coords, node_t **nodes, int dim, int opts, int model, int maxi)
 

Macro Definition Documentation

◆ DegType

#define DegType   long double

Definition at line 796 of file stress.c.

◆ stress_pca_dim

#define stress_pca_dim   50

Definition at line 32 of file stress.c.

Function Documentation

◆ circuitModel()

float * circuitModel ( vtx_data graph,
int  nG 
)

Definition at line 168 of file stress.c.

References free(), free_array(), graph(), gv_calloc(), new_array(), NULL, and solveCircuit().

Referenced by stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_apsp_artificial_weights_packed()

float * compute_apsp_artificial_weights_packed ( vtx_data graph,
int  n 
)

Definition at line 718 of file stress.c.

References common_neighbors(), compute_apsp_packed(), compute_weighted_apsp_packed(), empty_neighbors_vec(), fill_neighbors_vec_unweighted(), free(), graph(), gv_calloc(), nedges, neighbor, and NULL.

Referenced by stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_apsp_packed()

float * compute_apsp_packed ( vtx_data graph,
int  n 
)

Definition at line 700 of file stress.c.

References bfs(), free(), graph(), and gv_calloc().

Referenced by compute_apsp_artificial_weights_packed(), and stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_stress1()

static double compute_stress1 ( double **  coords,
dist_data distances,
int  dim,
int  n,
int  exp 
)
static

Definition at line 75 of file stress.c.

References dist(), dist_data::edges, dist_data::edist, and dist_data::nedges.

Referenced by sparse_stress_subspace_majorization_kD().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_stressf()

static double compute_stressf ( float **  coords,
float *  lap,
int  dim,
int  n,
int  exp 
)
static

Definition at line 42 of file stress.c.

References dist(), and neighbor.

Referenced by stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_weighted_apsp_packed()

static float * compute_weighted_apsp_packed ( vtx_data graph,
int  n 
)
static

Definition at line 645 of file stress.c.

References dijkstra_f(), free(), graph(), and gv_calloc().

Referenced by compute_apsp_artificial_weights_packed(), mdsModel(), and stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initLayout()

int initLayout ( int  n,
int  dim,
double **  coords,
node_t **  nodes 
)

Definition at line 130 of file stress.c.

References drand48(), hasPos, isFixed, ND_pos, and orthog1().

Referenced by stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mdsModel()

float * mdsModel ( vtx_data graph,
int  nG 
)

Definition at line 667 of file stress.c.

References compute_weighted_apsp_packed(), delta, graph(), NULL, and Verbose.

Referenced by stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sparse_stress_subspace_majorization_kD()

static int sparse_stress_subspace_majorization_kD ( vtx_data graph,
int  n,
double **  coords,
int  dim,
int  smart_ini,
int  exp,
int  reweight_graph,
int  n_iterations,
int  num_centers 
)
static

Definition at line 229 of file stress.c.

References bfs(), center_coordinate(), compute_new_weights(), compute_stress1(), conjugate_gradient_f(), dijkstra(), dist(), distance_kD(), vtx_data::edges, dist_data::edges, dist_data::edist, embed_graph(), Epsilon, vtx_data::ewgts, free(), dist_data::free_mem, graph(), gv_calloc(), iterativePCA_1D(), MAX, MIN, mult_dense_mat(), mult_sparse_dense_mat_transpose(), vtx_data::nedges, nedges, dist_data::nedges, NULL, PCA_alloc(), restore_old_weights(), right_mult_with_vector_d(), right_mult_with_vector_transpose(), stress_pca_dim, and tolerance_cg.

Referenced by stress_majorization_kD_mkernel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stress_majorization_kD_mkernel()

int stress_majorization_kD_mkernel ( vtx_data graph,
int  n,
double **  d_coords,
node_t **  nodes,
int  dim,
int  opts,
int  model,
int  maxi 
)

Definition at line 801 of file stress.c.

References agerr(), AGPREV, agwarningf(), circuitModel(), compute_apsp_artificial_weights_packed(), compute_apsp_packed(), compute_stressf(), compute_weighted_apsp_packed(), conjugate_gradient_mkernel(), copy_vectorf(), DegType, drand48(), elapsed_sec(), Epsilon, free(), graph(), gv_calloc(), initLayout(), invert_sqrt_vec(), invert_vec(), isFixed, len(), mdsModel(), MODEL_CIRCUIT, MODEL_MDS, MODEL_SUBSET, NULL, num_pivots_stress, opt_exp_flag, opt_smart_init, opts, orthog1(), right_mult_with_vector_ff(), set_vector_valf(), sparse_stress_subspace_majorization_kD(), sqrt_vecf(), square_vec(), start_timer(), tolerance_cg, vectors_inner_productf(), and Verbose.

Referenced by majorization().

Here is the call graph for this function:
Here is the caller graph for this function: