Graphviz  2.41.20171026.1811
Macros | Functions
matrix_ops.c File Reference
#include "matrix_ops.h"
#include "memory.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
Include dependency graph for matrix_ops.c:

Go to the source code of this file.

Macros

#define RANGE   500
 

Functions

int power_iteration (double **square_mat, int n, int neigs, double **eigs, double *evals, int initialize)
 
void mult_dense_mat (double **A, float **B, int dim1, int dim2, int dim3, float ***CC)
 
void mult_dense_mat_d (double **A, float **B, int dim1, int dim2, int dim3, double ***CC)
 
void mult_sparse_dense_mat_transpose (vtx_data *A, double **B, int dim1, int dim2, float ***CC)
 
void cpvec (double *copy, int beg, int end, double *vec)
 
double dot (double *vec1, int beg, int end, double *vec2)
 
void scadd (double *vec1, int beg, int end, double fac, double *vec2)
 
void vecscale (double *vec1, int beg, int end, double alpha, double *vec2)
 
double norm (double *vec, int beg, int end)
 
void orthog1 (int n, double *vec)
 
void init_vec_orth1 (int n, double *vec)
 
void right_mult_with_vector (vtx_data *matrix, int n, double *vector, double *result)
 
void right_mult_with_vector_f (float **matrix, int n, double *vector, double *result)
 
void vectors_subtraction (int n, double *vector1, double *vector2, double *result)
 
void vectors_addition (int n, double *vector1, double *vector2, double *result)
 
void vectors_scalar_mult (int n, double *vector, double alpha, double *result)
 
void copy_vector (int n, double *source, double *dest)
 
double vectors_inner_product (int n, double *vector1, double *vector2)
 
double max_abs (int n, double *vector)
 
void right_mult_with_vector_transpose (double **matrix, int dim1, int dim2, double *vector, double *result)
 
void right_mult_with_vector_d (double **matrix, int dim1, int dim2, double *vector, double *result)
 
void orthog1f (int n, float *vec)
 
void right_mult_with_vector_ff (float *packed_matrix, int n, float *vector, float *result)
 
void vectors_substractionf (int n, float *vector1, float *vector2, float *result)
 
void vectors_additionf (int n, float *vector1, float *vector2, float *result)
 
void vectors_mult_additionf (int n, float *vector1, float alpha, float *vector2)
 
void vectors_scalar_multf (int n, float *vector, float alpha, float *result)
 
void copy_vectorf (int n, float *source, float *dest)
 
double vectors_inner_productf (int n, float *vector1, float *vector2)
 
void set_vector_val (int n, double val, double *result)
 
void set_vector_valf (int n, float val, float *result)
 
double max_absf (int n, float *vector)
 
void square_vec (int n, float *vec)
 
void invert_vec (int n, float *vec)
 
void sqrt_vec (int n, float *vec)
 
void sqrt_vecf (int n, float *source, float *target)
 
void invert_sqrt_vec (int n, float *vec)
 

Macro Definition Documentation

#define RANGE   500

Definition at line 338 of file matrix_ops.c.

Referenced by init_vec_orth1().

Function Documentation

void copy_vector ( int  n,
double *  source,
double *  dest 
)

Definition at line 431 of file matrix_ops.c.

Referenced by conjugate_gradient(), and conjugate_gradient_f().

void copy_vectorf ( int  n,
float *  source,
float *  dest 
)

Definition at line 657 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel(), and stress_majorization_kD_mkernel().

void cpvec ( double *  copy,
int  beg,
int  end,
double *  vec 
)

Definition at line 258 of file matrix_ops.c.

Referenced by power_iteration().

double dot ( double *  vec1,
int  beg,
int  end,
double *  vec2 
)

Definition at line 270 of file matrix_ops.c.

void init_vec_orth1 ( int  n,
double *  vec 
)

Definition at line 341 of file matrix_ops.c.

References orthog1(), and RANGE.

void invert_sqrt_vec ( int  n,
float *  vec 
)

Definition at line 752 of file matrix_ops.c.

Referenced by stress_majorization_kD_mkernel().

void invert_vec ( int  n,
float *  vec 
)

Definition at line 714 of file matrix_ops.c.

Referenced by stress_majorization_kD_mkernel().

double max_abs ( int  n,
double *  vector 
)

Definition at line 451 of file matrix_ops.c.

double max_absf ( int  n,
float *  vector 
)

Definition at line 693 of file matrix_ops.c.

void mult_dense_mat ( double **  A,
float **  B,
int  dim1,
int  dim2,
int  dim3,
float ***  CC 
)

Definition at line 142 of file matrix_ops.c.

References C, and NULL.

void mult_dense_mat_d ( double **  A,
float **  B,
int  dim1,
int  dim2,
int  dim3,
double ***  CC 
)

Definition at line 178 of file matrix_ops.c.

References C, and NULL.

Referenced by iterativePCA_1D().

void mult_sparse_dense_mat_transpose ( vtx_data A,
double **  B,
int  dim1,
int  dim2,
float ***  CC 
)

Definition at line 214 of file matrix_ops.c.

References C, vtx_data::edges, vtx_data::ewgts, vtx_data::nedges, and NULL.

Referenced by iterativePCA_1D().

double norm ( double *  vec,
int  beg,
int  end 
)

Definition at line 310 of file matrix_ops.c.

References dot.

Referenced by power_iteration().

void orthog1 ( int  n,
double *  vec 
)
void orthog1f ( int  n,
float *  vec 
)

Definition at line 544 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel().

int power_iteration ( double **  square_mat,
int  n,
int  neigs,
double **  eigs,
double *  evals,
int  initialize 
)

Definition at line 24 of file matrix_ops.c.

References alpha, cpvec(), dot, N_GNEW, norm(), right_mult_with_vector_d(), scadd(), and vecscale().

Referenced by iterativePCA_1D(), and PCA_alloc().

void right_mult_with_vector ( vtx_data matrix,
int  n,
double *  vector,
double *  result 
)

Definition at line 354 of file matrix_ops.c.

References vtx_data::nedges.

Referenced by conjugate_gradient().

void right_mult_with_vector_d ( double **  matrix,
int  dim1,
int  dim2,
double *  vector,
double *  result 
)

Definition at line 521 of file matrix_ops.c.

Referenced by power_iteration().

void right_mult_with_vector_f ( float **  matrix,
int  n,
double *  vector,
double *  result 
)

Definition at line 371 of file matrix_ops.c.

Referenced by conjugate_gradient_f().

void right_mult_with_vector_ff ( float *  packed_matrix,
int  n,
float *  vector,
float *  result 
)

Definition at line 594 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel(), and stress_majorization_kD_mkernel().

void right_mult_with_vector_transpose ( double **  matrix,
int  dim1,
int  dim2,
double *  vector,
double *  result 
)

Definition at line 503 of file matrix_ops.c.

void scadd ( double *  vec1,
int  beg,
int  end,
double  fac,
double *  vec2 
)

Definition at line 286 of file matrix_ops.c.

Referenced by power_iteration().

void set_vector_val ( int  n,
double  val,
double *  result 
)

Definition at line 677 of file matrix_ops.c.

void set_vector_valf ( int  n,
float  val,
float *  result 
)

Definition at line 685 of file matrix_ops.c.

Referenced by stress_majorization_kD_mkernel().

void sqrt_vec ( int  n,
float *  vec 
)

Definition at line 725 of file matrix_ops.c.

Referenced by stress_majorization_kD_mkernel().

void sqrt_vecf ( int  n,
float *  source,
float *  target 
)

Definition at line 737 of file matrix_ops.c.

Referenced by stress_majorization_kD_mkernel().

void square_vec ( int  n,
float *  vec 
)

Definition at line 705 of file matrix_ops.c.

Referenced by stress_majorization_kD_mkernel().

void vecscale ( double *  vec1,
int  beg,
int  end,
double  alpha,
double *  vec2 
)

Definition at line 298 of file matrix_ops.c.

Referenced by power_iteration().

void vectors_addition ( int  n,
double *  vector1,
double *  vector2,
double *  result 
)

Definition at line 399 of file matrix_ops.c.

Referenced by conjugate_gradient(), and conjugate_gradient_f().

void vectors_additionf ( int  n,
float *  vector1,
float *  vector2,
float *  result 
)

Definition at line 629 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel(), and stress_majorization_kD_mkernel().

double vectors_inner_product ( int  n,
double *  vector1,
double *  vector2 
)

Definition at line 439 of file matrix_ops.c.

Referenced by conjugate_gradient(), and conjugate_gradient_f().

double vectors_inner_productf ( int  n,
float *  vector1,
float *  vector2 
)

Definition at line 665 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel(), and stress_majorization_kD_mkernel().

void vectors_mult_additionf ( int  n,
float *  vector1,
float  alpha,
float *  vector2 
)

Definition at line 639 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel(), and stress_majorization_kD_mkernel().

void vectors_scalar_mult ( int  n,
double *  vector,
double  alpha,
double *  result 
)

Definition at line 422 of file matrix_ops.c.

References alpha.

Referenced by conjugate_gradient(), and conjugate_gradient_f().

void vectors_scalar_multf ( int  n,
float *  vector,
float  alpha,
float *  result 
)

Definition at line 648 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel().

void vectors_substractionf ( int  n,
float *  vector1,
float *  vector2,
float *  result 
)

Definition at line 619 of file matrix_ops.c.

Referenced by conjugate_gradient_mkernel().

void vectors_subtraction ( int  n,
double *  vector1,
double *  vector2,
double *  result 
)

Definition at line 388 of file matrix_ops.c.

Referenced by conjugate_gradient(), and conjugate_gradient_f().