Package org.apache.commons.math3.transform

# Interface RealTransformer

All Known Implementing Classes:
  `FastCosineTransformer`, `FastHadamardTransformer`, `FastSineTransformer`

public interface RealTransformer
Interface for one-dimensional data sets transformations producing real results.

Such transforms include `sine transform`, `cosine transform` or `Hadamard transform`. `Fourier transform` is of a different kind and does not implement this interface since it produces `Complex` results instead of real ones.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`double[]`
`transform(double[] f, TransformType type)`
Returns the (forward, inverse) transform of the specified real data set.
`double[]`
`transform(UnivariateFunction f, double min, double max, int n, TransformType type)`
Returns the (forward, inverse) transform of the specified real function, sampled on the specified interval.

## Method Details

### transform

double[] transform(double[] f, TransformType type) throws MathIllegalArgumentException
Returns the (forward, inverse) transform of the specified real data set.

Parameters:
  `f` - the real data array to be transformed (signal)
  `type` - the type of transform (forward, inverse) to be performed
Returns:
  the real transformed array (spectrum)
Throws:
  `MathIllegalArgumentException` - if the array cannot be transformed with the given type (this may be for example due to array size, which is constrained in some transforms)

### transform

double[] transform(UnivariateFunction f, double min, double max, int n, TransformType type) throws NonMonotonicSequenceException, NotStrictlyPositiveException, MathIllegalArgumentException
Returns the (forward, inverse) transform of the specified real function, sampled on the specified interval.

Parameters:
  `f` - the function to be sampled and transformed
  `min` - the (inclusive) lower bound for the interval
  `max` - the (exclusive) upper bound for the interval
  `n` - the number of sample points
  `type` - the type of transform (forward, inverse) to be performed
Returns:
  the real transformed array
Throws:
  `NonMonotonicSequenceException` - if the lower bound is greater than, or equal to the upper bound
  `NotStrictlyPositiveException` - if the number of sample points is negative
  `MathIllegalArgumentException` - if the sample cannot be transformed with the given type (this may be for example due to sample size, which is constrained in some transforms)