20 #ifndef _MATRIX_OPS_H_
21 #define _MATRIX_OPS_H_
25 extern void cpvec(
double *,
int,
int,
double *);
26 extern double dot(
double *,
int,
int,
double *);
27 extern void scadd(
double *,
int,
int,
double,
double *);
28 extern void vecscale(
double *,
int,
int,
double,
double *);
29 extern double norm(
double *,
int,
int);
31 extern void orthog1(
int n,
double *vec);
40 extern void copy_vector(
int n,
double *source,
double *dest);
43 extern double max_abs(
int n,
double *vector);
45 extern void vectors_mult_addition(
int,
double *,
double,
double *);
46 extern void orthogvec(
int,
double *,
double *);
52 extern void mat_mult_vec(
vtx_data * L,
int n,
double *vec,
56 (
double **,
int,
int,
double *,
double *);
65 extern int power_iteration(
double **,
int,
int,
double **,
double *,
int);
73 extern void orthog1f(
int n,
float *vec);
75 extern void right_mult_with_vectorf(
vtx_data *,
int,
float *,
float *);
76 extern void right_mult_with_vector_fd(
float **,
int,
float *,
87 extern void copy_vectorf(
int n,
float *source,
float *dest);
92 extern double max_absf(
int n,
float *vector);
95 extern void sqrt_vec(
int n,
float *vec);
96 extern void sqrt_vecf(
int n,
float *source,
float *target);
99 extern void init_vec_orth1f(
int n,
float *vec);
100 extern void mat_mult_vecf(
vtx_data * L,
int n,
float *vec,
void vectors_additionf(int n, float *vector1, float *vector2, float *result)
void invert_sqrt_vec(int n, float *vec)
void sqrt_vec(int n, float *vec)
void orthog1(int n, double *vec)
void vecscale(double *vec1, int beg, int end, double alpha, double *vec2)
void invert_vec(int n, float *vec)
void set_vector_val(int n, double val, double *result)
int power_iteration(double **square_mat, int n, int neigs, double **eigs, double *evals, int initialize)
void copy_vectorf(int n, float *source, float *dest)
void cpvec(double *copy, int beg, int end, double *vec)
void set_vector_valf(int n, float val, float *result)
void vectors_addition(int n, double *vector1, double *vector2, double *result)
void copy_vector(int n, double *source, double *dest)
void mult_dense_mat(double **A, float **B, int dim1, int dim2, int dim3, float ***CC)
void right_mult_with_vector_transpose(double **matrix, int dim1, int dim2, double *vector, double *result)
void square_vec(int n, float *vec)
double max_absf(int n, float *vector)
void vectors_mult_additionf(int n, float *vector1, float alpha, float *vector2)
void right_mult_with_vector_f(float **matrix, int n, double *vector, double *result)
void vectors_scalar_multf(int n, float *vector, float alpha, float *result)
double vectors_inner_productf(int n, float *vector1, float *vector2)
void mult_sparse_dense_mat_transpose(vtx_data *A, double **B, int dim1, int dim2, float ***CC)
void sqrt_vecf(int n, float *source, float *target)
void mult_dense_mat_d(double **A, float **B, int dim1, int dim2, int dim3, double ***CC)
double vectors_inner_product(int n, double *vector1, double *vector2)
void init_vec_orth1(int n, double *vec)
double max_abs(int n, double *vector)
void orthog1f(int n, float *vec)
void vectors_substractionf(int n, float *vector1, float *vector2, float *result)
double norm(double *vec, int beg, int end)
void vectors_subtraction(int n, double *vector1, double *vector2, double *result)
void right_mult_with_vector_ff(float *packed_matrix, int n, float *vector, float *result)
void scadd(double *vec1, int beg, int end, double fac, double *vec2)
void vectors_scalar_mult(int n, double *vector, double alpha, double *result)
void right_mult_with_vector_d(double **matrix, int dim1, int dim2, double *vector, double *result)
void right_mult_with_vector(vtx_data *matrix, int n, double *vector, double *result)