32 #ifndef _math_scmat_repl_h
33 #define _math_scmat_repl_h
35 #include <util/group/message.h>
37 #include <math/scmat/block.h>
38 #include <math/scmat/matrix.h>
39 #include <math/scmat/abstract.h>
67 double *data,
int ndata);
78 void init_blocklist();
86 void assign_p(
const double*);
101 void vprint(
const char* title=0,
105 double *get_data() {
return vector; }
123 int compute_offset(
int,
int)
const;
124 void init_blocklist();
126 void before_elemop();
136 void set_element(
int,
int,
double);
137 void accumulate_element(
int,
int,
double);
144 void assign_column(
SCVector *v,
int i);
146 void accumulate_column(
SCVector *v,
int i);
169 void vprint(
const char* title=0,
173 double *get_data() {
return matrix; }
174 double **get_rows() {
return rows; }
192 int compute_offset(
int,
int)
const;
193 void init_blocklist();
195 void before_elemop();
204 void assign_p(
const double*);
205 void assign_pp(
const double**);
207 void set_element(
int,
int,
double);
208 void accumulate_element(
int,
int,
double);
227 void gen_invert_this();
231 void accumulate_symmetric_outer_product(
SCVector*);
232 void accumulate_symmetric_product(
SCMatrix*);
235 SCMatrix::Transform = SCMatrix::NormalTransform);
237 SCMatrix::Transform = SCMatrix::NormalTransform);
244 void vprint(
const char* title=0,
248 double *get_data() {
return matrix; }
249 double **get_rows() {
return rows; }
263 void init_blocklist();
266 void before_elemop();
275 void set_element(
int,
double);
276 void accumulate_element(
int,
double);
288 void vprint(
const char* title=0,
292 double *get_data() {
return matrix; }