fr.lip6.type
Class MLVector<T>

java.lang.Object
  extended by fr.lip6.type.MLVector<T>
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
ByteVector, DoubleVector, FloatVector, IntVector

public abstract class MLVector<T>
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

See Also:
Serialized Form

Field Summary
protected  double eps
           
 int length
           
 T values
           
 
Constructor Summary
MLVector()
           
 
Method Summary
abstract  MLVector<T> add(MLVector<T> lvector)
          addition of vectors
abstract  double distChi1(MLVector<T> lv)
          chi² distance with abs() instead of pow()
abstract  double distChi2(MLVector<T> lv)
          Chi² distance between vectors.
abstract  double distL2(MLVector<T> lv)
          L2 distance between the vectors.
abstract  double dot(MLVector<T> lvector)
          return dot product (scalar product)
abstract  MLVector<T> mult(double d)
          multiplicaton par un scalaire.
abstract  MLVector<T> mult(MLVector<T> lv)
          multiplication membre à membre
abstract  MLVector<T> Normalize()
          return a Vector colinear to this with norm 1
abstract  MLVector<T> NormalizeLocal()
          set the norm of this vector to 1
abstract  MLVector<T> zero()
          return zero of the input space
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

values

public T values

length

public int length

eps

protected double eps
Constructor Detail

MLVector

public MLVector()
Method Detail

add

public abstract MLVector<T> add(MLVector<T> lvector)
addition of vectors

Parameters:
lvector -
Returns:
a new MLVector that is the addition of this MLVector and lvector

mult

public abstract MLVector<T> mult(MLVector<T> lv)
multiplication membre à membre

Parameters:
lv -
Returns:
a new MLVector that is a member to member product of composants from this MLVector and lv

mult

public abstract MLVector<T> mult(double d)
multiplicaton par un scalaire.


dot

public abstract double dot(MLVector<T> lvector)
return dot product (scalar product)

Parameters:
lvector -
Returns:
dot product between this MLVector and lvector

distL2

public abstract double distL2(MLVector<T> lv)
L2 distance between the vectors.

Parameters:
lv -
Returns:
L2 distance between this MLVector and lv

distChi2

public abstract double distChi2(MLVector<T> lv)
Chi² distance between vectors.

Parameters:
lv -
Returns:
Chi² distance between this MLVector and lv

distChi1

public abstract double distChi1(MLVector<T> lv)
chi² distance with abs() instead of pow()

Parameters:
lv -
Returns:
Chi^1 distance between this MLVector and lv

zero

public abstract MLVector<T> zero()
return zero of the input space

Returns:
return zero representation in input space

Normalize

public abstract MLVector<T> Normalize()
return a Vector colinear to this with norm 1


NormalizeLocal

public abstract MLVector<T> NormalizeLocal()
set the norm of this vector to 1