if (szArr != this.getDataSize())
throw new IllegalArgumentException("FourierSineTransform#transform() - array size #= " + this.getDataSize());
// Perform the transform
AbstractDoubleVector vecTrans = this.matKer.multiply(new DoubleVector(arrFunc));
double[] arrTrans = new double[szArr];
// Unpack the results and return them
for (int index=0; index<szArr; index++) {
arrTrans[index] = vecTrans.getComponent(index);
}
return arrTrans;
}