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
    Modifier and Type | Method and 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 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)

Copyright (c) 2003-2013 Apache Software Foundation