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
Version:
  $Id: RealTransformer.java 1385310 2012-09-16 16:32:10Z tn $

### Method Summary

Methods
`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 Detail

#### 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)