18 typedef struct scamac_matop_st ScamacMatop;
40 ScamacInt scamac_matop_query_nr(
const ScamacMatop * sm);
41 ScamacInt scamac_matop_query_nc(
const ScamacMatop * sm);
42 ScamacValType scamac_matop_query_valtype(
const ScamacMatop * sm);
49 ScamacErrorCode
scamac_matop_mvm(
const ScamacMatop *sm,
const ScamacVector *x, ScamacVector *y,
double alpha,
double beta,
double gamma);
58 double complex alpha,
double complex beta,
double complex gamma);
Sparse matrix creation and manipulation.
ScamacErrorCode scamac_matop_mvm_cplx(const ScamacMatop *sm, const ScamacVector *x, ScamacVector *y, double complex alpha, double complex beta, double complex gamma)
Complex sparse matrix-vector multiplication: y = alpha SM x + beta y + gamma x.
generic ScaMaC generator routines
Vector creation and manipulation.
ScamacErrorCode scamac_matop_from_generator(const ScamacGenerator *gen, ScamacMatop **sm)
Create matop.
struct scamac_generator_st ScamacGenerator
Abstract generator object.
Definition: scamac_generator.h:24
ScamacErrorCode scamac_matop_free(ScamacMatop *sm)
Free allocated matop.
ScamacErrorCode scamac_matop_mvm(const ScamacMatop *sm, const ScamacVector *x, ScamacVector *y, double alpha, double beta, double gamma)
Sparse matrix-vector multiplication: y = alpha SM x + beta y + gamma x.
ScamacErrorCode scamac_matop_from_matrix(const ScamacMatrix *mat, ScamacMatop **sm)
Obtain matop from ScaMaC sparse matrix.