void OperationMultipleEvalPeriodic::mult(DataVector& alpha,
    DataVector& result) {
  AlgorithmDGEMV<SLinearPeriodicBasis> op;
  LinearPeriodicBasis<unsigned int, unsigned int> base;

  op.mult(storage, base, alpha, this->dataset, result);
}
void OperationMultipleEvalPeriodic::multTranspose(DataVector& source,
    DataVector& result) {
  AlgorithmDGEMV<SLinearPeriodicBasis> op;
  LinearPeriodicBasis<unsigned int, unsigned int> base;

  op.mult_transposed(storage, base, source, this->dataset, result);
}
void OperationBLinearBoundary::multTranspose(DataVector& alpha, DataMatrix& data, DataVector& result)
{
	AlgorithmDGEMV<SLinearBoundaryBase> op;
	linearboundaryBase<unsigned int, unsigned int> base;

	op.mult_transpose(storage, base, alpha, data, result);
}
void OperationMultipleEvalPolyBoundary::multTranspose(DataVector& source,
    DataVector& result) {
  AlgorithmDGEMV<SPolyBoundaryBase> op;

  op.mult_transposed(storage, base, source, this->dataset, result);
}
void OperationMultipleEvalPolyBoundary::mult(DataVector& alpha,
    DataVector& result) {
  AlgorithmDGEMV<SPolyBoundaryBase> op;

  op.mult(storage, base, alpha, this->dataset, result);
}