org.jscience.mathematics.wavelet
Class DiscreteHilbertSpace

java.lang.Object
  extended by org.jscience.mathematics.wavelet.DiscreteHilbertSpace

public final class DiscreteHilbertSpace
extends java.lang.Object

This class provides support for basic operations on MultiscaleFunction. Whenever it isn't specified we are working over the interval [0,1] Be careful when using integrate... Indeed, integrate(f,g) is not, in general, the same thing as integrate(g,f).


Field Summary
static int maxiter
          Maximum number of allowed iterations in order to match objects.
 
Method Summary
static double[] add(DiscreteFunction f, double a, DiscreteFunction g)
          Calculates f+ag.
static DoubleSparseVector add(DiscreteFunction f, double a, SparseDiscreteFunction g)
          Calculates f+ag.
static double[] add(MultiscaleFunction f, double a, MultiscaleFunction g, int j1)
          Calculates f+ag.
static DoubleSparseVector add(MultiscaleFunction g, double a, SparseDiscreteFunction f, int j1)
          Calculates f+ag.
static DoubleSparseVector add(SparseDiscreteFunction f, double a, DiscreteFunction g)
          Calculates f+ag.
static DoubleSparseVector add(SparseDiscreteFunction f, double a, MultiscaleFunction g, int j1)
          Calculates f+ag.
static DoubleSparseVector add(SparseDiscreteFunction f, double a, SparseDiscreteFunction g)
          Calculates f+ag.
static int[] getScalingCoefficients(MultiscaleFunction f, MultiscaleFunction g, int j1)
          While this method is public (for transparency reasons) it should not be called by other classes unless absolutely necessary.
static double integrate(Cosine f, DiscreteFunction g)
          DOCUMENT ME!
static double integrate(Cosine f, SparseDiscreteFunction g)
          DOCUMENT ME!
static double integrate(DiscreteFunction f, Cosine g)
          DOCUMENT ME!
static double integrate(DiscreteFunction f, DiscreteFunction g)
          DOCUMENT ME!
static double integrate(DiscreteFunction f, Sine g)
          DOCUMENT ME!
static double integrate(DiscreteFunction f, SparseDiscreteFunction g)
          DOCUMENT ME!
static double integrate(MultiscaleFunction f, MultiscaleFunction g, int j1)
           
static double integrate(MultiscaleFunction f, MultiscaleFunction g, int j1, double a, double b)
           
static double integrate(PiecewiseConstant f, MultiscaleFunction g, int j1)
           
static double integrate(PiecewiseConstant f, MultiscaleFunction g, int j1, double a, double b)
           
static double integrate(Sine f, DiscreteFunction g)
          DOCUMENT ME!
static double integrate(Sine f, SparseDiscreteFunction g)
          DOCUMENT ME!
static double integrate(SparseDiscreteFunction f, Cosine g)
          DOCUMENT ME!
static double integrate(SparseDiscreteFunction f, DiscreteFunction g)
          DOCUMENT ME!
static double integrate(SparseDiscreteFunction f, Sine g)
          DOCUMENT ME!
static double integrate(SparseDiscreteFunction f, SparseDiscreteFunction g)
          This method could be optimized further
static double integrate(SumOfDiracs f, double[] v)
           
static double integrate(SumOfDiracs f, MultiscaleFunction g, int j1)
           
static double integrate(SumOfDiracs f, MultiscaleFunction g, int j1, double a, double b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxiter

public static int maxiter
Maximum number of allowed iterations in order to match objects.

Method Detail

add

public static double[] add(MultiscaleFunction f,
                           double a,
                           MultiscaleFunction g,
                           int j1)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
f - DOCUMENT ME!
a - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

add

public static DoubleSparseVector add(SparseDiscreteFunction f,
                                     double a,
                                     MultiscaleFunction g,
                                     int j1)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
f - DOCUMENT ME!
a - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

add

public static DoubleSparseVector add(MultiscaleFunction g,
                                     double a,
                                     SparseDiscreteFunction f,
                                     int j1)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
g - DOCUMENT ME!
a - DOCUMENT ME!
f - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!

add

public static double[] add(DiscreteFunction f,
                           double a,
                           DiscreteFunction g)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
f - DOCUMENT ME!
a - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

add

public static DoubleSparseVector add(SparseDiscreteFunction f,
                                     double a,
                                     SparseDiscreteFunction g)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
f - DOCUMENT ME!
a - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

add

public static DoubleSparseVector add(DiscreteFunction f,
                                     double a,
                                     SparseDiscreteFunction g)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
f - DOCUMENT ME!
a - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

add

public static DoubleSparseVector add(SparseDiscreteFunction f,
                                     double a,
                                     DiscreteFunction g)
Calculates f+ag. Careful before using this method since it uses a specific normalisation. Useful for matching pursuit purpose.

Parameters:
f - DOCUMENT ME!
a - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(MultiscaleFunction f,
                               MultiscaleFunction g,
                               int j1,
                               double a,
                               double b)
Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
a - DOCUMENT ME!
b - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

integrate

public static double integrate(DiscreteFunction f,
                               DiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(SparseDiscreteFunction f,
                               DiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(DiscreteFunction f,
                               SparseDiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(SparseDiscreteFunction f,
                               SparseDiscreteFunction g)
This method could be optimized further

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(Cosine f,
                               DiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(Sine f,
                               DiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(DiscreteFunction f,
                               Sine g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(DiscreteFunction f,
                               Cosine g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(Cosine f,
                               SparseDiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(Sine f,
                               SparseDiscreteFunction g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(SparseDiscreteFunction f,
                               Sine g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(SparseDiscreteFunction f,
                               Cosine g)
DOCUMENT ME!

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
Returns:
DOCUMENT ME!

integrate

public static double integrate(MultiscaleFunction f,
                               MultiscaleFunction g,
                               int j1)
Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

integrate

public static double integrate(PiecewiseConstant f,
                               MultiscaleFunction g,
                               int j1,
                               double a,
                               double b)
Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
a - DOCUMENT ME!
b - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

integrate

public static double integrate(PiecewiseConstant f,
                               MultiscaleFunction g,
                               int j1)
Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

integrate

public static double integrate(SumOfDiracs f,
                               MultiscaleFunction g,
                               int j1,
                               double a,
                               double b)
Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
a - DOCUMENT ME!
b - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

integrate

public static double integrate(SumOfDiracs f,
                               MultiscaleFunction g,
                               int j1)
Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

integrate

public static double integrate(SumOfDiracs f,
                               double[] v)
Parameters:
f - DOCUMENT ME!
v - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!

getScalingCoefficients

public static int[] getScalingCoefficients(MultiscaleFunction f,
                                           MultiscaleFunction g,
                                           int j1)
While this method is public (for transparency reasons) it should not be called by other classes unless absolutely necessary.

Parameters:
f - DOCUMENT ME!
g - DOCUMENT ME!
j1 - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.lang.IllegalArgumentException - DOCUMENT ME!